New issue
Advanced search Search tips

Issue 703231 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Some rects passed to PaintRecordBuilder in Blink are incorrect

Project Member Reported by enne@chromium.org, Mar 20 2017

Issue description

I tried to change a number of PaintRecord::playback calls into PaintCanvas::drawPicture calls (which adds a cull rect for the size of the PaintRecord), but this resulted in at least two bugs.

See https://codereview.chromium.org/2755183002 and the links in the description.

Ideally we should just remove the knowledge of "how big" a canvas or recording is, but another option would be to fix these issues.

This is a P3 as it's not really broken as these rects aren't being used.
 
Labels: PaintTeamTriaged-20170320 BugSource-Team
Owner: chrishtr@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 3 by bugdroid1@chromium.org, Apr 2 2017

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

commit dad2300ece2848716c16c70bf46d8ffd64e3abee
Author: chrishtr <chrishtr@chromium.org>
Date: Sun Apr 02 05:17:29 2017

Draw recorded content directly into the containing PaintCanvas, when possible.

For SPv2, this avoids the cost of replaying into a PaintRecord, then drawing
that into the parent canvas. Instead, we can draw the cc::DisplayItemList
directly into it with no additional cost.

This fixes one SPv2 test with SVG, because somehow content got culled out during
the journey through a PaintRecord.

BUG= 665259 , 703231 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2791043002
Cr-Commit-Position: refs/heads/master@{#461338}

[modify] https://crrev.com/dad2300ece2848716c16c70bf46d8ffd64e3abee/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
[modify] https://crrev.com/dad2300ece2848716c16c70bf46d8ffd64e3abee/third_party/WebKit/Source/core/frame/LocalFrame.cpp
[modify] https://crrev.com/dad2300ece2848716c16c70bf46d8ffd64e3abee/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourcePattern.cpp
[modify] https://crrev.com/dad2300ece2848716c16c70bf46d8ffd64e3abee/third_party/WebKit/Source/core/paint/SVGShapePainter.cpp
[modify] https://crrev.com/dad2300ece2848716c16c70bf46d8ffd64e3abee/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
[modify] https://crrev.com/dad2300ece2848716c16c70bf46d8ffd64e3abee/third_party/WebKit/Source/core/svg/graphics/SVGImage.h
[modify] https://crrev.com/dad2300ece2848716c16c70bf46d8ffd64e3abee/third_party/WebKit/Source/core/svg/graphics/filters/SVGFEImage.cpp
[modify] https://crrev.com/dad2300ece2848716c16c70bf46d8ffd64e3abee/third_party/WebKit/Source/platform/exported/WebFont.cpp
[modify] https://crrev.com/dad2300ece2848716c16c70bf46d8ffd64e3abee/third_party/WebKit/Source/platform/graphics/paint/PaintArtifact.cpp
[modify] https://crrev.com/dad2300ece2848716c16c70bf46d8ffd64e3abee/third_party/WebKit/Source/platform/graphics/paint/PaintArtifact.h
[modify] https://crrev.com/dad2300ece2848716c16c70bf46d8ffd64e3abee/third_party/WebKit/Source/platform/graphics/paint/PaintRecordBuilder.cpp
[modify] https://crrev.com/dad2300ece2848716c16c70bf46d8ffd64e3abee/third_party/WebKit/Source/platform/graphics/paint/PaintRecordBuilder.h
[modify] https://crrev.com/dad2300ece2848716c16c70bf46d8ffd64e3abee/third_party/WebKit/Source/web/PageWidgetDelegate.cpp
[modify] https://crrev.com/dad2300ece2848716c16c70bf46d8ffd64e3abee/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp

Status: Fixed (was: Assigned)

Sign in to add a comment