Commit 290feaaa authored by Annie Sullivan's avatar Annie Sullivan Committed by Commit Bot

Clean up MarkFirstContentfulPaint for canvas.

Follow up to https://chromium-review.googlesource.com/c/chromium/src/+/2348694

Bug: 1114793
Change-Id: I869e238afadd01268456b783da8a848332c3418b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2354495Reviewed-by: default avatarPhilip Rogers <pdr@chromium.org>
Reviewed-by: default avatarNicolás Peña Moreno <npm@chromium.org>
Commit-Queue: Annie Sullivan <sullivan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#797864}
parent a9b546a6
...@@ -81,7 +81,6 @@ ...@@ -81,7 +81,6 @@
#include "third_party/blink/renderer/core/page/chrome_client.h" #include "third_party/blink/renderer/core/page/chrome_client.h"
#include "third_party/blink/renderer/core/page/page.h" #include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/core/paint/paint_layer.h" #include "third_party/blink/renderer/core/paint/paint_layer.h"
#include "third_party/blink/renderer/core/paint/paint_timing.h"
#include "third_party/blink/renderer/core/probe/core_probes.h" #include "third_party/blink/renderer/core/probe/core_probes.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h" #include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/graphics/canvas_resource_dispatcher.h" #include "third_party/blink/renderer/platform/graphics/canvas_resource_dispatcher.h"
...@@ -814,9 +813,6 @@ void HTMLCanvasElement::Paint(GraphicsContext& context, ...@@ -814,9 +813,6 @@ void HTMLCanvasElement::Paint(GraphicsContext& context,
if (!context_ && !OffscreenCanvasFrame()) if (!context_ && !OffscreenCanvasFrame())
return; return;
if (!canvas_is_clear_)
PaintTiming::From(GetDocument()).MarkFirstContentfulPaint();
// If the canvas is gpu composited, it has another way of getting to screen // If the canvas is gpu composited, it has another way of getting to screen
if (!PaintsIntoCanvasBuffer()) { if (!PaintsIntoCanvasBuffer()) {
// For click-and-drag or printing we still want to draw // For click-and-drag or printing we still want to draw
......
...@@ -310,6 +310,8 @@ class CORE_EXPORT HTMLCanvasElement final ...@@ -310,6 +310,8 @@ class CORE_EXPORT HTMLCanvasElement final
// returned. // returned.
RespectImageOrientationEnum RespectImageOrientation() const; RespectImageOrientationEnum RespectImageOrientation() const;
bool IsCanvasClear() { return canvas_is_clear_; }
protected: protected:
void DidMoveToNewDocument(Document& old_document) override; void DidMoveToNewDocument(Document& old_document) override;
......
...@@ -39,14 +39,16 @@ void HTMLCanvasPainter::PaintReplaced(const PaintInfo& paint_info, ...@@ -39,14 +39,16 @@ void HTMLCanvasPainter::PaintReplaced(const PaintInfo& paint_info,
paint_rect.Move(paint_offset); paint_rect.Move(paint_offset);
auto* canvas = To<HTMLCanvasElement>(layout_html_canvas_.GetNode()); auto* canvas = To<HTMLCanvasElement>(layout_html_canvas_.GetNode());
if (!canvas->IsCanvasClear()) {
PaintTiming::From(layout_html_canvas_.GetDocument())
.MarkFirstContentfulPaint();
}
bool flatten_composited_layers = bool flatten_composited_layers =
paint_info.GetGlobalPaintFlags() & kGlobalPaintFlattenCompositingLayers; paint_info.GetGlobalPaintFlags() & kGlobalPaintFlattenCompositingLayers;
if (RuntimeEnabledFeatures::CompositeAfterPaintEnabled() && if (RuntimeEnabledFeatures::CompositeAfterPaintEnabled() &&
!flatten_composited_layers) { !flatten_composited_layers) {
if (auto* layer = canvas->ContentsCcLayer()) { if (auto* layer = canvas->ContentsCcLayer()) {
PaintTiming::From(layout_html_canvas_.GetDocument())
.MarkFirstContentfulPaint();
IntRect pixel_snapped_rect = PixelSnappedIntRect(paint_rect); IntRect pixel_snapped_rect = PixelSnappedIntRect(paint_rect);
layer->SetBounds(gfx::Size(pixel_snapped_rect.Size())); layer->SetBounds(gfx::Size(pixel_snapped_rect.Size()));
layer->SetIsDrawable(true); layer->SetIsDrawable(true);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment