mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-03 07:32:00 +00:00
DedicatedWorkerGlobalScope is an object with a Global extended attribute, but does not define any named property getters. This needs to be handled by setting the prototype chain to: DedicatedWorkerGlobalScope ^ DedicatedWorkerGlobalScopePrototype ^ WorkerGlobalScopePrototype (This is different from something like Window, where there is an intermediate WindowProperties object for named properties.) Previously, we treated the GlobalMixin object as if it was a simple prototype object, accidentally setting DedicatedWorkerGlobalScope's prototype to WorkerGlobalScopePrototype. This caused the expression self instanceof DedicatedWorkerGlobalScope to return false inside workers. This makes us pass many more of the "/xhr/idlharness.any.worker" WPT tests than before, rather than failing early.
5 lines
149 B
JavaScript
5 lines
149 B
JavaScript
onmessage = function (event) {
|
|
if (event.data === "run") {
|
|
postMessage({ result: self instanceof DedicatedWorkerGlobalScope });
|
|
}
|
|
};
|