 Chromium Code Reviews
 Chromium Code Reviews Issue 1246363002:
  Avoid updating compositor animations in hitTest path  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/blink.git@master
    
  
    Issue 1246363002:
  Avoid updating compositor animations in hitTest path  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/blink.git@master| OLD | NEW | 
|---|---|
| 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 10 matching lines...) Expand all Loading... | |
| 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
| 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
| 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
| 24 */ | 24 */ | 
| 25 | 25 | 
| 26 #include "config.h" | 26 #include "config.h" | 
| 27 | 27 | 
| 28 #include "core/layout/compositing/DeprecatedPaintLayerCompositor.h" | 28 #include "core/layout/compositing/DeprecatedPaintLayerCompositor.h" | 
| 29 | 29 | 
| 30 #include "core/animation/AnimationTimeline.h" | 30 #include "core/animation/AnimationTimeline.h" | 
| 31 #include "core/animation/DocumentAnimations.h" | |
| 32 #include "core/dom/DOMNodeIds.h" | 31 #include "core/dom/DOMNodeIds.h" | 
| 33 #include "core/dom/Fullscreen.h" | 32 #include "core/dom/Fullscreen.h" | 
| 34 #include "core/editing/FrameSelection.h" | 33 #include "core/editing/FrameSelection.h" | 
| 35 #include "core/frame/FrameHost.h" | 34 #include "core/frame/FrameHost.h" | 
| 36 #include "core/frame/FrameView.h" | 35 #include "core/frame/FrameView.h" | 
| 37 #include "core/frame/LocalFrame.h" | 36 #include "core/frame/LocalFrame.h" | 
| 38 #include "core/frame/Settings.h" | 37 #include "core/frame/Settings.h" | 
| 39 #include "core/html/HTMLIFrameElement.h" | 38 #include "core/html/HTMLIFrameElement.h" | 
| 40 #include "core/inspector/InspectorInstrumentation.h" | 39 #include "core/inspector/InspectorInstrumentation.h" | 
| 41 #include "core/layout/LayoutPart.h" | 40 #include "core/layout/LayoutPart.h" | 
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 225 updateDescendantDependentFlagsForEntireSubtree(*rootLayer()); | 224 updateDescendantDependentFlagsForEntireSubtree(*rootLayer()); | 
| 226 m_needsUpdateDescendantDependentFlags = false; | 225 m_needsUpdateDescendantDependentFlags = false; | 
| 227 } | 226 } | 
| 228 | 227 | 
| 229 m_layoutView.commitPendingSelection(); | 228 m_layoutView.commitPendingSelection(); | 
| 230 | 229 | 
| 231 lifecycle().advanceTo(DocumentLifecycle::InCompositingUpdate); | 230 lifecycle().advanceTo(DocumentLifecycle::InCompositingUpdate); | 
| 232 updateIfNeeded(); | 231 updateIfNeeded(); | 
| 233 lifecycle().advanceTo(DocumentLifecycle::CompositingClean); | 232 lifecycle().advanceTo(DocumentLifecycle::CompositingClean); | 
| 234 | 233 | 
| 235 DocumentAnimations::updateCompositorAnimations(m_layoutView.document()); | |
| 236 | |
| 237 m_layoutView.frameView()->scrollableArea()->updateCompositorScrollAnimations (); | |
| 238 if (const FrameView::ScrollableAreaSet* animatingScrollableAreas = m_layoutV iew.frameView()->animatingScrollableAreas()) { | |
| 239 for (ScrollableArea* scrollableArea : *animatingScrollableAreas) | |
| 240 scrollableArea->updateCompositorScrollAnimations(); | |
| 241 } | |
| 242 | |
| 
qiankun
2015/07/24 10:57:08
Move these code out of updateIfNeededRecursive wil
 | |
| 243 #if ENABLE(ASSERT) | 234 #if ENABLE(ASSERT) | 
| 244 ASSERT(lifecycle().state() == DocumentLifecycle::CompositingClean); | 235 ASSERT(lifecycle().state() == DocumentLifecycle::CompositingClean); | 
| 245 assertNoUnresolvedDirtyBits(); | 236 assertNoUnresolvedDirtyBits(); | 
| 246 for (Frame* child = m_layoutView.frameView()->frame().tree().firstChild(); c hild; child = child->tree().nextSibling()) { | 237 for (Frame* child = m_layoutView.frameView()->frame().tree().firstChild(); c hild; child = child->tree().nextSibling()) { | 
| 247 if (child->isLocalFrame()) | 238 if (child->isLocalFrame()) | 
| 248 toLocalFrame(child)->contentLayoutObject()->compositor()->assertNoUn resolvedDirtyBits(); | 239 toLocalFrame(child)->contentLayoutObject()->compositor()->assertNoUn resolvedDirtyBits(); | 
| 249 } | 240 } | 
| 250 #endif | 241 #endif | 
| 251 } | 242 } | 
| 252 | 243 | 
| (...skipping 953 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1206 } else if (graphicsLayer == m_scrollLayer.get()) { | 1197 } else if (graphicsLayer == m_scrollLayer.get()) { | 
| 1207 name = "LocalFrame Scrolling Layer"; | 1198 name = "LocalFrame Scrolling Layer"; | 
| 1208 } else { | 1199 } else { | 
| 1209 ASSERT_NOT_REACHED(); | 1200 ASSERT_NOT_REACHED(); | 
| 1210 } | 1201 } | 
| 1211 | 1202 | 
| 1212 return name; | 1203 return name; | 
| 1213 } | 1204 } | 
| 1214 | 1205 | 
| 1215 } // namespace blink | 1206 } // namespace blink | 
| OLD | NEW |