summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/RenderLayerCompositor.cpp
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2011-01-05 12:15:11 +0000
committerSteve Block <steveblock@google.com>2011-01-06 14:14:00 +0000
commitd06194330da2bb8da887d2e1adeacb3a5c1504b2 (patch)
treee0af8413af65a8e30630563441af7bdb8478e513 /WebCore/rendering/RenderLayerCompositor.cpp
parent419a5cf2f8db6ca014df624865197ffb82caad37 (diff)
downloadexternal_webkit-d06194330da2bb8da887d2e1adeacb3a5c1504b2.zip
external_webkit-d06194330da2bb8da887d2e1adeacb3a5c1504b2.tar.gz
external_webkit-d06194330da2bb8da887d2e1adeacb3a5c1504b2.tar.bz2
Merge WebKit at r72805: Initial merge by Git
Note that this is a backwards merge from Chromium release 9.0.600.0 to 9.0.597.0, to align with the Chromium 9 stable release branch. Change-Id: I5d2bb4e8cee9d39ae8485abf48bdb55ecf8b3790
Diffstat (limited to 'WebCore/rendering/RenderLayerCompositor.cpp')
-rw-r--r--WebCore/rendering/RenderLayerCompositor.cpp33
1 files changed, 5 insertions, 28 deletions
diff --git a/WebCore/rendering/RenderLayerCompositor.cpp b/WebCore/rendering/RenderLayerCompositor.cpp
index 638c628..e6ea32a 100644
--- a/WebCore/rendering/RenderLayerCompositor.cpp
+++ b/WebCore/rendering/RenderLayerCompositor.cpp
@@ -100,7 +100,6 @@ RenderLayerCompositor::RenderLayerCompositor(RenderView* renderView)
, m_rootPlatformLayer(0)
, m_updateCompositingLayersTimer(this, &RenderLayerCompositor::updateCompositingLayersTimerFired)
, m_hasAcceleratedCompositing(true)
- , m_compositingTriggers(static_cast<ChromeClient::CompositingTriggerFlags>(ChromeClient::AllTriggers))
, m_showDebugBorders(false)
, m_showRepaintCounter(false)
, m_compositingConsultsOverlap(true)
@@ -137,7 +136,7 @@ void RenderLayerCompositor::cacheAcceleratedCompositingFlags()
bool hasAcceleratedCompositing = false;
bool showDebugBorders = false;
bool showRepaintCounter = false;
-
+
if (Settings* settings = m_renderView->document()->settings()) {
hasAcceleratedCompositing = settings->acceleratedCompositingEnabled();
showDebugBorders = settings->showDebugBorders();
@@ -149,26 +148,18 @@ void RenderLayerCompositor::cacheAcceleratedCompositingFlags()
if (hasAcceleratedCompositing) {
Frame* frame = m_renderView->frameView()->frame();
Page* page = frame ? frame->page() : 0;
- if (page) {
- ChromeClient* chromeClient = page->chrome()->client();
- m_compositingTriggers = chromeClient->allowedCompositingTriggers();
- hasAcceleratedCompositing = m_compositingTriggers;
- }
+ if (page)
+ hasAcceleratedCompositing = page->chrome()->client()->allowsAcceleratedCompositing();
}
if (hasAcceleratedCompositing != m_hasAcceleratedCompositing || showDebugBorders != m_showDebugBorders || showRepaintCounter != m_showRepaintCounter)
setCompositingLayersNeedRebuild();
-
+
m_hasAcceleratedCompositing = hasAcceleratedCompositing;
m_showDebugBorders = showDebugBorders;
m_showRepaintCounter = showRepaintCounter;
}
-bool RenderLayerCompositor::canRender3DTransforms() const
-{
- return hasAcceleratedCompositing() && (m_compositingTriggers & ChromeClient::ThreeDTransformTrigger);
-}
-
void RenderLayerCompositor::setCompositingLayersNeedRebuild(bool needRebuild)
{
if (inCompositingMode())
@@ -1232,7 +1223,7 @@ bool RenderLayerCompositor::requiresCompositingLayer(const RenderLayer* layer) c
|| requiresCompositingForCanvas(renderer)
|| requiresCompositingForPlugin(renderer)
|| requiresCompositingForIFrame(renderer)
- || (canRender3DTransforms() && renderer->style()->backfaceVisibility() == BackfaceVisibilityHidden)
+ || renderer->style()->backfaceVisibility() == BackfaceVisibilityHidden
|| clipsCompositingDescendants(layer)
|| requiresCompositingForAnimation(renderer);
}
@@ -1288,9 +1279,6 @@ bool RenderLayerCompositor::clipsCompositingDescendants(const RenderLayer* layer
bool RenderLayerCompositor::requiresCompositingForTransform(RenderObject* renderer) const
{
- if (!(m_compositingTriggers & ChromeClient::ThreeDTransformTrigger))
- return false;
-
RenderStyle* style = renderer->style();
// Note that we ask the renderer if it has a transform, because the style may have transforms,
// but the renderer may be an inline that doesn't suppport them.
@@ -1299,8 +1287,6 @@ bool RenderLayerCompositor::requiresCompositingForTransform(RenderObject* render
bool RenderLayerCompositor::requiresCompositingForVideo(RenderObject* renderer) const
{
- if (!(m_compositingTriggers & ChromeClient::VideoTrigger))
- return false;
#if ENABLE(VIDEO)
if (renderer->isVideo()) {
RenderVideo* video = toRenderVideo(renderer);
@@ -1327,9 +1313,6 @@ bool RenderLayerCompositor::requiresCompositingForVideo(RenderObject* renderer)
bool RenderLayerCompositor::requiresCompositingForCanvas(RenderObject* renderer) const
{
- if (!(m_compositingTriggers & ChromeClient::CanvasTrigger))
- return false;
-
if (renderer->isCanvas()) {
HTMLCanvasElement* canvas = static_cast<HTMLCanvasElement*>(renderer->node());
return canvas->renderingContext() && canvas->renderingContext()->isAccelerated();
@@ -1339,9 +1322,6 @@ bool RenderLayerCompositor::requiresCompositingForCanvas(RenderObject* renderer)
bool RenderLayerCompositor::requiresCompositingForPlugin(RenderObject* renderer) const
{
- if (!(m_compositingTriggers & ChromeClient::PluginTrigger))
- return false;
-
bool composite = (renderer->isEmbeddedObject() && toRenderEmbeddedObject(renderer)->allowsAcceleratedCompositing())
|| (renderer->isApplet() && toRenderApplet(renderer)->allowsAcceleratedCompositing());
if (!composite)
@@ -1386,9 +1366,6 @@ bool RenderLayerCompositor::requiresCompositingForIFrame(RenderObject* renderer)
bool RenderLayerCompositor::requiresCompositingForAnimation(RenderObject* renderer) const
{
- if (!(m_compositingTriggers & ChromeClient::AnimationTrigger))
- return false;
-
if (AnimationController* animController = renderer->animation()) {
return (animController->isRunningAnimationOnRenderer(renderer, CSSPropertyOpacity) && inCompositingMode())
|| animController->isRunningAnimationOnRenderer(renderer, CSSPropertyWebkitTransform);