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

Issue 1690173003: Canvas2d: Make the intersection computation O(1) instead of O(n) in ClipList. (Closed)

Created:
4 years, 10 months ago by zino
Modified:
4 years, 10 months ago
Reviewers:
Justin Novosad
CC:
chromium-reviews, krit, pdr+graphicswatchlist_chromium.org, drott+blinkwatch_chromium.org, blink-reviews-platform-graphics_chromium.org, ajuma+watch-canvas_chromium.org, dshwang, jbroman, danakj+watch_chromium.org, Rik, f(malita), blink-reviews, vmpstr+blinkwatch_chromium.org, kinuko+watch, Stephen Chennney, rwlbuis
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Canvas2d: Make the intersection computation O(1) instead of O(n) in ClipList. Inefficient current implementation has to intersect all of elements in ClipList to get current clip path. This CL makes intersection computation O(1) by caching the cumulative clip path in ClipList when clip() is called. This CL comes from https://codereview.chromium.org/1630683002/#msg11. BUG=387057 TEST=existing tests Committed: https://crrev.com/83a374a0cac4710c5af1b5dafc28ae9876d5c721 Cr-Commit-Position: refs/heads/master@{#375293}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+22 lines, -9 lines) Patch
M third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.h View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/modules/canvas2d/ClipList.h View 2 chunks +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/modules/canvas2d/ClipList.cpp View 2 chunks +6 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/Path.h View 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/Path.cpp View 2 chunks +10 lines, -0 lines 0 comments Download

Messages

Total messages: 15 (7 generated)
zino
Please take a look. Thank you.
4 years, 10 months ago (2016-02-12 10:25:52 UTC) #3
zino
On 2016/02/12 10:25:52, zino wrote: > Please take a look. > > Thank you. PTAL ...
4 years, 10 months ago (2016-02-12 21:42:25 UTC) #4
Justin Novosad
Nice! lgtm
4 years, 10 months ago (2016-02-12 21:46:32 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1690173003/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1690173003/1
4 years, 10 months ago (2016-02-12 21:54:26 UTC) #7
commit-bot: I haz the power
Try jobs failed on following builders: android_chromium_gn_compile_dbg on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_chromium_gn_compile_dbg/builds/21645) android_chromium_gn_compile_rel on tryserver.chromium.android (JOB_FAILED, ...
4 years, 10 months ago (2016-02-12 22:01:35 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1690173003/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1690173003/1
4 years, 10 months ago (2016-02-13 00:00:28 UTC) #11
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 10 months ago (2016-02-13 00:37:05 UTC) #13
commit-bot: I haz the power
4 years, 10 months ago (2016-02-16 22:46:07 UTC) #15
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/83a374a0cac4710c5af1b5dafc28ae9876d5c721
Cr-Commit-Position: refs/heads/master@{#375293}

Powered by Google App Engine
This is Rietveld 408576698