diff options
Diffstat (limited to 'Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp')
-rw-r--r-- | Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp b/Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp index e4750e6c2..2e780d91b 100644 --- a/Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp +++ b/Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp @@ -25,28 +25,30 @@ #include "config.h" #include "DrawingArea.h" -#include <wtf/Functional.h> + +#include "DrawingAreaMessages.h" +#include "WebPage.h" +#include "WebPageCreationParameters.h" +#include "WebProcess.h" +#include <WebCore/DisplayRefreshMonitor.h> +#include <WebCore/TransformationMatrix.h> // Subclasses -#if PLATFORM(MAC) +#if PLATFORM(COCOA) #include "RemoteLayerTreeDrawingArea.h" #include "TiledCoreAnimationDrawingArea.h" #else -#if USE(COORDINATED_GRAPHICS) -#include "CoordinatedDrawingArea.h" -#else #include "DrawingAreaImpl.h" #endif -#endif -#include "WebPageCreationParameters.h" +using namespace WebCore; namespace WebKit { -std::unique_ptr<DrawingArea> DrawingArea::create(WebPage* webPage, const WebPageCreationParameters& parameters) +std::unique_ptr<DrawingArea> DrawingArea::create(WebPage& webPage, const WebPageCreationParameters& parameters) { switch (parameters.drawingAreaType) { -#if PLATFORM(MAC) +#if PLATFORM(COCOA) #if !PLATFORM(IOS) case DrawingAreaTypeTiledCoreAnimation: return std::make_unique<TiledCoreAnimationDrawingArea>(webPage, parameters); @@ -54,27 +56,24 @@ std::unique_ptr<DrawingArea> DrawingArea::create(WebPage* webPage, const WebPage case DrawingAreaTypeRemoteLayerTree: return std::make_unique<RemoteLayerTreeDrawingArea>(webPage, parameters); #else -#if USE(COORDINATED_GRAPHICS) - case DrawingAreaTypeCoordinated: - return std::make_unique<CoordinatedDrawingArea>(webPage, parameters); -#else case DrawingAreaTypeImpl: return std::make_unique<DrawingAreaImpl>(webPage, parameters); #endif -#endif } return nullptr; } -DrawingArea::DrawingArea(DrawingAreaType type, WebPage* webPage) +DrawingArea::DrawingArea(DrawingAreaType type, WebPage& webPage) : m_type(type) , m_webPage(webPage) { + WebProcess::singleton().addMessageReceiver(Messages::DrawingArea::messageReceiverName(), m_webPage.pageID(), *this); } DrawingArea::~DrawingArea() { + WebProcess::singleton().removeMessageReceiver(Messages::DrawingArea::messageReceiverName(), m_webPage.pageID()); } void DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition(std::function<void ()> function) @@ -83,4 +82,11 @@ void DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition(std::function<void function(); } +#if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) +RefPtr<WebCore::DisplayRefreshMonitor> DrawingArea::createDisplayRefreshMonitor(PlatformDisplayID) +{ + return nullptr; +} +#endif + } // namespace WebKit |