Title: [263525] trunk/Source/WebKit
Revision
263525
Author
[email protected]
Date
2020-06-25 13:04:52 -0700 (Thu, 25 Jun 2020)

Log Message

Allow service workers for web browsers
https://bugs.webkit.org/show_bug.cgi?id=213573
<rdar://problem/64712630>

Reviewed by Brent Fulgham.

Allows applications with the full web-browser entitlement to use
service workers.

* NetworkProcess/ios/NetworkProcessIOS.mm:
(WebKit::NetworkProcess::parentProcessHasServiceWorkerEntitlement const):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setupPageConfiguration:]):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::parentProcessHasServiceWorkerEntitlement const):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (263524 => 263525)


--- trunk/Source/WebKit/ChangeLog	2020-06-25 19:38:13 UTC (rev 263524)
+++ trunk/Source/WebKit/ChangeLog	2020-06-25 20:04:52 UTC (rev 263525)
@@ -1,3 +1,21 @@
+2020-06-25  Kate Cheney  <[email protected]>
+
+        Allow service workers for web browsers
+        https://bugs.webkit.org/show_bug.cgi?id=213573
+        <rdar://problem/64712630>
+
+        Reviewed by Brent Fulgham.
+
+        Allows applications with the full web-browser entitlement to use
+        service workers.
+
+        * NetworkProcess/ios/NetworkProcessIOS.mm:
+        (WebKit::NetworkProcess::parentProcessHasServiceWorkerEntitlement const):
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _setupPageConfiguration:]):
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::parentProcessHasServiceWorkerEntitlement const):
+
 2020-06-25  Youenn Fablet  <[email protected]>
 
         MediaRecorder stopRecorder() returns empty Blob after first use

Modified: trunk/Source/WebKit/NetworkProcess/ios/NetworkProcessIOS.mm (263524 => 263525)


--- trunk/Source/WebKit/NetworkProcess/ios/NetworkProcessIOS.mm	2020-06-25 19:38:13 UTC (rev 263524)
+++ trunk/Source/WebKit/NetworkProcess/ios/NetworkProcessIOS.mm	2020-06-25 20:04:52 UTC (rev 263525)
@@ -81,7 +81,7 @@
     if (disableServiceWorkerEntitlementTestingOverride)
         return false;
 
-    static bool hasEntitlement = WTF::hasEntitlement(parentProcessConnection()->xpcConnection(), "com.apple.developer.WebKit.ServiceWorkers");
+    static bool hasEntitlement = WTF::hasEntitlement(parentProcessConnection()->xpcConnection(), "com.apple.developer.WebKit.ServiceWorkers") || WTF::hasEntitlement(parentProcessConnection()->xpcConnection(), "com.apple.developer.web-browser");
     return hasEntitlement;
 }
 

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (263524 => 263525)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2020-06-25 19:38:13 UTC (rev 263524)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2020-06-25 20:04:52 UTC (rev 263525)
@@ -521,7 +521,8 @@
 #endif
 
 #if PLATFORM(IOS_FAMILY) && ENABLE(SERVICE_WORKER)
-    if ((!WTF::processHasEntitlement("com.apple.developer.WebKit.ServiceWorkers") || !![_configuration preferences]._serviceWorkerEntitlementDisabledForTesting) && ![_configuration limitsNavigationsToAppBoundDomains])
+    bool hasServiceWorkerEntitlement = (WTF::processHasEntitlement("com.apple.developer.WebKit.ServiceWorkers") || WTF::processHasEntitlement("com.apple.developer.web-browser")) && ![_configuration preferences]._serviceWorkerEntitlementDisabledForTesting;
+    if (!hasServiceWorkerEntitlement && ![_configuration limitsNavigationsToAppBoundDomains])
         pageConfiguration->preferences()->setServiceWorkersEnabled(false);
     pageConfiguration->preferences()->setServiceWorkerEntitlementDisabledForTesting(!![_configuration preferences]._serviceWorkerEntitlementDisabledForTesting);
 #endif

Modified: trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm (263524 => 263525)


--- trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm	2020-06-25 19:38:13 UTC (rev 263524)
+++ trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm	2020-06-25 20:04:52 UTC (rev 263525)
@@ -510,7 +510,7 @@
     if (disableServiceWorkerEntitlementTestingOverride)
         return false;
     
-    static bool hasEntitlement = WTF::hasEntitlement(WebProcess::singleton().parentProcessConnection()->xpcConnection(), "com.apple.developer.WebKit.ServiceWorkers");
+    static bool hasEntitlement = WTF::hasEntitlement(WebProcess::singleton().parentProcessConnection()->xpcConnection(), "com.apple.developer.WebKit.ServiceWorkers") || WTF::hasEntitlement(WebProcess::singleton().parentProcessConnection()->xpcConnection(), "com.apple.developer.web-browser");
     return hasEntitlement;
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to