WebKit Bugzilla
Attachment 362794 Details for
Bug 194969
: Give DrawingAreas their own identifiers
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-194969-20190222165940.patch (text/plain), 40.90 KB, created by
Chris Dumez
on 2019-02-22 16:59:41 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Chris Dumez
Created:
2019-02-22 16:59:41 PST
Size:
40.90 KB
patch
obsolete
>Subversion Revision: 241963 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 3dd6e752e64b860bee844ad51599168deca597bd..98fd8447d30331154a799c65ddec25f9dd26134b 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,88 @@ >+2019-02-22 Chris Dumez <cdumez@apple.com> >+ >+ Give DrawingAreas their own identifiers >+ https://bugs.webkit.org/show_bug.cgi?id=194969 >+ <rdar://problem/48154508> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Give DrawingAreas their own identifiers instead of using the pageID. It will make the IPC more robust now that a >+ WebPageProxy can have several drawing areas with PSON. >+ >+ * Shared/DrawingAreaInfo.h: >+ * Shared/WebPageCreationParameters.cpp: >+ (WebKit::WebPageCreationParameters::encode const): >+ (WebKit::WebPageCreationParameters::decode): >+ * Shared/WebPageCreationParameters.h: >+ * UIProcess/AcceleratedDrawingAreaProxy.cpp: >+ (WebKit::AcceleratedDrawingAreaProxy::sendUpdateBackingStoreState): >+ (WebKit::AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState): >+ (WebKit::AcceleratedDrawingAreaProxy::setNativeSurfaceHandleForCompositing): >+ (WebKit::AcceleratedDrawingAreaProxy::destroyNativeSurfaceHandleForCompositing): >+ * UIProcess/DrawingAreaProxy.cpp: >+ (WebKit::DrawingAreaProxy::DrawingAreaProxy): >+ (WebKit::DrawingAreaProxy::~DrawingAreaProxy): >+ (WebKit::DrawingAreaProxy::messageSenderConnection const): >+ (WebKit::DrawingAreaProxy::sendMessage): >+ (WebKit::DrawingAreaProxy::viewExposedRectChangedTimerFired): >+ * UIProcess/DrawingAreaProxy.h: >+ (WebKit::DrawingAreaProxy::identifier const): >+ (WebKit::DrawingAreaProxy::process const): >+ * UIProcess/DrawingAreaProxyImpl.cpp: >+ (WebKit::DrawingAreaProxyImpl::update): >+ * UIProcess/ProvisionalPageProxy.cpp: >+ (WebKit::ProvisionalPageProxy::initializeWebPage): >+ * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: >+ (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy): >+ (WebKit::RemoteLayerTreeDrawingAreaProxy::~RemoteLayerTreeDrawingAreaProxy): >+ (WebKit::RemoteLayerTreeDrawingAreaProxy::deviceScaleFactorDidChange): >+ (WebKit::RemoteLayerTreeDrawingAreaProxy::sendUpdateGeometry): >+ (WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidStart): >+ (WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidEnd): >+ (WebKit::RemoteLayerTreeDrawingAreaProxy::didRefreshDisplay): >+ (WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateActivityState): >+ (WebKit::RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing): >+ * UIProcess/WebPageProxy.cpp: >+ (WebKit::WebPageProxy::initializeWebPage): >+ (WebKit::WebPageProxy::createNewPage): >+ (WebKit::WebPageProxy::creationParameters): >+ * UIProcess/WebPageProxy.h: >+ * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: >+ (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange): >+ (WebKit::TiledCoreAnimationDrawingAreaProxy::colorSpaceDidChange): >+ (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForDidUpdateActivityState): >+ (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry): >+ (WebKit::TiledCoreAnimationDrawingAreaProxy::adjustTransientZoom): >+ (WebKit::TiledCoreAnimationDrawingAreaProxy::commitTransientZoom): >+ (WebKit::TiledCoreAnimationDrawingAreaProxy::dispatchAfterEnsuringDrawing): >+ * WebProcess/WebPage/AcceleratedDrawingArea.cpp: >+ (WebKit::AcceleratedDrawingArea::AcceleratedDrawingArea): >+ (WebKit::AcceleratedDrawingArea::layerHostDidFlushLayers): >+ (WebKit::AcceleratedDrawingArea::sendDidUpdateBackingStoreState): >+ * WebProcess/WebPage/DrawingArea.cpp: >+ (WebKit::DrawingArea::DrawingArea): >+ (WebKit::DrawingArea::removeMessageReceiverIfNeeded): >+ * WebProcess/WebPage/DrawingArea.h: >+ (WebKit::DrawingArea::identifier const): >+ (WebKit::DrawingArea::send): >+ * WebProcess/WebPage/DrawingAreaImpl.cpp: >+ (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): >+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): >+ (WebKit::DrawingAreaImpl::display): >+ * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm: >+ (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): >+ (WebKit::RemoteLayerTreeDrawingArea::updateGeometry): >+ (WebKit::RemoteLayerTreeDrawingArea::flushLayers): >+ * WebProcess/WebPage/WebPage.cpp: >+ (WebKit::WebPage::reinitializeWebPage): >+ * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: >+ (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): >+ (WebKit::TiledCoreAnimationDrawingArea::sendEnterAcceleratedCompositingModeIfNeeded): >+ (WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeIfNeeded): >+ (WebKit::TiledCoreAnimationDrawingArea::flushLayers): >+ (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): >+ (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode): >+ > 2019-02-22 Chris Dumez <cdumez@apple.com> > > Regression(PSON) Unable to preview password-protected documents on iCloud.com >diff --git a/Source/WebKit/Shared/DrawingAreaInfo.h b/Source/WebKit/Shared/DrawingAreaInfo.h >index d1c980946d4cd6036fcf550b5e554aebf88f5d63..03287a7be478f468b604b8de8df6d2a5f1d9bd1b 100644 >--- a/Source/WebKit/Shared/DrawingAreaInfo.h >+++ b/Source/WebKit/Shared/DrawingAreaInfo.h >@@ -25,6 +25,8 @@ > > #pragma once > >+#include <wtf/ObjectIdentifier.h> >+ > namespace WebKit { > > enum DrawingAreaType { >@@ -43,4 +45,7 @@ enum { > }; > typedef uint64_t ActivityStateChangeID; > >+enum DrawingAreaIdentifierType { }; >+using DrawingAreaIdentifier = ObjectIdentifier<DrawingAreaIdentifierType>; >+ > } // namespace WebKit >diff --git a/Source/WebKit/Shared/WebPageCreationParameters.cpp b/Source/WebKit/Shared/WebPageCreationParameters.cpp >index a249a66821b23af3f66fe966970614eca3249500..4983e8eca67db1969bb0edf7ea871940e441f0d6 100644 >--- a/Source/WebKit/Shared/WebPageCreationParameters.cpp >+++ b/Source/WebKit/Shared/WebPageCreationParameters.cpp >@@ -37,6 +37,7 @@ void WebPageCreationParameters::encode(IPC::Encoder& encoder) const > > encoder << store; > encoder.encodeEnum(drawingAreaType); >+ encoder << drawingAreaIdentifier; > encoder << pageGroupData; > encoder << drawsBackground; > encoder << isEditable; >@@ -138,6 +139,11 @@ Optional<WebPageCreationParameters> WebPageCreationParameters::decode(IPC::Decod > return WTF::nullopt; > if (!decoder.decodeEnum(parameters.drawingAreaType)) > return WTF::nullopt; >+ Optional<DrawingAreaIdentifier> drawingAreaIdentifier; >+ decoder >> drawingAreaIdentifier; >+ if (!drawingAreaIdentifier) >+ return WTF::nullopt; >+ parameters.drawingAreaIdentifier = *drawingAreaIdentifier; > Optional<WebPageGroupData> pageGroupData; > decoder >> pageGroupData; > if (!pageGroupData) >diff --git a/Source/WebKit/Shared/WebPageCreationParameters.h b/Source/WebKit/Shared/WebPageCreationParameters.h >index 21cae2e48816543f7bf6020eb265975e31f53f2c..4fe3b10308d29173a4ca4b37f45d577e851f57b8 100644 >--- a/Source/WebKit/Shared/WebPageCreationParameters.h >+++ b/Source/WebKit/Shared/WebPageCreationParameters.h >@@ -71,6 +71,7 @@ struct WebPageCreationParameters { > > WebPreferencesStore store; > DrawingAreaType drawingAreaType; >+ DrawingAreaIdentifier drawingAreaIdentifier; > WebPageGroupData pageGroupData; > > bool drawsBackground; >diff --git a/Source/WebKit/UIProcess/AcceleratedDrawingAreaProxy.cpp b/Source/WebKit/UIProcess/AcceleratedDrawingAreaProxy.cpp >index 39af9b3798b82ed961bd9be48f22fd67c2da991a..f91f06fa073a9eacb1743f1f2cb6ed32f174b149 100644 >--- a/Source/WebKit/UIProcess/AcceleratedDrawingAreaProxy.cpp >+++ b/Source/WebKit/UIProcess/AcceleratedDrawingAreaProxy.cpp >@@ -183,7 +183,7 @@ void AcceleratedDrawingAreaProxy::sendUpdateBackingStoreState(RespondImmediately > > m_isWaitingForDidUpdateBackingStoreState = respondImmediatelyOrNot == RespondImmediately; > >- process().send(Messages::DrawingArea::UpdateBackingStoreState(m_nextBackingStoreStateID, respondImmediatelyOrNot == RespondImmediately, m_webPageProxy.deviceScaleFactor(), m_size, m_scrollOffset), m_webPageProxy.pageID()); >+ send(Messages::DrawingArea::UpdateBackingStoreState(m_nextBackingStoreStateID, respondImmediatelyOrNot == RespondImmediately, m_webPageProxy.deviceScaleFactor(), m_size, m_scrollOffset)); > m_scrollOffset = IntSize(); > > if (m_isWaitingForDidUpdateBackingStoreState) { >@@ -222,7 +222,7 @@ void AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState() > // choose the most recent one, or the one that is closest to our current size. > > // The timeout, in seconds, we use when waiting for a DidUpdateBackingStoreState message when we're asked to paint. >- process().connection()->waitForAndDispatchImmediately<Messages::DrawingAreaProxy::DidUpdateBackingStoreState>(m_webPageProxy.pageID(), Seconds::fromMilliseconds(500)); >+ process().connection()->waitForAndDispatchImmediately<Messages::DrawingAreaProxy::DidUpdateBackingStoreState>(m_identifier.toUInt64(), Seconds::fromMilliseconds(500)); > } > > void AcceleratedDrawingAreaProxy::enterAcceleratedCompositingMode(const LayerTreeContext& layerTreeContext) >@@ -256,7 +256,7 @@ void AcceleratedDrawingAreaProxy::setNativeSurfaceHandleForCompositing(uint64_t > m_pendingNativeSurfaceHandleForCompositing = handle; > return; > } >- process().send(Messages::DrawingArea::SetNativeSurfaceHandleForCompositing(handle), m_webPageProxy.pageID(), IPC::SendOption::DispatchMessageEvenWhenWaitingForSyncReply); >+ send(Messages::DrawingArea::SetNativeSurfaceHandleForCompositing(handle), IPC::SendOption::DispatchMessageEvenWhenWaitingForSyncReply); > } > > void AcceleratedDrawingAreaProxy::destroyNativeSurfaceHandleForCompositing() >@@ -266,7 +266,7 @@ void AcceleratedDrawingAreaProxy::destroyNativeSurfaceHandleForCompositing() > return; > } > bool handled; >- process().sendSync(Messages::DrawingArea::DestroyNativeSurfaceHandleForCompositing(), Messages::DrawingArea::DestroyNativeSurfaceHandleForCompositing::Reply(handled), m_webPageProxy.pageID()); >+ sendSync(Messages::DrawingArea::DestroyNativeSurfaceHandleForCompositing(), Messages::DrawingArea::DestroyNativeSurfaceHandleForCompositing::Reply(handled)); > } > #endif > >diff --git a/Source/WebKit/UIProcess/DrawingAreaProxy.cpp b/Source/WebKit/UIProcess/DrawingAreaProxy.cpp >index d36bc46fe6949d5c88d269a0eb2cbc458e6c8bfb..596b2418a43ec0d275fb91f484ea7b79e07f2cbe 100644 >--- a/Source/WebKit/UIProcess/DrawingAreaProxy.cpp >+++ b/Source/WebKit/UIProcess/DrawingAreaProxy.cpp >@@ -40,6 +40,7 @@ using namespace WebCore; > > DrawingAreaProxy::DrawingAreaProxy(DrawingAreaType type, WebPageProxy& webPageProxy, WebProcessProxy& process) > : m_type(type) >+ , m_identifier(DrawingAreaIdentifier::generate()) > , m_webPageProxy(webPageProxy) > , m_process(makeRef(process)) > , m_size(webPageProxy.viewSize()) >@@ -47,12 +48,12 @@ DrawingAreaProxy::DrawingAreaProxy(DrawingAreaType type, WebPageProxy& webPagePr > , m_viewExposedRectChangedTimer(RunLoop::main(), this, &DrawingAreaProxy::viewExposedRectChangedTimerFired) > #endif > { >- process.addMessageReceiver(Messages::DrawingAreaProxy::messageReceiverName(), m_webPageProxy.pageID(), *this); >+ process.addMessageReceiver(Messages::DrawingAreaProxy::messageReceiverName(), m_identifier.toUInt64(), *this); > } > > DrawingAreaProxy::~DrawingAreaProxy() > { >- process().removeMessageReceiver(Messages::DrawingAreaProxy::messageReceiverName(), m_webPageProxy.pageID()); >+ process().removeMessageReceiver(Messages::DrawingAreaProxy::messageReceiverName(), m_identifier.toUInt64()); > } > > bool DrawingAreaProxy::setSize(const IntSize& size, const IntSize& scrollDelta) >@@ -73,6 +74,16 @@ MachSendRight DrawingAreaProxy::createFence() > } > #endif > >+IPC::Connection* DrawingAreaProxy::messageSenderConnection() const >+{ >+ return process().connection(); >+} >+ >+bool DrawingAreaProxy::sendMessage(std::unique_ptr<IPC::Encoder> encoder, OptionSet<IPC::SendOption> sendOptions) >+{ >+ return process().sendMessage(WTFMove(encoder), sendOptions); >+} >+ > #if PLATFORM(MAC) > void DrawingAreaProxy::setViewExposedRect(Optional<WebCore::FloatRect> viewExposedRect) > { >@@ -93,7 +104,7 @@ void DrawingAreaProxy::viewExposedRectChangedTimerFired() > if (m_viewExposedRect == m_lastSentViewExposedRect) > return; > >- process().send(Messages::DrawingArea::SetViewExposedRect(m_viewExposedRect), m_webPageProxy.pageID()); >+ send(Messages::DrawingArea::SetViewExposedRect(m_viewExposedRect)); > m_lastSentViewExposedRect = m_viewExposedRect; > } > #endif // PLATFORM(MAC) >diff --git a/Source/WebKit/UIProcess/DrawingAreaProxy.h b/Source/WebKit/UIProcess/DrawingAreaProxy.h >index 3419a89e8d7c8327cbe0f0ca39e22ebb2d4425ad..b6905b018f114e5cf62e20283fe4fa1a12dab8e9 100644 >--- a/Source/WebKit/UIProcess/DrawingAreaProxy.h >+++ b/Source/WebKit/UIProcess/DrawingAreaProxy.h >@@ -29,6 +29,7 @@ > #include "DrawingAreaInfo.h" > #include "GenericCallback.h" > #include "MessageReceiver.h" >+#include "MessageSender.h" > #include <WebCore/FloatRect.h> > #include <WebCore/IntRect.h> > #include <WebCore/IntSize.h> >@@ -50,13 +51,14 @@ class UpdateInfo; > class WebPageProxy; > class WebProcessProxy; > >-class DrawingAreaProxy : public IPC::MessageReceiver { >+class DrawingAreaProxy : public IPC::MessageReceiver, protected IPC::MessageSender { > WTF_MAKE_NONCOPYABLE(DrawingAreaProxy); > > public: > virtual ~DrawingAreaProxy(); > > DrawingAreaType type() const { return m_type; } >+ DrawingAreaIdentifier identifier() const { return m_identifier; } > > virtual void deviceScaleFactorDidChange() = 0; > >@@ -109,11 +111,13 @@ public: > > WebPageProxy& page() const { return m_webPageProxy; } > WebProcessProxy& process() { return m_process.get(); } >+ const WebProcessProxy& process() const { return m_process.get(); } > > protected: > DrawingAreaProxy(DrawingAreaType, WebPageProxy&, WebProcessProxy&); > > DrawingAreaType m_type; >+ DrawingAreaIdentifier m_identifier; > WebPageProxy& m_webPageProxy; > Ref<WebProcessProxy> m_process; > >@@ -126,6 +130,10 @@ protected: > private: > virtual void sizeDidChange() = 0; > >+ IPC::Connection* messageSenderConnection() const final; >+ uint64_t messageSenderDestinationID() const final { return m_identifier.toUInt64(); } >+ bool sendMessage(std::unique_ptr<IPC::Encoder>, OptionSet<IPC::SendOption>) final; >+ > // Message handlers. > // FIXME: These should be pure virtual. > virtual void update(uint64_t /* backingStoreStateID */, const UpdateInfo&) { } >diff --git a/Source/WebKit/UIProcess/DrawingAreaProxyImpl.cpp b/Source/WebKit/UIProcess/DrawingAreaProxyImpl.cpp >index 8c6ce8d65887cb8dc291576fbdd812751a571d70..0057afb9dd2f0f113a8e2062ae836c5cd9e23329 100644 >--- a/Source/WebKit/UIProcess/DrawingAreaProxyImpl.cpp >+++ b/Source/WebKit/UIProcess/DrawingAreaProxyImpl.cpp >@@ -124,7 +124,7 @@ void DrawingAreaProxyImpl::update(uint64_t backingStoreStateID, const UpdateInfo > // FIXME: Handle the case where the view is hidden. > > incorporateUpdate(updateInfo); >- process().send(Messages::DrawingArea::DidUpdate(), m_webPageProxy.pageID()); >+ send(Messages::DrawingArea::DidUpdate()); > } > > void DrawingAreaProxyImpl::didUpdateBackingStoreState(uint64_t backingStoreStateID, const UpdateInfo& updateInfo, const LayerTreeContext& layerTreeContext) >diff --git a/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp b/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp >index d4bdcc4eca33ca8ee30a93e9cfe4604f81ac63ec..9b1b04681b9e5ebccfca4cc8b36254a2938f2222 100644 >--- a/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp >+++ b/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp >@@ -135,7 +135,7 @@ void ProvisionalPageProxy::initializeWebPage() > { > m_drawingArea = m_page.pageClient().createDrawingAreaProxy(m_process); > >- auto parameters = m_page.creationParameters(m_process); >+ auto parameters = m_page.creationParameters(m_process, *m_drawingArea); > parameters.isProcessSwap = true; > m_process->send(Messages::WebProcess::CreateWebPage(m_page.pageID(), parameters), 0); > >diff --git a/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm b/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm >index 51a6fa740195fe1a009fcb620873f2031244d5c5..830584ee52cee1b4c922aafc6c9d9977e4a8b688 100644 >--- a/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm >+++ b/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm >@@ -115,7 +115,7 @@ RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy(WebPageProxy& w > IOSurfacePool::sharedPool().setPoolSize(0); > #endif > >- process.addMessageReceiver(Messages::RemoteLayerTreeDrawingAreaProxy::messageReceiverName(), m_webPageProxy.pageID(), *this); >+ process.addMessageReceiver(Messages::RemoteLayerTreeDrawingAreaProxy::messageReceiverName(), m_identifier.toUInt64(), *this); > > if (m_webPageProxy.preferences().tiledScrollingIndicatorVisible()) > initializeDebugIndicator(); >@@ -124,7 +124,7 @@ RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy(WebPageProxy& w > RemoteLayerTreeDrawingAreaProxy::~RemoteLayerTreeDrawingAreaProxy() > { > m_callbacks.invalidate(CallbackBase::Error::OwnerWasInvalidated); >- process().removeMessageReceiver(Messages::RemoteLayerTreeDrawingAreaProxy::messageReceiverName(), m_webPageProxy.pageID()); >+ process().removeMessageReceiver(Messages::RemoteLayerTreeDrawingAreaProxy::messageReceiverName(), m_identifier.toUInt64()); > > #if PLATFORM(IOS_FAMILY) > [m_displayLinkHandler invalidate]; >@@ -161,7 +161,7 @@ void RemoteLayerTreeDrawingAreaProxy::sizeDidChange() > > void RemoteLayerTreeDrawingAreaProxy::deviceScaleFactorDidChange() > { >- process().send(Messages::DrawingArea::SetDeviceScaleFactor(m_webPageProxy.deviceScaleFactor()), m_webPageProxy.pageID()); >+ send(Messages::DrawingArea::SetDeviceScaleFactor(m_webPageProxy.deviceScaleFactor())); > } > > void RemoteLayerTreeDrawingAreaProxy::didUpdateGeometry() >@@ -179,7 +179,7 @@ void RemoteLayerTreeDrawingAreaProxy::didUpdateGeometry() > void RemoteLayerTreeDrawingAreaProxy::sendUpdateGeometry() > { > m_lastSentSize = m_size; >- process().send(Messages::DrawingArea::UpdateGeometry(m_size, false /* flushSynchronously */, MachSendRight()), m_webPageProxy.pageID()); >+ send(Messages::DrawingArea::UpdateGeometry(m_size, false /* flushSynchronously */, MachSendRight())); > m_isWaitingForDidUpdateGeometry = true; > } > >@@ -264,12 +264,12 @@ void RemoteLayerTreeDrawingAreaProxy::commitLayerTree(const RemoteLayerTreeTrans > > void RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidStart(uint64_t layerID, const String& key, MonotonicTime startTime) > { >- process().send(Messages::DrawingArea::AcceleratedAnimationDidStart(layerID, key, startTime), m_webPageProxy.pageID()); >+ send(Messages::DrawingArea::AcceleratedAnimationDidStart(layerID, key, startTime)); > } > > void RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidEnd(uint64_t layerID, const String& key) > { >- process().send(Messages::DrawingArea::AcceleratedAnimationDidEnd(layerID, key), m_webPageProxy.pageID()); >+ send(Messages::DrawingArea::AcceleratedAnimationDidEnd(layerID, key)); > } > > static const float indicatorInset = 10; >@@ -430,7 +430,7 @@ void RemoteLayerTreeDrawingAreaProxy::didRefreshDisplay() > // Waiting for CA to commit is insufficient, because the render server can still be > // using our backing store. We can improve this by waiting for the render server to commit > // if we find API to do so, but for now we will make extra buffers if need be. >- process().send(Messages::DrawingArea::DidUpdate(), m_webPageProxy.pageID()); >+ send(Messages::DrawingArea::DidUpdate()); > > m_lastVisibleTransactionID = m_transactionIDForPendingCACommit; > >@@ -458,7 +458,7 @@ void RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateActivityState(ActivityStat > }(); > > auto startTime = MonotonicTime::now(); >- while (process().connection()->waitForAndDispatchImmediately<Messages::RemoteLayerTreeDrawingAreaProxy::CommitLayerTree>(m_webPageProxy.pageID(), activityStateUpdateTimeout - (MonotonicTime::now() - startTime), IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives)) { >+ while (process().connection()->waitForAndDispatchImmediately<Messages::RemoteLayerTreeDrawingAreaProxy::CommitLayerTree>(m_identifier.toUInt64(), activityStateUpdateTimeout - (MonotonicTime::now() - startTime), IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives)) { > if (activityStateChangeID == ActivityStateChangeAsynchronous || activityStateChangeID <= m_activityStateChangeID) > return; > } >@@ -471,7 +471,7 @@ void RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing(WTF::Function > return; > } > >- process().send(Messages::DrawingArea::AddTransactionCallbackID(m_callbacks.put(WTFMove(callbackFunction), process().throttler().backgroundActivityToken())), m_webPageProxy.pageID()); >+ send(Messages::DrawingArea::AddTransactionCallbackID(m_callbacks.put(WTFMove(callbackFunction), process().throttler().backgroundActivityToken()))); > } > > void RemoteLayerTreeDrawingAreaProxy::hideContentUntilPendingUpdate() >diff --git a/Source/WebKit/UIProcess/WebPageProxy.cpp b/Source/WebKit/UIProcess/WebPageProxy.cpp >index 4a01bf25df27247f1e4494c85950207adc7c7e2c..df238a5ba89b9654508f637c8240d910ac86793f 100644 >--- a/Source/WebKit/UIProcess/WebPageProxy.cpp >+++ b/Source/WebKit/UIProcess/WebPageProxy.cpp >@@ -944,7 +944,7 @@ void WebPageProxy::initializeWebPage() > setDrawingArea(pageClient().createDrawingAreaProxy(m_process)); > ASSERT(m_drawingArea); > >- process().send(Messages::WebProcess::CreateWebPage(m_pageID, creationParameters(m_process)), 0); >+ process().send(Messages::WebProcess::CreateWebPage(m_pageID, creationParameters(m_process, *m_drawingArea)), 0); > > m_needsToFinishInitializingWebPageAfterProcessLaunch = true; > finishInitializingWebPageAfterProcessLaunch(); >@@ -4878,7 +4878,7 @@ void WebPageProxy::createNewPage(const FrameInfoData& originatingFrameInfoData, > > newPage->setOpenedByDOM(); > >- reply(newPage->pageID(), newPage->creationParameters(m_process)); >+ reply(newPage->pageID(), newPage->creationParameters(m_process, *newPage->drawingArea())); > > WebsiteDataStore::cloneSessionData(*this, *newPage); > newPage->m_shouldSuppressAppLinksInNextNavigationPolicyDecision = hostsAreEqual(URL({ }, mainFrameURL), request.url()); >@@ -6857,13 +6857,14 @@ void WebPageProxy::resetStateAfterProcessExited(ProcessTerminationReason termina > m_process->processTerminated(); > } > >-WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& process) >+WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& process, DrawingAreaProxy& drawingArea) > { > WebPageCreationParameters parameters; > > parameters.viewSize = pageClient().viewSize(); > parameters.activityState = m_activityState; >- parameters.drawingAreaType = m_drawingArea->type(); >+ parameters.drawingAreaType = drawingArea.type(); >+ parameters.drawingAreaIdentifier = drawingArea.identifier(); > parameters.store = preferencesStore(); > parameters.pageGroupData = m_pageGroup->data(); > parameters.drawsBackground = m_drawsBackground; >diff --git a/Source/WebKit/UIProcess/WebPageProxy.h b/Source/WebKit/UIProcess/WebPageProxy.h >index d4f17f0f3061ecfbabd1778de0e4a7e81bb0ae1c..cd1ec0015f8ac4f6569a3f26083a45acd69c9ebd 100644 >--- a/Source/WebKit/UIProcess/WebPageProxy.h >+++ b/Source/WebKit/UIProcess/WebPageProxy.h >@@ -1078,7 +1078,7 @@ public: > void didChooseFilesForOpenPanel(const Vector<String>&); > void didCancelForOpenPanel(); > >- WebPageCreationParameters creationParameters(WebProcessProxy&); >+ WebPageCreationParameters creationParameters(WebProcessProxy&, DrawingAreaProxy&); > > void handleDownloadRequest(DownloadProxy*); > >diff --git a/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm b/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm >index 77c8380914bcb13f65a7c904a9c006bafd11aaf9..06e44d413cb9fb03985ac517e58bcfa729219cfe 100644 >--- a/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm >+++ b/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm >@@ -55,7 +55,7 @@ TiledCoreAnimationDrawingAreaProxy::~TiledCoreAnimationDrawingAreaProxy() > > void TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange() > { >- process().send(Messages::DrawingArea::SetDeviceScaleFactor(m_webPageProxy.deviceScaleFactor()), m_webPageProxy.pageID()); >+ send(Messages::DrawingArea::SetDeviceScaleFactor(m_webPageProxy.deviceScaleFactor())); > } > > void TiledCoreAnimationDrawingAreaProxy::sizeDidChange() >@@ -73,7 +73,7 @@ void TiledCoreAnimationDrawingAreaProxy::sizeDidChange() > > void TiledCoreAnimationDrawingAreaProxy::colorSpaceDidChange() > { >- process().send(Messages::DrawingArea::SetColorSpace(m_webPageProxy.colorSpace()), m_webPageProxy.pageID()); >+ send(Messages::DrawingArea::SetColorSpace(m_webPageProxy.colorSpace())); > } > > void TiledCoreAnimationDrawingAreaProxy::viewLayoutSizeDidChange() >@@ -122,7 +122,7 @@ void TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry() > void TiledCoreAnimationDrawingAreaProxy::waitForDidUpdateActivityState(ActivityStateChangeID) > { > Seconds activityStateUpdateTimeout = Seconds::fromMilliseconds(250); >- process().connection()->waitForAndDispatchImmediately<Messages::WebPageProxy::DidUpdateActivityState>(m_webPageProxy.pageID(), activityStateUpdateTimeout, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives); >+ process().connection()->waitForAndDispatchImmediately<Messages::WebPageProxy::DidUpdateActivityState>(m_identifier.toUInt64(), activityStateUpdateTimeout, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives); > } > > void TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange(const IntSize& newIntrinsicContentSize) >@@ -182,17 +182,17 @@ void TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry() > ASSERT(!m_isWaitingForDidUpdateGeometry); > > willSendUpdateGeometry(); >- process().send(Messages::DrawingArea::UpdateGeometry(m_size, true /* flushSynchronously */, createFence()), m_webPageProxy.pageID()); >+ send(Messages::DrawingArea::UpdateGeometry(m_size, true /* flushSynchronously */, createFence())); > } > > void TiledCoreAnimationDrawingAreaProxy::adjustTransientZoom(double scale, FloatPoint origin) > { >- process().send(Messages::DrawingArea::AdjustTransientZoom(scale, origin), m_webPageProxy.pageID()); >+ send(Messages::DrawingArea::AdjustTransientZoom(scale, origin)); > } > > void TiledCoreAnimationDrawingAreaProxy::commitTransientZoom(double scale, FloatPoint origin) > { >- process().send(Messages::DrawingArea::CommitTransientZoom(scale, origin), m_webPageProxy.pageID()); >+ send(Messages::DrawingArea::CommitTransientZoom(scale, origin)); > } > > void TiledCoreAnimationDrawingAreaProxy::dispatchAfterEnsuringDrawing(WTF::Function<void (CallbackBase::Error)>&& callback) >@@ -202,7 +202,7 @@ void TiledCoreAnimationDrawingAreaProxy::dispatchAfterEnsuringDrawing(WTF::Funct > return; > } > >- process().send(Messages::DrawingArea::AddTransactionCallbackID(m_callbacks.put(WTFMove(callback), nullptr)), m_webPageProxy.pageID()); >+ send(Messages::DrawingArea::AddTransactionCallbackID(m_callbacks.put(WTFMove(callback), nullptr))); > } > > void TiledCoreAnimationDrawingAreaProxy::dispatchPresentationCallbacksAfterFlushingLayers(const Vector<CallbackID>& callbackIDs) >diff --git a/Source/WebKit/WebProcess/WebPage/AcceleratedDrawingArea.cpp b/Source/WebKit/WebProcess/WebPage/AcceleratedDrawingArea.cpp >index edfe46b218e050fc02edfb2b976f0dfdedc0de7f..deb4bd72f407f222c6d8e851209b6b663194d62d 100644 >--- a/Source/WebKit/WebProcess/WebPage/AcceleratedDrawingArea.cpp >+++ b/Source/WebKit/WebProcess/WebPage/AcceleratedDrawingArea.cpp >@@ -53,7 +53,7 @@ AcceleratedDrawingArea::~AcceleratedDrawingArea() > } > > AcceleratedDrawingArea::AcceleratedDrawingArea(WebPage& webPage, const WebPageCreationParameters& parameters) >- : DrawingArea(DrawingAreaTypeImpl, webPage) >+ : DrawingArea(DrawingAreaTypeImpl, parameters.drawingAreaIdentifier, webPage) > , m_exitCompositingTimer(RunLoop::main(), this, &AcceleratedDrawingArea::exitAcceleratedCompositingMode) > , m_discardPreviousLayerTreeHostTimer(RunLoop::main(), this, &AcceleratedDrawingArea::discardPreviousLayerTreeHost) > { >@@ -183,7 +183,7 @@ void AcceleratedDrawingArea::layerHostDidFlushLayers() > > ASSERT(!m_compositingAccordingToProxyMessages); > if (!exitAcceleratedCompositingModePending()) { >- m_webPage.send(Messages::DrawingAreaProxy::EnterAcceleratedCompositingMode(m_backingStoreStateID, m_layerTreeHost->layerTreeContext())); >+ send(Messages::DrawingAreaProxy::EnterAcceleratedCompositingMode(m_backingStoreStateID, m_layerTreeHost->layerTreeContext())); > m_compositingAccordingToProxyMessages = true; > } > } >@@ -307,7 +307,7 @@ void AcceleratedDrawingArea::sendDidUpdateBackingStoreState() > m_layerTreeHost->forceRepaint(); > } > >- m_webPage.send(Messages::DrawingAreaProxy::DidUpdateBackingStoreState(m_backingStoreStateID, updateInfo, layerTreeContext)); >+ send(Messages::DrawingAreaProxy::DidUpdateBackingStoreState(m_backingStoreStateID, updateInfo, layerTreeContext)); > m_compositingAccordingToProxyMessages = !layerTreeContext.isEmpty(); > } > >diff --git a/Source/WebKit/WebProcess/WebPage/DrawingArea.cpp b/Source/WebKit/WebProcess/WebPage/DrawingArea.cpp >index 2087d1346d7400f879a35879423da2f147a17c23..a46e5de49f61a05513e5697b3756e1df0fb1436a 100644 >--- a/Source/WebKit/WebProcess/WebPage/DrawingArea.cpp >+++ b/Source/WebKit/WebProcess/WebPage/DrawingArea.cpp >@@ -69,11 +69,12 @@ std::unique_ptr<DrawingArea> DrawingArea::create(WebPage& webPage, const WebPage > return nullptr; > } > >-DrawingArea::DrawingArea(DrawingAreaType type, WebPage& webPage) >+DrawingArea::DrawingArea(DrawingAreaType type, DrawingAreaIdentifier identifier, WebPage& webPage) > : m_type(type) >+ , m_identifier(identifier) > , m_webPage(webPage) > { >- WebProcess::singleton().addMessageReceiver(Messages::DrawingArea::messageReceiverName(), m_webPage.pageID(), *this); >+ WebProcess::singleton().addMessageReceiver(Messages::DrawingArea::messageReceiverName(), m_identifier.toUInt64(), *this); > } > > DrawingArea::~DrawingArea() >@@ -99,7 +100,7 @@ void DrawingArea::removeMessageReceiverIfNeeded() > if (m_hasRemovedMessageReceiver) > return; > m_hasRemovedMessageReceiver = true; >- WebProcess::singleton().removeMessageReceiver(Messages::DrawingArea::messageReceiverName(), m_webPage.pageID()); >+ WebProcess::singleton().removeMessageReceiver(Messages::DrawingArea::messageReceiverName(), m_identifier.toUInt64()); > } > > } // namespace WebKit >diff --git a/Source/WebKit/WebProcess/WebPage/DrawingArea.h b/Source/WebKit/WebProcess/WebPage/DrawingArea.h >index 347c845ce8c98c50cc71c36f777628aa7c5996b0..a358031c3665f3462296cfea85e60bf661aadfd4 100644 >--- a/Source/WebKit/WebProcess/WebPage/DrawingArea.h >+++ b/Source/WebKit/WebProcess/WebPage/DrawingArea.h >@@ -29,6 +29,7 @@ > #include "DrawingAreaInfo.h" > #include "LayerTreeContext.h" > #include "MessageReceiver.h" >+#include "WebPage.h" > #include <WebCore/ActivityState.h> > #include <WebCore/FloatRect.h> > #include <WebCore/IntRect.h> >@@ -61,7 +62,6 @@ namespace WebKit { > > struct ColorSpaceData; > class LayerTreeHost; >-class WebPage; > struct WebPageCreationParameters; > struct WebPreferencesStore; > >@@ -74,6 +74,7 @@ public: > virtual ~DrawingArea(); > > DrawingAreaType type() const { return m_type; } >+ DrawingAreaIdentifier identifier() const { return m_identifier; } > > virtual void setNeedsDisplay() = 0; > virtual void setNeedsDisplayInRect(const WebCore::IntRect&) = 0; >@@ -155,9 +156,15 @@ public: > void removeMessageReceiverIfNeeded(); > > protected: >- DrawingArea(DrawingAreaType, WebPage&); >+ DrawingArea(DrawingAreaType, DrawingAreaIdentifier, WebPage&); >+ >+ template<typename U> bool send(const U& message) >+ { >+ return m_webPage.send(message, m_identifier.toUInt64(), { }); >+ } > > DrawingAreaType m_type; >+ DrawingAreaIdentifier m_identifier; > WebPage& m_webPage; > > #if USE(TEXTURE_MAPPER_GL) && PLATFORM(GTK) && PLATFORM(X11) && !USE(REDIRECTED_XCOMPOSITE_WINDOW) >diff --git a/Source/WebKit/WebProcess/WebPage/DrawingAreaImpl.cpp b/Source/WebKit/WebProcess/WebPage/DrawingAreaImpl.cpp >index 6a86b002b86f42a01cf48e5df6900acf58f831a9..dde6aa0292dc7c65a119d47eff6f824053ba89da 100644 >--- a/Source/WebKit/WebProcess/WebPage/DrawingAreaImpl.cpp >+++ b/Source/WebKit/WebProcess/WebPage/DrawingAreaImpl.cpp >@@ -242,7 +242,7 @@ void DrawingAreaImpl::sendDidUpdateBackingStoreState() > m_shouldSendDidUpdateBackingStoreState = false; > > LayerTreeContext layerTreeContext; >- m_webPage.send(Messages::DrawingAreaProxy::DidUpdateBackingStoreState(m_backingStoreStateID, updateInfo, layerTreeContext)); >+ send(Messages::DrawingAreaProxy::DidUpdateBackingStoreState(m_backingStoreStateID, updateInfo, layerTreeContext)); > m_compositingAccordingToProxyMessages = false; > return; > } >@@ -308,12 +308,12 @@ void DrawingAreaImpl::exitAcceleratedCompositingMode() > // Send along a complete update of the page so we can paint the contents right after we exit the > // accelerated compositing mode, eliminiating flicker. > if (m_compositingAccordingToProxyMessages) { >- m_webPage.send(Messages::DrawingAreaProxy::ExitAcceleratedCompositingMode(m_backingStoreStateID, updateInfo)); >+ send(Messages::DrawingAreaProxy::ExitAcceleratedCompositingMode(m_backingStoreStateID, updateInfo)); > m_compositingAccordingToProxyMessages = false; > } else { > // If we left accelerated compositing mode before we sent an EnterAcceleratedCompositingMode message to the > // UI process, we still need to let it know about the new contents, so send an Update message. >- m_webPage.send(Messages::DrawingAreaProxy::Update(m_backingStoreStateID, updateInfo)); >+ send(Messages::DrawingAreaProxy::Update(m_backingStoreStateID, updateInfo)); > } > } > >@@ -367,7 +367,7 @@ void DrawingAreaImpl::display() > return; > } > >- m_webPage.send(Messages::DrawingAreaProxy::Update(m_backingStoreStateID, updateInfo)); >+ send(Messages::DrawingAreaProxy::Update(m_backingStoreStateID, updateInfo)); > m_isWaitingForDidUpdate = true; > } > >diff --git a/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm b/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm >index 579835144b1f67826327f0c596625a0afa9c708b..cb706beed088c9044838ad2480d893c94fe00257 100644 >--- a/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm >+++ b/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm >@@ -36,6 +36,7 @@ > #import "RemoteScrollingCoordinator.h" > #import "RemoteScrollingCoordinatorTransaction.h" > #import "WebPage.h" >+#import "WebPageCreationParameters.h" > #import "WebPageProxyMessages.h" > #import "WebProcess.h" > #import <QuartzCore/QuartzCore.h> >@@ -54,8 +55,8 @@ > namespace WebKit { > using namespace WebCore; > >-RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea(WebPage& webPage, const WebPageCreationParameters&) >- : DrawingArea(DrawingAreaTypeRemoteLayerTree, webPage) >+RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea(WebPage& webPage, const WebPageCreationParameters& parameters) >+ : DrawingArea(DrawingAreaTypeRemoteLayerTree, parameters.drawingAreaIdentifier, webPage) > , m_remoteLayerTreeContext(std::make_unique<RemoteLayerTreeContext>(webPage)) > , m_rootLayer(GraphicsLayer::create(graphicsLayerFactory(), *this)) > , m_layerFlushTimer(*this, &RemoteLayerTreeDrawingArea::flushLayers) >@@ -146,7 +147,7 @@ void RemoteLayerTreeDrawingArea::updateGeometry(const IntSize& viewSize, bool fl > > scheduleCompositingLayerFlush(); > >- m_webPage.send(Messages::DrawingAreaProxy::DidUpdateGeometry()); >+ send(Messages::DrawingAreaProxy::DidUpdateGeometry()); > } > > bool RemoteLayerTreeDrawingArea::shouldUseTiledBackingForFrameView(const FrameView& frameView) >@@ -399,10 +400,10 @@ void RemoteLayerTreeDrawingArea::flushLayers() > m_nextFlushIsForImmediatePaint = false; > m_waitingForBackingStoreSwap = true; > >- m_webPage.send(Messages::RemoteLayerTreeDrawingAreaProxy::WillCommitLayerTree(layerTransaction.transactionID())); >+ send(Messages::RemoteLayerTreeDrawingAreaProxy::WillCommitLayerTree(layerTransaction.transactionID())); > > Messages::RemoteLayerTreeDrawingAreaProxy::CommitLayerTree message(layerTransaction, scrollingTransaction); >- auto commitEncoder = std::make_unique<IPC::Encoder>(Messages::RemoteLayerTreeDrawingAreaProxy::CommitLayerTree::receiverName(), Messages::RemoteLayerTreeDrawingAreaProxy::CommitLayerTree::name(), m_webPage.pageID()); >+ auto commitEncoder = std::make_unique<IPC::Encoder>(Messages::RemoteLayerTreeDrawingAreaProxy::CommitLayerTree::receiverName(), Messages::RemoteLayerTreeDrawingAreaProxy::CommitLayerTree::name(), m_identifier.toUInt64()); > commitEncoder->encode(message.arguments()); > > // FIXME: Move all backing store flushing management to RemoteLayerBackingStoreCollection. >diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.cpp b/Source/WebKit/WebProcess/WebPage/WebPage.cpp >index 192eee4bd8fdb000e64cb9d6fc227052cd22dec4..f3beda188dda9012c230d28dcc528a1ad83ce5ff 100644 >--- a/Source/WebKit/WebProcess/WebPage/WebPage.cpp >+++ b/Source/WebKit/WebProcess/WebPage/WebPage.cpp >@@ -709,6 +709,7 @@ void WebPage::reinitializeWebPage(WebPageCreationParameters&& parameters) > > unfreezeLayerTree(LayerTreeFreezeReason::PageSuspended); > } >+ RELEASE_ASSERT(m_drawingArea->identifier() == parameters.drawingAreaIdentifier); > > setViewLayoutSize(parameters.viewLayoutSize); > >diff --git a/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm b/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm >index 324d063162332b8d4f66621679b05271129478c2..751d4d7162bcbbcd4aedcc2263ad637221a62c29 100644 >--- a/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm >+++ b/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm >@@ -74,7 +74,7 @@ namespace WebKit { > using namespace WebCore; > > TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea(WebPage& webPage, const WebPageCreationParameters& parameters) >- : DrawingArea(DrawingAreaTypeTiledCoreAnimation, webPage) >+ : DrawingArea(DrawingAreaTypeTiledCoreAnimation, parameters.drawingAreaIdentifier, webPage) > , m_layerTreeStateIsFrozen(false) > , m_isPaintingSuspended(!(parameters.activityState & ActivityState::IsVisible)) > , m_transientZoomScale(1) >@@ -118,7 +118,7 @@ void TiledCoreAnimationDrawingArea::sendEnterAcceleratedCompositingModeIfNeeded( > return; > LayerTreeContext layerTreeContext; > layerTreeContext.contextID = m_layerHostingContext->contextID(); >- m_webPage.send(Messages::DrawingAreaProxy::EnterAcceleratedCompositingMode(0, layerTreeContext)); >+ send(Messages::DrawingAreaProxy::EnterAcceleratedCompositingMode(0, layerTreeContext)); > }); > } > >@@ -298,7 +298,7 @@ void TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeIfNeeded() > return; > > m_lastSentIntrinsicContentSize = contentSize; >- m_webPage.send(Messages::DrawingAreaProxy::IntrinsicContentSizeDidChange(contentSize)); >+ send(Messages::DrawingAreaProxy::IntrinsicContentSizeDidChange(contentSize)); > } > > void TiledCoreAnimationDrawingArea::setShouldScaleViewToFitDocument(bool shouldScaleView) >@@ -504,7 +504,7 @@ void TiledCoreAnimationDrawingArea::flushLayers() > applyTransientZoomToLayers(m_transientZoomScale, m_transientZoomOrigin); > > if (!m_pendingCallbackIDs.isEmpty()) { >- m_webPage.send(Messages::DrawingAreaProxy::DispatchPresentationCallbacksAfterFlushingLayers(m_pendingCallbackIDs)); >+ send(Messages::DrawingAreaProxy::DispatchPresentationCallbacksAfterFlushingLayers(m_pendingCallbackIDs)); > m_pendingCallbackIDs.clear(); > } > >@@ -630,7 +630,7 @@ void TiledCoreAnimationDrawingArea::updateGeometry(const IntSize& viewSize, bool > if (flushSynchronously) > [CATransaction flush]; > >- m_webPage.send(Messages::DrawingAreaProxy::DidUpdateGeometry()); >+ send(Messages::DrawingAreaProxy::DidUpdateGeometry()); > > m_inUpdateGeometry = false; > >@@ -649,7 +649,7 @@ void TiledCoreAnimationDrawingArea::setLayerHostingMode(LayerHostingMode) > // Finally, inform the UIProcess that the context has changed. > LayerTreeContext layerTreeContext; > layerTreeContext.contextID = m_layerHostingContext->contextID(); >- m_webPage.send(Messages::DrawingAreaProxy::UpdateAcceleratedCompositingMode(0, layerTreeContext)); >+ send(Messages::DrawingAreaProxy::UpdateAcceleratedCompositingMode(0, layerTreeContext)); > } > > void TiledCoreAnimationDrawingArea::setColorSpace(const ColorSpaceData& colorSpace)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194969
: 362794 |
362842