[GTK] [AC] Introduce AcceleratedCompositingContext to isolate different accelerated...
authormrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 5 Jan 2012 20:18:59 +0000 (20:18 +0000)
committermrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 5 Jan 2012 20:18:59 +0000 (20:18 +0000)
commit58ee98f066a5abfe2b00063aec1c36842d5f2d9a
tree01e0c99190e3971e036dbc9aca0c614af1d86c69
parent06d3e4185b1cfd523a4816419f7fe60c350fcdbb
[GTK] [AC] Introduce AcceleratedCompositingContext to isolate different accelerated compositing implementations
https://bugs.webkit.org/show_bug.cgi?id=75519

Reviewed by Alejandro G. Castro.

Add an AcceleratedCompositingContext which will isolate all the different accelerated compositing
implementations from one another. For right now this just includes the Clutter version.

* GNUmakefile.am: Add the new files to the source list.
* WebCoreSupport/AcceleratedCompositingContext.h: Added.
* WebCoreSupport/AcceleratedCompositingContextClutter.cpp: Added. Existing
clutter AC code has moved here.
* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::attachRootGraphicsLayer): Use the new AccleratedCompositingContext now
instead of calling into the WebView.
(WebKit::ChromeClient::setNeedsOneShotDrawingSynchronization):Ditto.
(WebKit::ChromeClient::scheduleCompositingLayerSync): Ditto.
* webkit/webkitwebview.cpp:
(webkit_web_view_size_allocate): Call in the ACContext.
(webkit_web_view_init): Initialize the ACContext.
* webkit/webkitwebviewprivate.h: Add the ACContext as a private member.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit/gtk/ChangeLog
Source/WebKit/gtk/GNUmakefile.am
Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContext.h [new file with mode: 0644]
Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextClutter.cpp [new file with mode: 0644]
Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
Source/WebKit/gtk/webkit/webkitwebview.cpp
Source/WebKit/gtk/webkit/webkitwebviewprivate.h