Use Cairo implementation of the WidgetBackingStore instead of X11 when running on...
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 10 Jun 2013 19:06:15 +0000 (19:06 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 10 Jun 2013 19:06:15 +0000 (19:06 +0000)
commit92d76e448800b72bd0b52830382e47e4c9808122
treeee8473510594379cc326947cc029a06f8bdc37b9
parent818c6b0d91191dcad810740be542598016ddab6b
Use Cairo implementation of the WidgetBackingStore instead of X11 when running on Wayland
https://bugs.webkit.org/show_bug.cgi?id=116717

Patch by Iago Toral Quiroga <itoral@igalia.com> on 2013-06-10
Reviewed by Martin Robinson.

Source/WebCore:

Refactored WidgetBackingStore to be an abstract base class and make
GtkWidgetBackingStoreX11 and WidgetBackingStoreCairo inherit from it.
GtkWidgetBackingStoreX11 renamed to WidgetBackingStoreGtkX11.

* GNUmakefile.list.am:
* platform/cairo/WidgetBackingStore.h:
(WebCore):
(WidgetBackingStore):
(WebCore::WidgetBackingStore::WidgetBackingStore):
(WebCore::WidgetBackingStore::~WidgetBackingStore):
* platform/cairo/WidgetBackingStoreCairo.cpp:
(WebCore::WidgetBackingStoreCairo::create):
(WebCore):
(WebCore::WidgetBackingStoreCairo::WidgetBackingStoreCairo):
(WebCore::WidgetBackingStoreCairo::~WidgetBackingStoreCairo):
(WebCore::WidgetBackingStoreCairo::cairoSurface):
(WebCore::WidgetBackingStoreCairo::scroll):
* platform/cairo/WidgetBackingStoreCairo.h: Added.
(WebCore):
(WidgetBackingStoreCairo):
* platform/gtk/GtkWidgetBackingStoreX11.cpp:
(WebCore::WidgetBackingStoreGtkX11::create):
(WebCore):
(WebCore::WidgetBackingStoreGtkX11::WidgetBackingStoreGtkX11):
(WebCore::WidgetBackingStoreGtkX11::~WidgetBackingStoreGtkX11):
(WebCore::WidgetBackingStoreGtkX11::cairoSurface):
(WebCore::WidgetBackingStoreGtkX11::scroll):
* platform/gtk/GtkWidgetBackingStoreX11.h: Added.
(WebCore):
(WidgetBackingStoreGtkX11):

Source/WebKit/gtk:

Decide which implementation of WidgetBackingStore to use (X11 or Cairo)
depending on whether we are running on X11 or not. Select Cairo
implementation when not running in X11.

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::createBackingStore):
(WebKit):
(WebKit::ChromeClient::widgetSizeChanged):
(WebKit::ChromeClient::attachRootGraphicsLayer):

Source/WebKit2:

Decide which implementation of WidgetBackingStore to use (X11 or Cairo)
depending on whether we are running on X11 or not. Select Cairo
implementation when not running in X11.

* UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit):
(WebKit::createBackingStoreForGTK):
(WebKit::BackingStore::incorporateUpdate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@151398 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/GNUmakefile.list.am
Source/WebCore/platform/cairo/WidgetBackingStore.h
Source/WebCore/platform/cairo/WidgetBackingStoreCairo.cpp
Source/WebCore/platform/cairo/WidgetBackingStoreCairo.h [new file with mode: 0644]
Source/WebCore/platform/gtk/GtkWidgetBackingStoreX11.cpp
Source/WebCore/platform/gtk/GtkWidgetBackingStoreX11.h [new file with mode: 0644]
Source/WebKit/gtk/ChangeLog
Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/cairo/BackingStoreCairo.cpp