Changeset 223634 in webkit


Ignore:
Timestamp:
Oct 18, 2017 3:31:55 PM (7 years ago)
Author:
Chris Dumez
Message:

[Service Worker] Add stubs for Client / WindowClient / Clients
https://bugs.webkit.org/show_bug.cgi?id=178469

Reviewed by Youenn Fablet.

Source/WebCore:

Add stubs for Client / WindowClient / Clients:

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:
  • dom/Document.cpp:

(WebCore::Document::visibilityState const):

  • dom/Document.h:
  • dom/Document.idl:
  • dom/VisibilityState.h: Renamed from Source/WebCore/page/PageVisibilityState.h.
  • dom/VisibilityState.idl: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
  • page/Page.cpp:

(WebCore::Page::visibilityState const):

  • page/Page.h:
  • workers/service/ServiceWorkerClient.cpp: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.

(WebCore::ServiceWorkerClient::ServiceWorkerClient):
(WebCore::ServiceWorkerClient::activeDOMObjectName const):
(WebCore::ServiceWorkerClient::canSuspendForDocumentSuspension const):
(WebCore::ServiceWorkerClient::url const):
(WebCore::ServiceWorkerClient::frameType const):
(WebCore::ServiceWorkerClient::id const):
(WebCore::ServiceWorkerClient::postMessage):

  • workers/service/ServiceWorkerClient.h: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
  • workers/service/ServiceWorkerClient.idl: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
  • workers/service/ServiceWorkerClients.cpp: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp.

(WebCore::ServiceWorkerClients::ServiceWorkerClients):
(WebCore::ServiceWorkerClients::activeDOMObjectName const):
(WebCore::ServiceWorkerClients::canSuspendForDocumentSuspension const):
(WebCore::ServiceWorkerClients::get):
(WebCore::ServiceWorkerClients::matchAll):
(WebCore::ServiceWorkerClients::openWindow):
(WebCore::ServiceWorkerClients::claim):

  • workers/service/ServiceWorkerClients.h: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.h.

(WebCore::ServiceWorkerClients::create):

  • workers/service/ServiceWorkerClients.idl: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
  • workers/service/ServiceWorkerGlobalScope.cpp:

(WebCore::ServiceWorkerGlobalScope::ServiceWorkerGlobalScope):

  • workers/service/ServiceWorkerGlobalScope.h:

(WebCore::ServiceWorkerGlobalScope::clients):

  • workers/service/ServiceWorkerGlobalScope.idl:
  • workers/service/ServiceWorkerWindowClient.cpp: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.

(WebCore::ServiceWorkerWindowClient::ServiceWorkerWindowClient):
(WebCore::ServiceWorkerWindowClient::visibilityState const):
(WebCore::ServiceWorkerWindowClient::isFocused const):
(WebCore::ServiceWorkerWindowClient::focus):
(WebCore::ServiceWorkerWindowClient::navigate):

  • workers/service/ServiceWorkerWindowClient.h: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
  • workers/service/ServiceWorkerWindowClient.idl: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.

Source/WebKit:

Rename PageVisibilityState to VisibilityState.

  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toVisibilityState):

  • WebProcess/WebPage/WebPage.h:

Source/WebKitLegacy/mac:

Rename PageVisiblityState to VisibilityState.

  • WebView/WebView.mm:

(kit):

Location:
trunk/Source
Files:
20 edited
10 copied
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/CMakeLists.txt

    r223621 r223634  
    577577    dom/UIEvent.idl
    578578    dom/UIEventInit.idl
     579    dom/VisibilityState.idl
    579580    dom/WebKitAnimationEvent.idl
    580581    dom/WebKitTransitionEvent.idl
     
    795796    workers/service/FetchEvent.idl
    796797    workers/service/ServiceWorker.idl
     798    workers/service/ServiceWorkerClient.idl
     799    workers/service/ServiceWorkerClients.idl
    797800    workers/service/ServiceWorkerContainer.idl
    798801    workers/service/ServiceWorkerGlobalScope.idl
    799802    workers/service/ServiceWorkerRegistration.idl
    800803    workers/service/ServiceWorkerUpdateViaCache.idl
     804    workers/service/ServiceWorkerWindowClient.idl
    801805
    802806    xml/DOMParser.idl
     
    30863090    workers/service/FetchEvent.cpp
    30873091    workers/service/ServiceWorker.cpp
     3092    workers/service/ServiceWorkerClient.cpp
     3093    workers/service/ServiceWorkerClients.cpp
    30883094    workers/service/ServiceWorkerContainer.cpp
    30893095    workers/service/ServiceWorkerGlobalScope.cpp
     
    30953101    workers/service/ServiceWorkerRegistrationKey.cpp
    30963102    workers/service/ServiceWorkerRegistrationOptions.cpp
     3103    workers/service/ServiceWorkerWindowClient.cpp
    30973104
    30983105    workers/service/server/SWClientConnection.cpp
  • trunk/Source/WebCore/ChangeLog

    r223633 r223634  
     12017-10-18  Chris Dumez  <cdumez@apple.com>
     2
     3        [Service Worker] Add stubs for Client / WindowClient / Clients
     4        https://bugs.webkit.org/show_bug.cgi?id=178469
     5
     6        Reviewed by Youenn Fablet.
     7
     8        Add stubs for Client / WindowClient / Clients:
     9        - https://w3c.github.io/ServiceWorker/v1/#clients
     10        - https://w3c.github.io/ServiceWorker/v1/#client-interface
     11
     12        * CMakeLists.txt:
     13        * DerivedSources.make:
     14        * WebCore.xcodeproj/project.pbxproj:
     15        * bindings/js/WebCoreBuiltinNames.h:
     16        * dom/Document.cpp:
     17        (WebCore::Document::visibilityState const):
     18        * dom/Document.h:
     19        * dom/Document.idl:
     20        * dom/VisibilityState.h: Renamed from Source/WebCore/page/PageVisibilityState.h.
     21        * dom/VisibilityState.idl: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
     22        * page/Page.cpp:
     23        (WebCore::Page::visibilityState const):
     24        * page/Page.h:
     25        * workers/service/ServiceWorkerClient.cpp: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
     26        (WebCore::ServiceWorkerClient::ServiceWorkerClient):
     27        (WebCore::ServiceWorkerClient::activeDOMObjectName const):
     28        (WebCore::ServiceWorkerClient::canSuspendForDocumentSuspension const):
     29        (WebCore::ServiceWorkerClient::url const):
     30        (WebCore::ServiceWorkerClient::frameType const):
     31        (WebCore::ServiceWorkerClient::id const):
     32        (WebCore::ServiceWorkerClient::postMessage):
     33        * workers/service/ServiceWorkerClient.h: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
     34        * workers/service/ServiceWorkerClient.idl: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
     35        * workers/service/ServiceWorkerClients.cpp: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp.
     36        (WebCore::ServiceWorkerClients::ServiceWorkerClients):
     37        (WebCore::ServiceWorkerClients::activeDOMObjectName const):
     38        (WebCore::ServiceWorkerClients::canSuspendForDocumentSuspension const):
     39        (WebCore::ServiceWorkerClients::get):
     40        (WebCore::ServiceWorkerClients::matchAll):
     41        (WebCore::ServiceWorkerClients::openWindow):
     42        (WebCore::ServiceWorkerClients::claim):
     43        * workers/service/ServiceWorkerClients.h: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.h.
     44        (WebCore::ServiceWorkerClients::create):
     45        * workers/service/ServiceWorkerClients.idl: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
     46        * workers/service/ServiceWorkerGlobalScope.cpp:
     47        (WebCore::ServiceWorkerGlobalScope::ServiceWorkerGlobalScope):
     48        * workers/service/ServiceWorkerGlobalScope.h:
     49        (WebCore::ServiceWorkerGlobalScope::clients):
     50        * workers/service/ServiceWorkerGlobalScope.idl:
     51        * workers/service/ServiceWorkerWindowClient.cpp: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
     52        (WebCore::ServiceWorkerWindowClient::ServiceWorkerWindowClient):
     53        (WebCore::ServiceWorkerWindowClient::visibilityState const):
     54        (WebCore::ServiceWorkerWindowClient::isFocused const):
     55        (WebCore::ServiceWorkerWindowClient::focus):
     56        (WebCore::ServiceWorkerWindowClient::navigate):
     57        * workers/service/ServiceWorkerWindowClient.h: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
     58        * workers/service/ServiceWorkerWindowClient.idl: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl.
     59
    1602017-10-18  Zalan Bujtas  <zalan@apple.com>
    261
  • trunk/Source/WebCore/DerivedSources.make

    r223612 r223634  
    495495    $(WebCore)/dom/UIEvent.idl \
    496496    $(WebCore)/dom/UIEventInit.idl \
     497    $(WebCore)/dom/VisibilityState.idl \
    497498    $(WebCore)/dom/WebKitAnimationEvent.idl \
    498499    $(WebCore)/dom/WebKitTransitionEvent.idl \
     
    915916    $(WebCore)/workers/service/FetchEvent.idl \
    916917    $(WebCore)/workers/service/ServiceWorker.idl \
     918    $(WebCore)/workers/service/ServiceWorkerClient.idl \
     919    $(WebCore)/workers/service/ServiceWorkerClients.idl \
    917920    $(WebCore)/workers/service/ServiceWorkerContainer.idl \
    918921    $(WebCore)/workers/service/ServiceWorkerGlobalScope.idl \
    919922    $(WebCore)/workers/service/ServiceWorkerRegistration.idl \
    920923    $(WebCore)/workers/service/ServiceWorkerUpdateViaCache.idl \
     924    $(WebCore)/workers/service/ServiceWorkerWindowClient.idl \
    921925    $(WebCore)/xml/DOMParser.idl \
    922926    $(WebCore)/xml/XMLHttpRequest.idl \
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r223621 r223634  
    19511951                46C83EFD1A9BBE2900A79A41 /* GeoNotifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46C83EFB1A9BBE2900A79A41 /* GeoNotifier.cpp */; };
    19521952                46C83EFE1A9BBE2900A79A41 /* GeoNotifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 46C83EFC1A9BBE2900A79A41 /* GeoNotifier.h */; settings = {ATTRIBUTES = (Private, ); }; };
     1953                46CA9C441F97BBE9004CFC3A /* VisibilityState.h in Headers */ = {isa = PBXBuildFile; fileRef = 46CA9C411F97BBE7004CFC3A /* VisibilityState.h */; settings = {ATTRIBUTES = (Private, ); }; };
    19531954                46DBB6501AB8C96F00D9A813 /* PowerObserverMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 46DBB64E1AB8C96F00D9A813 /* PowerObserverMac.h */; };
    19541955                46DFF4981DC2603100B80B48 /* ShadowRootMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 46DFF4961DC2601300B80B48 /* ShadowRootMode.h */; settings = {ATTRIBUTES = (Private, ); }; };
    19551956                46DFF49B1DC2620B00B80B48 /* JSShadowRootMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46DFF4991DC261F900B80B48 /* JSShadowRootMode.cpp */; };
    19561957                46DFF49C1DC2620B00B80B48 /* JSShadowRootMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 46DFF49A1DC261F900B80B48 /* JSShadowRootMode.h */; };
     1958                46E791481F97E01A00199739 /* JSVisibilityState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46E791451F97E01700199739 /* JSVisibilityState.cpp */; };
     1959                46E791491F97E01A00199739 /* JSVisibilityState.h in Headers */ = {isa = PBXBuildFile; fileRef = 46E791461F97E01700199739 /* JSVisibilityState.h */; };
     1960                46EB37C91F97CCD200B65523 /* JSServiceWorkerClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46EB37C21F97CCCB00B65523 /* JSServiceWorkerClient.cpp */; };
     1961                46EB37CA1F97CCD200B65523 /* JSServiceWorkerClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 46EB37C31F97CCCB00B65523 /* JSServiceWorkerClient.h */; };
     1962                46EB37CB1F97CCD200B65523 /* JSServiceWorkerClients.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46EB37C41F97CCCB00B65523 /* JSServiceWorkerClients.cpp */; };
     1963                46EB37CC1F97CCD200B65523 /* JSServiceWorkerClients.h in Headers */ = {isa = PBXBuildFile; fileRef = 46EB37C51F97CCCB00B65523 /* JSServiceWorkerClients.h */; };
     1964                46EB37CD1F97CCD200B65523 /* JSServiceWorkerWindowClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46EB37C61F97CCCB00B65523 /* JSServiceWorkerWindowClient.cpp */; };
     1965                46EB37CE1F97CCD200B65523 /* JSServiceWorkerWindowClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 46EB37C71F97CCCB00B65523 /* JSServiceWorkerWindowClient.h */; };
    19571966                46EBEA021B7D4D6500BE4941 /* CollectionTraversal.h in Headers */ = {isa = PBXBuildFile; fileRef = 46EBEA011B7D4D5D00BE4941 /* CollectionTraversal.h */; settings = {ATTRIBUTES = (Private, ); }; };
     1967                46EF142A1F97B7D800C2A524 /* ServiceWorkerWindowClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 46EF14201F97B7BA00C2A524 /* ServiceWorkerWindowClient.h */; };
     1968                46EF142B1F97B7D800C2A524 /* ServiceWorkerClients.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46EF14211F97B7BA00C2A524 /* ServiceWorkerClients.cpp */; };
     1969                46EF142C1F97B7D800C2A524 /* ServiceWorkerClients.h in Headers */ = {isa = PBXBuildFile; fileRef = 46EF14221F97B7BA00C2A524 /* ServiceWorkerClients.h */; };
     1970                46EF142D1F97B7D800C2A524 /* ServiceWorkerClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 46EF14241F97B7BA00C2A524 /* ServiceWorkerClient.h */; };
     1971                46EF142E1F97B7D800C2A524 /* ServiceWorkerWindowClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46EF14251F97B7BA00C2A524 /* ServiceWorkerWindowClient.cpp */; };
     1972                46EF142F1F97B7D800C2A524 /* ServiceWorkerClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46EF14271F97B7BA00C2A524 /* ServiceWorkerClient.cpp */; };
    19581973                46EFAF0E1E5FB9CA00E7F34B /* LowPowerModeNotifierIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 46EFAF0D1E5FB9C200E7F34B /* LowPowerModeNotifierIOS.mm */; };
    19591974                46EFAF111E5FB9F100E7F34B /* LowPowerModeNotifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46EFAF0F1E5FB9E100E7F34B /* LowPowerModeNotifier.cpp */; };
     
    33973412                7E4C96DC1AD4483500365A50 /* JSFetchRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E4C96D81AD4483500365A50 /* JSFetchRequest.cpp */; };
    33983413                7E4C96DC1AD4483500365A51 /* JSReadableStreamSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E4C96D81AD4483500365A51 /* JSReadableStreamSource.cpp */; };
    3399                 7E4C96DC1AD4483500365A52 /* WebCore/JSFetchEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E4C96D81AD4483500365A52 /* WebCore/JSFetchEvent.cpp */; };
    3400                 7E4C96DC1AD4483500365A53 /* WebCore/JSExtendableEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E4C96D81AD4483500365A53 /* WebCore/JSExtendableEvent.cpp */; };
    3401                 7E4C96DC1AD4483500365A54 /* WebCore/JSExtendableEventInit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E4C96D81AD4483500365A54 /* WebCore/JSExtendableEventInit.cpp */; };
     3414                7E4C96DC1AD4483500365A52 /* JSFetchEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E4C96D81AD4483500365A52 /* JSFetchEvent.cpp */; };
     3415                7E4C96DC1AD4483500365A53 /* JSExtendableEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E4C96D81AD4483500365A53 /* JSExtendableEvent.cpp */; };
     3416                7E4C96DC1AD4483500365A54 /* JSExtendableEventInit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E4C96D81AD4483500365A54 /* JSExtendableEventInit.cpp */; };
    34023417                7E4C96DD1AD4483500365A50 /* JSFetchRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E4C96D91AD4483500365A50 /* JSFetchRequest.h */; };
    34033418                7E4C96DD1AD4483500365A51 /* JSReadableStreamSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E4C96D91AD4483500365A51 /* JSReadableStreamSource.h */; };
     
    73567371                FFB698CC1833EE0D00158A31 /* LineBreaker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FFB698CA1833EC3800158A31 /* LineBreaker.cpp */; };
    73577372                FFB698CF183402BB00158A31 /* LineInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FFB698CD1833F17600158A31 /* LineInfo.cpp */; };
    7358                 FFD5B97B135CC97800D5E92A /* PageVisibilityState.h in Headers */ = {isa = PBXBuildFile; fileRef = FFD5B978135CC97800D5E92A /* PageVisibilityState.h */; settings = {ATTRIBUTES = (Private, ); }; };
    73597373                FFDBC047183D27B700407109 /* LineWidth.h in Headers */ = {isa = PBXBuildFile; fileRef = FFDBC045183D27B700407109 /* LineWidth.h */; settings = {ATTRIBUTES = (Private, ); }; };
    73607374                FFDBC048183D27B700407109 /* LineWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FFDBC046183D27B700407109 /* LineWidth.cpp */; };
     
    97819795                46C83EFB1A9BBE2900A79A41 /* GeoNotifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeoNotifier.cpp; sourceTree = "<group>"; };
    97829796                46C83EFC1A9BBE2900A79A41 /* GeoNotifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GeoNotifier.h; sourceTree = "<group>"; };
     9797                46CA9C411F97BBE7004CFC3A /* VisibilityState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisibilityState.h; sourceTree = "<group>"; };
     9798                46CA9C421F97BBE7004CFC3A /* VisibilityState.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VisibilityState.idl; sourceTree = "<group>"; };
    97839799                46DBB64E1AB8C96F00D9A813 /* PowerObserverMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PowerObserverMac.h; sourceTree = "<group>"; };
    97849800                46DFF4961DC2601300B80B48 /* ShadowRootMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShadowRootMode.h; sourceTree = "<group>"; };
     
    97879803                46DFF49A1DC261F900B80B48 /* JSShadowRootMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSShadowRootMode.h; sourceTree = "<group>"; };
    97889804                46E016AD1F72D61E00282B2C /* DOMHighResTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMHighResTimeStamp.h; sourceTree = "<group>"; };
     9805                46E791451F97E01700199739 /* JSVisibilityState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSVisibilityState.cpp; sourceTree = "<group>"; };
     9806                46E791461F97E01700199739 /* JSVisibilityState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSVisibilityState.h; sourceTree = "<group>"; };
     9807                46EB37C21F97CCCB00B65523 /* JSServiceWorkerClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSServiceWorkerClient.cpp; sourceTree = "<group>"; };
     9808                46EB37C31F97CCCB00B65523 /* JSServiceWorkerClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSServiceWorkerClient.h; sourceTree = "<group>"; };
     9809                46EB37C41F97CCCB00B65523 /* JSServiceWorkerClients.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSServiceWorkerClients.cpp; sourceTree = "<group>"; };
     9810                46EB37C51F97CCCB00B65523 /* JSServiceWorkerClients.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSServiceWorkerClients.h; sourceTree = "<group>"; };
     9811                46EB37C61F97CCCB00B65523 /* JSServiceWorkerWindowClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSServiceWorkerWindowClient.cpp; sourceTree = "<group>"; };
     9812                46EB37C71F97CCCB00B65523 /* JSServiceWorkerWindowClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSServiceWorkerWindowClient.h; sourceTree = "<group>"; };
    97899813                46EBEA011B7D4D5D00BE4941 /* CollectionTraversal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CollectionTraversal.h; sourceTree = "<group>"; };
     9814                46EF14201F97B7BA00C2A524 /* ServiceWorkerWindowClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServiceWorkerWindowClient.h; sourceTree = "<group>"; };
     9815                46EF14211F97B7BA00C2A524 /* ServiceWorkerClients.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ServiceWorkerClients.cpp; sourceTree = "<group>"; };
     9816                46EF14221F97B7BA00C2A524 /* ServiceWorkerClients.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServiceWorkerClients.h; sourceTree = "<group>"; };
     9817                46EF14231F97B7BA00C2A524 /* ServiceWorkerClients.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ServiceWorkerClients.idl; sourceTree = "<group>"; };
     9818                46EF14241F97B7BA00C2A524 /* ServiceWorkerClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServiceWorkerClient.h; sourceTree = "<group>"; };
     9819                46EF14251F97B7BA00C2A524 /* ServiceWorkerWindowClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ServiceWorkerWindowClient.cpp; sourceTree = "<group>"; };
     9820                46EF14261F97B7BA00C2A524 /* ServiceWorkerWindowClient.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ServiceWorkerWindowClient.idl; sourceTree = "<group>"; };
     9821                46EF14271F97B7BA00C2A524 /* ServiceWorkerClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ServiceWorkerClient.cpp; sourceTree = "<group>"; };
     9822                46EF14281F97B7BA00C2A524 /* ServiceWorkerClient.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ServiceWorkerClient.idl; sourceTree = "<group>"; };
    97909823                46EFAF0D1E5FB9C200E7F34B /* LowPowerModeNotifierIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LowPowerModeNotifierIOS.mm; sourceTree = "<group>"; };
    97919824                46EFAF0F1E5FB9E100E7F34B /* LowPowerModeNotifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LowPowerModeNotifier.cpp; sourceTree = "<group>"; };
     
    1020810241                517FBA18151AA71B00B57959 /* DOMWindowExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMWindowExtension.h; sourceTree = "<group>"; };
    1020910242                5182C24B1F313AE00059BA7C /* NavigatorServiceWorker.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = NavigatorServiceWorker.idl; sourceTree = "<group>"; };
    10210                 5182C24D1F3142500059BA7C /* JSServiceWorkerGlobalScope.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JSServiceWorkerGlobalScope.h; path = WebCore/JSServiceWorkerGlobalScope.h; sourceTree = "<group>"; };
    10211                 5182C24E1F3142500059BA7C /* JSServiceWorkerGlobalScope.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = JSServiceWorkerGlobalScope.cpp; path = WebCore/JSServiceWorkerGlobalScope.cpp; sourceTree = "<group>"; };
    10212                 5182C24F1F3142500059BA7C /* JSServiceWorkerRegistration.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = JSServiceWorkerRegistration.cpp; path = WebCore/JSServiceWorkerRegistration.cpp; sourceTree = "<group>"; };
    10213                 5182C2501F3142500059BA7C /* JSServiceWorkerRegistration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JSServiceWorkerRegistration.h; path = WebCore/JSServiceWorkerRegistration.h; sourceTree = "<group>"; };
    10214                 5182C2511F3142500059BA7C /* JSServiceWorkerContainer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = JSServiceWorkerContainer.cpp; path = WebCore/JSServiceWorkerContainer.cpp; sourceTree = "<group>"; };
    10215                 5182C2521F3142500059BA7C /* JSServiceWorker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JSServiceWorker.h; path = WebCore/JSServiceWorker.h; sourceTree = "<group>"; };
    10216                 5182C2531F3142500059BA7C /* JSServiceWorker.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = JSServiceWorker.cpp; path = WebCore/JSServiceWorker.cpp; sourceTree = "<group>"; };
    10217                 5182C2541F3142500059BA7C /* JSServiceWorkerContainer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JSServiceWorkerContainer.h; path = WebCore/JSServiceWorkerContainer.h; sourceTree = "<group>"; };
     10243                5182C24D1F3142500059BA7C /* JSServiceWorkerGlobalScope.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSServiceWorkerGlobalScope.h; sourceTree = "<group>"; };
     10244                5182C24E1F3142500059BA7C /* JSServiceWorkerGlobalScope.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JSServiceWorkerGlobalScope.cpp; sourceTree = "<group>"; };
     10245                5182C24F1F3142500059BA7C /* JSServiceWorkerRegistration.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JSServiceWorkerRegistration.cpp; sourceTree = "<group>"; };
     10246                5182C2501F3142500059BA7C /* JSServiceWorkerRegistration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSServiceWorkerRegistration.h; sourceTree = "<group>"; };
     10247                5182C2511F3142500059BA7C /* JSServiceWorkerContainer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JSServiceWorkerContainer.cpp; sourceTree = "<group>"; };
     10248                5182C2521F3142500059BA7C /* JSServiceWorker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSServiceWorker.h; sourceTree = "<group>"; };
     10249                5182C2531F3142500059BA7C /* JSServiceWorker.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JSServiceWorker.cpp; sourceTree = "<group>"; };
     10250                5182C2541F3142500059BA7C /* JSServiceWorkerContainer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSServiceWorkerContainer.h; sourceTree = "<group>"; };
    1021810251                5185FCBC1BB5CB770012898F /* IDBConnectionToServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBConnectionToServer.cpp; sourceTree = "<group>"; };
    1021910252                5185FCBD1BB5CB770012898F /* IDBConnectionToServerDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBConnectionToServerDelegate.h; sourceTree = "<group>"; };
     
    1034410377                51F174FA1F3588D700C74950 /* WorkerType.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WorkerType.idl; sourceTree = "<group>"; };
    1034510378                51F174FC1F35898800C74950 /* WorkerType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WorkerType.h; sourceTree = "<group>"; };
    10346                 51F175001F358B3600C74950 /* JSServiceWorkerUpdateViaCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSServiceWorkerUpdateViaCache.cpp; path = WebCore/JSServiceWorkerUpdateViaCache.cpp; sourceTree = "<group>"; };
    10347                 51F175011F358B3600C74950 /* JSServiceWorkerUpdateViaCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSServiceWorkerUpdateViaCache.h; path = WebCore/JSServiceWorkerUpdateViaCache.h; sourceTree = "<group>"; };
     10379                51F175001F358B3600C74950 /* JSServiceWorkerUpdateViaCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSServiceWorkerUpdateViaCache.cpp; sourceTree = "<group>"; };
     10380                51F175011F358B3600C74950 /* JSServiceWorkerUpdateViaCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSServiceWorkerUpdateViaCache.h; sourceTree = "<group>"; };
    1034810381                51F175041F358BDE00C74950 /* JSWorkerType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWorkerType.cpp; sourceTree = "<group>"; };
    1034910382                51F175051F358BDE00C74950 /* JSWorkerType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWorkerType.h; sourceTree = "<group>"; };
     
    1037910412                51F798EB1BE880D3008AE491 /* IDBIndexInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBIndexInfo.cpp; sourceTree = "<group>"; };
    1038010413                51F798EC1BE880D3008AE491 /* IDBIndexInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBIndexInfo.h; sourceTree = "<group>"; };
    10381                 51F886BE1F32920700C193EF /* JSNavigatorServiceWorker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSNavigatorServiceWorker.cpp; path = WebCore/JSNavigatorServiceWorker.cpp; sourceTree = "<group>"; };
    10382                 51F886BF1F32920700C193EF /* JSNavigatorServiceWorker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSNavigatorServiceWorker.h; path = WebCore/JSNavigatorServiceWorker.h; sourceTree = "<group>"; };
     10414                51F886BE1F32920700C193EF /* JSNavigatorServiceWorker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSNavigatorServiceWorker.cpp; sourceTree = "<group>"; };
     10415                51F886BF1F32920700C193EF /* JSNavigatorServiceWorker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSNavigatorServiceWorker.h; sourceTree = "<group>"; };
    1038310416                51FB5502113E3E9100821176 /* JSCloseEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCloseEvent.h; sourceTree = "<group>"; };
    1038410417                51FB5503113E3E9100821176 /* JSCloseEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCloseEvent.cpp; sourceTree = "<group>"; };
     
    1166611699                7E4C96D81AD4483500365A50 /* JSFetchRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFetchRequest.cpp; sourceTree = "<group>"; };
    1166711700                7E4C96D81AD4483500365A51 /* JSReadableStreamSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStreamSource.cpp; sourceTree = "<group>"; };
    11668                 7E4C96D81AD4483500365A52 /* WebCore/JSFetchEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCore/JSFetchEvent.cpp; sourceTree = "<group>"; };
    11669                 7E4C96D81AD4483500365A53 /* WebCore/JSExtendableEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCore/JSExtendableEvent.cpp; sourceTree = "<group>"; };
    11670                 7E4C96D81AD4483500365A54 /* WebCore/JSExtendableEventInit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCore/JSExtendableEventInit.cpp; sourceTree = "<group>"; };
     11701                7E4C96D81AD4483500365A52 /* JSFetchEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFetchEvent.cpp; sourceTree = "<group>"; };
     11702                7E4C96D81AD4483500365A53 /* JSExtendableEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSExtendableEvent.cpp; sourceTree = "<group>"; };
     11703                7E4C96D81AD4483500365A54 /* JSExtendableEventInit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSExtendableEventInit.cpp; sourceTree = "<group>"; };
    1167111704                7E4C96D91AD4483500365A50 /* JSFetchRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFetchRequest.h; sourceTree = "<group>"; };
    1167211705                7E4C96D91AD4483500365A51 /* JSReadableStreamSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSReadableStreamSource.h; sourceTree = "<group>"; };
     
    1630516338                FFB698CD1833F17600158A31 /* LineInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LineInfo.cpp; sourceTree = "<group>"; };
    1630616339                FFB698CE1833F17600158A31 /* LineInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LineInfo.h; sourceTree = "<group>"; };
    16307                 FFD5B978135CC97800D5E92A /* PageVisibilityState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PageVisibilityState.h; sourceTree = "<group>"; };
    1630816340                FFDBC045183D27B700407109 /* LineWidth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LineWidth.h; sourceTree = "<group>"; };
    1630916341                FFDBC046183D27B700407109 /* LineWidth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LineWidth.cpp; sourceTree = "<group>"; };
     
    1906719099                        isa = PBXGroup;
    1906819100                        children = (
     19101                                7E4C96D81AD4483500365A53 /* JSExtendableEvent.cpp */,
    1906919102                                7E4C96D91AD4483500365A53 /* JSExtendableEvent.h */,
     19103                                7E4C96D81AD4483500365A54 /* JSExtendableEventInit.cpp */,
     19104                                7E4C96D81AD4483500365A52 /* JSFetchEvent.cpp */,
    1907019105                                7E4C96D91AD4483500365A52 /* JSFetchEvent.h */,
    1907119106                                51F886BE1F32920700C193EF /* JSNavigatorServiceWorker.cpp */,
     
    1907319108                                5182C2531F3142500059BA7C /* JSServiceWorker.cpp */,
    1907419109                                5182C2521F3142500059BA7C /* JSServiceWorker.h */,
     19110                                46EB37C21F97CCCB00B65523 /* JSServiceWorkerClient.cpp */,
     19111                                46EB37C31F97CCCB00B65523 /* JSServiceWorkerClient.h */,
     19112                                46EB37C41F97CCCB00B65523 /* JSServiceWorkerClients.cpp */,
     19113                                46EB37C51F97CCCB00B65523 /* JSServiceWorkerClients.h */,
    1907519114                                5182C2511F3142500059BA7C /* JSServiceWorkerContainer.cpp */,
    1907619115                                5182C2541F3142500059BA7C /* JSServiceWorkerContainer.h */,
     
    1908119120                                51F175001F358B3600C74950 /* JSServiceWorkerUpdateViaCache.cpp */,
    1908219121                                51F175011F358B3600C74950 /* JSServiceWorkerUpdateViaCache.h */,
    19083                                 7E4C96D81AD4483500365A53 /* WebCore/JSExtendableEvent.cpp */,
    19084                                 7E4C96D81AD4483500365A54 /* WebCore/JSExtendableEventInit.cpp */,
    19085                                 7E4C96D81AD4483500365A52 /* WebCore/JSFetchEvent.cpp */,
     19122                                46EB37C61F97CCCB00B65523 /* JSServiceWorkerWindowClient.cpp */,
     19123                                46EB37C71F97CCCB00B65523 /* JSServiceWorkerWindowClient.h */,
    1908619124                        );
    1908719125                        name = ServiceWorkers;
    19088                         path = DerivedSources;
    19089                         sourceTree = BUILT_PRODUCTS_DIR;
     19126                        sourceTree = "<group>";
    1909019127                };
    1909119128                518F4FE9194CA4B60081BAAE /* gamepad */ = {
     
    1916219199                                51F1755A1F3EBC0C00C74950 /* ServiceWorker.h */,
    1916319200                                51F175591F3EBC0C00C74950 /* ServiceWorker.idl */,
     19201                                46EF14271F97B7BA00C2A524 /* ServiceWorkerClient.cpp */,
     19202                                46EF14241F97B7BA00C2A524 /* ServiceWorkerClient.h */,
     19203                                46EF14281F97B7BA00C2A524 /* ServiceWorkerClient.idl */,
     19204                                46EF14211F97B7BA00C2A524 /* ServiceWorkerClients.cpp */,
     19205                                46EF14221F97B7BA00C2A524 /* ServiceWorkerClients.h */,
     19206                                46EF14231F97B7BA00C2A524 /* ServiceWorkerClients.idl */,
    1916419207                                51F175581F3EBC0C00C74950 /* ServiceWorkerContainer.cpp */,
    1916519208                                51F175571F3EBC0C00C74950 /* ServiceWorkerContainer.h */,
     
    1919019233                                51F175471F3EBC0C00C74950 /* ServiceWorkerUpdateViaCache.h */,
    1919119234                                51F175461F3EBC0C00C74950 /* ServiceWorkerUpdateViaCache.idl */,
     19235                                46EF14251F97B7BA00C2A524 /* ServiceWorkerWindowClient.cpp */,
     19236                                46EF14201F97B7BA00C2A524 /* ServiceWorkerWindowClient.h */,
     19237                                46EF14261F97B7BA00C2A524 /* ServiceWorkerWindowClient.idl */,
    1919219238                        );
    1919319239                        path = service;
     
    1986219908                                371E65CD13661EED00BEEDB0 /* PageSerializer.cpp */,
    1986319909                                371E65CB13661EDC00BEEDB0 /* PageSerializer.h */,
    19864                                 FFD5B978135CC97800D5E92A /* PageVisibilityState.h */,
    1986519910                                E526AF3E1727F8F200E41781 /* Performance.cpp */,
    1986619911                                8A844D0211D3C18E0014065C /* Performance.h */,
     
    2281122856                                65DF31EF09D1CC60000BE325 /* JSText.cpp */,
    2281222857                                65DF31F009D1CC60000BE325 /* JSText.h */,
     22858                                46E791451F97E01700199739 /* JSVisibilityState.cpp */,
     22859                                46E791461F97E01700199739 /* JSVisibilityState.h */,
    2281322860                                83F570AE1C53268E007FD6CB /* JSXMLDocument.cpp */,
    2281422861                                83F570AD1C53268E007FD6CB /* JSXMLDocument.h */,
     
    2671226759                                CEF418CD1179678C009D112C /* ViewportArguments.h */,
    2671326760                                83407FC01E8D9C1200E048D3 /* VisibilityChangeClient.h */,
     26761                                46CA9C411F97BBE7004CFC3A /* VisibilityState.h */,
     26762                                46CA9C421F97BBE7004CFC3A /* VisibilityState.idl */,
    2671426763                                419BC2DC1685329900D64D6D /* VisitedLinkState.cpp */,
    2671526764                                419BC2DD1685329900D64D6D /* VisitedLinkState.h */,
     
    2899229041                                CED06AD11C77754800FDFAF1 /* JSSecurityPolicyViolationEvent.h in Headers */,
    2899329042                                5182C2561F3143CD0059BA7C /* JSServiceWorker.h in Headers */,
     29043                                46EB37CA1F97CCD200B65523 /* JSServiceWorkerClient.h in Headers */,
     29044                                46EB37CC1F97CCD200B65523 /* JSServiceWorkerClients.h in Headers */,
    2899429045                                5182C2581F3143CD0059BA7C /* JSServiceWorkerContainer.h in Headers */,
    2899529046                                5182C25A1F3143CD0059BA7C /* JSServiceWorkerGlobalScope.h in Headers */,
    2899629047                                5182C25C1F3143CD0059BA7C /* JSServiceWorkerRegistration.h in Headers */,
    2899729048                                51F175031F358B3B00C74950 /* JSServiceWorkerUpdateViaCache.h in Headers */,
     29049                                46EB37CE1F97CCD200B65523 /* JSServiceWorkerWindowClient.h in Headers */,
    2899829050                                9BDA64D81B975CF2009C4387 /* JSShadowRoot.h in Headers */,
    2899929051                                46DFF49C1DC2620B00B80B48 /* JSShadowRootMode.h in Headers */,
     
    2918229234                                BE8EF04B171C9014009B48C3 /* JSVideoTrack.h in Headers */,
    2918329235                                BE8EF04D171C9014009B48C3 /* JSVideoTrackList.h in Headers */,
     29236                                46E791491F97E01A00199739 /* JSVisibilityState.h in Headers */,
    2918429237                                2DDE1CE41F574AE900D1A365 /* JSVRDisplay.h in Headers */,
    2918529238                                2DDE1CF81F574C3900D1A365 /* JSVRDisplayCapabilities.h in Headers */,
     
    2961329666                                371E65CC13661EDC00BEEDB0 /* PageSerializer.h in Headers */,
    2961429667                                E1284AE110447D4500EAEB52 /* PageTransitionEvent.h in Headers */,
    29615                                 FFD5B97B135CC97800D5E92A /* PageVisibilityState.h in Headers */,
    2961629668                                9377ABA015DEFEEF0031FD04 /* Pagination.h in Headers */,
    2961729669                                0885067F11DA045B00182B98 /* PaintInfo.h in Headers */,
     
    3014930201                                2D93AEE319DF5641002A86C3 /* ServicesOverlayController.h in Headers */,
    3015030202                                51F1755D1F3EBC8300C74950 /* ServiceWorker.h in Headers */,
     30203                                46EF142D1F97B7D800C2A524 /* ServiceWorkerClient.h in Headers */,
     30204                                46EF142C1F97B7D800C2A524 /* ServiceWorkerClients.h in Headers */,
    3015130205                                51F1755F1F3EBC8300C74950 /* ServiceWorkerContainer.h in Headers */,
    3015230206                                51CA7EE91F883390003D3131 /* ServiceWorkerContextData.h in Headers */,
     
    3016430218                                51BCCE301F8F179E006BA0ED /* ServiceWorkerThread.h in Headers */,
    3016530219                                51F1756C1F3EBC8300C74950 /* ServiceWorkerUpdateViaCache.h in Headers */,
     30220                                46EF142A1F97B7D800C2A524 /* ServiceWorkerWindowClient.h in Headers */,
    3016630221                                93309E10099E64920056E581 /* SetNodeAttributeCommand.h in Headers */,
    3016730222                                B8DBDB4C130B0F8A00F5CDB1 /* SetSelectionCommand.h in Headers */,
     
    3076930824                                3FFFF9AE159D9B060020BBD5 /* ViewportStyleResolver.h in Headers */,
    3077030825                                83407FC11E8D9C1700E048D3 /* VisibilityChangeClient.h in Headers */,
     30826                                46CA9C441F97BBE9004CFC3A /* VisibilityState.h in Headers */,
    3077130827                                93309E20099E64920056E581 /* VisiblePosition.h in Headers */,
    3077230828                                A883DF280F3D045D00F19BF6 /* VisibleSelection.h in Headers */,
     
    3268932745                                C6A703325C9D0B6CDCBC4D77 /* JSEventTarget.cpp in Sources */,
    3269032746                                724ED3311A3A8B2300F5F13C /* JSEXTBlendMinMax.cpp in Sources */,
     32747                                7E4C96DC1AD4483500365A53 /* JSExtendableEvent.cpp in Sources */,
     32748                                7E4C96DC1AD4483500365A54 /* JSExtendableEventInit.cpp in Sources */,
    3269132749                                72F1ADA51A390B9F00014E18 /* JSEXTFragDepth.cpp in Sources */,
    3269232750                                5C4304B5191AEF46000E2BC0 /* JSEXTShaderTextureLOD.cpp in Sources */,
     
    3269732755                                77D510141ED5F4F100DA4C87 /* JSFederatedCredentialRequestOptions.cpp in Sources */,
    3269832756                                7F4C96DC1AD4483500365A50 /* JSFetchBody.cpp in Sources */,
     32757                                7E4C96DC1AD4483500365A52 /* JSFetchEvent.cpp in Sources */,
    3269932758                                4131F3B31F9552860059995A /* JSFetchEventCustom.cpp in Sources */,
    3270032759                                7D4C96DC1AD4483500365A50 /* JSFetchHeaders.cpp in Sources */,
     
    3299533054                                CED06AD01C77754800FDFAF1 /* JSSecurityPolicyViolationEvent.cpp in Sources */,
    3299633055                                5182C2551F3143CD0059BA7C /* JSServiceWorker.cpp in Sources */,
     33056                                46EB37C91F97CCD200B65523 /* JSServiceWorkerClient.cpp in Sources */,
     33057                                46EB37CB1F97CCD200B65523 /* JSServiceWorkerClients.cpp in Sources */,
    3299733058                                5182C2571F3143CD0059BA7C /* JSServiceWorkerContainer.cpp in Sources */,
    3299833059                                5182C2591F3143CD0059BA7C /* JSServiceWorkerGlobalScope.cpp in Sources */,
    3299933060                                5182C25B1F3143CD0059BA7C /* JSServiceWorkerRegistration.cpp in Sources */,
    3300033061                                51F175021F358B3B00C74950 /* JSServiceWorkerUpdateViaCache.cpp in Sources */,
     33062                                46EB37CD1F97CCD200B65523 /* JSServiceWorkerWindowClient.cpp in Sources */,
    3300133063                                9BDA64D71B975CE5009C4387 /* JSShadowRoot.cpp in Sources */,
    3300233064                                46DFF49B1DC2620B00B80B48 /* JSShadowRootMode.cpp in Sources */,
     
    3318833250                                BE8EF04A171C9014009B48C3 /* JSVideoTrack.cpp in Sources */,
    3318933251                                BE8EF04C171C9014009B48C3 /* JSVideoTrackList.cpp in Sources */,
     33252                                46E791481F97E01A00199739 /* JSVisibilityState.cpp in Sources */,
    3319033253                                9703E1BF15DC4E37001F24C8 /* JSVoidCallback.cpp in Sources */,
    3319133254                                2DDE1CE11F574AD600D1A365 /* JSVRDisplay.cpp in Sources */,
     
    3398734050                                2D93AEE419DF5641002A86C3 /* ServicesOverlayController.mm in Sources */,
    3398834051                                51F1755C1F3EBC8300C74950 /* ServiceWorker.cpp in Sources */,
     34052                                46EF142F1F97B7D800C2A524 /* ServiceWorkerClient.cpp in Sources */,
     34053                                46EF142B1F97B7D800C2A524 /* ServiceWorkerClients.cpp in Sources */,
    3398934054                                51F1755E1F3EBC8300C74950 /* ServiceWorkerContainer.cpp in Sources */,
    3399034055                                517C87181F8FD4D900EB8076 /* ServiceWorkerContextData.cpp in Sources */,
     
    3399834063                                51F645A21F4BF53C00B54DED /* ServiceWorkerRegistrationOptions.cpp in Sources */,
    3399934064                                51BCCE2F1F8F1795006BA0ED /* ServiceWorkerThread.cpp in Sources */,
     34065                                46EF142E1F97B7D800C2A524 /* ServiceWorkerWindowClient.cpp in Sources */,
    3400034066                                93309E0F099E64920056E581 /* SetNodeAttributeCommand.cpp in Sources */,
    3400134067                                B8DBDB4B130B0F8A00F5CDB1 /* SetSelectionCommand.cpp in Sources */,
     
    3452834594                                9B0811241F67CDC00074BDE2 /* WebContentReaderIOS.mm in Sources */,
    3452934595                                9B9299AE1F67865B006723C2 /* WebContentReaderMac.mm in Sources */,
    34530                                 7E4C96DC1AD4483500365A53 /* WebCore/JSExtendableEvent.cpp in Sources */,
    34531                                 7E4C96DC1AD4483500365A54 /* WebCore/JSExtendableEventInit.cpp in Sources */,
    34532                                 7E4C96DC1AD4483500365A52 /* WebCore/JSFetchEvent.cpp in Sources */,
    3453334596                                CD7E05221651C28200C1201F /* WebCoreAVFResourceLoader.mm in Sources */,
    3453434597                                2D3EF44B1917915C00034184 /* WebCoreCALayerExtras.mm in Sources */,
  • trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h

    r223562 r223634  
    3838    macro(Cache) \
    3939    macro(CacheStorage) \
     40    macro(Client) \
     41    macro(Clients) \
    4042    macro(Credential) \
    4143    macro(CredentialsContainer) \
     
    163165    macro(WebKitMediaKeys) \
    164166    macro(WebSocket) \
     167    macro(WindowClient) \
    165168    macro(WritableStream) \
    166169    macro(XMLHttpRequest) \
  • trunk/Source/WebCore/dom/Document.cpp

    r223569 r223634  
    16121612}
    16131613
    1614 auto Document::visibilityState() const -> VisibilityState
     1614VisibilityState Document::visibilityState() const
    16151615{
    16161616    // The visibility of the document is inherited from the visibility of the
  • trunk/Source/WebCore/dom/Document.h

    r223608 r223634  
    3838#include "MutationObserver.h"
    3939#include "OrientationNotifier.h"
    40 #include "PageVisibilityState.h"
    4140#include "PlatformEvent.h"
    4241#include "ReferrerPolicy.h"
     
    5150#include "UserActionElementSet.h"
    5251#include "ViewportArguments.h"
     52#include "VisibilityState.h"
    5353#include <pal/SessionID.h>
    5454#include <wtf/Deque.h>
     
    458458    WEBCORE_EXPORT void setDocumentURI(const String&);
    459459
    460     using VisibilityState = PageVisibilityState;
    461460    WEBCORE_EXPORT VisibilityState visibilityState() const;
    462461    void visibilityStateChanged();
  • trunk/Source/WebCore/dom/Document.idl

    r222997 r223634  
    213213};
    214214
    215 // FIXME: Missing "unloaded" value (https://www.w3.org/TR/page-visibility/#sec-document-interface).
    216 enum VisibilityState { "hidden", "visible", "prerender" };
    217 
    218215enum DocumentReadyState { "loading", "interactive", "complete" };
    219216
  • trunk/Source/WebCore/dom/VisibilityState.h

    r223633 r223634  
    11/*
    2  * Copyright (C) 2011 Google Inc. All rights reserved.
     2 * Copyright (C) 2017 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    3131#pragma once
    3232
    33 #include <wtf/text/WTFString.h>
    34 
    3533namespace WebCore {
    3634
    37 enum class PageVisibilityState {
     35enum class VisibilityState {
    3836    Hidden,
    3937    Visible,
  • trunk/Source/WebCore/dom/VisibilityState.idl

    r223633 r223634  
    2424 */
    2525
    26 [
    27     CustomProxyToJSObject,
    28     Global=(Worker,ServiceWorker),
    29     Exposed=ServiceWorker,
    30     Conditional=SERVICE_WORKER,
    31     EnabledAtRuntime=ServiceWorker,
    32 ] interface ServiceWorkerGlobalScope : WorkerGlobalScope {
    33     // Add clients after first round of IDL stubbing.
    34     // [SameObject] readonly attribute Clients clients;
    35     [SameObject] readonly attribute ServiceWorkerRegistration registration;
    36 
    37     [NewObject] Promise<void> skipWaiting();
    38 
    39     attribute EventHandler oninstall;
    40     attribute EventHandler onactivate;
    41     attribute EventHandler onfetch;
    42 
    43     // event
    44     attribute EventHandler onmessage;
    45     attribute EventHandler onmessageerror;
    46 };
     26// FIXME: Missing "unloaded" value (https://www.w3.org/TR/page-visibility/#sec-document-interface).
     27enum VisibilityState { "hidden", "visible", "prerender" };
  • trunk/Source/WebCore/page/Page.cpp

    r222664 r223634  
    16521652}
    16531653
    1654 PageVisibilityState Page::visibilityState() const
     1654VisibilityState Page::visibilityState() const
    16551655{
    16561656    if (isVisible())
    1657         return PageVisibilityState::Visible;
     1657        return VisibilityState::Visible;
    16581658    if (m_isPrerender)
    1659         return PageVisibilityState::Prerender;
    1660     return PageVisibilityState::Hidden;
     1659        return VisibilityState::Prerender;
     1660    return VisibilityState::Hidden;
    16611661}
    16621662
  • trunk/Source/WebCore/page/Page.h

    r223332 r223634  
    2828#include "LengthBox.h"
    2929#include "MediaProducer.h"
    30 #include "PageVisibilityState.h"
    3130#include "Pagination.h"
    3231#include "RTCController.h"
     
    3736#include "UserInterfaceLayoutDirection.h"
    3837#include "ViewportArguments.h"
     38#include "VisibilityState.h"
    3939#include "WheelEventTestTrigger.h"
    4040#include <memory>
     
    424424    bool isEditable() { return m_isEditable; }
    425425
    426     WEBCORE_EXPORT PageVisibilityState visibilityState() const;
     426    WEBCORE_EXPORT VisibilityState visibilityState() const;
    427427    WEBCORE_EXPORT void resumeAnimatingImages();
    428428
  • trunk/Source/WebCore/workers/service/ServiceWorkerClient.cpp

    r223633 r223634  
    2424 */
    2525
    26 [
    27     CustomProxyToJSObject,
    28     Global=(Worker,ServiceWorker),
    29     Exposed=ServiceWorker,
    30     Conditional=SERVICE_WORKER,
    31     EnabledAtRuntime=ServiceWorker,
    32 ] interface ServiceWorkerGlobalScope : WorkerGlobalScope {
    33     // Add clients after first round of IDL stubbing.
    34     // [SameObject] readonly attribute Clients clients;
    35     [SameObject] readonly attribute ServiceWorkerRegistration registration;
     26#include "config.h"
    3627
    37     [NewObject] Promise<void> skipWaiting();
     28#if ENABLE(SERVICE_WORKER)
     29#include "ServiceWorkerClient.h"
    3830
    39     attribute EventHandler oninstall;
    40     attribute EventHandler onactivate;
    41     attribute EventHandler onfetch;
     31namespace WebCore {
    4232
    43     // event
    44     attribute EventHandler onmessage;
    45     attribute EventHandler onmessageerror;
    46 };
     33ServiceWorkerClient::ServiceWorkerClient(ScriptExecutionContext& context)
     34    : ActiveDOMObject(&context)
     35{
     36    suspendIfNeeded();
     37}
     38
     39const char* ServiceWorkerClient::activeDOMObjectName() const
     40{
     41    return "ServiceWorkerClient";
     42}
     43
     44bool ServiceWorkerClient::canSuspendForDocumentSuspension() const
     45{
     46    return !hasPendingActivity();
     47}
     48
     49String ServiceWorkerClient::url() const
     50{
     51    return { };
     52}
     53
     54auto ServiceWorkerClient::frameType() const -> FrameType
     55{
     56    return FrameType::None;
     57}
     58
     59String ServiceWorkerClient::id() const
     60{
     61    return { };
     62}
     63
     64ExceptionOr<void> ServiceWorkerClient::postMessage(JSC::ExecState&, JSC::JSValue message, Vector<JSC::Strong<JSC::JSObject>>&& transfer)
     65{
     66    UNUSED_PARAM(message);
     67    UNUSED_PARAM(transfer);
     68    return Exception { NotSupportedError, ASCIILiteral("client.postMessage() is not yet supported") };
     69}
     70
     71} // namespace WebCore
     72
     73#endif // ENABLE(SERVICE_WORKER)
  • trunk/Source/WebCore/workers/service/ServiceWorkerClient.h

    r223633 r223634  
    2424 */
    2525
    26 [
    27     CustomProxyToJSObject,
    28     Global=(Worker,ServiceWorker),
    29     Exposed=ServiceWorker,
    30     Conditional=SERVICE_WORKER,
    31     EnabledAtRuntime=ServiceWorker,
    32 ] interface ServiceWorkerGlobalScope : WorkerGlobalScope {
    33     // Add clients after first round of IDL stubbing.
    34     // [SameObject] readonly attribute Clients clients;
    35     [SameObject] readonly attribute ServiceWorkerRegistration registration;
     26#pragma once
    3627
    37     [NewObject] Promise<void> skipWaiting();
     28#if ENABLE(SERVICE_WORKER)
    3829
    39     attribute EventHandler oninstall;
    40     attribute EventHandler onactivate;
    41     attribute EventHandler onfetch;
     30#include "ActiveDOMObject.h"
     31#include "ExceptionOr.h"
     32#include <heap/Strong.h>
     33#include <wtf/RefCounted.h>
    4234
    43     // event
    44     attribute EventHandler onmessage;
    45     attribute EventHandler onmessageerror;
     35namespace JSC {
     36class ExecState;
     37class JSValue;
     38}
     39
     40namespace WebCore {
     41
     42class ServiceWorkerClient : public RefCounted<ServiceWorkerClient>, public ActiveDOMObject {
     43public:
     44    enum class FrameType {
     45        Auxiliary,
     46        TopLevel,
     47        Nested,
     48        None
     49    };
     50
     51    String url() const;
     52    FrameType frameType() const;
     53    String id() const;
     54
     55    ExceptionOr<void> postMessage(JSC::ExecState&, JSC::JSValue message, Vector<JSC::Strong<JSC::JSObject>>&& transfer);
     56
     57protected:
     58    explicit ServiceWorkerClient(ScriptExecutionContext&);
     59
     60    // ActiveDOMObject.
     61    const char* activeDOMObjectName() const final;
     62    bool canSuspendForDocumentSuspension() const final;
    4663};
     64
     65} // namespace WebCore
     66
     67#endif // ENABLE(SERVICE_WORKER)
  • trunk/Source/WebCore/workers/service/ServiceWorkerClient.idl

    r223633 r223634  
    2525
    2626[
    27     CustomProxyToJSObject,
    28     Global=(Worker,ServiceWorker),
    29     Exposed=ServiceWorker,
    3027    Conditional=SERVICE_WORKER,
    3128    EnabledAtRuntime=ServiceWorker,
    32 ] interface ServiceWorkerGlobalScope : WorkerGlobalScope {
    33     // Add clients after first round of IDL stubbing.
    34     // [SameObject] readonly attribute Clients clients;
    35     [SameObject] readonly attribute ServiceWorkerRegistration registration;
     29    Exposed=ServiceWorker,
     30    InterfaceName=Client,
     31] interface ServiceWorkerClient {
     32    readonly attribute USVString url;
     33    readonly attribute FrameType frameType;
     34    readonly attribute DOMString id;
    3635
    37     [NewObject] Promise<void> skipWaiting();
     36    [CallWith=ScriptState, MayThrowException] void postMessage(any message, optional sequence<object> transfer = []);
     37};
    3838
    39     attribute EventHandler oninstall;
    40     attribute EventHandler onactivate;
    41     attribute EventHandler onfetch;
    42 
    43     // event
    44     attribute EventHandler onmessage;
    45     attribute EventHandler onmessageerror;
     39enum FrameType {
     40  "auxiliary",
     41  "top-level",
     42  "nested",
     43  "none"
    4644};
  • trunk/Source/WebCore/workers/service/ServiceWorkerClients.cpp

    r223633 r223634  
    2525
    2626#include "config.h"
    27 #include "ServiceWorkerGlobalScope.h"
    2827
    2928#if ENABLE(SERVICE_WORKER)
     29#include "ServiceWorkerClients.h"
    3030
    31 #include "ServiceWorkerThread.h"
     31#include "JSDOMPromiseDeferred.h"
    3232
    3333namespace WebCore {
    3434
    35 ServiceWorkerGlobalScope::ServiceWorkerGlobalScope(uint64_t serverConnectionIdentifier, const ServiceWorkerContextData& data, const URL& url, const String& identifier, const String& userAgent, ServiceWorkerThread& thread, bool shouldBypassMainWorldContentSecurityPolicy, Ref<SecurityOrigin>&& topOrigin, MonotonicTime timeOrigin, IDBClient::IDBConnectionProxy* connectionProxy, SocketProvider* socketProvider, PAL::SessionID sessionID)
    36     : WorkerGlobalScope(url, identifier, userAgent, thread, shouldBypassMainWorldContentSecurityPolicy, WTFMove(topOrigin), timeOrigin, connectionProxy, socketProvider, sessionID)
    37     , m_serverConnectionIdentifier(serverConnectionIdentifier)
    38     , m_contextData(crossThreadCopy(data))
     35ServiceWorkerClients::ServiceWorkerClients(ScriptExecutionContext& context)
     36    : ActiveDOMObject(&context)
    3937{
     38    suspendIfNeeded();
    4039}
    4140
    42 ServiceWorkerGlobalScope::~ServiceWorkerGlobalScope()
     41const char* ServiceWorkerClients::activeDOMObjectName() const
    4342{
     43    return "ServiceWorkerClients";
    4444}
    4545
    46 ServiceWorkerRegistration& ServiceWorkerGlobalScope::registration()
     46bool ServiceWorkerClients::canSuspendForDocumentSuspension() const
    4747{
    48     // FIXME: Is this method still needed?
    49     RELEASE_ASSERT_NOT_REACHED();
     48    return !hasPendingActivity();
    5049}
    5150
    52 void ServiceWorkerGlobalScope::skipWaiting(Ref<DeferredPromise>&&)
     51void ServiceWorkerClients::get(const String& id, Ref<DeferredPromise>&& promise)
    5352{
     53    UNUSED_PARAM(id);
     54    promise->reject(Exception { NotSupportedError, ASCIILiteral("clients.get() is not yet supported") });
    5455}
    5556
    56 EventTargetInterface ServiceWorkerGlobalScope::eventTargetInterface() const
     57void ServiceWorkerClients::matchAll(const ClientQueryOptions&, Ref<DeferredPromise>&& promise)
    5758{
    58     return ServiceWorkerGlobalScopeEventTargetInterfaceType;
     59    promise->reject(Exception { NotSupportedError, ASCIILiteral("clients.matchAll() is not yet supported") });
     60}
     61
     62void ServiceWorkerClients::openWindow(const String& url, Ref<DeferredPromise>&& promise)
     63{
     64    UNUSED_PARAM(url);
     65    promise->reject(Exception { NotSupportedError, ASCIILiteral("clients.openWindow() is not yet supported") });
     66}
     67
     68void ServiceWorkerClients::claim(Ref<DeferredPromise>&& promise)
     69{
     70    promise->reject(Exception { NotSupportedError, ASCIILiteral("clients.claim() is not yet supported") });
    5971}
    6072
  • trunk/Source/WebCore/workers/service/ServiceWorkerClients.h

    r223633 r223634  
    2828#if ENABLE(SERVICE_WORKER)
    2929
    30 #include "ServiceWorkerContextData.h"
    31 #include "ServiceWorkerRegistration.h"
    32 #include "WorkerGlobalScope.h"
     30#include "ActiveDOMObject.h"
     31#include <wtf/Ref.h>
     32#include <wtf/RefCounted.h>
    3333
    3434namespace WebCore {
    3535
    3636class DeferredPromise;
    37 class ServiceWorkerThread;
    3837
    39 class ServiceWorkerGlobalScope : public WorkerGlobalScope {
     38class ServiceWorkerClients : public RefCounted<ServiceWorkerClients>, public ActiveDOMObject {
    4039public:
    41     template<typename... Args> static Ref<ServiceWorkerGlobalScope> create(Args&&... args)
     40    static Ref<ServiceWorkerClients> create(ScriptExecutionContext& context)
    4241    {
    43         return adoptRef(*new ServiceWorkerGlobalScope(std::forward<Args>(args)...));
     42        return adoptRef(*new ServiceWorkerClients(context));
    4443    }
    4544
    46     virtual ~ServiceWorkerGlobalScope();
     45    enum class ClientType {
     46        Window,
     47        Worker,
     48        Sharedworker,
     49        All
     50    };
    4751
    48     bool isServiceWorkerGlobalScope() const final { return true; }
     52    struct ClientQueryOptions {
     53        bool includeUncontrolled { false };
     54        ClientType type { ClientType::Window };
     55    };
    4956
    50     ServiceWorkerRegistration& registration();
    51    
    52     uint64_t serverConnectionIdentifier() const { return m_serverConnectionIdentifier; }
    53 
    54     void skipWaiting(Ref<DeferredPromise>&&);
    55 
    56     EventTargetInterface eventTargetInterface() const final;
     57    void get(const String& id, Ref<DeferredPromise>&&);
     58    void matchAll(const ClientQueryOptions&, Ref<DeferredPromise>&&);
     59    void openWindow(const String& url, Ref<DeferredPromise>&&);
     60    void claim(Ref<DeferredPromise>&&);
    5761
    5862private:
    59     ServiceWorkerGlobalScope(uint64_t serverConnectionIdentifier, const ServiceWorkerContextData&, const URL&, const String& identifier, const String& userAgent, ServiceWorkerThread&, bool shouldBypassMainWorldContentSecurityPolicy, Ref<SecurityOrigin>&& topOrigin, MonotonicTime timeOrigin, IDBClient::IDBConnectionProxy*, SocketProvider*, PAL::SessionID);
     63    explicit ServiceWorkerClients(ScriptExecutionContext&);
    6064
    61     uint64_t m_serverConnectionIdentifier;
    62     ServiceWorkerContextData m_contextData;
     65    // ActiveDOMObject.
     66    const char* activeDOMObjectName() const final;
     67    bool canSuspendForDocumentSuspension() const final;
    6368};
    6469
  • trunk/Source/WebCore/workers/service/ServiceWorkerClients.idl

    r223633 r223634  
    2525
    2626[
    27     CustomProxyToJSObject,
    28     Global=(Worker,ServiceWorker),
    29     Exposed=ServiceWorker,
    3027    Conditional=SERVICE_WORKER,
    3128    EnabledAtRuntime=ServiceWorker,
    32 ] interface ServiceWorkerGlobalScope : WorkerGlobalScope {
    33     // Add clients after first round of IDL stubbing.
    34     // [SameObject] readonly attribute Clients clients;
    35     [SameObject] readonly attribute ServiceWorkerRegistration registration;
     29    Exposed=ServiceWorker,
     30    InterfaceName=Clients,
     31] interface ServiceWorkerClients {
     32    // The objects returned will be new instances every time
     33    [NewObject] Promise<any> get(DOMString id);
     34    [NewObject] Promise<sequence<Client>> matchAll(optional ClientQueryOptions options);
     35    [NewObject] Promise<WindowClient?> openWindow(USVString url);
     36    [NewObject] Promise<void> claim();
     37};
    3638
    37     [NewObject] Promise<void> skipWaiting();
     39dictionary ClientQueryOptions {
     40    boolean includeUncontrolled = false;
     41    ClientType type = "window";
     42};
    3843
    39     attribute EventHandler oninstall;
    40     attribute EventHandler onactivate;
    41     attribute EventHandler onfetch;
    42 
    43     // event
    44     attribute EventHandler onmessage;
    45     attribute EventHandler onmessageerror;
     44enum ClientType {
     45    "window",
     46    "worker",
     47    "sharedworker",
     48    "all"
    4649};
  • trunk/Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp

    r223277 r223634  
    2929#if ENABLE(SERVICE_WORKER)
    3030
     31#include "ServiceWorkerClients.h"
    3132#include "ServiceWorkerThread.h"
    3233
     
    3738    , m_serverConnectionIdentifier(serverConnectionIdentifier)
    3839    , m_contextData(crossThreadCopy(data))
     40    , m_clients(ServiceWorkerClients::create(*this))
    3941{
    4042}
  • trunk/Source/WebCore/workers/service/ServiceWorkerGlobalScope.h

    r223277 r223634  
    3535
    3636class DeferredPromise;
     37class ServiceWorkerClients;
    3738class ServiceWorkerThread;
    3839
     
    4849    bool isServiceWorkerGlobalScope() const final { return true; }
    4950
     51    ServiceWorkerClients& clients() { return m_clients.get(); }
    5052    ServiceWorkerRegistration& registration();
    5153   
     
    6163    uint64_t m_serverConnectionIdentifier;
    6264    ServiceWorkerContextData m_contextData;
     65    Ref<ServiceWorkerClients> m_clients;
    6366};
    6467
  • trunk/Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl

    r220623 r223634  
    3131    EnabledAtRuntime=ServiceWorker,
    3232] interface ServiceWorkerGlobalScope : WorkerGlobalScope {
    33     // Add clients after first round of IDL stubbing.
    34     // [SameObject] readonly attribute Clients clients;
     33    [SameObject] readonly attribute ServiceWorkerClients clients;
    3534    [SameObject] readonly attribute ServiceWorkerRegistration registration;
    3635
  • trunk/Source/WebCore/workers/service/ServiceWorkerWindowClient.cpp

    r223633 r223634  
    2424 */
    2525
    26 [
    27     CustomProxyToJSObject,
    28     Global=(Worker,ServiceWorker),
    29     Exposed=ServiceWorker,
    30     Conditional=SERVICE_WORKER,
    31     EnabledAtRuntime=ServiceWorker,
    32 ] interface ServiceWorkerGlobalScope : WorkerGlobalScope {
    33     // Add clients after first round of IDL stubbing.
    34     // [SameObject] readonly attribute Clients clients;
    35     [SameObject] readonly attribute ServiceWorkerRegistration registration;
     26#include "config.h"
    3627
    37     [NewObject] Promise<void> skipWaiting();
     28#if ENABLE(SERVICE_WORKER)
     29#include "ServiceWorkerWindowClient.h"
    3830
    39     attribute EventHandler oninstall;
    40     attribute EventHandler onactivate;
    41     attribute EventHandler onfetch;
     31#include "JSDOMPromiseDeferred.h"
    4232
    43     // event
    44     attribute EventHandler onmessage;
    45     attribute EventHandler onmessageerror;
    46 };
     33namespace WebCore {
     34
     35ServiceWorkerWindowClient::ServiceWorkerWindowClient(ScriptExecutionContext& context)
     36    : ServiceWorkerClient(context)
     37{
     38}
     39
     40VisibilityState ServiceWorkerWindowClient::visibilityState() const
     41{
     42    return VisibilityState::Visible;
     43}
     44
     45bool ServiceWorkerWindowClient::isFocused() const
     46{
     47    return true;
     48}
     49
     50void ServiceWorkerWindowClient::focus(Ref<DeferredPromise>&& promise)
     51{
     52    promise->reject(Exception { NotSupportedError, ASCIILiteral("windowClient.focus() is not yet supported") });
     53}
     54
     55void ServiceWorkerWindowClient::navigate(const String& url, Ref<DeferredPromise>&& promise)
     56{
     57    UNUSED_PARAM(url);
     58    promise->reject(Exception { NotSupportedError, ASCIILiteral("windowClient.navigate() is not yet supported") });
     59}
     60
     61} // namespace WebCore
     62
     63#endif // ENABLE(SERVICE_WORKER)
  • trunk/Source/WebCore/workers/service/ServiceWorkerWindowClient.h

    r223633 r223634  
    2424 */
    2525
    26 [
    27     CustomProxyToJSObject,
    28     Global=(Worker,ServiceWorker),
    29     Exposed=ServiceWorker,
    30     Conditional=SERVICE_WORKER,
    31     EnabledAtRuntime=ServiceWorker,
    32 ] interface ServiceWorkerGlobalScope : WorkerGlobalScope {
    33     // Add clients after first round of IDL stubbing.
    34     // [SameObject] readonly attribute Clients clients;
    35     [SameObject] readonly attribute ServiceWorkerRegistration registration;
     26#pragma once
    3627
    37     [NewObject] Promise<void> skipWaiting();
     28#if ENABLE(SERVICE_WORKER)
    3829
    39     attribute EventHandler oninstall;
    40     attribute EventHandler onactivate;
    41     attribute EventHandler onfetch;
     30#include "ServiceWorkerClient.h"
     31#include "VisibilityState.h"
    4232
    43     // event
    44     attribute EventHandler onmessage;
    45     attribute EventHandler onmessageerror;
     33namespace WebCore {
     34
     35class DeferredPromise;
     36
     37class ServiceWorkerWindowClient final : public ServiceWorkerClient {
     38public:
     39    static Ref<ServiceWorkerWindowClient> create(ScriptExecutionContext& context)
     40    {
     41        return adoptRef(*new ServiceWorkerWindowClient(context));
     42    }
     43
     44    VisibilityState visibilityState() const;
     45    bool isFocused() const;
     46
     47    void focus(Ref<DeferredPromise>&&);
     48    void navigate(const String& url, Ref<DeferredPromise>&&);
     49
     50private:
     51    explicit ServiceWorkerWindowClient(ScriptExecutionContext&);
    4652};
     53
     54} // namespace WebCore
     55
     56#endif // ENABLE(SERVICE_WORKER)
  • trunk/Source/WebCore/workers/service/ServiceWorkerWindowClient.idl

    r223633 r223634  
    2525
    2626[
    27     CustomProxyToJSObject,
    28     Global=(Worker,ServiceWorker),
    29     Exposed=ServiceWorker,
    3027    Conditional=SERVICE_WORKER,
    3128    EnabledAtRuntime=ServiceWorker,
    32 ] interface ServiceWorkerGlobalScope : WorkerGlobalScope {
    33     // Add clients after first round of IDL stubbing.
    34     // [SameObject] readonly attribute Clients clients;
    35     [SameObject] readonly attribute ServiceWorkerRegistration registration;
     29    Exposed=ServiceWorker,
     30    InterfaceName=WindowClient,
     31] interface ServiceWorkerWindowClient : ServiceWorkerClient {
     32    readonly attribute VisibilityState visibilityState;
     33    [ImplementedAs=isFocused] readonly attribute boolean focused;
    3634
    37     [NewObject] Promise<void> skipWaiting();
    38 
    39     attribute EventHandler oninstall;
    40     attribute EventHandler onactivate;
    41     attribute EventHandler onfetch;
    42 
    43     // event
    44     attribute EventHandler onmessage;
    45     attribute EventHandler onmessageerror;
     35    [NewObject] Promise<WindowClient> focus();
     36    [NewObject] Promise<WindowClient> navigate(USVString url);
    4637};
  • trunk/Source/WebKit/ChangeLog

    r223616 r223634  
     12017-10-18  Chris Dumez  <cdumez@apple.com>
     2
     3        [Service Worker] Add stubs for Client / WindowClient / Clients
     4        https://bugs.webkit.org/show_bug.cgi?id=178469
     5
     6        Reviewed by Youenn Fablet.
     7
     8        Rename PageVisibilityState to VisibilityState.
     9
     10        * Shared/API/c/WKSharedAPICast.h:
     11        (WebKit::toVisibilityState):
     12        * WebProcess/WebPage/WebPage.h:
     13
    1142017-10-18  John Wilander  <wilander@apple.com>
    215
  • trunk/Source/WebKit/Shared/API/c/WKSharedAPICast.h

    r221068 r223634  
    5656#include <WebCore/IntRect.h>
    5757#include <WebCore/LayoutMilestones.h>
    58 #include <WebCore/PageVisibilityState.h>
    5958#include <WebCore/SecurityOrigin.h>
    6059#include <WebCore/UserContentTypes.h>
    6160#include <WebCore/UserScriptTypes.h>
     61#include <WebCore/VisibilityState.h>
    6262
    6363namespace API {
     
    900900}
    901901
    902 inline WebCore::PageVisibilityState toPageVisibilityState(WKPageVisibilityState wkPageVisibilityState)
     902inline WebCore::VisibilityState toVisibilityState(WKPageVisibilityState wkPageVisibilityState)
    903903{
    904904    switch (wkPageVisibilityState) {
    905905    case kWKPageVisibilityStateVisible:
    906         return WebCore::PageVisibilityState::Visible;
     906        return WebCore::VisibilityState::Visible;
    907907    case kWKPageVisibilityStateHidden:
    908         return WebCore::PageVisibilityState::Hidden;
     908        return WebCore::VisibilityState::Hidden;
    909909    case kWKPageVisibilityStatePrerender:
    910         return WebCore::PageVisibilityState::Prerender;
     910        return WebCore::VisibilityState::Prerender;
    911911    }
    912912
    913913    ASSERT_NOT_REACHED();
    914     return WebCore::PageVisibilityState::Visible;
     914    return WebCore::VisibilityState::Visible;
    915915}
    916916
  • trunk/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.cpp

    r220210 r223634  
    19261926    WebCore::Document* item = WebKit::core(self);
    19271927    switch (item->visibilityState()) {
    1928     case WebCore::Document::VisibilityState::Hidden:
     1928    case WebCore::VisibilityState::Hidden:
    19291929        return convertToUTF8String("hidden");
    1930     case WebCore::Document::VisibilityState::Visible:
     1930    case WebCore::VisibilityState::Visible:
    19311931        return convertToUTF8String("visible");
    1932     case WebCore::Document::VisibilityState::Prerender:
     1932    case WebCore::VisibilityState::Prerender:
    19331933        return convertToUTF8String("prerender");
    19341934    }
  • trunk/Source/WebKit/WebProcess/WebPage/WebPage.h

    r222941 r223634  
    5454#include <WebCore/Page.h>
    5555#include <WebCore/PageOverlay.h>
    56 #include <WebCore/PageVisibilityState.h>
    5756#include <WebCore/UserActivity.h>
    5857#include <WebCore/UserContentTypes.h>
    5958#include <WebCore/UserInterfaceLayoutDirection.h>
    6059#include <WebCore/UserScriptTypes.h>
     60#include <WebCore/VisibilityState.h>
    6161#include <WebCore/WebCoreKeyboardUIMode.h>
    6262#include <memory>
  • trunk/Source/WebKitLegacy/mac/ChangeLog

    r223625 r223634  
     12017-10-18  Chris Dumez  <cdumez@apple.com>
     2
     3        [Service Worker] Add stubs for Client / WindowClient / Clients
     4        https://bugs.webkit.org/show_bug.cgi?id=178469
     5
     6        Reviewed by Youenn Fablet.
     7
     8        Rename PageVisiblityState to VisibilityState.
     9
     10        * WebView/WebView.mm:
     11        (kit):
     12
    1132017-10-18  Wenson Hsieh  <wenson_hsieh@apple.com>
    214
  • trunk/Source/WebKitLegacy/mac/DOM/DOMDocument.mm

    r220210 r223634  
    393393    WebCore::JSMainThreadNullState state;
    394394    switch (IMPL->visibilityState()) {
    395     case WebCore::Document::VisibilityState::Hidden:
     395    case WebCore::VisibilityState::Hidden:
    396396        return @"hidden";
    397     case WebCore::Document::VisibilityState::Visible:
     397    case WebCore::VisibilityState::Visible:
    398398        return @"visible";
    399     case WebCore::Document::VisibilityState::Prerender:
     399    case WebCore::VisibilityState::Prerender:
    400400        return @"prerender";
    401401    }
  • trunk/Source/WebKitLegacy/mac/WebView/WebView.mm

    r223625 r223634  
    587587}
    588588
    589 static WebPageVisibilityState kit(PageVisibilityState visibilityState)
     589static WebPageVisibilityState kit(VisibilityState visibilityState)
    590590{
    591591    switch (visibilityState) {
    592     case PageVisibilityState::Visible:
     592    case VisibilityState::Visible:
    593593        return WebPageVisibilityStateVisible;
    594     case PageVisibilityState::Hidden:
     594    case VisibilityState::Hidden:
    595595        return WebPageVisibilityStateHidden;
    596     case PageVisibilityState::Prerender:
     596    case VisibilityState::Prerender:
    597597        return WebPageVisibilityStatePrerender;
    598598    }
Note: See TracChangeset for help on using the changeset viewer.