Title: [225566] trunk
Revision
225566
Author
[email protected]
Date
2017-12-05 20:47:00 -0800 (Tue, 05 Dec 2017)

Log Message

ServiceWorkerGlobalScope prototype chain should be immutable
https://bugs.webkit.org/show_bug.cgi?id=180450

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline test that no longer times out.

* web-platform-tests/service-workers/service-worker/interfaces-sw.https-expected.txt:

Source/WebCore:

ServiceWorkerGlobalScope prototype chain should be immutable, similarly
to what we do for DOMWindow. This is covered by a web-platform-test
which was timing out because it was successfuly overwriting the
ServiceWorkerGlobalScope prototype.

No new tests, rebaselined existing test.

* workers/DedicatedWorkerGlobalScope.idl:
* workers/WorkerGlobalScope.idl:
* workers/service/ServiceWorkerGlobalScope.idl:

LayoutTests:

* TestExpectations:
Unskip test that no longer times out.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (225565 => 225566)


--- trunk/LayoutTests/ChangeLog	2017-12-06 03:54:51 UTC (rev 225565)
+++ trunk/LayoutTests/ChangeLog	2017-12-06 04:47:00 UTC (rev 225566)
@@ -1,3 +1,13 @@
+2017-12-05  Chris Dumez  <[email protected]>
+
+        ServiceWorkerGlobalScope prototype chain should be immutable
+        https://bugs.webkit.org/show_bug.cgi?id=180450
+
+        Reviewed by Youenn Fablet.
+
+        * TestExpectations:
+        Unskip test that no longer times out.
+
 2017-12-05  Brent Fulgham  <[email protected]>
 
         Limit user agent versioning to an upper bound

Modified: trunk/LayoutTests/TestExpectations (225565 => 225566)


--- trunk/LayoutTests/TestExpectations	2017-12-06 03:54:51 UTC (rev 225565)
+++ trunk/LayoutTests/TestExpectations	2017-12-06 04:47:00 UTC (rev 225566)
@@ -149,7 +149,6 @@
 imported/w3c/web-platform-tests/service-workers/service-worker/extendable-event-waituntil.https.html [ Skip ]
 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-respond-with-partial-stream.https.html [ Skip ]
 imported/w3c/web-platform-tests/service-workers/service-worker/http-to-https-redirect-and-register.https.html [ Skip ]
-imported/w3c/web-platform-tests/service-workers/service-worker/interfaces-sw.https.html [ Skip ]
 imported/w3c/web-platform-tests/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https.html [ Skip ]
 imported/w3c/web-platform-tests/service-workers/service-worker/navigation-preload/chunked-encoding.https.html [ Skip ]
 imported/w3c/web-platform-tests/service-workers/service-worker/navigation-preload/get-state.https.html [ Skip ]

Added: trunk/LayoutTests/fast/workers/DedicatedWorkerGlobalScope-immutable-prototype-expected.txt (0 => 225566)


--- trunk/LayoutTests/fast/workers/DedicatedWorkerGlobalScope-immutable-prototype-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/workers/DedicatedWorkerGlobalScope-immutable-prototype-expected.txt	2017-12-06 04:47:00 UTC (rev 225566)
@@ -0,0 +1,10 @@
+Tests that DedicatedWorkerGlobalScope's prototype is immutable
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Object.setPrototypeOf(self, { }): TypeError: Cannot set prototype of immutable prototype object
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/fast/workers/DedicatedWorkerGlobalScope-immutable-prototype.html (0 => 225566)


--- trunk/LayoutTests/fast/workers/DedicatedWorkerGlobalScope-immutable-prototype.html	                        (rev 0)
+++ trunk/LayoutTests/fast/workers/DedicatedWorkerGlobalScope-immutable-prototype.html	2017-12-06 04:47:00 UTC (rev 225566)
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<script src=""
+<script src=""
+<script>
+
+var jsTestIsAsync = true;
+
+description('Tests that DedicatedWorkerGlobalScope\'s prototype is immutable');
+
+var worker = createWorker();
+worker.postMessage("eval Object.setPrototypeOf(self, { })");
+worker.postMessage("eval DONE");
+
+worker._onmessage_ = function(evt) {
+    if (!/DONE/.test(evt.data))
+        debug(evt.data.replace(new RegExp("/.*LayoutTests"), "<...>"));
+    else
+        finishJSTest();
+};
+
+</script>
+<script src=""

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (225565 => 225566)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2017-12-06 03:54:51 UTC (rev 225565)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2017-12-06 04:47:00 UTC (rev 225566)
@@ -1,3 +1,14 @@
+2017-12-05  Chris Dumez  <[email protected]>
+
+        ServiceWorkerGlobalScope prototype chain should be immutable
+        https://bugs.webkit.org/show_bug.cgi?id=180450
+
+        Reviewed by Youenn Fablet.
+
+        Rebaseline test that no longer times out.
+
+        * web-platform-tests/service-workers/service-worker/interfaces-sw.https-expected.txt:
+
 2017-12-05  Javier Fernandez  <[email protected]>
 
         [css-grid] Update imported Web Platform Tests

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/interfaces-sw.https-expected.txt (225565 => 225566)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/interfaces-sw.https-expected.txt	2017-12-06 03:54:51 UTC (rev 225565)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/interfaces-sw.https-expected.txt	2017-12-06 04:47:00 UTC (rev 225566)
@@ -1,8 +1,6 @@
 
-Harness Error (TIMEOUT), message = null
-
 PASS Interfaces and attributes in ServiceWorkerGlobalScope 
-TIMEOUT test setup (cache creation) Test timed out
+PASS test setup (cache creation) 
 FAIL Event constructors assert_equals: Default FetchEvent.clientId should be null expected (object) null but got (string) ""
 PASS xhr is not exposed 
 PASS ServiceWorkerGlobalScope interface: existence and properties of interface object 
@@ -9,5 +7,179 @@
 PASS ServiceWorkerGlobalScope interface object length 
 PASS ServiceWorkerGlobalScope interface object name 
 PASS ServiceWorkerGlobalScope interface: existence and properties of interface prototype object 
-TIMEOUT ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Object.setPrototypeOf should throw a TypeError Test timed out
+PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Object.setPrototypeOf should throw a TypeError 
+PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via __proto__ should throw a TypeError 
+PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Reflect.setPrototypeOf should return false 
+PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Object.setPrototypeOf should not throw 
+PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via __proto__ should not throw 
+PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Reflect.setPrototypeOf should return true 
+PASS ServiceWorkerGlobalScope interface: existence and properties of interface prototype object's "constructor" property 
+FAIL ServiceWorkerGlobalScope interface: attribute clients The ServiceWorkerGlobalScope.clients getter can only be used on instances of ServiceWorkerGlobalScope
+FAIL ServiceWorkerGlobalScope interface: attribute registration The ServiceWorkerGlobalScope.registration getter can only be used on instances of ServiceWorkerGlobalScope
+PASS ServiceWorkerGlobalScope interface: operation skipWaiting() 
+FAIL ServiceWorkerGlobalScope interface: attribute oninstall The ServiceWorkerGlobalScope.oninstall getter can only be used on instances of ServiceWorkerGlobalScope
+FAIL ServiceWorkerGlobalScope interface: attribute onactivate The ServiceWorkerGlobalScope.onactivate getter can only be used on instances of ServiceWorkerGlobalScope
+FAIL ServiceWorkerGlobalScope interface: attribute onfetch The ServiceWorkerGlobalScope.onfetch getter can only be used on instances of ServiceWorkerGlobalScope
+FAIL ServiceWorkerGlobalScope interface: attribute onmessage The ServiceWorkerGlobalScope.onmessage getter can only be used on instances of ServiceWorkerGlobalScope
+FAIL ServiceWorkerGlobalScope interface: attribute onmessageerror The ServiceWorkerGlobalScope.onmessageerror getter can only be used on instances of ServiceWorkerGlobalScope
+PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Object.setPrototypeOf should throw a TypeError 
+PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via __proto__ should throw a TypeError 
+PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Reflect.setPrototypeOf should return false 
+PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Object.setPrototypeOf should not throw 
+PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via __proto__ should not throw 
+PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Reflect.setPrototypeOf should return true 
+PASS ServiceWorkerGlobalScope must be primary interface of self 
+PASS Stringification of self 
+PASS ServiceWorkerGlobalScope interface: self must inherit property "clients" with the proper type 
+PASS ServiceWorkerGlobalScope interface: self must inherit property "registration" with the proper type 
+PASS ServiceWorkerGlobalScope interface: self must inherit property "skipWaiting()" with the proper type 
+PASS ServiceWorkerGlobalScope interface: self must inherit property "oninstall" with the proper type 
+PASS ServiceWorkerGlobalScope interface: self must inherit property "onactivate" with the proper type 
+PASS ServiceWorkerGlobalScope interface: self must inherit property "onfetch" with the proper type 
+PASS ServiceWorkerGlobalScope interface: self must inherit property "onmessage" with the proper type 
+PASS ServiceWorkerGlobalScope interface: self must inherit property "onmessageerror" with the proper type 
+PASS Client interface: existence and properties of interface object 
+PASS Client interface object length 
+PASS Client interface object name 
+PASS Client interface: existence and properties of interface prototype object 
+PASS Client interface: existence and properties of interface prototype object's "constructor" property 
+PASS Client interface: attribute url 
+PASS Client interface: attribute id 
+PASS Client interface: attribute type 
+FAIL Client interface: attribute reserved assert_true: The prototype object must have a property "reserved" expected true got false
+PASS Client interface: operation postMessage(any, [object Object]) 
+PASS WindowClient interface: existence and properties of interface object 
+PASS WindowClient interface object length 
+PASS WindowClient interface object name 
+PASS WindowClient interface: existence and properties of interface prototype object 
+PASS WindowClient interface: existence and properties of interface prototype object's "constructor" property 
+PASS WindowClient interface: attribute visibilityState 
+PASS WindowClient interface: attribute focused 
+FAIL WindowClient interface: attribute ancestorOrigins assert_true: The prototype object must have a property "ancestorOrigins" expected true got false
+PASS WindowClient interface: operation focus() 
+PASS WindowClient interface: operation navigate(USVString) 
+PASS Clients interface: existence and properties of interface object 
+PASS Clients interface object length 
+PASS Clients interface object name 
+PASS Clients interface: existence and properties of interface prototype object 
+PASS Clients interface: existence and properties of interface prototype object's "constructor" property 
+PASS Clients interface: operation get(DOMString) 
+PASS Clients interface: operation matchAll(ClientQueryOptions) 
+PASS Clients interface: operation openWindow(USVString) 
+PASS Clients interface: operation claim() 
+PASS Clients must be primary interface of self.clients 
+PASS Stringification of self.clients 
+PASS Clients interface: self.clients must inherit property "get(DOMString)" with the proper type 
+PASS Clients interface: calling get(DOMString) on self.clients with too few arguments must throw TypeError 
+PASS Clients interface: self.clients must inherit property "matchAll(ClientQueryOptions)" with the proper type 
+PASS Clients interface: calling matchAll(ClientQueryOptions) on self.clients with too few arguments must throw TypeError 
+PASS Clients interface: self.clients must inherit property "openWindow(USVString)" with the proper type 
+PASS Clients interface: calling openWindow(USVString) on self.clients with too few arguments must throw TypeError 
+PASS Clients interface: self.clients must inherit property "claim()" with the proper type 
+PASS ServiceWorker interface: existence and properties of interface object 
+PASS ServiceWorker interface object length 
+PASS ServiceWorker interface object name 
+PASS ServiceWorker interface: existence and properties of interface prototype object 
+PASS ServiceWorker interface: existence and properties of interface prototype object's "constructor" property 
+PASS ServiceWorker interface: attribute scriptURL 
+PASS ServiceWorker interface: attribute state 
+PASS ServiceWorker interface: operation postMessage(any, [object Object]) 
+PASS ServiceWorker interface: attribute onstatechange 
+PASS ServiceWorkerRegistration interface: existence and properties of interface object 
+PASS ServiceWorkerRegistration interface object length 
+PASS ServiceWorkerRegistration interface object name 
+PASS ServiceWorkerRegistration interface: existence and properties of interface prototype object 
+PASS ServiceWorkerRegistration interface: existence and properties of interface prototype object's "constructor" property 
+PASS ServiceWorkerRegistration interface: attribute installing 
+PASS ServiceWorkerRegistration interface: attribute waiting 
+PASS ServiceWorkerRegistration interface: attribute active 
+FAIL ServiceWorkerRegistration interface: attribute navigationPreload assert_true: The prototype object must have a property "navigationPreload" expected true got false
+PASS ServiceWorkerRegistration interface: attribute scope 
+PASS ServiceWorkerRegistration interface: attribute updateViaCache 
+PASS ServiceWorkerRegistration interface: operation update() 
+PASS ServiceWorkerRegistration interface: operation unregister() 
+PASS ServiceWorkerRegistration interface: attribute onupdatefound 
+PASS ServiceWorkerRegistration must be primary interface of self.registration 
+PASS Stringification of self.registration 
+PASS ServiceWorkerRegistration interface: self.registration must inherit property "installing" with the proper type 
+PASS ServiceWorkerRegistration interface: self.registration must inherit property "waiting" with the proper type 
+PASS ServiceWorkerRegistration interface: self.registration must inherit property "active" with the proper type 
+FAIL ServiceWorkerRegistration interface: self.registration must inherit property "navigationPreload" with the proper type assert_inherits: property "navigationPreload" not found in prototype chain
+PASS ServiceWorkerRegistration interface: self.registration must inherit property "scope" with the proper type 
+PASS ServiceWorkerRegistration interface: self.registration must inherit property "updateViaCache" with the proper type 
+PASS ServiceWorkerRegistration interface: self.registration must inherit property "update()" with the proper type 
+PASS ServiceWorkerRegistration interface: self.registration must inherit property "unregister()" with the proper type 
+PASS ServiceWorkerRegistration interface: self.registration must inherit property "onupdatefound" with the proper type 
+PASS EventTarget interface: self.registration must inherit property "addEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type 
+PASS EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object],[object Object]) on self.registration with too few arguments must throw TypeError 
+PASS EventTarget interface: self.registration must inherit property "removeEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type 
+PASS EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object],[object Object]) on self.registration with too few arguments must throw TypeError 
+PASS EventTarget interface: self.registration must inherit property "dispatchEvent(Event)" with the proper type 
+PASS EventTarget interface: calling dispatchEvent(Event) on self.registration with too few arguments must throw TypeError 
+PASS EventTarget interface: existence and properties of interface object 
+PASS EventTarget interface object length 
+PASS EventTarget interface object name 
+PASS EventTarget interface: existence and properties of interface prototype object 
+PASS EventTarget interface: existence and properties of interface prototype object's "constructor" property 
+PASS EventTarget interface: operation addEventListener(DOMString, EventListener, [object Object],[object Object]) 
+PASS EventTarget interface: operation removeEventListener(DOMString, EventListener, [object Object],[object Object]) 
+PASS EventTarget interface: operation dispatchEvent(Event) 
+FAIL NavigationPreloadManager interface: existence and properties of interface object assert_own_property: self does not have own property "NavigationPreloadManager" expected property "NavigationPreloadManager" missing
+FAIL NavigationPreloadManager interface object length assert_own_property: self does not have own property "NavigationPreloadManager" expected property "NavigationPreloadManager" missing
+FAIL NavigationPreloadManager interface object name assert_own_property: self does not have own property "NavigationPreloadManager" expected property "NavigationPreloadManager" missing
+FAIL NavigationPreloadManager interface: existence and properties of interface prototype object assert_own_property: self does not have own property "NavigationPreloadManager" expected property "NavigationPreloadManager" missing
+FAIL NavigationPreloadManager interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "NavigationPreloadManager" expected property "NavigationPreloadManager" missing
+FAIL NavigationPreloadManager interface: operation enable() assert_own_property: self does not have own property "NavigationPreloadManager" expected property "NavigationPreloadManager" missing
+FAIL NavigationPreloadManager interface: operation disable() assert_own_property: self does not have own property "NavigationPreloadManager" expected property "NavigationPreloadManager" missing
+FAIL NavigationPreloadManager interface: operation setHeaderValue(ByteString) assert_own_property: self does not have own property "NavigationPreloadManager" expected property "NavigationPreloadManager" missing
+FAIL NavigationPreloadManager interface: operation getState() assert_own_property: self does not have own property "NavigationPreloadManager" expected property "NavigationPreloadManager" missing
+PASS Cache interface: existence and properties of interface object 
+PASS Cache interface object length 
+PASS Cache interface object name 
+PASS Cache interface: existence and properties of interface prototype object 
+PASS Cache interface: existence and properties of interface prototype object's "constructor" property 
+PASS Cache interface: operation match(RequestInfo, CacheQueryOptions) 
+PASS Cache interface: operation matchAll(RequestInfo, CacheQueryOptions) 
+PASS Cache interface: operation add(RequestInfo) 
+PASS Cache interface: operation addAll([object Object]) 
+PASS Cache interface: operation put(RequestInfo, Response) 
+PASS Cache interface: operation delete(RequestInfo, CacheQueryOptions) 
+PASS Cache interface: operation keys(RequestInfo, CacheQueryOptions) 
+PASS Cache must be primary interface of self.cacheInstance 
+PASS Stringification of self.cacheInstance 
+PASS Cache interface: self.cacheInstance must inherit property "match(RequestInfo, CacheQueryOptions)" with the proper type 
+PASS Cache interface: calling match(RequestInfo, CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError 
+PASS Cache interface: self.cacheInstance must inherit property "matchAll(RequestInfo, CacheQueryOptions)" with the proper type 
+PASS Cache interface: calling matchAll(RequestInfo, CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError 
+PASS Cache interface: self.cacheInstance must inherit property "add(RequestInfo)" with the proper type 
+PASS Cache interface: calling add(RequestInfo) on self.cacheInstance with too few arguments must throw TypeError 
+PASS Cache interface: self.cacheInstance must inherit property "addAll([object Object])" with the proper type 
+PASS Cache interface: calling addAll([object Object]) on self.cacheInstance with too few arguments must throw TypeError 
+PASS Cache interface: self.cacheInstance must inherit property "put(RequestInfo, Response)" with the proper type 
+PASS Cache interface: calling put(RequestInfo, Response) on self.cacheInstance with too few arguments must throw TypeError 
+PASS Cache interface: self.cacheInstance must inherit property "delete(RequestInfo, CacheQueryOptions)" with the proper type 
+PASS Cache interface: calling delete(RequestInfo, CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError 
+PASS Cache interface: self.cacheInstance must inherit property "keys(RequestInfo, CacheQueryOptions)" with the proper type 
+PASS Cache interface: calling keys(RequestInfo, CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError 
+PASS CacheStorage interface: existence and properties of interface object 
+PASS CacheStorage interface object length 
+PASS CacheStorage interface object name 
+PASS CacheStorage interface: existence and properties of interface prototype object 
+PASS CacheStorage interface: existence and properties of interface prototype object's "constructor" property 
+PASS CacheStorage interface: operation match(RequestInfo, CacheQueryOptions) 
+PASS CacheStorage interface: operation has(DOMString) 
+PASS CacheStorage interface: operation open(DOMString) 
+PASS CacheStorage interface: operation delete(DOMString) 
+PASS CacheStorage interface: operation keys() 
+PASS CacheStorage must be primary interface of self.caches 
+PASS Stringification of self.caches 
+PASS CacheStorage interface: self.caches must inherit property "match(RequestInfo, CacheQueryOptions)" with the proper type 
+PASS CacheStorage interface: calling match(RequestInfo, CacheQueryOptions) on self.caches with too few arguments must throw TypeError 
+PASS CacheStorage interface: self.caches must inherit property "has(DOMString)" with the proper type 
+PASS CacheStorage interface: calling has(DOMString) on self.caches with too few arguments must throw TypeError 
+PASS CacheStorage interface: self.caches must inherit property "open(DOMString)" with the proper type 
+PASS CacheStorage interface: calling open(DOMString) on self.caches with too few arguments must throw TypeError 
+PASS CacheStorage interface: self.caches must inherit property "delete(DOMString)" with the proper type 
+PASS CacheStorage interface: calling delete(DOMString) on self.caches with too few arguments must throw TypeError 
+PASS CacheStorage interface: self.caches must inherit property "keys()" with the proper type 
 

Modified: trunk/Source/WebCore/ChangeLog (225565 => 225566)


--- trunk/Source/WebCore/ChangeLog	2017-12-06 03:54:51 UTC (rev 225565)
+++ trunk/Source/WebCore/ChangeLog	2017-12-06 04:47:00 UTC (rev 225566)
@@ -1,3 +1,21 @@
+2017-12-05  Chris Dumez  <[email protected]>
+
+        ServiceWorkerGlobalScope prototype chain should be immutable
+        https://bugs.webkit.org/show_bug.cgi?id=180450
+
+        Reviewed by Youenn Fablet.
+
+        ServiceWorkerGlobalScope prototype chain should be immutable, similarly
+        to what we do for DOMWindow. This is covered by a web-platform-test
+        which was timing out because it was successfuly overwriting the
+        ServiceWorkerGlobalScope prototype.
+
+        No new tests, rebaselined existing test.
+
+        * workers/DedicatedWorkerGlobalScope.idl:
+        * workers/WorkerGlobalScope.idl:
+        * workers/service/ServiceWorkerGlobalScope.idl:
+
 2017-12-05  Basuke Suzuki  <[email protected]>
 
         Fast binding generation by batching several files at once

Modified: trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.idl (225565 => 225566)


--- trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.idl	2017-12-06 03:54:51 UTC (rev 225565)
+++ trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.idl	2017-12-06 04:47:00 UTC (rev 225566)
@@ -33,6 +33,8 @@
     Exposed=DedicatedWorker,
     Global=(Worker,DedicatedWorker),
     JSGenerateToNativeObject,
+    IsImmutablePrototypeExoticObject,
+    IsImmutablePrototypeExoticObjectOnPrototype,
 ] interface DedicatedWorkerGlobalScope : WorkerGlobalScope {
     [CallWith=ScriptState, MayThrowException] void postMessage(any message, optional sequence<object> transfer = []);
 

Modified: trunk/Source/WebCore/workers/WorkerGlobalScope.idl (225565 => 225566)


--- trunk/Source/WebCore/workers/WorkerGlobalScope.idl	2017-12-06 03:54:51 UTC (rev 225565)
+++ trunk/Source/WebCore/workers/WorkerGlobalScope.idl	2017-12-06 04:47:00 UTC (rev 225566)
@@ -28,6 +28,8 @@
     Exposed=Worker,
     JSCustomMarkFunction,
     JSLegacyParent=JSWorkerGlobalScopeBase,
+    IsImmutablePrototypeExoticObject,
+    IsImmutablePrototypeExoticObjectOnPrototype,
 ] interface WorkerGlobalScope : EventTarget {
 
     readonly attribute WorkerGlobalScope self;

Modified: trunk/Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl (225565 => 225566)


--- trunk/Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl	2017-12-06 03:54:51 UTC (rev 225565)
+++ trunk/Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl	2017-12-06 04:47:00 UTC (rev 225566)
@@ -30,6 +30,8 @@
     Conditional=SERVICE_WORKER,
     EnabledAtRuntime=ServiceWorker,
     JSCustomMarkFunction,
+    IsImmutablePrototypeExoticObject,
+    IsImmutablePrototypeExoticObjectOnPrototype,
 ] interface ServiceWorkerGlobalScope : WorkerGlobalScope {
     [SameObject] readonly attribute ServiceWorkerClients clients;
     [SameObject] readonly attribute ServiceWorkerRegistration registration;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to