OLD | NEW |
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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 document.animationClock().updateTime(monotonicAnimationStartTime); | 57 document.animationClock().updateTime(monotonicAnimationStartTime); |
58 updateAnimationTiming(document, TimingUpdateForAnimationFrame); | 58 updateAnimationTiming(document, TimingUpdateForAnimationFrame); |
59 } | 59 } |
60 | 60 |
61 void DocumentAnimations::updateOutdatedAnimationPlayersIfNeeded(Document& docume
nt) | 61 void DocumentAnimations::updateOutdatedAnimationPlayersIfNeeded(Document& docume
nt) |
62 { | 62 { |
63 if (needsOutdatedAnimationPlayerUpdate(document)) | 63 if (needsOutdatedAnimationPlayerUpdate(document)) |
64 updateAnimationTiming(document, TimingUpdateOnDemand); | 64 updateAnimationTiming(document, TimingUpdateOnDemand); |
65 } | 65 } |
66 | 66 |
67 void DocumentAnimations::updateAnimationTimingForGetComputedStyle(Node& node, CS
SPropertyID property) | |
68 { | |
69 if (!node.isElementNode()) | |
70 return; | |
71 const Element& element = toElement(node); | |
72 if (RenderStyle* style = element.renderStyle()) { | |
73 if ((property == CSSPropertyOpacity && style->isRunningOpacityAnimationO
nCompositor()) | |
74 || ((property == CSSPropertyTransform || property == CSSPropertyWebk
itTransform) && style->isRunningTransformAnimationOnCompositor()) | |
75 || (property == CSSPropertyWebkitFilter && style->isRunningFilterAni
mationOnCompositor())) { | |
76 updateAnimationTiming(element.document(), TimingUpdateOnDemand); | |
77 } | |
78 } | |
79 } | |
80 | |
81 bool DocumentAnimations::needsOutdatedAnimationPlayerUpdate(const Document& docu
ment) | 67 bool DocumentAnimations::needsOutdatedAnimationPlayerUpdate(const Document& docu
ment) |
82 { | 68 { |
83 return document.timeline().hasOutdatedAnimationPlayer(); | 69 return document.timeline().hasOutdatedAnimationPlayer(); |
84 } | 70 } |
85 | 71 |
86 // FIXME: Rename to updateCompositorAnimations | 72 // FIXME: Rename to updateCompositorAnimations |
87 void DocumentAnimations::startPendingAnimations(Document& document) | 73 void DocumentAnimations::startPendingAnimations(Document& document) |
88 { | 74 { |
89 ASSERT(document.lifecycle().state() == DocumentLifecycle::PaintInvalidationC
lean); | 75 ASSERT(document.lifecycle().state() == DocumentLifecycle::PaintInvalidationC
lean); |
90 if (document.compositorPendingAnimations().update()) { | 76 if (document.pendingAnimations().update()) { |
91 ASSERT(document.view()); | 77 ASSERT(document.view()); |
92 document.view()->scheduleAnimation(); | 78 document.view()->scheduleAnimation(); |
93 } | 79 } |
94 } | 80 } |
95 | 81 |
96 } // namespace blink | 82 } // namespace blink |
OLD | NEW |