Title: [289061] trunk/Source
Revision
289061
Author
cdu...@apple.com
Date
2022-02-03 11:01:24 -0800 (Thu, 03 Feb 2022)

Log Message

Move and rename ServiceWorkerThreadProxy::setupPageForServiceWorker()
https://bugs.webkit.org/show_bug.cgi?id=236085

Reviewed by Darin Adler.

Move and rename ServiceWorkerThreadProxy::setupPageForServiceWorker() so that it can be reused for shared workers.

Source/WebCore:

* page/Page.cpp:
(WebCore::Page::setupForRemoteWorker):
* page/Page.h:
* workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::setupPageForServiceWorker): Deleted.
* workers/service/context/ServiceWorkerThreadProxy.h:

Source/WebKit:

* WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::installServiceWorker):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (289060 => 289061)


--- trunk/Source/WebCore/ChangeLog	2022-02-03 18:46:52 UTC (rev 289060)
+++ trunk/Source/WebCore/ChangeLog	2022-02-03 19:01:24 UTC (rev 289061)
@@ -1,3 +1,19 @@
+2022-02-03  Chris Dumez  <cdu...@apple.com>
+
+        Move and rename ServiceWorkerThreadProxy::setupPageForServiceWorker()
+        https://bugs.webkit.org/show_bug.cgi?id=236085
+
+        Reviewed by Darin Adler.
+
+        Move and rename ServiceWorkerThreadProxy::setupPageForServiceWorker() so that it can be reused for shared workers.
+
+        * page/Page.cpp:
+        (WebCore::Page::setupForRemoteWorker):
+        * page/Page.h:
+        * workers/service/context/ServiceWorkerThreadProxy.cpp:
+        (WebCore::ServiceWorkerThreadProxy::setupPageForServiceWorker): Deleted.
+        * workers/service/context/ServiceWorkerThreadProxy.h:
+
 2022-02-03  Frédéric Wang  <fw...@igalia.com>
 
         null ptr deref in RenderTreeBuilder::Block::attachIgnoringContinuation

Modified: trunk/Source/WebCore/page/Page.cpp (289060 => 289061)


--- trunk/Source/WebCore/page/Page.cpp	2022-02-03 18:46:52 UTC (rev 289060)
+++ trunk/Source/WebCore/page/Page.cpp	2022-02-03 19:01:24 UTC (rev 289061)
@@ -3892,4 +3892,26 @@
     return m_modelPlayerProvider.get();
 }
 
+void Page::setupForRemoteWorker(const URL& scriptURL, const SecurityOriginData& topOrigin, const String& referrerPolicy)
+{
+    mainFrame().loader().initForSynthesizedDocument({ });
+    auto document = Document::createNonRenderedPlaceholder(mainFrame(), scriptURL);
+    document->createDOMWindow();
+
+    document->storageBlockingStateDidChange();
+
+    auto origin = topOrigin.securityOrigin();
+    origin->setStorageBlockingPolicy(settings().storageBlockingPolicy());
+
+    auto originAsURL = origin->toURL();
+    document->setSiteForCookies(originAsURL);
+    document->setFirstPartyForCookies(originAsURL);
+    document->setDomainForCachePartition(origin->domainForCachePartition());
+
+    if (auto policy = parseReferrerPolicy(referrerPolicy, ReferrerPolicySource::HTTPHeader))
+        document->setReferrerPolicy(*policy);
+
+    mainFrame().setDocument(WTFMove(document));
+}
+
 } // namespace WebCore

Modified: trunk/Source/WebCore/page/Page.h (289060 => 289061)


--- trunk/Source/WebCore/page/Page.h	2022-02-03 18:46:52 UTC (rev 289060)
+++ trunk/Source/WebCore/page/Page.h	2022-02-03 19:01:24 UTC (rev 289061)
@@ -256,6 +256,8 @@
     WEBCORE_EXPORT static void updateStyleForAllPagesAfterGlobalChangeInEnvironment();
     WEBCORE_EXPORT static void clearPreviousItemFromAllPages(HistoryItem*);
 
+    WEBCORE_EXPORT void setupForRemoteWorker(const URL& scriptURL, const SecurityOriginData& topOrigin, const String& referrerPolicy);
+
     void updateStyleAfterChangeInEnvironment();
 
     WEBCORE_EXPORT explicit Page(PageConfiguration&&);

Modified: trunk/Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp (289060 => 289061)


--- trunk/Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp	2022-02-03 18:46:52 UTC (rev 289060)
+++ trunk/Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp	2022-02-03 19:01:24 UTC (rev 289061)
@@ -51,29 +51,6 @@
 
 namespace WebCore {
 
-void ServiceWorkerThreadProxy::setupPageForServiceWorker(Page& page, const ServiceWorkerContextData& data)
-{
-    auto& mainFrame = page.mainFrame();
-    mainFrame.loader().initForSynthesizedDocument({ });
-    auto document = Document::createNonRenderedPlaceholder(mainFrame, data.scriptURL);
-    document->createDOMWindow();
-
-    document->storageBlockingStateDidChange();
-
-    auto origin = data.registration.key.topOrigin().securityOrigin();
-    origin->setStorageBlockingPolicy(page.settings().storageBlockingPolicy());
-
-    auto originURL = origin->toURL();
-    document->setSiteForCookies(originURL);
-    document->setFirstPartyForCookies(originURL);
-    document->setDomainForCachePartition(origin->domainForCachePartition());
-
-    if (auto policy = parseReferrerPolicy(data.referrerPolicy, ReferrerPolicySource::HTTPHeader))
-        document->setReferrerPolicy(*policy);
-
-    mainFrame.setDocument(WTFMove(document));
-}
-
 static inline IDBClient::IDBConnectionProxy* idbConnectionProxy(Document& document)
 {
     return document.idbConnectionProxy();

Modified: trunk/Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.h (289060 => 289061)


--- trunk/Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.h	2022-02-03 18:46:52 UTC (rev 289060)
+++ trunk/Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.h	2022-02-03 19:01:24 UTC (rev 289061)
@@ -54,8 +54,6 @@
 
 class ServiceWorkerThreadProxy final : public ThreadSafeRefCounted<ServiceWorkerThreadProxy>, public WorkerLoaderProxy, public WorkerDebuggerProxy {
 public:
-    WEBCORE_EXPORT static void setupPageForServiceWorker(Page&, const ServiceWorkerContextData&);
-
     template<typename... Args> static Ref<ServiceWorkerThreadProxy> create(Args&&... args)
     {
         return adoptRef(*new ServiceWorkerThreadProxy(std::forward<Args>(args)...));

Modified: trunk/Source/WebKit/ChangeLog (289060 => 289061)


--- trunk/Source/WebKit/ChangeLog	2022-02-03 18:46:52 UTC (rev 289060)
+++ trunk/Source/WebKit/ChangeLog	2022-02-03 19:01:24 UTC (rev 289061)
@@ -1,3 +1,15 @@
+2022-02-03  Chris Dumez  <cdu...@apple.com>
+
+        Move and rename ServiceWorkerThreadProxy::setupPageForServiceWorker()
+        https://bugs.webkit.org/show_bug.cgi?id=236085
+
+        Reviewed by Darin Adler.
+
+        Move and rename ServiceWorkerThreadProxy::setupPageForServiceWorker() so that it can be reused for shared workers.
+
+        * WebProcess/Storage/WebSWContextManagerConnection.cpp:
+        (WebKit::WebSWContextManagerConnection::installServiceWorker):
+
 2022-02-03  J Pascoe  <j_pas...@apple.com>
 
         [WebAuthn] Allow use of hardware-fixed credentials while using alternate store

Modified: trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp (289060 => 289061)


--- trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp	2022-02-03 18:46:52 UTC (rev 289060)
+++ trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp	2022-02-03 19:01:24 UTC (rev 289061)
@@ -146,7 +146,7 @@
         WebPage::updateSettingsGenerated(*m_preferencesStore, page->settings());
         page->settings().setStorageBlockingPolicy(static_cast<StorageBlockingPolicy>(m_preferencesStore->getUInt32ValueForKey(WebPreferencesKey::storageBlockingPolicyKey())));
     }
-    ServiceWorkerThreadProxy::setupPageForServiceWorker(page.get(), contextData);
+    page->setupForRemoteWorker(contextData.scriptURL, contextData.registration.key.topOrigin(), contextData.referrerPolicy);
     auto serviceWorkerThreadProxy = ServiceWorkerThreadProxy::create(WTFMove(page), WTFMove(contextData), WTFMove(workerData), WTFMove(effectiveUserAgent), workerThreadMode, WebProcess::singleton().cacheStorageProvider());
 
     if (lastNavigationWasAppInitiated)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to