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

Unified Diff: cc/animation/element_animations.h

Issue 2261113002: CC Animation: Introduce some dirty flags to optimize PushProperties on commit (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Do not change SetNeedsCommit invalidation, leave it as-is. Created 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/animation/animation_timeline.cc ('k') | cc/animation/element_animations.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/animation/element_animations.h
diff --git a/cc/animation/element_animations.h b/cc/animation/element_animations.h
index 93f4f0e9f0d516ebcad6ed1284aec34dcdb4d677..7d5be98d5e49f98abf93336677514bc244498b5b 100644
--- a/cc/animation/element_animations.h
+++ b/cc/animation/element_animations.h
@@ -178,6 +178,9 @@ class CC_EXPORT ElementAnimations : public base::RefCounted<ElementAnimations> {
return needs_to_start_animations_;
}
+ void SetNeedsPushProperties();
+ bool needs_push_properties() const { return needs_push_properties_; }
+
private:
friend class base::RefCounted<ElementAnimations>;
@@ -221,9 +224,6 @@ class CC_EXPORT ElementAnimations : public base::RefCounted<ElementAnimations> {
void NotifyClientScrollOffsetAnimated(const gfx::ScrollOffset& scroll_offset,
bool notify_active_elements,
bool notify_pending_elements);
-
- void NotifyClientAnimationWaitingForDeletion();
-
void NotifyClientAnimationChanged(
TargetProperty::Type property,
ElementListType list_type,
@@ -239,7 +239,6 @@ class CC_EXPORT ElementAnimations : public base::RefCounted<ElementAnimations> {
const gfx::Transform& transform);
void OnScrollOffsetAnimated(ElementListType list_type,
const gfx::ScrollOffset& scroll_offset);
- void OnAnimationWaitingForDeletion();
void IsAnimatingChanged(ElementListType list_type,
TargetProperty::Type property,
AnimationChangeType change_type,
@@ -255,6 +254,7 @@ class CC_EXPORT ElementAnimations : public base::RefCounted<ElementAnimations> {
void NotifyPlayersAnimationAborted(base::TimeTicks monotonic_time,
TargetProperty::Type target_property,
int group);
+ void NotifyPlayersAnimationWaitingForDeletion();
void NotifyPlayersAnimationPropertyUpdate(const AnimationEvent& event);
void NotifyPlayersAnimationTakeover(base::TimeTicks monotonic_time,
TargetProperty::Type target_property,
@@ -280,6 +280,8 @@ class CC_EXPORT ElementAnimations : public base::RefCounted<ElementAnimations> {
bool scroll_offset_animation_was_interrupted_;
+ bool needs_push_properties_;
+
struct PropertyAnimationState {
bool currently_running_for_active_elements = false;
bool currently_running_for_pending_elements = false;
« no previous file with comments | « cc/animation/animation_timeline.cc ('k') | cc/animation/element_animations.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698