Title: [251823] trunk/Source/WebKit
- Revision
- 251823
- Author
- [email protected]
- Date
- 2019-10-30 16:59:42 -0700 (Wed, 30 Oct 2019)
Log Message
REGRESSION(r251568) If we didn't start a Service Worker, don't try talking to it
https://bugs.webkit.org/show_bug.cgi?id=203639
<rdar://problem/56762071>
Reviewed by Chris Dumez.
Similar to the fix that introduced this regression, if the UI process does
not have the entitlement to start a service worker, we should not try
to load with one.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad): If the
parent process doesn't have a service worker, use the regular load path.
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (251822 => 251823)
--- trunk/Source/WebKit/ChangeLog 2019-10-30 23:40:19 UTC (rev 251822)
+++ trunk/Source/WebKit/ChangeLog 2019-10-30 23:59:42 UTC (rev 251823)
@@ -1,3 +1,19 @@
+2019-10-30 Dean Jackson <[email protected]>
+
+ REGRESSION(r251568) If we didn't start a Service Worker, don't try talking to it
+ https://bugs.webkit.org/show_bug.cgi?id=203639
+ <rdar://problem/56762071>
+
+ Reviewed by Chris Dumez.
+
+ Similar to the fix that introduced this regression, if the UI process does
+ not have the entitlement to start a service worker, we should not try
+ to load with one.
+
+ * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+ (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad): If the
+ parent process doesn't have a service worker, use the regular load path.
+
2019-10-30 Simon Fraser <[email protected]>
Turn Resize Observer on by default
Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp (251822 => 251823)
--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp 2019-10-30 23:40:19 UTC (rev 251822)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp 2019-10-30 23:59:42 UTC (rev 251823)
@@ -409,15 +409,18 @@
void NetworkConnectionToWebProcess::scheduleResourceLoad(NetworkResourceLoadParameters&& loadParameters)
{
#if ENABLE(SERVICE_WORKER)
- auto& server = m_networkProcess->swServerForSession(m_sessionID);
- if (!server.isImportCompleted()) {
- server.whenImportIsCompleted([this, protectedThis = makeRef(*this), loadParameters = WTFMove(loadParameters)]() mutable {
- if (!m_networkProcess->webProcessConnection(webProcessIdentifier()))
- return;
- ASSERT(m_networkProcess->swServerForSession(m_sessionID).isImportCompleted());
- scheduleResourceLoad(WTFMove(loadParameters));
- });
- return;
+ bool serviceWorkerAllowed = m_networkProcess->parentProcessHasServiceWorkerEntitlement();
+ if (serviceWorkerAllowed) {
+ auto& server = m_networkProcess->swServerForSession(m_sessionID);
+ if (!server.isImportCompleted()) {
+ server.whenImportIsCompleted([this, protectedThis = makeRef(*this), loadParameters = WTFMove(loadParameters)]() mutable {
+ if (!m_networkProcess->webProcessConnection(webProcessIdentifier()))
+ return;
+ ASSERT(m_networkProcess->swServerForSession(m_sessionID).isImportCompleted());
+ scheduleResourceLoad(WTFMove(loadParameters));
+ });
+ return;
+ }
}
#endif
auto identifier = loadParameters.identifier;
@@ -428,10 +431,12 @@
auto& loader = m_networkResourceLoaders.add(identifier, NetworkResourceLoader::create(WTFMove(loadParameters), *this)).iterator->value;
#if ENABLE(SERVICE_WORKER)
- loader->startWithServiceWorker();
-#else
+ if (serviceWorkerAllowed) {
+ loader->startWithServiceWorker();
+ return;
+ } else
+#endif
loader->start();
-#endif
}
void NetworkConnectionToWebProcess::performSynchronousLoad(NetworkResourceLoadParameters&& loadParameters, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&& reply)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes