summaryrefslogtreecommitdiff
path: root/Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp')
-rw-r--r--Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp36
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