Changeset 224244 in webkit
- Timestamp:
- Oct 31, 2017 1:38:12 PM (6 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 6 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r224242 r224244 1 2017-10-31 Chris Dumez <cdumez@apple.com> 2 3 navigator.serviceWorker should always return the same object 4 https://bugs.webkit.org/show_bug.cgi?id=179067 5 6 Reviewed by Youenn Fablet. 7 8 Add layout test coverage. 9 10 * http/tests/workers/service/navigator-serviceWorker-same-object-expected.txt: Added. 11 * http/tests/workers/service/navigator-serviceWorker-same-object.html: Added. 12 1 13 2017-10-31 Antoine Quint <graouts@apple.com> 2 14 -
trunk/Source/WebCore/ChangeLog
r224242 r224244 1 2017-10-31 Chris Dumez <cdumez@apple.com> 2 3 navigator.serviceWorker should always return the same object 4 https://bugs.webkit.org/show_bug.cgi?id=179067 5 6 Reviewed by Youenn Fablet. 7 8 navigator.serviceWorker should always return the same object: 9 - https://www.w3.org/TR/service-workers-1/#navigator-service-worker 10 11 Add visitor to make sure we don't gc() the ServiceWorkerContainer wrapper too early. 12 13 Test: http/tests/workers/service/navigator-serviceWorker-same-object.html 14 15 * Sources.txt: 16 * WebCore.xcodeproj/project.pbxproj: 17 * bindings/js/JSNavigatorCustom.cpp: Copied from Source/WebCore/workers/service/ServiceWorkerContainer.idl. 18 (WebCore::JSNavigator::visitAdditionalChildren): 19 * page/Navigator.idl: 20 * workers/service/ServiceWorkerContainer.idl: 21 1 22 2017-10-31 Antoine Quint <graouts@apple.com> 2 23 -
trunk/Source/WebCore/Sources.txt
r224168 r224244 393 393 bindings/js/JSMessagePortCustom.cpp 394 394 bindings/js/JSMutationObserverCustom.cpp 395 bindings/js/JSNavigatorCustom.cpp 395 396 bindings/js/JSNodeCustom.cpp 396 397 bindings/js/JSNodeIteratorCustom.cpp -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r224150 r224244 9488 9488 83B250091FA1181C00BC02D9 /* JSServiceWorkerClientType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSServiceWorkerClientType.h; sourceTree = "<group>"; }; 9489 9489 83B2500B1FA1181D00BC02D9 /* JSServiceWorkerClientType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSServiceWorkerClientType.cpp; sourceTree = "<group>"; }; 9490 83B5DA451FA9079300B59DF4 /* JSNavigatorCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSNavigatorCustom.cpp; sourceTree = "<group>"; }; 9490 9491 83B74EF21F3E0BD700996BC7 /* KeepaliveRequestTracker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KeepaliveRequestTracker.cpp; sourceTree = "<group>"; }; 9491 9492 83B74EF31F3E0BD700996BC7 /* KeepaliveRequestTracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeepaliveRequestTracker.h; sourceTree = "<group>"; }; … … 18924 18925 E1ADED460E76B8DD004A1A5E /* JSMessagePortCustom.cpp */, 18925 18926 C6F0917E143A2BB900685849 /* JSMutationObserverCustom.cpp */, 18927 83B5DA451FA9079300B59DF4 /* JSNavigatorCustom.cpp */, 18926 18928 BCD9C2600C17AA67005C90A2 /* JSNodeCustom.cpp */, 18927 18929 BC9439C2116CF4940048C750 /* JSNodeCustom.h */, -
trunk/Source/WebCore/bindings/js/JSNavigatorCustom.cpp
r224243 r224244 24 24 */ 25 25 26 // FIXME: The spec IDL exposes this on Worker in addition to Window. 27 // We don't currently support nested workers. 26 #include "config.h" 27 #include "JSNavigator.h" 28 28 29 [ 30 SecureContext, 31 Exposed=(Window), 32 Conditional=SERVICE_WORKER, 33 EnabledAtRuntime=ServiceWorker 34 ] interface ServiceWorkerContainer : EventTarget { 35 readonly attribute ServiceWorker? controller; 36 readonly attribute Promise<ServiceWorkerRegistration> ready; 29 namespace WebCore { 37 30 38 [NewObject, ImplementedAs=addRegistration] Promise<ServiceWorkerRegistration> register(USVString scriptURL, optional RegistrationOptions options); 39 [NewObject] Promise<any> getRegistration(optional USVString clientURL = ""); 40 [NewObject] Promise<sequence<ServiceWorkerRegistration>> getRegistrations(); 31 void JSNavigator::visitAdditionalChildren(SlotVisitor& visitor) 32 { 33 #if ENABLE(SERVICE_WORKER) 34 visitor.addOpaqueRoot(wrapped().serviceWorker()); 35 #else 36 UNUSED_PARAM(visitor); 37 #endif 38 } 41 39 42 void startMessages(); 43 44 // events 45 attribute EventHandler oncontrollerchange; 46 attribute EventHandler onmessage; 47 attribute EventHandler onmessageerror; 48 }; 49 50 dictionary RegistrationOptions { 51 USVString scope; 52 WorkerType type = "classic"; 53 ServiceWorkerUpdateViaCache updateViaCache = "imports"; 54 }; 40 } -
trunk/Source/WebCore/page/Navigator.idl
r220220 r224244 20 20 [ 21 21 GenerateIsReachable=ImplFrame, 22 JSCustomMarkFunction, 22 23 ] interface Navigator { 23 24 readonly attribute DOMPluginArray plugins; -
trunk/Source/WebCore/workers/service/ServiceWorkerContainer.idl
r220623 r224244 31 31 Exposed=(Window), 32 32 Conditional=SERVICE_WORKER, 33 EnabledAtRuntime=ServiceWorker 33 EnabledAtRuntime=ServiceWorker, 34 GenerateIsReachable=Impl, 34 35 ] interface ServiceWorkerContainer : EventTarget { 35 36 readonly attribute ServiceWorker? controller;
Note: See TracChangeset
for help on using the changeset viewer.