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

Issue 1602513004: Remove PaintInfo's paintingRoot (Closed)

Created:
4 years, 11 months ago by pdr.
Modified:
4 years, 11 months ago
Reviewers:
chrishtr, Xianzhu
CC:
blink-reviews, blink-reviews-layout_chromium.org, blink-reviews-paint_chromium.org, chromium-reviews, dshwang, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, slimming-paint-reviews_chromium.org, szager+layoutwatch_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Remove PaintInfo's paintingRoot PaintInfo had a paintingRoot member for supporting drawing a single layout object (including descendants). This complexity is spread throughout the painting code and only exists to support drag and drop drag images: https://chromium.googlesource.com/chromium/src/+/65e7e9d4860e50bb677228f0b83848cce208eb76 This patch switches to directly painting LayoutObjects and removes the complex paintingRoot code. ClusterTelemetry results: 0.5% record time savings: https://storage.cloud.google.com/cluster-telemetry/tasks/chromium_perf_runs/pdr-20160118203222/html/index.html BUG=577004 Committed: https://crrev.com/63c9596d206c896b35ae8a5bff4db73847f62f33 Cr-Commit-Position: refs/heads/master@{#370334}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Refactor drag image transform space into a helper #

Patch Set 3 : Factor more logic into DragImageBuilder #

Total comments: 1

Patch Set 4 : Update commentary #

Patch Set 5 : Rebase for landing #

Unified diffs Side-by-side diffs Delta from patch set Stats (+138 lines, -209 lines) Patch
M third_party/WebKit/Source/core/frame/FrameView.h View 2 chunks +0 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.cpp View 2 chunks +0 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/frame/LocalFrame.h View 1 2 1 chunk +3 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/frame/LocalFrame.cpp View 1 2 3 5 chunks +70 lines, -59 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 chunk +3 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutReplaced.cpp View 1 chunk +0 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/paint/BlockPainter.cpp View 1 2 3 4 3 chunks +1 line, -3 lines 0 comments Download
M third_party/WebKit/Source/core/paint/BoxPainter.cpp View 3 chunks +3 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/paint/FieldsetPainter.cpp View 1 chunk +0 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/paint/FramePainter.cpp View 3 chunks +2 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/paint/InlineFlowBoxPainter.cpp View 3 chunks +3 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/PaintInfo.h View 4 chunks +2 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintInfo.cpp View 1 chunk +0 lines, -17 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerPainter.h View 2 chunks +9 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp View 11 chunks +38 lines, -44 lines 0 comments Download
M third_party/WebKit/Source/core/paint/ReplacedPainter.cpp View 1 chunk +0 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/paint/RootInlineBoxPainter.cpp View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/core/paint/SVGContainerPainter.cpp View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/SVGInlineTextBoxPainter.cpp View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/TableCellPainter.cpp View 3 chunks +1 line, -7 lines 0 comments Download
M third_party/WebKit/Source/core/paint/TablePainter.cpp View 2 chunks +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/core/paint/ViewPainter.cpp View 1 chunk +0 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/SkPictureBuilder.h View 1 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 30 (13 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1602513004/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1602513004/1
4 years, 11 months ago (2016-01-18 20:32:23 UTC) #2
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 11 months ago (2016-01-18 21:39:40 UTC) #4
pdr.
4 years, 11 months ago (2016-01-19 17:49:40 UTC) #7
chrishtr
Looks like a nice improvement to me. https://codereview.chromium.org/1602513004/diff/1/third_party/WebKit/Source/core/frame/LocalFrame.cpp File third_party/WebKit/Source/core/frame/LocalFrame.cpp (right): https://codereview.chromium.org/1602513004/diff/1/third_party/WebKit/Source/core/frame/LocalFrame.cpp#newcode676 third_party/WebKit/Source/core/frame/LocalFrame.cpp:676: TransformRecorder transformRecorder(pictureBuilder.context(), ...
4 years, 11 months ago (2016-01-19 18:29:22 UTC) #8
pdr.
https://codereview.chromium.org/1602513004/diff/1/third_party/WebKit/Source/core/frame/LocalFrame.cpp File third_party/WebKit/Source/core/frame/LocalFrame.cpp (right): https://codereview.chromium.org/1602513004/diff/1/third_party/WebKit/Source/core/frame/LocalFrame.cpp#newcode676 third_party/WebKit/Source/core/frame/LocalFrame.cpp:676: TransformRecorder transformRecorder(pictureBuilder.context(), *this, transform); On 2016/01/19 at 18:29:21, chrishtr ...
4 years, 11 months ago (2016-01-19 23:29:22 UTC) #9
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1602513004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1602513004/40001
4 years, 11 months ago (2016-01-19 23:30:01 UTC) #11
chrishtr
lgtm
4 years, 11 months ago (2016-01-19 23:46:45 UTC) #12
Xianzhu
https://codereview.chromium.org/1602513004/diff/40001/third_party/WebKit/Source/core/frame/LocalFrame.cpp File third_party/WebKit/Source/core/frame/LocalFrame.cpp (right): https://codereview.chromium.org/1602513004/diff/40001/third_party/WebKit/Source/core/frame/LocalFrame.cpp#newcode676 third_party/WebKit/Source/core/frame/LocalFrame.cpp:676: // FIXME(pdr): This will also paint the background if ...
4 years, 11 months ago (2016-01-20 00:25:18 UTC) #13
pdr.
On 2016/01/20 at 00:25:18, wangxianzhu wrote: > https://codereview.chromium.org/1602513004/diff/40001/third_party/WebKit/Source/core/frame/LocalFrame.cpp > File third_party/WebKit/Source/core/frame/LocalFrame.cpp (right): > > https://codereview.chromium.org/1602513004/diff/40001/third_party/WebKit/Source/core/frame/LocalFrame.cpp#newcode676 ...
4 years, 11 months ago (2016-01-20 00:31:53 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1602513004/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1602513004/60001
4 years, 11 months ago (2016-01-20 00:34:31 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_dbg_recipe on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/10088)
4 years, 11 months ago (2016-01-20 03:06:10 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1602513004/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1602513004/60001
4 years, 11 months ago (2016-01-20 03:18:06 UTC) #21
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/137042)
4 years, 11 months ago (2016-01-20 03:27:53 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1602513004/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1602513004/80001
4 years, 11 months ago (2016-01-20 04:22:24 UTC) #26
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 11 months ago (2016-01-20 06:38:57 UTC) #27
commit-bot: I haz the power
Patchset 5 (id:??) landed as https://crrev.com/63c9596d206c896b35ae8a5bff4db73847f62f33 Cr-Commit-Position: refs/heads/master@{#370334}
4 years, 11 months ago (2016-01-20 06:39:39 UTC) #29
pdr.
4 years, 11 months ago (2016-01-20 06:56:07 UTC) #30
Message was sent while issue was closed.
A revert of this CL (patchset #5 id:80001) has been created in
https://codereview.chromium.org/1610063002/ by pdr@chromium.org.

The reason for reverting is: Broke oilpan and closed the tree:
https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Oilpan...

I'll fix this tomorrow and reland..

Powered by Google App Engine
This is Rietveld 408576698