diff options
author | Steve Block <steveblock@google.com> | 2011-01-05 12:15:11 +0000 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2011-01-06 14:14:00 +0000 |
commit | d06194330da2bb8da887d2e1adeacb3a5c1504b2 (patch) | |
tree | e0af8413af65a8e30630563441af7bdb8478e513 /WebCore/rendering/RenderLayerCompositor.cpp | |
parent | 419a5cf2f8db6ca014df624865197ffb82caad37 (diff) | |
download | external_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.cpp | 33 |
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); |