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

Issue 153883003: [SVG] SVGAnimatedTransform{,List} migration to new SVG property impl. (Closed)

Created:
6 years, 10 months ago by kouhei (in TOK)
Modified:
6 years, 10 months ago
Reviewers:
haraken, pdr., fs
CC:
blink-reviews, shans, fs, adamk+blink_chromium.org, Steve Block, dino_apple.com, rwlbuis, Nils Barth (inactive), Nate Chapin, arv+blink, alancutter (OOO until 2018), dstockwell, dglazkov+blink, abarth-chromium, aandrey+blink_chromium.org, marja+watch_chromium.org, Timothy Loh, Rik, pdr., Eric Willigers, rjwright, sof, krit, gyuyoung.kim_webkit.org, darktears, kojih, jsbell+bindings_chromium.org, Mike Lawther (Google), ed+blinkwatch_opera.com, f(malita), Inactive, Stephen Chennney, watchdog-blink-watchlist_google.com
Visibility:
Public.

Description

[SVG] SVGAnimatedTransform{,List} migration to new SVG property impl. This CL replaces SVGAnimatedTransform{,List} with NewSVGProperty based implementation, and replaces SVGMatrixTearOff implementation. The class hierarchy is quite complicated, so please refer to diagram: https://docs.google.com/a/chromium.org/document/d/1bg7CUyUszqdwmENY3JX6_PoQD6uHRCNcRPJMlC4qlkw/edit#heading=h.c8zvu36koui6 This patch slightly modifies how "SVG fragment identifiers" are parsed. When multiple transform()s are specified, only the last transform() will be used. This behavior is spec conformant: http://www.w3.org/TR/SVG/single-page.html#linking-SVGFragmentIdentifiers For details, see design doc: https://docs.google.com/document/d/1bg7CUyUszqdwmENY3JX6_PoQD6uHRCNcRPJMlC4qlkw/edit?usp=sharing NOTRY=true BUG=308818 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=167565

Patch Set 1 #

Total comments: 16

Patch Set 2 : haraken review #

Total comments: 28

Patch Set 3 : fs/pdr review #

Patch Set 4 : rebase #

Patch Set 5 : rebaseline bindings exp #

Patch Set 6 : resolve method name conflict #

Patch Set 7 : compile fix #

Patch Set 8 : remove m_zoomAndPan #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1254 lines, -1292 lines) Patch
M LayoutTests/resources/js-test.js View 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/svg/animations/animate-gradient-transform-expected.txt View 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/svg/custom/get-text-element-transform-crash-expected.txt View 1 chunk +1 line, -0 lines 0 comments Download
M LayoutTests/svg/custom/invalid-transforms-expected.txt View 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/svg/custom/transform-ignore-after-invalid-expected.txt View 1 chunk +1 line, -0 lines 0 comments Download
M LayoutTests/svg/custom/transform-invalid-expected.txt View 1 chunk +30 lines, -0 lines 0 comments Download
M LayoutTests/svg/custom/webkit-transform-crash.html View 1 chunk +4 lines, -1 line 0 comments Download
M LayoutTests/svg/dom/SVGTransformList-basics-expected.txt View 1 2 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/svg/dom/SVGViewSpec-defaults-expected.txt View 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/svg/dom/transform-parser-expected.txt View Binary file 0 comments Download
M LayoutTests/svg/hixie/transform/001-expected.txt View 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/scripts/code_generator_v8.pm View 1 2 3 4 5 6 7 chunks +5 lines, -43 lines 0 comments Download
M Source/bindings/tests/idls/TestInterface.idl View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/idls/TestInterfacePython.idl View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/V8TestInterface.cpp View 1 2 3 4 5 6 2 chunks +3 lines, -4 lines 0 comments Download
M Source/bindings/tests/results/V8TestInterfacePython.cpp View 1 2 3 4 5 6 2 chunks +4 lines, -4 lines 0 comments Download
M Source/core/core.gypi View 1 2 3 4 5 6 4 chunks +6 lines, -3 lines 0 comments Download
M Source/core/html/canvas/CanvasRenderingContext2D.h View 2 chunks +4 lines, -4 lines 0 comments Download
M Source/core/html/canvas/CanvasRenderingContext2D.cpp View 1 2 3 4 5 6 1 chunk +4 lines, -2 lines 0 comments Download
M Source/core/html/canvas/CanvasRenderingContext2D.idl View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/svg/SVGAnimateTransformElement.h View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/svg/SVGAnimateTransformElement.cpp View 2 chunks +3 lines, -3 lines 0 comments Download
M Source/core/svg/SVGAnimatedNewPropertyAnimator.cpp View 1 2 4 chunks +16 lines, -3 lines 0 comments Download
M Source/core/svg/SVGAnimatedTransformList.h View 1 chunk +27 lines, -45 lines 0 comments Download
D Source/core/svg/SVGAnimatedTransformList.cpp View 1 chunk +0 lines, -152 lines 0 comments Download
M Source/core/svg/SVGAnimatedType.h View 1 2 3 3 chunks +0 lines, -19 lines 0 comments Download
M Source/core/svg/SVGAnimatedType.cpp View 1 2 3 5 chunks +5 lines, -12 lines 0 comments Download
M Source/core/svg/SVGAnimatorFactory.h View 1 2 3 2 chunks +3 lines, -3 lines 0 comments Download
M Source/core/svg/SVGGradientElement.h View 1 2 3 2 chunks +2 lines, -1 line 0 comments Download
M Source/core/svg/SVGGradientElement.cpp View 1 2 3 2 chunks +5 lines, -12 lines 0 comments Download
M Source/core/svg/SVGGraphicsElement.h View 4 chunks +10 lines, -2 lines 0 comments Download
M Source/core/svg/SVGGraphicsElement.cpp View 6 chunks +24 lines, -15 lines 0 comments Download
M Source/core/svg/SVGGraphicsElement.idl View 1 chunk +6 lines, -4 lines 0 comments Download
M Source/core/svg/SVGLinearGradientElement.cpp View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M Source/core/svg/SVGMPathElement.cpp View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
D Source/core/svg/SVGMatrix.h View 1 chunk +0 lines, -129 lines 0 comments Download
M Source/core/svg/SVGMatrix.idl View 1 chunk +16 lines, -15 lines 0 comments Download
A Source/core/svg/SVGMatrixTearOff.h View 1 chunk +104 lines, -0 lines 0 comments Download
A Source/core/svg/SVGMatrixTearOff.cpp View 1 chunk +179 lines, -0 lines 0 comments Download
M Source/core/svg/SVGParserUtilities.h View 1 2 chunks +3 lines, -13 lines 0 comments Download
M Source/core/svg/SVGParserUtilities.cpp View 3 chunks +16 lines, -166 lines 0 comments Download
M Source/core/svg/SVGPatternElement.h View 1 2 3 2 chunks +3 lines, -1 line 0 comments Download
M Source/core/svg/SVGPatternElement.cpp View 1 2 3 6 chunks +6 lines, -11 lines 0 comments Download
M Source/core/svg/SVGPointList.cpp View 1 chunk +0 lines, -1 line 0 comments Download
M Source/core/svg/SVGPointTearOff.h View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/svg/SVGPointTearOff.cpp View 2 chunks +3 lines, -3 lines 0 comments Download
M Source/core/svg/SVGRadialGradientElement.cpp View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M Source/core/svg/SVGSVGElement.h View 1 2 3 2 chunks +5 lines, -5 lines 0 comments Download
M Source/core/svg/SVGSVGElement.cpp View 1 2 3 4 chunks +10 lines, -9 lines 0 comments Download
M Source/core/svg/SVGTextElement.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/svg/SVGTransform.h View 1 2 4 chunks +62 lines, -23 lines 0 comments Download
M Source/core/svg/SVGTransform.cpp View 1 2 3 4 5 6 8 chunks +67 lines, -19 lines 0 comments Download
M Source/core/svg/SVGTransform.idl View 1 2 3 4 5 2 chunks +10 lines, -8 lines 0 comments Download
M Source/core/svg/SVGTransformDistance.h View 1 chunk +5 lines, -5 lines 0 comments Download
M Source/core/svg/SVGTransformDistance.cpp View 3 chunks +100 lines, -94 lines 0 comments Download
M Source/core/svg/SVGTransformList.h View 1 chunk +62 lines, -29 lines 0 comments Download
M Source/core/svg/SVGTransformList.cpp View 1 2 3 4 5 6 2 chunks +296 lines, -35 lines 0 comments Download
M Source/core/svg/SVGTransformList.idl View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
A + Source/core/svg/SVGTransformListTearOff.h View 1 2 3 1 chunk +15 lines, -13 lines 0 comments Download
A + Source/core/svg/SVGTransformListTearOff.cpp View 1 chunk +16 lines, -8 lines 0 comments Download
A + Source/core/svg/SVGTransformTearOff.h View 1 2 3 4 5 1 chunk +38 lines, -15 lines 0 comments Download
A + Source/core/svg/SVGTransformTearOff.cpp View 1 2 3 1 chunk +32 lines, -23 lines 0 comments Download
M Source/core/svg/SVGViewSpec.h View 1 2 3 4 5 6 7 2 chunks +3 lines, -16 lines 0 comments Download
M Source/core/svg/SVGViewSpec.cpp View 1 2 3 6 chunks +14 lines, -56 lines 0 comments Download
M Source/core/svg/SVGViewSpec.idl View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M Source/core/svg/SVGZoomAndPan.cpp View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/svg/animation/SVGSMILElement.cpp View 1 chunk +1 line, -0 lines 0 comments Download
D Source/core/svg/properties/SVGAnimatedTransformListPropertyTearOff.h View 1 chunk +0 lines, -60 lines 0 comments Download
D Source/core/svg/properties/SVGMatrixTearOff.h View 1 chunk +0 lines, -108 lines 0 comments Download
M Source/core/svg/properties/SVGPropertyInfo.h View 1 1 chunk +1 line, -0 lines 0 comments Download
D Source/core/svg/properties/SVGTransformListPropertyTearOff.h View 1 2 1 chunk +0 lines, -78 lines 0 comments Download

Messages

Total messages: 42 (0 generated)
kouhei (in TOK)
haraken, pdr: Would you take a look?
6 years, 10 months ago (2014-02-10 12:30:36 UTC) #1
kouhei (in TOK)
https://codereview.chromium.org/153883003/diff/1/Source/core/svg/properties/SVGPropertyInfo.h File Source/core/svg/properties/SVGPropertyInfo.h (right): https://codereview.chromium.org/153883003/diff/1/Source/core/svg/properties/SVGPropertyInfo.h#newcode45 Source/core/svg/properties/SVGPropertyInfo.h:45: AnimatedMatrix, This seems not needed. Will remove this tomorrow.
6 years, 10 months ago (2014-02-10 12:33:07 UTC) #2
kouhei (in TOK)
https://codereview.chromium.org/153883003/diff/1/Source/core/svg/properties/NewSVGAnimatedProperty.h File Source/core/svg/properties/NewSVGAnimatedProperty.h (right): https://codereview.chromium.org/153883003/diff/1/Source/core/svg/properties/NewSVGAnimatedProperty.h#newcode56 Source/core/svg/properties/NewSVGAnimatedProperty.h:56: virtual PassRefPtr<NewSVGPropertyBase> createAnimatedValue(SVGAnimationElement*) = 0; I will revert this ...
6 years, 10 months ago (2014-02-10 12:37:20 UTC) #3
haraken
I scanned half of the CL, but the CL is huge and a bit hard ...
6 years, 10 months ago (2014-02-11 17:00:20 UTC) #4
kouhei (in TOK)
haraken: PTAL. I've documented the class hierarchy in https://docs.google.com/a/chromium.org/document/d/1bg7CUyUszqdwmENY3JX6_PoQD6uHRCNcRPJMlC4qlkw/edit#heading=h.c8zvu36koui6 https://codereview.chromium.org/153883003/diff/1/Source/core/svg/SVGAnimatedNewPropertyAnimator.cpp File Source/core/svg/SVGAnimatedNewPropertyAnimator.cpp (right): https://codereview.chromium.org/153883003/diff/1/Source/core/svg/SVGAnimatedNewPropertyAnimator.cpp#newcode69 Source/core/svg/SVGAnimatedNewPropertyAnimator.cpp:69: ...
6 years, 10 months ago (2014-02-12 01:57:48 UTC) #5
fs
Looks-good-to-me (non-owner, owners will probably RS rather than read the whole thing through though ;-)) ...
6 years, 10 months ago (2014-02-17 14:14:31 UTC) #6
pdr.
What a patch! I think the new hierarchy looks good. LGTM with fs@opera's concerns addressed. ...
6 years, 10 months ago (2014-02-18 00:53:56 UTC) #7
kouhei (in TOK)
Thanks for your comments! https://codereview.chromium.org/153883003/diff/190001/Source/core/svg/SVGMPathElement.cpp File Source/core/svg/SVGMPathElement.cpp (right): https://codereview.chromium.org/153883003/diff/190001/Source/core/svg/SVGMPathElement.cpp#newcode28 Source/core/svg/SVGMPathElement.cpp:28: #include "core/svg/SVGElementInstance.h" On 2014/02/17 14:14:31, ...
6 years, 10 months ago (2014-02-18 02:09:12 UTC) #8
kouhei (in TOK)
The CQ bit was checked by kouhei@chromium.org
6 years, 10 months ago (2014-02-18 02:09:32 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kouhei@chromium.org/153883003/420001
6 years, 10 months ago (2014-02-18 02:09:40 UTC) #10
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-18 02:10:01 UTC) #11
commit-bot: I haz the power
Failed to apply patch for Source/core/svg/SVGGradientElement.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
6 years, 10 months ago (2014-02-18 02:10:01 UTC) #12
kouhei (in TOK)
LKGR seems far behind. I'll try after rolls.
6 years, 10 months ago (2014-02-18 02:14:49 UTC) #13
kouhei (in TOK)
The CQ bit was checked by kouhei@chromium.org
6 years, 10 months ago (2014-02-20 03:13:11 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kouhei@chromium.org/153883003/550001
6 years, 10 months ago (2014-02-20 03:16:03 UTC) #15
haraken
LGTM for bindings/
6 years, 10 months ago (2014-02-20 03:25:13 UTC) #16
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-20 03:42:19 UTC) #17
commit-bot: I haz the power
Retried try job too often on blink_presubmit for step(s) presubmit http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=blink_presubmit&number=16349
6 years, 10 months ago (2014-02-20 03:42:20 UTC) #18
kouhei (in TOK)
The CQ bit was checked by kouhei@chromium.org
6 years, 10 months ago (2014-02-20 03:46:00 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kouhei@chromium.org/153883003/550001
6 years, 10 months ago (2014-02-20 03:47:03 UTC) #20
kouhei (in TOK)
The CQ bit was checked by kouhei@chromium.org
6 years, 10 months ago (2014-02-20 04:11:19 UTC) #21
kouhei (in TOK)
The CQ bit was unchecked by kouhei@chromium.org
6 years, 10 months ago (2014-02-20 04:25:55 UTC) #22
kouhei (in TOK)
The CQ bit was checked by kouhei@chromium.org
6 years, 10 months ago (2014-02-20 04:26:11 UTC) #23
kouhei (in TOK)
The CQ bit was unchecked by kouhei@chromium.org
6 years, 10 months ago (2014-02-20 07:00:54 UTC) #24
kouhei (in TOK)
The CQ bit was checked by kouhei@chromium.org
6 years, 10 months ago (2014-02-20 07:01:08 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kouhei@chromium.org/153883003/680001
6 years, 10 months ago (2014-02-20 07:01:20 UTC) #26
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-20 07:42:46 UTC) #27
commit-bot: I haz the power
Retried try job too often on mac_blink_rel for step(s) blink_heap_unittests, blink_platform_unittests, webkit_lint, webkit_python_tests, webkit_tests, webkit_unit_tests, ...
6 years, 10 months ago (2014-02-20 07:42:46 UTC) #28
kouhei (in TOK)
The CQ bit was checked by kouhei@chromium.org
6 years, 10 months ago (2014-02-20 07:44:14 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kouhei@chromium.org/153883003/860001
6 years, 10 months ago (2014-02-20 07:45:31 UTC) #30
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-20 08:42:32 UTC) #31
commit-bot: I haz the power
Retried try job too often on mac_blink_rel for step(s) blink_heap_unittests, blink_platform_unittests, webkit_lint, webkit_python_tests, webkit_tests, webkit_unit_tests, ...
6 years, 10 months ago (2014-02-20 08:42:33 UTC) #32
kouhei (in TOK)
The CQ bit was checked by kouhei@chromium.org
6 years, 10 months ago (2014-02-21 01:18:20 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kouhei@chromium.org/153883003/760002
6 years, 10 months ago (2014-02-21 01:18:48 UTC) #34
kouhei (in TOK)
The CQ bit was checked by kouhei@chromium.org
6 years, 10 months ago (2014-02-21 01:42:13 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kouhei@chromium.org/153883003/1100001
6 years, 10 months ago (2014-02-21 01:42:32 UTC) #36
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-21 03:25:03 UTC) #37
commit-bot: I haz the power
Retried try job too often on win_blink_rel for step(s) webkit_lint, webkit_python_tests, webkit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_blink_rel&number=28238
6 years, 10 months ago (2014-02-21 03:25:04 UTC) #38
kouhei (in TOK)
Failing on unrelated tests. NOTRYing
6 years, 10 months ago (2014-02-21 03:49:44 UTC) #39
kouhei (in TOK)
The CQ bit was checked by kouhei@chromium.org
6 years, 10 months ago (2014-02-21 03:51:09 UTC) #40
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kouhei@chromium.org/153883003/1100001
6 years, 10 months ago (2014-02-21 03:51:33 UTC) #41
commit-bot: I haz the power
6 years, 10 months ago (2014-02-21 03:52:39 UTC) #42
Message was sent while issue was closed.
Change committed as 167565

Powered by Google App Engine
This is Rietveld 408576698