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

Issue 648274 link

Starred by 1 user

Issue metadata

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

Blocking:
issue 510908



Sign in to add a comment

Paint properties for multicol contents

Project Member Reported by wangxianzhu@chromium.org, Sep 19 2016

Issue description

For contents in columns other than the first, paintOffsets are not adjusted for columns.

 
Cc: msten...@opera.com chrishtr@chromium.org
Summary: Paint properties for multicol contents (was: PaintPropertyTreeBuilder generates wrong paintOffset for multicolumn contents)
The issue is more complicated than just the paintOffset. The mapping from multicol flow thread space to multicol container space is currently not represented in paint properties.

We need to answer the following questions:
- What space should paint offsets of the paint properties be in?
- Should we create multicol node in paint property tree?

Blocking: -646176
Cc: wangxianzhu@chromium.org
Owner: ----
Status: Available (was: Assigned)
For now we workaround this issue in PaintInvalidator for slimmingPaintInvalidation by forcing slow path rect mapping for multicol contents, so we can unblock  bug 646176  from this bug.

Mark this bug Available because I'm unlikely to work on it soon.
Layout tests affected by this bug in slimmingPaintInvalidation mode (for now they are passing with the workaround):

paint/invalidation/column-rule-change.html
paint/invalidation/column-rules-fixed-height.html
paint/invalidation/multicol-as-paint-container.html
paint/invalidation/multicol-nested.html
paint/invalidation/multicol-repaint.html
paint/invalidation/multicol-with-abspos-in-relpos.html
paint/invalidation/multicol-with-block.html
paint/invalidation/multicol-with-inline.html
paint/invalidation/multicol-with-relpos.html
paint/invalidation/multicol-with-text.html

Comment 4 by msten...@opera.com, Sep 28 2016

I don't know anything about paint properties, so I don't think I'm able to answer anything at the moment. :/
Owner: chrishtr@chromium.org
Status: Assigned (was: Available)
Blocking: 510908
This is mainly for SPv2.

The SlimmingPaintInvalidation path is forcing slow path for multicol, and all of the above tests pass except virtual/spinvalidation/fast/multicol/span/abspos-containing-block-outside-spanner.html. Will file another bug for it.
 Issue 672989  has been merged into this issue.
Project Member

Comment 8 by bugdroid1@chromium.org, Jan 7 2017

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

commit 78357e64419e215213610a27cd89a94da49e6bbe
Author: pdr <pdr@chromium.org>
Date: Sat Jan 07 03:18:47 2017

Remove multicol special-cases from invalidation and the pre-paint tree walk

Multicolumn spanners paint out-of-flow through placeholder LayoutObjects
but their paint properties still follow the layout tree in DOM order[1].
This patch switches the pre-paint tree walk to be entirely DOM order
instead of having a special-case for the paint-order multicolumn
spanner. This patch also changes paint invalidation of multicolumn
to follow DOM ancestors.

With this approach, the pre-paint tree walk and paint invalidation
can be simplified, and only paint offset needs special adjustment
for multicolumn during the pre-paint tree walk.

[1] For example, the following layout tree:
LayoutBlockFlow DIV style="columns: 2"
  LayoutMultiColumnFlowThread (anonymous)
    LayoutBlockFlow (column spanner) 	DIV id="spanner"
  LayoutMultiColumnSpannerPlaceholder (anonymous)

paint order:
  LayoutBlockFlow DIV
  LayoutMultiColumnFlowThread (anonymous)
  LayoutMultiColumnSpannerPlaceholder (anonymous)
  LayoutBlockFlow (column spanner) 	DIV id="spanner"

DOM order:
  LayoutBlockFlow DIV
  LayoutMultiColumnFlowThread (anonymous)
  LayoutBlockFlow (column spanner) 	DIV id="spanner"
  LayoutMultiColumnSpannerPlaceholder (anonymous)

BUG= 648274 

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

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

[modify] https://crrev.com/78357e64419e215213610a27cd89a94da49e6bbe/third_party/WebKit/Source/core/layout/LayoutMultiColumnSpannerPlaceholder.cpp
[modify] https://crrev.com/78357e64419e215213610a27cd89a94da49e6bbe/third_party/WebKit/Source/core/layout/LayoutMultiColumnSpannerPlaceholder.h
[modify] https://crrev.com/78357e64419e215213610a27cd89a94da49e6bbe/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/78357e64419e215213610a27cd89a94da49e6bbe/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/78357e64419e215213610a27cd89a94da49e6bbe/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp
[modify] https://crrev.com/78357e64419e215213610a27cd89a94da49e6bbe/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
[modify] https://crrev.com/78357e64419e215213610a27cd89a94da49e6bbe/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h
[modify] https://crrev.com/78357e64419e215213610a27cd89a94da49e6bbe/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp

Project Member

Comment 9 by bugdroid1@chromium.org, Jan 9 2017

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

commit 7248090752b13519ac2458db2e0bd109998f6de1
Author: wangxianzhu <wangxianzhu@chromium.org>
Date: Mon Jan 09 17:59:45 2017

Fix PaintInvalidationState for multicol

Follow-up of https://codereview.chromium.org/2615203002/ for the old
paint invalidation path.

BUG= 648274 
TEST=virtual/stable/paint/invalidation/multicol-spanner-background-color.html (after https://codereview.chromium.org/2620603002/)

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

[modify] https://crrev.com/7248090752b13519ac2458db2e0bd109998f6de1/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp

After much reflection, I have concluded that:

1. We should not represent the mapping from flow thread to
container space in property trees. It should instead be treated as a purely
paint effect, within the 2D transform space of pagination.

2. "Paint offset" should mean paint offset only for the first fragment, even
if there are multiple.

*** Why: adding support in property trees more or less will end up implying
that then entire system, including cc, will need to understand it (or else
we'd end up with a bunch of weird corner case and hacks in PAC to avoid that).
Also, as shown below it appears that the current status quo can be preserved
in SPv2 just fine with minimal changes to the code.

*** Implications:

a. SPv2 GeometryMapper-type code explicitly does not support fragmenting
content across property tree spaces, in particular transforms and effects.
The fragmentation code in layout should be implemented to not allow
fragmenting of transforms (including scroll) or effects.
(Overflow) clips inside of multicolumn are a special case, which are already
when possible, and should continue to be in the future, implemented explicitly
during paint, since fragment clips are not representable in the property trees.

b. Paint invalidation should continue to use the "slow" path for multicolumn
content when computing visual rects. If we were clever enough to know that
there was only one fragment, it seems we could avoid the slow path, but that
is an optimization for the future.

c. Paint invalidation should (?) be able to not special-case multicolumn when
detecting object movement via paint offset changes.

d. The pre-paint tree walk will have to take into account fragmentation in
order to determine the correct paint offset per (2).

e. Code which references "paint offset" should be careful to do so only in
cases where the computation does not cross a pagination container boundary.
Example: if there is content under a subtree of property tree nodes which
are in turn under a pagination container + transform/effect, we can do
geometry relative to them correctly without reference to pagination. On
the other hand, we cannot use "paint offset" during paint. IOW. We still
need to dofragmentation during paint like PaintLayerPainter is already doing.

Based on these conclusions, I have a couple of action items before closing this
bug. I think (d) needs coding to implement correctly. I also need to remove/
adjust the comments referencing this bug.
Context pointer to CL which disabled paginated content in SPv2 while figuring this
stuff out: https://codereview.chromium.org/1657993002

Comment 12 by pdr@chromium.org, Apr 14 2017

What would we do for the following example?
http://jsbin.com/bexoziruvu/quiet/
This has a transformed div that's in the second column of a multicolumn. What positions the transform node for the green box to be in the second column?
Re comment 12:

The paint offset of #transform would be its painting position before applying
the transform, i.e. in the second column. This is what positions it there.

This kind of example was part of why I concluded that paint offset should point
to the "first fragment visual location".
CL in progress to implement:

https://codereview.chromium.org/2819923003

(CL needs optimization and cleanup)

Comment 16 by pdr@chromium.org, Apr 15 2017

So we'll basically just keep the paint offset up-to-date considering columns during pre-paint? I like the simplicity of that approach.

In (a) you say we'll disable fragmentation of transforms. What would that mean for an example like http://output.jsbin.com/pidujamawi/quiet/? In this example, we have a transformed div spans two columns--would we change to just overflow the green div out of the first column and not paint into the second column?

Where's the slow path multicolumn code for visual rects?
Yes, it would only paint in the first column.

See line 447 of PaintInvalidator.cpp. https://codereview.chromium.org/2819923003

Comment 18 by pdr@chromium.org, Apr 18 2017

After talking with Tien-Ren, I no longer think this will be possible due to specs: https://drafts.csswg.org/css-break-3/#transforms
Update: comment 18 is correct, my plan was too simple/naive.

New plan:

In the pre-paint tree walk:
1. For LayoutObjects which have PaintLayers and are under a fragmentation
container, compute its fragments, and store them as a linked list of
ObjectPaintProperties. (LayoutObjects which have no fragmentation will end
up with just one entry in this linked list.)

2. LayoutObjects  which are fragmented and have a transform or effect
will get a new transform or effect node for each of its fragments, with
its origin set as appropriate, and parented under the corresponding
fragment for its PaintingLayer() ancestor.

3. LayoutObjects which have PaintLayers and are under a fragmentation
container will receive a new "fragmentation clip" on each of their
fragments' ObjectPaintProperties, parented in the same way as effects and
transforms.

4. Scroll will reset the fragmentation container to nullptr.

Paint invalidation code for computing visual rects of fragmented
LayoutObjects will work according to this algorithm:

Algorithm VisualRect(LayoutObject object, LayoutObject ancestor):
  if (HasFragmentation(object) && FragmentationRoot(object) == FragmentationRoot(ancestor)) {
    FloatRect local_visual_rect = LocalVisualRect()+ Offset(object, object.PaintingLayer()
    FloatRect visual_rect;
    For each fragment in fragments:
      ObjectPaintProperties properties = PropertiesFor(object.PaintProperties(), fragment))
      ObjectPaintProperties ancestor_properties = PropertiesFor(object.PaintProperties(), fragment))
      visual_rect.Unite(
          GeometryMapper::mapToVisualRect(properties, ancestor_properties, local_visual_rect))
  } else if (HasFragmentation(object) || HasFragmentation(ancestor)) {
   // Fall back to slow path?
  } else {
    Behave as normal.
  }

Paint code will use the fragments from the pre-paint tree walk to paint, rather than
re-computing them.
Project Member

Comment 20 by bugdroid1@chromium.org, Apr 20 2017

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

commit c836f4a7f26caed6ecbbddf3f281388ec3aa8078
Author: chrishtr <chrishtr@chromium.org>
Date: Thu Apr 20 21:28:33 2017

Remove "changed main thread scrolling reasons" as a reason for scroll nodes.

It appears to be unnecessary.

This CL is broken out from https://codereview.chromium.org/2831683003.

BUG= 648274 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

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

[modify] https://crrev.com/c836f4a7f26caed6ecbbddf3f281388ec3aa8078/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp

Project Member

Comment 21 by bugdroid1@chromium.org, Apr 25 2017

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

commit 7c90da71a8f435ae99bb7f90e0cc1cfcc96cc1fd
Author: chrishtr <chrishtr@chromium.org>
Date: Tue Apr 25 07:27:45 2017

Refactor to centralize code which decides whether ObjectPaintProperties are needed.

This is not a pure refactor. Changes:

* SVG local to border box transforms are always present, not just if the
LocalToBorderBoxTransform+PaintOffset is non-identity.
* ObjectPaintProperty objects are cleared from the PaintRareData if not needed.

This is step 1 for SPv2 multicol.

BUG= 648274 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

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

[modify] https://crrev.com/7c90da71a8f435ae99bb7f90e0cc1cfcc96cc1fd/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/7c90da71a8f435ae99bb7f90e0cc1cfcc96cc1fd/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
[modify] https://crrev.com/7c90da71a8f435ae99bb7f90e0cc1cfcc96cc1fd/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h
[modify] https://crrev.com/7c90da71a8f435ae99bb7f90e0cc1cfcc96cc1fd/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp
[modify] https://crrev.com/7c90da71a8f435ae99bb7f90e0cc1cfcc96cc1fd/third_party/WebKit/Source/core/paint/PaintPropertyTreeUpdateTests.cpp
[modify] https://crrev.com/7c90da71a8f435ae99bb7f90e0cc1cfcc96cc1fd/third_party/WebKit/Source/core/paint/RarePaintData.cpp
[modify] https://crrev.com/7c90da71a8f435ae99bb7f90e0cc1cfcc96cc1fd/third_party/WebKit/Source/core/paint/RarePaintData.h

Project Member

Comment 22 by bugdroid1@chromium.org, Apr 28 2017

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

commit 91dea332b757072ca557cd386fdbf5383c0aa2b7
Author: chrishtr <chrishtr@chromium.org>
Date: Fri Apr 28 17:53:35 2017

Introduce PaintPropertyTreeBuilderFragmentContext and use it throughout.

This is in preparation for actually fragmenting under multicol, in a
future patch.

BUG= 648274 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

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

[modify] https://crrev.com/91dea332b757072ca557cd386fdbf5383c0aa2b7/third_party/WebKit/Source/core/paint/FindPaintOffsetAndVisualRectNeedingUpdate.h
[modify] https://crrev.com/91dea332b757072ca557cd386fdbf5383c0aa2b7/third_party/WebKit/Source/core/paint/FindPropertiesNeedingUpdate.h
[modify] https://crrev.com/91dea332b757072ca557cd386fdbf5383c0aa2b7/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp
[modify] https://crrev.com/91dea332b757072ca557cd386fdbf5383c0aa2b7/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
[modify] https://crrev.com/91dea332b757072ca557cd386fdbf5383c0aa2b7/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h
[modify] https://crrev.com/91dea332b757072ca557cd386fdbf5383c0aa2b7/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp
[modify] https://crrev.com/91dea332b757072ca557cd386fdbf5383c0aa2b7/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.h

Project Member

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

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

commit 32bf53031ff05bfc394accd43c1d4f36399bf3f6
Author: chrishtr <chrishtr@chromium.org>
Date: Tue May 02 02:48:03 2017

Store previous painting clip rects on FragmentData.

Add a NextFragment method on FragmentData in anticipation of support
for multiple fragments.

Use this to make InvalidatePaintLayerOptimizationsIfNeeded multicol
fragment-aware.

BUG= 648274 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

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

[delete] https://crrev.com/d9978fcc021c14d5260d1abffc2d0b39e41018db/third_party/WebKit/Source/core/layout/ClipRects.h
[modify] https://crrev.com/32bf53031ff05bfc394accd43c1d4f36399bf3f6/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/32bf53031ff05bfc394accd43c1d4f36399bf3f6/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/32bf53031ff05bfc394accd43c1d4f36399bf3f6/third_party/WebKit/Source/core/paint/FragmentData.h
[modify] https://crrev.com/32bf53031ff05bfc394accd43c1d4f36399bf3f6/third_party/WebKit/Source/core/paint/PaintLayer.h
[modify] https://crrev.com/32bf53031ff05bfc394accd43c1d4f36399bf3f6/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
[modify] https://crrev.com/32bf53031ff05bfc394accd43c1d4f36399bf3f6/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp
[modify] https://crrev.com/32bf53031ff05bfc394accd43c1d4f36399bf3f6/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp
[modify] https://crrev.com/32bf53031ff05bfc394accd43c1d4f36399bf3f6/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.h
[modify] https://crrev.com/32bf53031ff05bfc394accd43c1d4f36399bf3f6/third_party/WebKit/Source/core/paint/PrePaintTreeWalkTest.cpp

Project Member

Comment 26 by bugdroid1@chromium.org, Jul 27 2017

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

commit 85bef408a97ddf33064f88bef3b620179c0af246
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Thu Jul 27 22:54:59 2017

Move all property tree objects onto FragmentData, rather than RarePaintData.

This refactoring in preparation for multiple fragments inside of pagination/
multicol. In general, each fragment will have its own property tree nodes and
state.

Also, refactors PaintPropertyTreeBuilder a bit to pass fragment data structures
explicitly to subroutines, in preparation for computing fragments there and
iterating over them.

Bug:  648274 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I878079b5489ec99e212132a2b01633d0c74f307f
Reviewed-on: https://chromium-review.googlesource.com/587547
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490044}
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/animation/CompositorAnimations.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/clipboard/DataTransfer.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/layout/VisualRectMappingTest.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/layout/api/LayoutItem.h
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/BlockPainter.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/BoxClipper.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/FindPaintOffsetAndVisualRectNeedingUpdate.h
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/FindPropertiesNeedingUpdate.h
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/FragmentData.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/FragmentData.h
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/PaintControllerPaintTest.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/PaintLayer.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/PaintLayerClipper.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinterTest.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/PaintPropertyTreeUpdateTests.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.h
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/PrePaintTreeWalkTest.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/RarePaintData.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/RarePaintData.h
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/SVGMaskPainter.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/SVGPaintContext.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/SVGPaintContext.h
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/paint/ScrollableAreaPainter.cpp
[modify] https://crrev.com/85bef408a97ddf33064f88bef3b620179c0af246/third_party/WebKit/Source/core/scheduler/FrameThrottlingTest.cpp

Project Member

Comment 27 by bugdroid1@chromium.org, Aug 14 2017

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

commit c63c02bd6c3761dcfce81b9f9a618442f6e3a76f
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Mon Aug 14 11:19:01 2017

Clamp infinite multicol clips to values exactly representable
in floats, to avoid loss of precision.

Bug:  648274 
Change-Id: I67000e8258fb17b822cb0d1a2968d403d6e0baa8
Reviewed-on: https://chromium-review.googlesource.com/612118
Commit-Queue: Morten Stenshorne <mstensho@opera.com>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@opera.com>
Cr-Commit-Position: refs/heads/master@{#494031}
[modify] https://crrev.com/c63c02bd6c3761dcfce81b9f9a618442f6e3a76f/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-antialiasing-expected.png
[modify] https://crrev.com/c63c02bd6c3761dcfce81b9f9a618442f6e3a76f/third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp

Project Member

Comment 28 by bugdroid1@chromium.org, Aug 22 2017

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

commit eb94e55a1c5c47b2f90177c43e92651d1ba9287d
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Tue Aug 22 22:54:38 2017

Add bug numbers for some SPv2 paint/invalidation layout test failures

BUG=757977, 738613 , 757938 , 648274 
TBR=pdr@chromium.org,chrishtr@chromium.org

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I163c04bddfd2922adf78b87cb18749b5f02e9b4a
Reviewed-on: https://chromium-review.googlesource.com/627024
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496480}
[modify] https://crrev.com/eb94e55a1c5c47b2f90177c43e92651d1ba9287d/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2

Project Member

Comment 29 by bugdroid1@chromium.org, Sep 9 2017

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

commit c3a3481c4b1b08775b477144d1d2873a2a3d9900
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Sat Sep 09 06:46:57 2017

Implement fragmentation in the pre-paint tree walk.

Compute fragments, fragment clips, pagination offset, and paint offset that
includes fragmentation. Store fragment clips in the clip paint property tree.
Fragment clips sit above other clips, effects and transforms that belong
to a LayoutObject. They also contribute to LocalBorderBoxProperties.
However, fragment clips have no children in the clip tree, and hence only apply
to that specific LayoutObject. This is because every LayoutObject (which has a
PaintLayer) fragments itself, and does not inherit fragment clips from any
ancestor.

Paint offsets for fragments are currently stored separately from paint offsets
for LayoutObjects. The latter are unchanged in this patch, and hence do not
take fragmentation into account (see #1 below).

Still to be done in future patches:

1. Remove the slow path in PaintInvalidator for fragmentation, and remove the
paint offset field from LayoutObject.

2. Change other callsites to FirstFragment() that ignore other fragments
to be fragmentation-aware.

Bug:  648274 , 683339 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I32b093091172878c21163b66923cac88c5176597
Reviewed-on: https://chromium-review.googlesource.com/646700
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Tien-Ren Chen <trchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500792}
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/LayoutTests/fast/multicol/transform-inside-opacity-expected.png
[add] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/LayoutTests/fast/multicol/transform-inside-opacity-expected.txt
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/LayoutTests/fast/multicol/transform-inside-opacity.html
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/paged-with-overflowing-block-rl-expected.png
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/paged-with-overflowing-block-rl-expected.png
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/paged-with-overflowing-block-rl-expected.png
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/paged-with-overflowing-block-rl-expected.png
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/exported/WebViewTest.cpp
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/layout/LayoutTreeAsText.cpp
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/paint/FragmentData.cpp
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/paint/FragmentData.h
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/paint/ObjectPaintProperties.h
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/paint/PaintLayer.cpp
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/paint/PaintLayer.h
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/paint/PaintLayerClipper.cpp
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/paint/PaintLayerClipper.h
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/paint/PaintLayerClipperTest.cpp
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/paint/PaintPropertyTreeUpdateTests.cpp
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/paint/README.md
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/paint/RarePaintData.h
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/scheduler/FrameThrottlingTest.cpp
[modify] https://crrev.com/c3a3481c4b1b08775b477144d1d2873a2a3d9900/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp

Project Member

Comment 30 by bugdroid1@chromium.org, Oct 9 2017

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

commit 3c953ed108223409d9a0d0fb9d324cf5db808923
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Mon Oct 09 17:32:00 2017

Require a paint offset translation if the object has an SVG to local transform.

This is needed for the same reason we require a paint offset translation
for CSS transform or scroll: paint offsets must be relative to the containing
transform, because the inputs to GeometryMapper are in such a space.

Bug:  648274 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I36405f26d8ab2712009e735d59d113f71343f80a
Reviewed-on: https://chromium-review.googlesource.com/706635
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507399}
[modify] https://crrev.com/3c953ed108223409d9a0d0fb9d324cf5db808923/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/svg/overflow-repaint-expected.txt
[modify] https://crrev.com/3c953ed108223409d9a0d0fb9d324cf5db808923/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/svg/repaint-moving-svg-and-div-expected.txt
[modify] https://crrev.com/3c953ed108223409d9a0d0fb9d324cf5db808923/third_party/WebKit/Source/core/paint/BlockPainter.cpp
[modify] https://crrev.com/3c953ed108223409d9a0d0fb9d324cf5db808923/third_party/WebKit/Source/core/paint/BlockPainter.h
[modify] https://crrev.com/3c953ed108223409d9a0d0fb9d324cf5db808923/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
[modify] https://crrev.com/3c953ed108223409d9a0d0fb9d324cf5db808923/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp
[modify] https://crrev.com/3c953ed108223409d9a0d0fb9d324cf5db808923/third_party/WebKit/Source/core/paint/ReplacedPainter.cpp
[modify] https://crrev.com/3c953ed108223409d9a0d0fb9d324cf5db808923/third_party/WebKit/Source/core/paint/ReplacedPainter.h

Project Member

Comment 31 by bugdroid1@chromium.org, Oct 25 2017

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

commit 2cff87c380b22ade36aa4d85a6f983387559178c
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Wed Oct 25 15:39:08 2017

Fully implement paint invalidation for fragments.

This patch makes the following changes:

* All objects inside a pagination container are fragmented (instead of just PaintLayers)
* PaintOffset is removed from LayoutObject, in favor of one on each FragmentData.
  Even non-fragmented LayoutObjects now have a FragmentData.
* Removes the slow-path in PaintInvalidator for pagination, as the fragments can now
be individually invalidated.

Bug:  648274 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Ia318bf84f4d7d22743dc26661772c8677fec80cf
Reviewed-on: https://chromium-review.googlesource.com/719765
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511472}
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
[add] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/effect-reference-repaint-primitive-attr-mutation-expected.txt
[add] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/filters/effect-reference-repaint-primitive-attr-removal-expected.txt
[add] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/filters/effect-reference-repaint-primitive-removed-expected.txt
[add] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/multicol-resize-with-rule-expected.txt
[delete] https://crrev.com/a6ba03d35d8e187799e9e3b63c98eff490018b71/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/svg/feImage-target-add-to-document-expected.txt
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/svg/feImage-target-reappend-to-document-expected.txt
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/svg/relative-sized-document-scrollbars-expected.txt
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/paint/invalidation/multicol-as-paint-container-expected.txt
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/paint/invalidation/multicol-resize-with-rule-expected.txt
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/paint/invalidation/multicol-with-inline-expected.txt
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/paint/invalidation/multicol-with-overflowing-block-rl-expected.txt
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/paint/invalidation/paged-with-overflowing-block-rl-expected.txt
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/linux/fast/multicol/input-with-overflow-second-column-expected.png
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/linux/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/multicol-repaint-expected.txt
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/multicol/input-with-overflow-second-column-expected.png
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png
[delete] https://crrev.com/a6ba03d35d8e187799e9e3b63c98eff490018b71/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-background-image-cross-fade-expected.png
[delete] https://crrev.com/a6ba03d35d8e187799e9e3b63c98eff490018b71/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/gpu-rasterization/images/color-profile-mask-image-svg-expected.png
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/mac-mac10.11/fast/multicol/input-with-overflow-second-column-expected.png
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/mac-mac10.11/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/mac-retina/fast/multicol/input-with-overflow-second-column-expected.png
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/mac-retina/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/mac/fast/multicol/input-with-overflow-second-column-expected.png
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/mac/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/multicol-as-paint-container-expected.txt
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/multicol-repaint-expected.txt
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/multicol-with-block-expected.txt
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/multicol-with-inline-expected.txt
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/multicol-with-text-expected.txt
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/win/fast/multicol/input-with-overflow-second-column-expected.png
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/win/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/multicol-repaint-expected.txt
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/multicol-with-text-expected.txt
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/animation/CompositorAnimations.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/clipboard/DataTransfer.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/editing/CaretDisplayItemClientTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/frame/LocalFrameViewTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/input/EventHandlerTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.h
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/layout/LayoutObjectTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/layout/LayoutScrollbar.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/layout/LayoutScrollbarPart.h
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/layout/VisualRectMappingTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/AdjustPaintOffsetScope.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/BlockPainter.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/BoxClipper.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/BoxPaintInvalidatorTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/BoxPainter.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/FindPaintOffsetAndVisualRectNeedingUpdate.h
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/FindPropertiesNeedingUpdate.h
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/FragmentData.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/FragmentData.h
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintControllerPaintTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintInvalidationCapableScrollableArea.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintInvalidationTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintInvalidator.h
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintLayer.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintLayerClipper.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintLayerClipperTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintLayerFragment.h
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintLayerPainter.h
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintLayerTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinterTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PaintPropertyTreeUpdateTests.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/PrePaintTreeWalkTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/RarePaintData.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/RarePaintData.h
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/SVGMaskPainter.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/SVGPaintContext.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/SVGPaintContext.h
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/ScrollableAreaPainter.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/ViewPainter.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/ViewPainterTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/paint/compositing/CompositingLayerPropertyUpdater.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/scheduler/FrameThrottlingTest.cpp
[modify] https://crrev.com/2cff87c380b22ade36aa4d85a6f983387559178c/third_party/WebKit/Source/core/testing/Internals.cpp

Status: Fixed (was: Assigned)

Sign in to add a comment