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

Side by Side Diff: Source/core/animation/DocumentAnimations.cpp

Issue 1218943002: Compositor animations for Independent CSS Transform Properties (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Clean up Created 5 years, 5 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 if (needsOutdatedAnimationUpdate(document) || document.timeline().needsAnima tionTimingUpdate()) 63 if (needsOutdatedAnimationUpdate(document) || document.timeline().needsAnima tionTimingUpdate())
64 updateAnimationTiming(document, TimingUpdateOnDemand); 64 updateAnimationTiming(document, TimingUpdateOnDemand);
65 } 65 }
66 66
67 void DocumentAnimations::updateAnimationTimingForGetComputedStyle(Node& node, CS SPropertyID property) 67 void DocumentAnimations::updateAnimationTimingForGetComputedStyle(Node& node, CS SPropertyID property)
68 { 68 {
69 if (!node.isElementNode()) 69 if (!node.isElementNode())
70 return; 70 return;
71 const Element& element = toElement(node); 71 const Element& element = toElement(node);
72 if (const ComputedStyle* style = element.computedStyle()) { 72 if (const ComputedStyle* style = element.computedStyle()) {
73 bool isTransformProperty = property == CSSPropertyRotate
74 || property == CSSPropertyScale
75 || property == CSSPropertyTransform
76 || property == CSSPropertyTranslate;
73 if ((property == CSSPropertyOpacity && style->isRunningOpacityAnimationO nCompositor()) 77 if ((property == CSSPropertyOpacity && style->isRunningOpacityAnimationO nCompositor())
74 || (property == CSSPropertyTransform && style->isRunningTransformAni mationOnCompositor()) 78 || (isTransformProperty && style->isRunningTransformAnimationOnCompo sitor())
75 || (property == CSSPropertyWebkitFilter && style->isRunningFilterAni mationOnCompositor())) { 79 || (property == CSSPropertyWebkitFilter && style->isRunningFilterAni mationOnCompositor())) {
76 updateAnimationTiming(element.document(), TimingUpdateOnDemand); 80 updateAnimationTiming(element.document(), TimingUpdateOnDemand);
77 } 81 }
78 } 82 }
79 } 83 }
80 84
81 bool DocumentAnimations::needsOutdatedAnimationUpdate(const Document& document) 85 bool DocumentAnimations::needsOutdatedAnimationUpdate(const Document& document)
82 { 86 {
83 return document.timeline().hasOutdatedAnimation(); 87 return document.timeline().hasOutdatedAnimation();
84 } 88 }
85 89
86 void DocumentAnimations::updateCompositorAnimations(Document& document) 90 void DocumentAnimations::updateCompositorAnimations(Document& document)
87 { 91 {
88 ASSERT(document.lifecycle().state() == DocumentLifecycle::CompositingClean); 92 ASSERT(document.lifecycle().state() == DocumentLifecycle::CompositingClean);
89 if (document.compositorPendingAnimations().update()) { 93 if (document.compositorPendingAnimations().update()) {
90 ASSERT(document.view()); 94 ASSERT(document.view());
91 document.view()->scheduleAnimation(); 95 document.view()->scheduleAnimation();
92 } 96 }
93 97
94 document.timeline().scheduleNextService(); 98 document.timeline().scheduleNextService();
95 } 99 }
96 100
97 } // namespace blink 101 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698