New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 738464 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Aug 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Expose OnFirstPaintInFrame to WebContentsObservers

Project Member Reported by csharrison@chromium.org, Jun 30 2017

Issue description

We should deprecate DidFirstVisuallyNonEmptyPaint with this, which is a higher fidelity signal and is tracked as a web perf API.

I thought about exposing FCP instead of FP, but I think the most valuable property here is reliability. I would like this callback to fire in as many pages as possible that render, even if it doesn't contain anything "contentful" according to our heuristic.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fa7376d7d666dc393805542574d2f28913495896

commit fa7376d7d666dc393805542574d2f28913495896
Author: Charles Harrison <csharrison@chromium.org>
Date: Mon Aug 21 16:24:28 2017

New mojo service for exposing FirstPaint per RenderFrameHost

This service hooks directly in Blink's PaintTiming class which computes
the first paint, and uses the same timestamp as exposed to the
web platform.

A followup will plumb the data to WebContentsObservers, and formally
deprecate WebContentsObserver::DidFirstVisuallyNonEmptyPaint.

Bug:  738464 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2;master.tryserver.chromium.linux:linux_site_isolation
Change-Id: I67618fcdbca9670ff37d5f03f113a0f0dd65b62c
Reviewed-on: https://chromium-review.googlesource.com/553178
Commit-Queue: Charlie Harrison <csharrison@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495955}
[modify] https://crrev.com/fa7376d7d666dc393805542574d2f28913495896/content/browser/DEPS
[modify] https://crrev.com/fa7376d7d666dc393805542574d2f28913495896/content/browser/frame_host/render_frame_host_delegate.h
[modify] https://crrev.com/fa7376d7d666dc393805542574d2f28913495896/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/fa7376d7d666dc393805542574d2f28913495896/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/fa7376d7d666dc393805542574d2f28913495896/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/fa7376d7d666dc393805542574d2f28913495896/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/fa7376d7d666dc393805542574d2f28913495896/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/fa7376d7d666dc393805542574d2f28913495896/third_party/WebKit/Source/core/frame/LocalFrame.cpp
[modify] https://crrev.com/fa7376d7d666dc393805542574d2f28913495896/third_party/WebKit/Source/core/frame/LocalFrame.h
[modify] https://crrev.com/fa7376d7d666dc393805542574d2f28913495896/third_party/WebKit/Source/core/paint/PaintTiming.cpp
[modify] https://crrev.com/fa7376d7d666dc393805542574d2f28913495896/third_party/WebKit/public/BUILD.gn
[add] https://crrev.com/fa7376d7d666dc393805542574d2f28913495896/third_party/WebKit/public/platform/frame_broker.mojom

Project Member

Comment 2 by bugdroid1@chromium.org, Aug 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cba3afef316b38bd69ae603e7918e0a5acd12403

commit cba3afef316b38bd69ae603e7918e0a5acd12403
Author: Charles Harrison <csharrison@chromium.org>
Date: Thu Aug 24 17:17:32 2017

Revert "New mojo service for exposing FirstPaint per RenderFrameHost"

This reverts commit fa7376d7d666dc393805542574d2f28913495896.

Reason for revert: We're going to try another approach using
GRC.

Original change's description:
> New mojo service for exposing FirstPaint per RenderFrameHost
> 
> This service hooks directly in Blink's PaintTiming class which computes
> the first paint, and uses the same timestamp as exposed to the
> web platform.
> 
> A followup will plumb the data to WebContentsObservers, and formally
> deprecate WebContentsObserver::DidFirstVisuallyNonEmptyPaint.
> 
> Bug:  738464 
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2;master.tryserver.chromium.linux:linux_site_isolation
> Change-Id: I67618fcdbca9670ff37d5f03f113a0f0dd65b62c
> Reviewed-on: https://chromium-review.googlesource.com/553178
> Commit-Queue: Charlie Harrison <csharrison@chromium.org>
> Reviewed-by: Nasko Oskov <nasko@chromium.org>
> Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#495955}

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  738464 
Change-Id: Id5e67783b0189795a33986106baf52144fb7e13c
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2;master.tryserver.chromium.linux:linux_site_isolation
Reviewed-on: https://chromium-review.googlesource.com/628938
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Charlie Harrison <csharrison@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497099}
[modify] https://crrev.com/cba3afef316b38bd69ae603e7918e0a5acd12403/content/browser/DEPS
[modify] https://crrev.com/cba3afef316b38bd69ae603e7918e0a5acd12403/content/browser/frame_host/render_frame_host_delegate.h
[modify] https://crrev.com/cba3afef316b38bd69ae603e7918e0a5acd12403/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/cba3afef316b38bd69ae603e7918e0a5acd12403/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/cba3afef316b38bd69ae603e7918e0a5acd12403/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/cba3afef316b38bd69ae603e7918e0a5acd12403/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/cba3afef316b38bd69ae603e7918e0a5acd12403/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/cba3afef316b38bd69ae603e7918e0a5acd12403/third_party/WebKit/Source/core/frame/LocalFrame.cpp
[modify] https://crrev.com/cba3afef316b38bd69ae603e7918e0a5acd12403/third_party/WebKit/Source/core/frame/LocalFrame.h
[modify] https://crrev.com/cba3afef316b38bd69ae603e7918e0a5acd12403/third_party/WebKit/Source/core/paint/PaintTiming.cpp
[modify] https://crrev.com/cba3afef316b38bd69ae603e7918e0a5acd12403/third_party/WebKit/public/BUILD.gn
[delete] https://crrev.com/0b378819e3b3925e0eabd34e73d3972a19b4a46d/third_party/WebKit/public/platform/frame_broker.mojom

Status: WontFix (was: Started)

Sign in to add a comment