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

Issue 2872793002: Notify paint for each frame (Closed)

Created:
3 years, 7 months ago by Zhen Wang
Modified:
3 years, 7 months ago
CC:
blink-reviews, blink-reviews-frames_chromium.org, blink-reviews-layout_chromium.org, blink-reviews-paint_chromium.org, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, dshwang, drott+blinkwatch_chromium.org, krit, eae+blinkwatch, fmalita+watch_chromium.org, jchaffraix+rendering, Justin Novosad, kinuko+watch, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney, szager+layoutwatch_chromium.org, zoltan1
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Notify paint for each frame Currently main frame reports paint timing and subframes report paint timing via main frame. The desired behavior is that each frame reports its own paint timing. BUG=705315 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2872793002 Cr-Commit-Position: refs/heads/master@{#471922} Committed: https://chromium.googlesource.com/chromium/src/+/5c0563522bdf7cb4c56420cd7d39c0139b5f8f1a

Patch Set 1 #

Total comments: 7

Patch Set 2 : review fix #

Total comments: 2

Patch Set 3 : review fix #

Total comments: 4

Patch Set 4 : review fix #

Patch Set 5 : rebase #

Patch Set 6 : fix layout test #

Total comments: 7

Patch Set 7 : review fix #

Total comments: 4

Patch Set 8 : review fix #

Patch Set 9 : nit and rebase #

Patch Set 10 : rebase #

Patch Set 11 : Update PageLoadMetrics tests #

Total comments: 2

Patch Set 12 : remove one comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+170 lines, -107 lines) Patch
M chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 6 chunks +11 lines, -55 lines 0 comments Download
M chrome/test/data/page_load_metrics/empty_iframe.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -2 lines 0 comments Download
M chrome/test/data/page_load_metrics/iframe.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -2 lines 0 comments Download
M chrome/test/data/page_load_metrics/iframes.html View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -3 lines 0 comments Download
M chrome/test/data/page_load_metrics/main_frame_with_iframe.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.h View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.cpp View 1 2 3 4 5 6 7 8 9 3 chunks +0 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
A third_party/WebKit/Source/core/paint/FramePaintTiming.h View 1 2 3 4 5 6 7 1 chunk +41 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/FramePainter.cpp View 1 2 3 4 5 6 7 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintController.h View 1 2 3 4 5 6 7 8 9 5 chunks +31 lines, -16 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp View 1 2 3 4 5 6 7 8 9 3 chunks +33 lines, -15 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +43 lines, -0 lines 0 comments Download

Messages

Total messages: 65 (38 generated)
zhenw
https://codereview.chromium.org/2872793002/diff/1/third_party/WebKit/Source/core/frame/FrameView.cpp File third_party/WebKit/Source/core/frame/FrameView.cpp (right): https://codereview.chromium.org/2872793002/diff/1/third_party/WebKit/Source/core/frame/FrameView.cpp#newcode3265 third_party/WebKit/Source/core/frame/FrameView.cpp:3265: FramePainter(graphics_context, *this).NotifyPaint(); Paint() on line 3263 will eventually call ...
3 years, 7 months ago (2017-05-08 22:07:54 UTC) #4
Xianzhu
Please also add unit tests. https://codereview.chromium.org/2872793002/diff/1/third_party/WebKit/Source/core/frame/FrameView.cpp File third_party/WebKit/Source/core/frame/FrameView.cpp (right): https://codereview.chromium.org/2872793002/diff/1/third_party/WebKit/Source/core/frame/FrameView.cpp#newcode3265 third_party/WebKit/Source/core/frame/FrameView.cpp:3265: FramePainter(graphics_context, *this).NotifyPaint(); On 2017/05/08 ...
3 years, 7 months ago (2017-05-08 22:44:46 UTC) #7
Zhen Wang
> Please also add unit tests. Do you mean layout test? https://codereview.chromium.org/2872793002/diff/1/third_party/WebKit/Source/core/frame/FrameView.cpp File third_party/WebKit/Source/core/frame/FrameView.cpp (right): ...
3 years, 7 months ago (2017-05-09 20:13:43 UTC) #12
Xianzhu
https://codereview.chromium.org/2872793002/diff/20001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp File third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp (right): https://codereview.chromium.org/2872793002/diff/20001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp#newcode289 third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp:289: if (!frame_first_paints_.back().first_painted && display_item.IsDrawing() && PaintController might paint something ...
3 years, 7 months ago (2017-05-09 21:07:57 UTC) #13
Xianzhu
On 2017/05/09 20:13:43, Zhen Wang wrote: > > Please also add unit tests. > > ...
3 years, 7 months ago (2017-05-09 21:10:52 UTC) #14
Zhen Wang
Also added unit test. https://codereview.chromium.org/2872793002/diff/20001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp File third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp (right): https://codereview.chromium.org/2872793002/diff/20001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp#newcode289 third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp:289: if (!frame_first_paints_.back().first_painted && display_item.IsDrawing() && ...
3 years, 7 months ago (2017-05-09 22:59:40 UTC) #17
Xianzhu
lgtm. +chrishtr@ as an owner of platform/. https://codereview.chromium.org/2872793002/diff/40001/third_party/WebKit/Source/platform/graphics/paint/PaintController.h File third_party/WebKit/Source/platform/graphics/paint/PaintController.h (right): https://codereview.chromium.org/2872793002/diff/40001/third_party/WebKit/Source/platform/graphics/paint/PaintController.h#newcode249 third_party/WebKit/Source/platform/graphics/paint/PaintController.h:249: frame_first_paints_.push_back(FrameFirstPaint(nullptr)); Please ...
3 years, 7 months ago (2017-05-09 23:13:09 UTC) #18
Zhen Wang
+chrishtr for platform/ Shubhie, which layout test should we use to test this? https://codereview.chromium.org/2872793002/diff/40001/third_party/WebKit/Source/platform/graphics/paint/PaintController.h File ...
3 years, 7 months ago (2017-05-09 23:26:24 UTC) #20
panicker
On 2017/05/09 23:26:24, Zhen Wang wrote: > +chrishtr for platform/ > > Shubhie, which layout ...
3 years, 7 months ago (2017-05-10 00:23:28 UTC) #25
Zhen Wang
> > Shubhie, which layout test should we use to test this? > I haven't ...
3 years, 7 months ago (2017-05-10 18:22:22 UTC) #28
Zhen Wang
Updated CL to fix layout tests. Xianzhu, can you take another look? Shubhie, I tested ...
3 years, 7 months ago (2017-05-10 22:46:07 UTC) #33
Xianzhu
https://codereview.chromium.org/2872793002/diff/100001/third_party/WebKit/Source/core/paint/FramePainter.cpp File third_party/WebKit/Source/core/paint/FramePainter.cpp (right): https://codereview.chromium.org/2872793002/diff/100001/third_party/WebKit/Source/core/paint/FramePainter.cpp#newcode16 third_party/WebKit/Source/core/paint/FramePainter.cpp:16: #include "core/paint/PaintTiming.h" Remove. https://codereview.chromium.org/2872793002/diff/100001/third_party/WebKit/Source/core/paint/FramePainter.cpp#newcode23 third_party/WebKit/Source/core/paint/FramePainter.cpp:23: #include "platform/graphics/paint/PaintController.h" Remove. https://codereview.chromium.org/2872793002/diff/100001/third_party/WebKit/Source/core/paint/FramePainter.cpp#newcode36 ...
3 years, 7 months ago (2017-05-10 22:55:33 UTC) #34
Zhen Wang
https://codereview.chromium.org/2872793002/diff/100001/third_party/WebKit/Source/core/paint/FramePainter.cpp File third_party/WebKit/Source/core/paint/FramePainter.cpp (right): https://codereview.chromium.org/2872793002/diff/100001/third_party/WebKit/Source/core/paint/FramePainter.cpp#newcode16 third_party/WebKit/Source/core/paint/FramePainter.cpp:16: #include "core/paint/PaintTiming.h" On 2017/05/10 22:55:32, Xianzhu wrote: > Remove. ...
3 years, 7 months ago (2017-05-10 23:13:16 UTC) #36
Xianzhu
lgtm. https://codereview.chromium.org/2872793002/diff/120001/third_party/WebKit/Source/core/paint/FramePaintTiming.h File third_party/WebKit/Source/core/paint/FramePaintTiming.h (right): https://codereview.chromium.org/2872793002/diff/120001/third_party/WebKit/Source/core/paint/FramePaintTiming.h#newcode1 third_party/WebKit/Source/core/paint/FramePaintTiming.h:1: // Copyright 2016 The Chromium Authors. All rights ...
3 years, 7 months ago (2017-05-10 23:22:47 UTC) #37
Zhen Wang
https://codereview.chromium.org/2872793002/diff/120001/third_party/WebKit/Source/core/paint/FramePaintTiming.h File third_party/WebKit/Source/core/paint/FramePaintTiming.h (right): https://codereview.chromium.org/2872793002/diff/120001/third_party/WebKit/Source/core/paint/FramePaintTiming.h#newcode1 third_party/WebKit/Source/core/paint/FramePaintTiming.h:1: // Copyright 2016 The Chromium Authors. All rights reserved. ...
3 years, 7 months ago (2017-05-11 20:27:08 UTC) #40
Zhen Wang
Shubhie, this CL works. The problem I mentioned earlier is because the main frame's perf ...
3 years, 7 months ago (2017-05-11 23:48:10 UTC) #43
zhenw
+bmcquade for chrome/browser/page_load_metrics/
3 years, 7 months ago (2017-05-15 17:12:58 UTC) #47
Bryan McQuade
thanks! just one request to remove a comment. https://codereview.chromium.org/2872793002/diff/200001/chrome/test/data/page_load_metrics/iframes.html File chrome/test/data/page_load_metrics/iframes.html (right): https://codereview.chromium.org/2872793002/diff/200001/chrome/test/data/page_load_metrics/iframes.html#newcode4 chrome/test/data/page_load_metrics/iframes.html:4: <!-- ...
3 years, 7 months ago (2017-05-15 17:22:55 UTC) #48
Zhen Wang
https://codereview.chromium.org/2872793002/diff/200001/chrome/test/data/page_load_metrics/iframes.html File chrome/test/data/page_load_metrics/iframes.html (right): https://codereview.chromium.org/2872793002/diff/200001/chrome/test/data/page_load_metrics/iframes.html#newcode4 chrome/test/data/page_load_metrics/iframes.html:4: <!-- TODO(crbug/705315): remove '/cross-site/?.com' when fixed. --> On 2017/05/15 ...
3 years, 7 months ago (2017-05-15 17:27:13 UTC) #50
panicker
LGTM
3 years, 7 months ago (2017-05-15 17:28:17 UTC) #52
Bryan McQuade
lgtm for page_load_metrics_browsertest and related files, thanks!
3 years, 7 months ago (2017-05-15 17:35:10 UTC) #53
Zhen Wang
Chris, can you take a look at the platform part? Thanks!
3 years, 7 months ago (2017-05-15 19:38:47 UTC) #56
chrishtr
lgtm
3 years, 7 months ago (2017-05-15 20:13:39 UTC) #57
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2872793002/220001
3 years, 7 months ago (2017-05-15 20:18:48 UTC) #60
commit-bot: I haz the power
Committed patchset #12 (id:220001) as https://chromium.googlesource.com/chromium/src/+/5c0563522bdf7cb4c56420cd7d39c0139b5f8f1a
3 years, 7 months ago (2017-05-15 22:20:14 UTC) #63
kolos1
A revert of this CL (patchset #12 id:220001) has been created in https://codereview.chromium.org/2885773002/ by kolos@chromium.org. ...
3 years, 7 months ago (2017-05-16 12:38:54 UTC) #64
Bryan McQuade
3 years, 7 months ago (2017-05-16 14:09:38 UTC) #65
Message was sent while issue was closed.
On 2017/05/16 at 12:38:54, kolos wrote:
> A revert of this CL (patchset #12 id:220001) has been created in
https://codereview.chromium.org/2885773002/ by kolos@chromium.org.
> 
> The reason for reverting is: This CL might be a culprit of test flakiness.
https://bugs.chromium.org/p/chromium/issues/detail?id=722703#c2.

The revert should fix this issue.

There is some downstream page load metrics code that makes some assumptions that
no longer hold after this patch landed.

I'm going to land a change to fix those assumptions now.

Once that's landed, we should be able to re-land this patch.

Powered by Google App Engine
This is Rietveld 408576698