1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
#![allow(dead_code)] // this file is stub as wgpu does not provide info
use dom_struct::dom_struct;
use super::bindings::codegen::Bindings::WebGPUBinding::{
GPUCompilationMessageMethods, GPUCompilationMessageType,
};
use super::bindings::root::DomRoot;
use super::types::GlobalScope;
use crate::dom::bindings::reflector::{reflect_dom_object, Reflector};
use crate::test::DOMString;
#[dom_struct]
pub struct GPUCompilationMessage {
reflector_: Reflector,
// #[ignore_malloc_size_of = "defined in wgpu-types"]
message: DOMString,
mtype: GPUCompilationMessageType,
line_num: u64,
line_pos: u64,
offset: u64,
length: u64,
}
impl GPUCompilationMessage {
fn new_inherited(
message: DOMString,
mtype: GPUCompilationMessageType,
line_num: u64,
line_pos: u64,
offset: u64,
length: u64,
) -> Self {
Self {
reflector_: Reflector::new(),
message,
mtype,
line_num,
line_pos,
offset,
length,
}
}
pub fn new(
global: &GlobalScope,
message: DOMString,
mtype: GPUCompilationMessageType,
line_num: u64,
line_pos: u64,
offset: u64,
length: u64,
) -> DomRoot<Self> {
reflect_dom_object(
Box::new(Self::new_inherited(
message, mtype, line_num, line_pos, offset, length,
)),
global,
)
}
}
impl GPUCompilationMessageMethods for GPUCompilationMessage {
/// <https://gpuweb.github.io/gpuweb/#dom-gpucompilationmessage-message>
fn Message(&self) -> DOMString {
self.message.to_owned()
}
/// <https://gpuweb.github.io/gpuweb/#dom-gpucompilationmessage-type>
fn Type(&self) -> GPUCompilationMessageType {
self.mtype
}
/// <https://gpuweb.github.io/gpuweb/#dom-gpucompilationmessage-linenum>
fn LineNum(&self) -> u64 {
self.line_num
}
/// <https://gpuweb.github.io/gpuweb/#dom-gpucompilationmessage-linepos>
fn LinePos(&self) -> u64 {
self.line_pos
}
/// <https://gpuweb.github.io/gpuweb/#dom-gpucompilationmessage-offset>
fn Offset(&self) -> u64 {
self.offset
}
/// <https://gpuweb.github.io/gpuweb/#dom-gpucompilationmessage-length>
fn Length(&self) -> u64 {
self.length
}
}