Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Side by Side Diff: Source/core/rendering/RenderLayerCompositor.cpp

Issue 23890025: WIP (Introduce WTF::NonNullPtr<T>.) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/rendering/RenderImage.cpp ('k') | Source/core/rendering/RenderObject.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2009, 2010 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 // Avoid updating the layers with old values. Compositing layers will be upd ated after the layout is finished. 355 // Avoid updating the layers with old values. Compositing layers will be upd ated after the layout is finished.
356 if (m_renderView->needsLayout()) 356 if (m_renderView->needsLayout())
357 return; 357 return;
358 358
359 if (m_forceCompositingMode && !m_compositing) 359 if (m_forceCompositingMode && !m_compositing)
360 enableCompositingMode(true); 360 enableCompositingMode(true);
361 361
362 if (!m_reevaluateCompositingAfterLayout && !m_compositing) 362 if (!m_reevaluateCompositingAfterLayout && !m_compositing)
363 return; 363 return;
364 364
365 AnimationUpdateBlock animationUpdateBlock(m_renderView->frameView()->frame() .animation()); 365 AnimationUpdateBlock animationUpdateBlock(m_renderView->frameView()->frame() .animation().get());
366 366
367 TemporaryChange<bool> postLayoutChange(m_inPostLayoutUpdate, true); 367 TemporaryChange<bool> postLayoutChange(m_inPostLayoutUpdate, true);
368 368
369 bool checkForHierarchyUpdate = m_reevaluateCompositingAfterLayout; 369 bool checkForHierarchyUpdate = m_reevaluateCompositingAfterLayout;
370 bool needGeometryUpdate = false; 370 bool needGeometryUpdate = false;
371 371
372 switch (updateType) { 372 switch (updateType) {
373 case CompositingUpdateAfterStyleChange: 373 case CompositingUpdateAfterStyleChange:
374 case CompositingUpdateAfterLayout: 374 case CompositingUpdateAfterLayout:
375 checkForHierarchyUpdate = true; 375 checkForHierarchyUpdate = true;
(...skipping 1622 matching lines...) Expand 10 before | Expand all | Expand 10 after
1998 1998
1999 bool RenderLayerCompositor::requiresCompositingForBackfaceVisibilityHidden(Rende rObject* renderer) const 1999 bool RenderLayerCompositor::requiresCompositingForBackfaceVisibilityHidden(Rende rObject* renderer) const
2000 { 2000 {
2001 return canRender3DTransforms() && renderer->style()->backfaceVisibility() == BackfaceVisibilityHidden; 2001 return canRender3DTransforms() && renderer->style()->backfaceVisibility() == BackfaceVisibilityHidden;
2002 } 2002 }
2003 2003
2004 bool RenderLayerCompositor::requiresCompositingForAnimation(RenderObject* render er) const 2004 bool RenderLayerCompositor::requiresCompositingForAnimation(RenderObject* render er) const
2005 { 2005 {
2006 if (!(m_compositingTriggers & ChromeClient::AnimationTrigger)) 2006 if (!(m_compositingTriggers & ChromeClient::AnimationTrigger))
2007 return false; 2007 return false;
2008 2008 return renderer->animation()->isRunningAcceleratableAnimationOnRenderer(rend erer);
2009 if (AnimationController* animController = renderer->animation())
2010 return animController->isRunningAcceleratableAnimationOnRenderer(rendere r);
2011 return false;
2012 } 2009 }
2013 2010
2014 bool RenderLayerCompositor::requiresCompositingForTransition(RenderObject* rende rer) const 2011 bool RenderLayerCompositor::requiresCompositingForTransition(RenderObject* rende rer) const
2015 { 2012 {
2016 if (!(m_compositingTriggers & ChromeClient::AnimationTrigger)) 2013 if (!(m_compositingTriggers & ChromeClient::AnimationTrigger))
2017 return false; 2014 return false;
2018 2015
2019 if (Settings* settings = m_renderView->document().settings()) { 2016 if (Settings* settings = m_renderView->document().settings()) {
2020 if (!settings->acceleratedCompositingForTransitionEnabled()) 2017 if (!settings->acceleratedCompositingForTransitionEnabled())
2021 return false; 2018 return false;
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
2193 2190
2194 bool RenderLayerCompositor::requiresCompositingForOverflowScrolling(const Render Layer* layer) const 2191 bool RenderLayerCompositor::requiresCompositingForOverflowScrolling(const Render Layer* layer) const
2195 { 2192 {
2196 return layer->needsCompositedScrolling(); 2193 return layer->needsCompositedScrolling();
2197 } 2194 }
2198 2195
2199 bool RenderLayerCompositor::isRunningAcceleratedTransformAnimation(RenderObject* renderer) const 2196 bool RenderLayerCompositor::isRunningAcceleratedTransformAnimation(RenderObject* renderer) const
2200 { 2197 {
2201 if (!(m_compositingTriggers & ChromeClient::AnimationTrigger)) 2198 if (!(m_compositingTriggers & ChromeClient::AnimationTrigger))
2202 return false; 2199 return false;
2203 2200 return renderer->animation()->isRunningAnimationOnRenderer(renderer, CSSProp ertyWebkitTransform);
2204 if (AnimationController* animController = renderer->animation())
2205 return animController->isRunningAnimationOnRenderer(renderer, CSSPropert yWebkitTransform);
2206
2207 return false;
2208 } 2201 }
2209 2202
2210 // If an element has negative z-index children, those children render in front o f the 2203 // If an element has negative z-index children, those children render in front o f the
2211 // layer background, so we need an extra 'contents' layer for the foreground of the layer 2204 // layer background, so we need an extra 'contents' layer for the foreground of the layer
2212 // object. 2205 // object.
2213 bool RenderLayerCompositor::needsContentsCompositingLayer(const RenderLayer* lay er) const 2206 bool RenderLayerCompositor::needsContentsCompositingLayer(const RenderLayer* lay er) const
2214 { 2207 {
2215 return layer->hasNegativeZOrderList(); 2208 return layer->hasNegativeZOrderList();
2216 } 2209 }
2217 2210
(...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after
2816 } else if (graphicsLayer == m_scrollLayer.get()) { 2809 } else if (graphicsLayer == m_scrollLayer.get()) {
2817 name = "Frame Scrolling Layer"; 2810 name = "Frame Scrolling Layer";
2818 } else { 2811 } else {
2819 ASSERT_NOT_REACHED(); 2812 ASSERT_NOT_REACHED();
2820 } 2813 }
2821 2814
2822 return name; 2815 return name;
2823 } 2816 }
2824 2817
2825 } // namespace WebCore 2818 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderImage.cpp ('k') | Source/core/rendering/RenderObject.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698