New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 678875 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jan 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 654309



Sign in to add a comment

Minimise existing Interpolation hierarchy

Project Member Reported by suzyh@chromium.org, Jan 6 2017

Issue description

Subtask of issue 654309 "Simplify interpolation code in Blink", outlined in https://docs.google.com/document/d/1Gbx2GuKbCKQgQIuKUEqh80xSZFNRemxmOMYHtRIwxKk/edit
 
Project Member

Comment 2 by bugdroid1@chromium.org, Jan 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/10f8f0ea92fd3dd7303948a01662d64c09785479

commit 10f8f0ea92fd3dd7303948a01662d64c09785479
Author: suzyh <suzyh@chromium.org>
Date: Mon Jan 09 06:37:18 2017

Combine {Legacy,}StyleInterpolation

This patch removes the distinction between StyleInterpolation and
LegacyStyleInterpolation, combining them into a single LegacyStyleInterpolation
class.

BUG= 678875 

Review-Url: https://codereview.chromium.org/2617703004
Cr-Commit-Position: refs/heads/master@{#442201}

[modify] https://crrev.com/10f8f0ea92fd3dd7303948a01662d64c09785479/third_party/WebKit/Source/core/animation/Interpolation.h
[modify] https://crrev.com/10f8f0ea92fd3dd7303948a01662d64c09785479/third_party/WebKit/Source/core/animation/LegacyStyleInterpolation.h
[modify] https://crrev.com/10f8f0ea92fd3dd7303948a01662d64c09785479/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp

Project Member

Comment 3 by bugdroid1@chromium.org, Jan 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/28c3509737c9bca061e828e74ad67f8062ef16b9

commit 28c3509737c9bca061e828e74ad67f8062ef16b9
Author: suzyh <suzyh@chromium.org>
Date: Wed Jan 11 04:38:36 2017

Remove most content from Interpolation

The majority of the data and logic in the Interpolation base class is only
required for the LegacyStyleInterpolation subclass, and is ignored or
overwritten for InvalidatableInterpolation. This patch moves this data and logic
down the hierarchy into LegacyStyleInterpolation.

As additional consequences:
- SampleInterpolation classes defined in tests inherit from
  LegacyStyleInterpolation instead of the Interpolation base class
- getCachedValueForTesting is made pure virtual, requiring a placeholder
  implementation to be added to InvalidatableInterpolation, although this is not
  called anywhere

BUG= 678875 

Review-Url: https://codereview.chromium.org/2619173002
Cr-Commit-Position: refs/heads/master@{#442801}

[modify] https://crrev.com/28c3509737c9bca061e828e74ad67f8062ef16b9/third_party/WebKit/Source/core/animation/BUILD.gn
[modify] https://crrev.com/28c3509737c9bca061e828e74ad67f8062ef16b9/third_party/WebKit/Source/core/animation/InterpolableValue.h
[modify] https://crrev.com/28c3509737c9bca061e828e74ad67f8062ef16b9/third_party/WebKit/Source/core/animation/InterpolableValueTest.cpp
[modify] https://crrev.com/28c3509737c9bca061e828e74ad67f8062ef16b9/third_party/WebKit/Source/core/animation/Interpolation.h
[modify] https://crrev.com/28c3509737c9bca061e828e74ad67f8062ef16b9/third_party/WebKit/Source/core/animation/InterpolationEffectTest.cpp
[modify] https://crrev.com/28c3509737c9bca061e828e74ad67f8062ef16b9/third_party/WebKit/Source/core/animation/InvalidatableInterpolation.h
[rename] https://crrev.com/28c3509737c9bca061e828e74ad67f8062ef16b9/third_party/WebKit/Source/core/animation/LegacyStyleInterpolation.cpp
[modify] https://crrev.com/28c3509737c9bca061e828e74ad67f8062ef16b9/third_party/WebKit/Source/core/animation/LegacyStyleInterpolation.h

Project Member

Comment 4 by bugdroid1@chromium.org, Jan 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ff407634505cc3c6203ed2f746000b6d6eea79b6

commit ff407634505cc3c6203ed2f746000b6d6eea79b6
Author: suzyh <suzyh@chromium.org>
Date: Wed Jan 11 23:40:52 2017

Remove unused code in InvalidatableInterpolation

This patch removes two functions in InvalidatableInterpolation that are
unreached: apply and getCachedValueForTesting.

Since InvalidatableInterpolation has cached values, I had originally intended to
supply a meaningful implementation for getCachedValueForTesting. However, after
further consultation, I'm instead removing the virtual function from the
Interpolation superclass and modifying the tests that use it to make it explicit
that they will be executing LegacyStyleInterpolation::getCachedValueForTesting.

BUG= 678875 

Review-Url: https://codereview.chromium.org/2627793002
Cr-Commit-Position: refs/heads/master@{#443055}

[modify] https://crrev.com/ff407634505cc3c6203ed2f746000b6d6eea79b6/third_party/WebKit/Source/core/animation/InterpolableValueTest.cpp
[modify] https://crrev.com/ff407634505cc3c6203ed2f746000b6d6eea79b6/third_party/WebKit/Source/core/animation/Interpolation.h
[modify] https://crrev.com/ff407634505cc3c6203ed2f746000b6d6eea79b6/third_party/WebKit/Source/core/animation/InterpolationEffectTest.cpp
[modify] https://crrev.com/ff407634505cc3c6203ed2f746000b6d6eea79b6/third_party/WebKit/Source/core/animation/InvalidatableInterpolation.h
[modify] https://crrev.com/ff407634505cc3c6203ed2f746000b6d6eea79b6/third_party/WebKit/Source/core/animation/LegacyStyleInterpolation.h

Comment 5 by suzyh@chromium.org, Jan 11 2017

Status: Fixed (was: Started)

Sign in to add a comment