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: http://svn.webkit.org/repository/webkit/trunk@151398 268f45cc-cd09-0410-ab3c-d52691b4dbfc