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

Issue 13943004: Avoid reparsing keyframe selectors (Closed)

Created:
7 years, 8 months ago by shalamov
Modified:
7 years, 3 months ago
Reviewers:
apavlov
CC:
blink-reviews, shans, dstockwell, Steve Block
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

At the moment, keyframe selectors are parsed by CSSParser and then at runtime by StyleKeyframe class. To avoid reparsing, StyleKeyframe could store array of parsed keyframe selector values. BUG=233107 TEST= covered by LayoutTests/animations/

Patch Set 1 #

Total comments: 1

Patch Set 2 : Avoid reparsing of keyframe selector #

Patch Set 3 : Rebased to master #

Total comments: 3

Patch Set 4 : Fixes according to review comments #

Patch Set 5 : #

Total comments: 3

Patch Set 6 : Fixes according to review comments. #

Total comments: 2

Patch Set 7 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+54 lines, -23 lines) Patch
M Source/core/css/CSSKeyframeRule.h View 1 2 3 4 5 6 2 chunks +7 lines, -7 lines 0 comments Download
M Source/core/css/CSSKeyframeRule.cpp View 1 2 3 4 5 6 3 chunks +40 lines, -6 lines 0 comments Download
M Source/core/css/CSSParser.cpp View 1 2 3 4 5 2 chunks +6 lines, -8 lines 0 comments Download
M Source/core/css/resolver/StyleResolver.cpp View 1 2 3 4 5 6 1 chunk +1 line, -2 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
apavlov
Doesn't https://codereview.chromium.org/13871007/ cover this entirely? One other thing that needs some treatment is this: "To ...
7 years, 8 months ago (2013-04-22 13:30:23 UTC) #1
shalamov
> Doesn't https://codereview.chromium.org/13871007/ cover this entirely? > It covers my fix partially. I could keep ...
7 years, 8 months ago (2013-04-23 10:46:39 UTC) #2
apavlov
On 2013/04/23 10:46:39, shalamov wrote: > > Doesn't https://codereview.chromium.org/13871007/ cover this entirely? > > > ...
7 years, 7 months ago (2013-04-29 09:55:45 UTC) #3
apavlov
@shalamov: ping? Is this change still of current interest?
7 years, 6 months ago (2013-06-13 12:13:55 UTC) #4
apavlov
LGTM with nits https://codereview.chromium.org/13943004/diff/10001/Source/core/css/CSSKeyframeRule.cpp File Source/core/css/CSSKeyframeRule.cpp (right): https://codereview.chromium.org/13943004/diff/10001/Source/core/css/CSSKeyframeRule.cpp#newcode65 Source/core/css/CSSKeyframeRule.cpp:65: keyString.append(String::number(key*100)); whitespace around '*' https://codereview.chromium.org/13943004/diff/10001/Source/core/css/CSSKeyframeRule.cpp#newcode89 Source/core/css/CSSKeyframeRule.cpp:89: ...
7 years, 6 months ago (2013-06-18 09:59:50 UTC) #5
apavlov
https://codereview.chromium.org/13943004/diff/18001/Source/core/css/CSSKeyframeRule.h File Source/core/css/CSSKeyframeRule.h (right): https://codereview.chromium.org/13943004/diff/18001/Source/core/css/CSSKeyframeRule.h#newcode52 Source/core/css/CSSKeyframeRule.h:52: Vector<float> getKeys() const { return m_keys; } This should ...
7 years, 6 months ago (2013-06-26 10:45:39 UTC) #6
apavlov
7 years, 5 months ago (2013-07-04 22:02:51 UTC) #7
https://codereview.chromium.org/13943004/diff/28001/Source/core/css/CSSKeyfra...
File Source/core/css/CSSKeyframeRule.cpp (left):

https://codereview.chromium.org/13943004/diff/28001/Source/core/css/CSSKeyfra...
Source/core/css/CSSKeyframeRule.cpp:59: keys.clear();
Hmm, just noticed. Why did this get removed? When parsing a new key string, key
values will get appended to the existing Vector of keys, right?

https://codereview.chromium.org/13943004/diff/28001/Source/core/css/CSSKeyfra...
File Source/core/css/CSSKeyframeRule.h (right):

https://codereview.chromium.org/13943004/diff/28001/Source/core/css/CSSKeyfra...
Source/core/css/CSSKeyframeRule.h:52: const Vector<float>& getKeys() const {
return m_keys; }
In WebKit/Blink, getFoo(...) usually fills an output parameter. Normally,
getters do not have the "get" prefix. You can fix this in a subsequent patch.

Powered by Google App Engine
This is Rietveld 408576698