Diff
Modified: trunk/Source/WebKit/ChangeLog (249205 => 249206)
--- trunk/Source/WebKit/ChangeLog 2019-08-28 17:04:32 UTC (rev 249205)
+++ trunk/Source/WebKit/ChangeLog 2019-08-28 17:14:27 UTC (rev 249206)
@@ -1,3 +1,24 @@
+2019-08-28 Chris Dumez <[email protected]>
+
+ Have WebPageProxy generate the page identifier by itself
+ https://bugs.webkit.org/show_bug.cgi?id=201223
+
+ Reviewed by Ryosuke Niwa.
+
+ Have WebPageProxy generate the page identifier by itself instead of
+ having the WebProcessProxy do it.
+
+ * UIProcess/ServiceWorkerProcessProxy.cpp:
+ (WebKit::m_serviceWorkerPageID):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::create):
+ (WebKit::WebPageProxy::WebPageProxy):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::createWebPage):
+ (WebKit::WebProcessProxy::generatePageID): Deleted.
+ * UIProcess/WebProcessProxy.h:
+
2019-08-28 Carlos Garcia Campos <[email protected]>
REGRESSION(r243434): Wrong URL passed to WebKitWebView::load-failed when cancelling previous load
Modified: trunk/Source/WebKit/UIProcess/ServiceWorkerProcessProxy.cpp (249205 => 249206)
--- trunk/Source/WebKit/UIProcess/ServiceWorkerProcessProxy.cpp 2019-08-28 17:04:32 UTC (rev 249205)
+++ trunk/Source/WebKit/UIProcess/ServiceWorkerProcessProxy.cpp 2019-08-28 17:14:27 UTC (rev 249206)
@@ -53,7 +53,7 @@
ServiceWorkerProcessProxy::ServiceWorkerProcessProxy(WebProcessPool& pool, const RegistrableDomain& registrableDomain, WebsiteDataStore& store)
: WebProcessProxy { pool, &store, IsPrewarmed::No }
, m_registrableDomain(registrableDomain)
- , m_serviceWorkerPageID(generatePageID())
+ , m_serviceWorkerPageID(PageIdentifier::generate())
{
}
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (249205 => 249206)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2019-08-28 17:04:32 UTC (rev 249205)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2019-08-28 17:14:27 UTC (rev 249206)
@@ -387,13 +387,14 @@
completionHandler(selectedPage);
}
-Ref<WebPageProxy> WebPageProxy::create(PageClient& pageClient, WebProcessProxy& process, PageIdentifier pageID, Ref<API::PageConfiguration>&& configuration)
+Ref<WebPageProxy> WebPageProxy::create(PageClient& pageClient, WebProcessProxy& process, Ref<API::PageConfiguration>&& configuration)
{
- return adoptRef(*new WebPageProxy(pageClient, process, pageID, WTFMove(configuration)));
+ return adoptRef(*new WebPageProxy(pageClient, process, WTFMove(configuration)));
}
-WebPageProxy::WebPageProxy(PageClient& pageClient, WebProcessProxy& process, PageIdentifier pageID, Ref<API::PageConfiguration>&& configuration)
- : m_pageClient(makeWeakPtr(pageClient))
+WebPageProxy::WebPageProxy(PageClient& pageClient, WebProcessProxy& process, Ref<API::PageConfiguration>&& configuration)
+ : m_pageID(PageIdentifier::generate())
+ , m_pageClient(makeWeakPtr(pageClient))
, m_configuration(WTFMove(configuration))
, m_navigationClient(makeUniqueRef<API::NavigationClient>())
, m_historyClient(makeUniqueRef<API::HistoryClient>())
@@ -428,7 +429,6 @@
, m_backForwardList(WebBackForwardList::create(*this))
, m_waitsForPaintAfterViewDidMoveToWindow(m_configuration->waitsForPaintAfterViewDidMoveToWindow())
, m_hasRunningProcess(process.state() != WebProcessProxy::State::Terminated)
- , m_pageID(pageID)
, m_controlledByAutomation(m_configuration->isControlledByAutomation())
#if PLATFORM(COCOA)
, m_isSmartInsertDeleteEnabled(TextChecker::isSmartInsertDeleteEnabled())
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (249205 => 249206)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.h 2019-08-28 17:04:32 UTC (rev 249205)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h 2019-08-28 17:14:27 UTC (rev 249206)
@@ -385,7 +385,7 @@
#endif
, public CanMakeWeakPtr<WebPageProxy> {
public:
- static Ref<WebPageProxy> create(PageClient&, WebProcessProxy&, WebCore::PageIdentifier, Ref<API::PageConfiguration>&&);
+ static Ref<WebPageProxy> create(PageClient&, WebProcessProxy&, Ref<API::PageConfiguration>&&);
virtual ~WebPageProxy();
static void forMostVisibleWebPageIfAny(PAL::SessionID, const WebCore::SecurityOriginData&, CompletionHandler<void(WebPageProxy*)>&&);
@@ -1570,7 +1570,7 @@
#endif
private:
- WebPageProxy(PageClient&, WebProcessProxy&, WebCore::PageIdentifier, Ref<API::PageConfiguration>&&);
+ WebPageProxy(PageClient&, WebProcessProxy&, Ref<API::PageConfiguration>&&);
void platformInitialize();
void notifyProcessPoolToPrewarm();
@@ -2113,6 +2113,7 @@
void makeStorageSpaceRequest(WebCore::FrameIdentifier, const String& originIdentifier, const String& databaseName, const String& displayName, uint64_t currentQuota, uint64_t currentOriginUsage, uint64_t currentDatabaseUsage, uint64_t expectedUsage, CompletionHandler<void(uint64_t)>&&);
+ const WebCore::PageIdentifier m_pageID;
WeakPtr<PageClient> m_pageClient;
Ref<API::PageConfiguration> m_configuration;
@@ -2352,8 +2353,6 @@
RefPtr<WebCore::ValidationBubble> m_validationBubble;
#endif
- const WebCore::PageIdentifier m_pageID;
-
bool m_isPageSuspended { false };
bool m_addsVisitedLinks { true };
Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp (249205 => 249206)
--- trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp 2019-08-28 17:04:32 UTC (rev 249205)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp 2019-08-28 17:14:27 UTC (rev 249206)
@@ -110,11 +110,6 @@
return allProcesses().get(identifier);
}
-PageIdentifier WebProcessProxy::generatePageID()
-{
- return PageIdentifier::generate();
-}
-
static WebProcessProxy::WebPageProxyMap& globalPageMap()
{
ASSERT(isMainThreadOrCheckDisabled());
@@ -389,8 +384,7 @@
Ref<WebPageProxy> WebProcessProxy::createWebPage(PageClient& pageClient, Ref<API::PageConfiguration>&& pageConfiguration)
{
- auto pageID = generatePageID();
- Ref<WebPageProxy> webPage = WebPageProxy::create(pageClient, *this, pageID, WTFMove(pageConfiguration));
+ Ref<WebPageProxy> webPage = WebPageProxy::create(pageClient, *this, WTFMove(pageConfiguration));
addExistingWebPage(webPage.get(), BeginsUsingDataStore::Yes);
Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.h (249205 => 249206)
--- trunk/Source/WebKit/UIProcess/WebProcessProxy.h 2019-08-28 17:04:32 UTC (rev 249205)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.h 2019-08-28 17:14:27 UTC (rev 249206)
@@ -313,7 +313,6 @@
void deref() final { ThreadSafeRefCounted::deref(); }
protected:
- static WebCore::PageIdentifier generatePageID();
WebProcessProxy(WebProcessPool&, WebsiteDataStore*, IsPrewarmed);
// AuxiliaryProcessProxy