Title: [249354] trunk/Source
Revision
249354
Author
cdu...@apple.com
Date
2019-08-30 17:45:17 -0700 (Fri, 30 Aug 2019)

Log Message

WebPage::fromCorePage() to take and return a C++ reference
https://bugs.webkit.org/show_bug.cgi?id=201367

Reviewed by Antti Koivisto.

Source/WebCore:

* page/Chrome.cpp:
(WebCore::Chrome::createWindow const):

Source/WebKit:

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
* WebProcess/WebPage/VisitedLinkTableController.cpp:
(WebKit::VisitedLinkTableController::addVisitedLink):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::page const):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::fromCorePage):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPageOverlay.cpp:
(WebKit::WebPageOverlay::willMoveToPage):
(WebKit::WebPageOverlay::didMoveToPage):
* WebProcess/WebStorage/StorageNamespaceImpl.cpp:
(WebKit::StorageNamespaceImpl::copy):
* WebProcess/WebStorage/StorageNamespaceImpl.h:
* WebProcess/WebStorage/WebStorageNamespaceProvider.cpp:
(WebKit::WebStorageNamespaceProvider::createSessionStorageNamespace):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (249353 => 249354)


--- trunk/Source/WebCore/ChangeLog	2019-08-31 00:34:07 UTC (rev 249353)
+++ trunk/Source/WebCore/ChangeLog	2019-08-31 00:45:17 UTC (rev 249354)
@@ -1,5 +1,15 @@
 2019-08-30  Chris Dumez  <cdu...@apple.com>
 
+        WebPage::fromCorePage() to take and return a C++ reference
+        https://bugs.webkit.org/show_bug.cgi?id=201367
+
+        Reviewed by Antti Koivisto.
+
+        * page/Chrome.cpp:
+        (WebCore::Chrome::createWindow const):
+
+2019-08-30  Chris Dumez  <cdu...@apple.com>
+
         Add support for postMessage buffering between the service worker and window
         https://bugs.webkit.org/show_bug.cgi?id=201169
 

Modified: trunk/Source/WebCore/loader/EmptyClients.cpp (249353 => 249354)


--- trunk/Source/WebCore/loader/EmptyClients.cpp	2019-08-31 00:34:07 UTC (rev 249353)
+++ trunk/Source/WebCore/loader/EmptyClients.cpp	2019-08-31 00:45:17 UTC (rev 249354)
@@ -399,7 +399,7 @@
         }
     private:
         Ref<StorageArea> storageArea(const SecurityOriginData&) final { return adoptRef(*new EmptyStorageArea); }
-        Ref<StorageNamespace> copy(Page*) final { return adoptRef(*new EmptyStorageNamespace { m_sessionID }); }
+        Ref<StorageNamespace> copy(Page&) final { return adoptRef(*new EmptyStorageNamespace { m_sessionID }); }
         PAL::SessionID sessionID() const final { return m_sessionID; }
         void setSessionIDForTesting(PAL::SessionID sessionID) final { m_sessionID = sessionID; };
 

Modified: trunk/Source/WebCore/page/Chrome.cpp (249353 => 249354)


--- trunk/Source/WebCore/page/Chrome.cpp	2019-08-31 00:34:07 UTC (rev 249353)
+++ trunk/Source/WebCore/page/Chrome.cpp	2019-08-31 00:45:17 UTC (rev 249354)
@@ -188,7 +188,7 @@
         return nullptr;
 
     if (auto* oldSessionStorage = m_page.sessionStorage(false))
-        newPage->setSessionStorage(oldSessionStorage->copy(newPage));
+        newPage->setSessionStorage(oldSessionStorage->copy(*newPage));
 
     return newPage;
 }

Modified: trunk/Source/WebCore/storage/StorageNamespace.h (249353 => 249354)


--- trunk/Source/WebCore/storage/StorageNamespace.h	2019-08-31 00:34:07 UTC (rev 249353)
+++ trunk/Source/WebCore/storage/StorageNamespace.h	2019-08-31 00:45:17 UTC (rev 249354)
@@ -44,7 +44,7 @@
     virtual Ref<StorageArea> storageArea(const SecurityOriginData&) = 0;
 
     // FIXME: This is only valid for session storage and should probably be moved to a subclass.
-    virtual Ref<StorageNamespace> copy(Page* newPage) = 0;
+    virtual Ref<StorageNamespace> copy(Page& newPage) = 0;
 
     virtual PAL::SessionID sessionID() const = 0;
     virtual void setSessionIDForTesting(PAL::SessionID) = 0;

Modified: trunk/Source/WebKit/ChangeLog (249353 => 249354)


--- trunk/Source/WebKit/ChangeLog	2019-08-31 00:34:07 UTC (rev 249353)
+++ trunk/Source/WebKit/ChangeLog	2019-08-31 00:45:17 UTC (rev 249354)
@@ -1,5 +1,30 @@
 2019-08-30  Chris Dumez  <cdu...@apple.com>
 
+        WebPage::fromCorePage() to take and return a C++ reference
+        https://bugs.webkit.org/show_bug.cgi?id=201367
+
+        Reviewed by Antti Koivisto.
+
+        * WebProcess/InjectedBundle/InjectedBundle.cpp:
+        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
+        * WebProcess/WebPage/VisitedLinkTableController.cpp:
+        (WebKit::VisitedLinkTableController::addVisitedLink):
+        * WebProcess/WebPage/WebFrame.cpp:
+        (WebKit::WebFrame::page const):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::fromCorePage):
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPageOverlay.cpp:
+        (WebKit::WebPageOverlay::willMoveToPage):
+        (WebKit::WebPageOverlay::didMoveToPage):
+        * WebProcess/WebStorage/StorageNamespaceImpl.cpp:
+        (WebKit::StorageNamespaceImpl::copy):
+        * WebProcess/WebStorage/StorageNamespaceImpl.h:
+        * WebProcess/WebStorage/WebStorageNamespaceProvider.cpp:
+        (WebKit::WebStorageNamespaceProvider::createSessionStorageNamespace):
+
+2019-08-30  Chris Dumez  <cdu...@apple.com>
+
         [PSON] We no longer need to throw away suspended pages in a process before using it for a navigation
         https://bugs.webkit.org/show_bug.cgi?id=201344
 

Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp (249353 => 249354)


--- trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp	2019-08-31 00:34:07 UTC (rev 249353)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp	2019-08-31 00:45:17 UTC (rev 249354)
@@ -157,25 +157,25 @@
     if (preference == "WebKitTabToLinksPreferenceKey") {
         WebPreferencesStore::overrideBoolValueForKey(WebPreferencesKey::tabsToLinksKey(), enabled);
         for (auto* page : pages)
-            WebPage::fromCorePage(page)->setTabToLinksEnabled(enabled);
+            WebPage::fromCorePage(*page).setTabToLinksEnabled(enabled);
     }
 
     if (preference == "WebKit2AsynchronousPluginInitializationEnabled") {
         WebPreferencesStore::overrideBoolValueForKey(WebPreferencesKey::asynchronousPluginInitializationEnabledKey(), enabled);
         for (auto* page : pages)
-            WebPage::fromCorePage(page)->setAsynchronousPluginInitializationEnabled(enabled);
+            WebPage::fromCorePage(*page).setAsynchronousPluginInitializationEnabled(enabled);
     }
 
     if (preference == "WebKit2AsynchronousPluginInitializationEnabledForAllPlugins") {
         WebPreferencesStore::overrideBoolValueForKey(WebPreferencesKey::asynchronousPluginInitializationEnabledForAllPluginsKey(), enabled);
         for (auto* page : pages)
-            WebPage::fromCorePage(page)->setAsynchronousPluginInitializationEnabledForAllPlugins(enabled);
+            WebPage::fromCorePage(*page).setAsynchronousPluginInitializationEnabledForAllPlugins(enabled);
     }
 
     if (preference == "WebKit2ArtificialPluginInitializationDelayEnabled") {
         WebPreferencesStore::overrideBoolValueForKey(WebPreferencesKey::artificialPluginInitializationDelayEnabledKey(), enabled);
         for (auto* page : pages)
-            WebPage::fromCorePage(page)->setArtificialPluginInitializationDelayEnabled(enabled);
+            WebPage::fromCorePage(*page).setArtificialPluginInitializationDelayEnabled(enabled);
     }
 
 #if ENABLE(SERVICE_CONTROLS)

Modified: trunk/Source/WebKit/WebProcess/WebPage/VisitedLinkTableController.cpp (249353 => 249354)


--- trunk/Source/WebKit/WebProcess/WebPage/VisitedLinkTableController.cpp	2019-08-31 00:34:07 UTC (rev 249353)
+++ trunk/Source/WebKit/WebProcess/WebPage/VisitedLinkTableController.cpp	2019-08-31 00:45:17 UTC (rev 249354)
@@ -80,11 +80,8 @@
     if (m_visitedLinkTable.contains(linkHash))
         return;
 
-    WebPage* webPage = WebPage::fromCorePage(&page);
-    if (!webPage)
-        return;
-
-    WebProcess::singleton().parentProcessConnection()->send(Messages::VisitedLinkStore::AddVisitedLinkHashFromPage(webPage->webPageProxyIdentifier(), linkHash), m_identifier);
+    auto& webPage = WebPage::fromCorePage(page);
+    WebProcess::singleton().parentProcessConnection()->send(Messages::VisitedLinkStore::AddVisitedLinkHashFromPage(webPage.webPageProxyIdentifier(), linkHash), m_identifier);
 }
 
 void VisitedLinkTableController::setVisitedLinkTable(const SharedMemory::Handle& handle)

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp (249353 => 249354)


--- trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp	2019-08-31 00:34:07 UTC (rev 249353)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp	2019-08-31 00:45:17 UTC (rev 249354)
@@ -170,8 +170,8 @@
     if (!m_coreFrame)
         return nullptr;
     
-    if (Page* page = m_coreFrame->page())
-        return WebPage::fromCorePage(page);
+    if (auto* page = m_coreFrame->page())
+        return &WebPage::fromCorePage(*page);
 
     return nullptr;
 }

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (249353 => 249354)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2019-08-31 00:34:07 UTC (rev 249353)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2019-08-31 00:45:17 UTC (rev 249354)
@@ -1680,9 +1680,9 @@
     m_page->mainFrame().loader().history().restoreScrollPositionAndViewState();
 }
 
-WebPage* WebPage::fromCorePage(Page* page)
+WebPage& WebPage::fromCorePage(Page& page)
 {
-    return &static_cast<WebChromeClient&>(page->chrome().client()).page();
+    return static_cast<WebChromeClient&>(page.chrome().client()).page();
 }
 
 void WebPage::setSize(const WebCore::IntSize& viewSize)

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (249353 => 249354)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2019-08-31 00:34:07 UTC (rev 249353)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2019-08-31 00:45:17 UTC (rev 249354)
@@ -288,7 +288,7 @@
 
     void close();
 
-    static WebPage* fromCorePage(WebCore::Page*);
+    static WebPage& fromCorePage(WebCore::Page&);
 
     WebCore::Page* corePage() const { return m_page.get(); }
     WebCore::PageIdentifier pageID() const { return m_pageID; }

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPageOverlay.cpp (249353 => 249354)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPageOverlay.cpp	2019-08-31 00:34:07 UTC (rev 249353)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPageOverlay.cpp	2019-08-31 00:45:17 UTC (rev 249354)
@@ -85,12 +85,12 @@
 
 void WebPageOverlay::willMoveToPage(PageOverlay&, Page* page)
 {
-    m_client->willMoveToPage(*this, page ? WebPage::fromCorePage(page) : nullptr);
+    m_client->willMoveToPage(*this, page ? &WebPage::fromCorePage(*page) : nullptr);
 }
 
 void WebPageOverlay::didMoveToPage(PageOverlay&, Page* page)
 {
-    m_client->didMoveToPage(*this, page ? WebPage::fromCorePage(page) : nullptr);
+    m_client->didMoveToPage(*this, page ? &WebPage::fromCorePage(*page) : nullptr);
 }
 
 void WebPageOverlay::drawRect(PageOverlay&, GraphicsContext& context, const IntRect& dirtyRect)

Modified: trunk/Source/WebKit/WebProcess/WebStorage/StorageNamespaceImpl.cpp (249353 => 249354)


--- trunk/Source/WebKit/WebProcess/WebStorage/StorageNamespaceImpl.cpp	2019-08-31 00:34:07 UTC (rev 249353)
+++ trunk/Source/WebKit/WebProcess/WebStorage/StorageNamespaceImpl.cpp	2019-08-31 00:45:17 UTC (rev 249354)
@@ -111,15 +111,15 @@
     return StorageAreaImpl::create(map.releaseNonNull());
 }
 
-Ref<StorageNamespace> StorageNamespaceImpl::copy(Page* newPage)
+Ref<StorageNamespace> StorageNamespaceImpl::copy(Page& newPage)
 {
     ASSERT(m_storageNamespaceID);
     ASSERT(m_storageType == StorageType::Session);
 
     if (auto networkProcessConnection = WebProcess::singleton().existingNetworkProcessConnection())
-        networkProcessConnection->connection().send(Messages::StorageManagerSet::CloneSessionStorageNamespace(newPage->sessionID(), m_storageNamespaceID, WebPage::fromCorePage(newPage)->sessionStorageNamespaceIdentifier()), 0);
+        networkProcessConnection->connection().send(Messages::StorageManagerSet::CloneSessionStorageNamespace(newPage.sessionID(), m_storageNamespaceID, WebPage::fromCorePage(newPage).sessionStorageNamespaceIdentifier()), 0);
 
-    return adoptRef(*new StorageNamespaceImpl(m_storageType, WebPage::fromCorePage(newPage)->sessionStorageNamespaceIdentifier(), WebPage::fromCorePage(newPage)->pageID(), m_topLevelOrigin.get(), m_quotaInBytes, newPage->sessionID()));
+    return adoptRef(*new StorageNamespaceImpl(m_storageType, WebPage::fromCorePage(newPage).sessionStorageNamespaceIdentifier(), WebPage::fromCorePage(newPage).pageID(), m_topLevelOrigin.get(), m_quotaInBytes, newPage.sessionID()));
 }
 
 void StorageNamespaceImpl::setSessionIDForTesting(PAL::SessionID sessionID)

Modified: trunk/Source/WebKit/WebProcess/WebStorage/StorageNamespaceImpl.h (249353 => 249354)


--- trunk/Source/WebKit/WebProcess/WebStorage/StorageNamespaceImpl.h	2019-08-31 00:34:07 UTC (rev 249353)
+++ trunk/Source/WebKit/WebProcess/WebStorage/StorageNamespaceImpl.h	2019-08-31 00:45:17 UTC (rev 249354)
@@ -68,7 +68,7 @@
     Ref<WebCore::StorageArea> storageArea(const WebCore::SecurityOriginData&) override;
 
     // FIXME: This is only valid for session storage and should probably be moved to a subclass.
-    Ref<WebCore::StorageNamespace> copy(WebCore::Page*) override;
+    Ref<WebCore::StorageNamespace> copy(WebCore::Page&) override;
 
     const WebCore::StorageType m_storageType;
     const Identifier m_storageNamespaceID;

Modified: trunk/Source/WebKit/WebProcess/WebStorage/WebStorageNamespaceProvider.cpp (249353 => 249354)


--- trunk/Source/WebKit/WebProcess/WebStorage/WebStorageNamespaceProvider.cpp	2019-08-31 00:34:07 UTC (rev 249353)
+++ trunk/Source/WebKit/WebProcess/WebStorage/WebStorageNamespaceProvider.cpp	2019-08-31 00:45:17 UTC (rev 249354)
@@ -66,8 +66,8 @@
 
 Ref<WebCore::StorageNamespace> WebStorageNamespaceProvider::createSessionStorageNamespace(Page& page, unsigned quota)
 {
-    auto* webPage = WebPage::fromCorePage(&page);
-    return StorageNamespaceImpl::createSessionStorageNamespace(webPage->sessionStorageNamespaceIdentifier(), webPage->pageID(), quota, page.sessionID());
+    auto& webPage = WebPage::fromCorePage(page);
+    return StorageNamespaceImpl::createSessionStorageNamespace(webPage.sessionStorageNamespaceIdentifier(), webPage.pageID(), quota, page.sessionID());
 }
 
 Ref<WebCore::StorageNamespace> WebStorageNamespaceProvider::createLocalStorageNamespace(unsigned quota, PAL::SessionID sessionID)

Modified: trunk/Source/WebKitLegacy/Storage/StorageNamespaceImpl.cpp (249353 => 249354)


--- trunk/Source/WebKitLegacy/Storage/StorageNamespaceImpl.cpp	2019-08-31 00:34:07 UTC (rev 249353)
+++ trunk/Source/WebKitLegacy/Storage/StorageNamespaceImpl.cpp	2019-08-31 00:45:17 UTC (rev 249354)
@@ -89,7 +89,7 @@
         close();
 }
 
-Ref<StorageNamespace> StorageNamespaceImpl::copy(Page*)
+Ref<StorageNamespace> StorageNamespaceImpl::copy(Page&)
 {
     ASSERT(isMainThread());
     ASSERT(!m_isShutdown);

Modified: trunk/Source/WebKitLegacy/Storage/StorageNamespaceImpl.h (249353 => 249354)


--- trunk/Source/WebKitLegacy/Storage/StorageNamespaceImpl.h	2019-08-31 00:34:07 UTC (rev 249353)
+++ trunk/Source/WebKitLegacy/Storage/StorageNamespaceImpl.h	2019-08-31 00:45:17 UTC (rev 249354)
@@ -61,7 +61,7 @@
     StorageNamespaceImpl(WebCore::StorageType, const String& path, unsigned quota, PAL::SessionID);
 
     Ref<WebCore::StorageArea> storageArea(const WebCore::SecurityOriginData&) override;
-    Ref<StorageNamespace> copy(WebCore::Page* newPage) override;
+    Ref<StorageNamespace> copy(WebCore::Page& newPage) override;
 
     typedef HashMap<WebCore::SecurityOriginData, RefPtr<StorageAreaImpl>> StorageAreaMap;
     StorageAreaMap m_storageAreaMap;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to