2010-04-21 No'am Rosenthal <noam.rosenthal@nokia.com>
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 21 Apr 2010 10:09:48 +0000 (10:09 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 21 Apr 2010 10:09:48 +0000 (10:09 +0000)
commit00ea35eff4fc160507a7462894bbfc9b15f9b54f
tree874956a990664368be36c75903f4aed978e35b6d
parentca11be0e8b739655dd1212cb6e7f4404ae16f0d5
2010-04-21  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Simon Fraser.

        [Qt] Fix or remove the runtime flag for accelerated compositing.

        This adds a way for a chrome client to disallow layers from becoming composited,
        even if the settings enable accelerated compositing. This is necessary for platforms
        where different views can be applied with the same settings to the same page.

        We enable an API through ChromeClient to ask the chrome-client whether or not
        it can render composited layers, which is taken into account when the compositor
        decides whether or not to start compositing.

        https://bugs.webkit.org/show_bug.cgi?id=37313

        Pages under LayoutTests/compositing now work under QWebView, even when
        QWebSettings::AcceleratedCompositingEnabled is on.

        * page/ChromeClient.h:
        (WebCore::ChromeClient::allowsAcceleratedCompositing):
        * platform/qt/QWebPageClient.h:
        (QWebPageClient::allowsAcceleratedCompositing):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::canBeComposited):
2010-04-21  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Simon Fraser.

        [Qt] Fix or remove the runtime flag for accelerated compositing.
        https://bugs.webkit.org/show_bug.cgi?id=37313

        This lets the QWebPageClient "veto" the settings value for accelerated compositing.
        In this case we allow accelerated compositing only on QGraphicsWebView.

        * Api/qgraphicswebview.cpp:
        (QGraphicsWebViewPrivate::allowsAcceleratedCompositing):
        * WebCoreSupport/ChromeClientQt.cpp:
        (WebCore::ChromeClientQt::allowsAcceleratedCompositing):
        * WebCoreSupport/ChromeClientQt.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@57961 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/page/ChromeClient.h
WebCore/platform/qt/QWebPageClient.h
WebCore/rendering/RenderLayerCompositor.cpp
WebKit/qt/Api/qgraphicswebview.cpp
WebKit/qt/Api/qwebview.cpp
WebKit/qt/ChangeLog
WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
WebKit/qt/WebCoreSupport/ChromeClientQt.h