gecko-dev/dom/workers/test/test_navigator_iframe.js
Dzmitry Malyshau b91906eeac Bug 1581710 - Update WebGPU IDL bindings r=jgilbert,bzbarsky
This mostly updates the bindings to the current state.
No actual logic backing them yet.

*Note*: the IDL does *not* need to be checked for matching the upstream spec precisely at this stage. The upstream is evolving, we just need to update in order to start integrating the implementation. What needs to be checked is - how C++ represents the IDL, esp with regards to derived classes, events, and hierarchies.

The trickiest points, arguably, are:
  - WebGPU -> GPU prefix change
  - the goop for interfaces that are not final

Differential Revision: https://phabricator.services.mozilla.com/D46166

--HG--
rename : dom/webgpu/InputState.cpp => dom/webgpu/DeviceLostInfo.cpp
rename : dom/webgpu/Fence.h => dom/webgpu/DeviceLostInfo.h
rename : dom/webgpu/BlendState.cpp => dom/webgpu/OutOfMemoryError.cpp
rename : dom/webgpu/LogEntry.h => dom/webgpu/OutOfMemoryError.h
rename : dom/webgpu/BindGroup.h => dom/webgpu/ProgrammablePassEncoder.cpp
rename : dom/webgpu/BlendState.cpp => dom/webgpu/RenderBundle.cpp
rename : dom/webgpu/BlendState.h => dom/webgpu/RenderBundle.h
rename : dom/webgpu/AttachmentState.cpp => dom/webgpu/ValidationError.cpp
rename : dom/webgpu/AttachmentState.h => dom/webgpu/ValidationError.h
extra : moz-landing-system : lando
2019-10-02 16:46:03 +00:00

76 lines
1.6 KiB
JavaScript

var worker = new Worker("navigator_worker.js");
var is = window.parent.is;
var ok = window.parent.ok;
var SimpleTest = window.parent.SimpleTest;
worker.onmessage = function(event) {
var args = JSON.parse(event.data);
if (args.name == "testFinished") {
SimpleTest.finish();
return;
}
if (typeof navigator[args.name] == "undefined") {
ok(false, "Navigator has no '" + args.name + "' property!");
return;
}
if (args.name === "languages") {
is(
navigator.languages.toString(),
args.value.toString(),
"languages matches"
);
return;
}
if (args.name === "storage") {
is(typeof navigator.storage, typeof args.value, "storage type matches");
return;
}
if (args.name === "connection") {
is(
typeof navigator.connection,
typeof args.value,
"connection type matches"
);
return;
}
if (args.name === "mediaCapabilities") {
is(
typeof navigator.mediaCapabilities,
typeof args.value,
"mediaCapabilities type matches"
);
return;
}
if (args.name === "gpu") {
is(typeof navigator.gpu, typeof args.value, "gpu type matches");
return;
}
is(
navigator[args.name],
args.value,
"Mismatched navigator string for " + args.name + "!"
);
};
worker.onerror = function(event) {
ok(false, "Worker had an error: " + event.message);
SimpleTest.finish();
};
var { AppConstants } = SpecialPowers.Cu.import(
"resource://gre/modules/AppConstants.jsm",
{}
);
var isNightly = AppConstants.NIGHTLY_BUILD;
var isRelease = AppConstants.RELEASE_OR_BETA;
worker.postMessage({ isNightly, isRelease });