New issue
Advanced search Search tips

Issue 614257 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Positioned content in an inline is positioned incorrectly in spv2

Project Member Reported by pdr@chromium.org, May 24 2016

Issue description

The following tests (and more) fail due to the same bug:
virtual/spv2/fast/block/positioning/058.html
virtual/spv2/fast/block/positioning/absolute-in-inline-ltr-2.html
virtual/spv2/fast/block/positioning/absolute-in-inline-ltr-3.html
virtual/spv2/fast/block/positioning/absolute-in-inline-ltr.html
virtual/spv2/fast/block/positioning/absolute-in-inline-rtl-2.html
virtual/spv2/fast/block/positioning/absolute-in-inline-rtl-3.html
virtual/spv2/fast/block/positioning/absolute-in-inline-rtl.html
virtual/spv2/fast/block/positioning/absolute-in-inline-short-ltr.html
virtual/spv2/fast/block/positioning/absolute-in-inline-short-rtl.html

Attached is a minimized testcase.
 
pos.html
210 bytes View Download
Project Member

Comment 1 by bugdroid1@chromium.org, May 25 2016

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

commit 58ec56bf0cac888dd828f5b90b08627e53dd3427
Author: pdr <pdr@chromium.org>
Date: Wed May 25 22:55:09 2016

Remove inlineBoundingBoxOffset from PaintLayer::updateLayerPosition

This extra variable was only used to obfuscate this code. Unfortunately
discovered this while working on 614257.

BUG= 614257 

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

[modify] https://crrev.com/58ec56bf0cac888dd828f5b90b08627e53dd3427/third_party/WebKit/Source/core/paint/PaintLayer.cpp

Project Member

Comment 2 by bugdroid1@chromium.org, May 27 2016

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

commit 0079320b1c8fdad99ef3cb31b92ef09da6ecd2e0
Author: pdr <pdr@chromium.org>
Date: Fri May 27 00:06:54 2016

Correctly position abspos content inside relpos inlines [spv2]

This patch fixes a class of bugs where absolutely positioned content
in a relative inline container would be positioned relative to the
origin instead of relative to the inline. This largely mirrors the logic
in PaintLayer::updateLayerPosition which used
LayoutInline::offsetForInFlowPositionedInline to position PaintLayers.

BUG= 614257 

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

[modify] https://crrev.com/0079320b1c8fdad99ef3cb31b92ef09da6ecd2e0/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/0079320b1c8fdad99ef3cb31b92ef09da6ecd2e0/third_party/WebKit/LayoutTests/VirtualTestSuites
[add] https://crrev.com/0079320b1c8fdad99ef3cb31b92ef09da6ecd2e0/third_party/WebKit/LayoutTests/virtual/spv2/fast/css/README.txt
[modify] https://crrev.com/0079320b1c8fdad99ef3cb31b92ef09da6ecd2e0/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 6 2016

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

commit 112a79c17f09f9f1aeb2a38fc9672ff3985c7ba8
Author: pdr <pdr@chromium.org>
Date: Mon Jun 06 20:18:16 2016

[spv2] Account for flipped writing modes in paint offset

Flipped writing modes cause an object's offset to be flipped relative
to its parent. This patch switches from using locationOffset to
topLeftLocation which includes writing mode handling. This matches
similar logic in PaintLayer::updateLayerPosition. A comment has been
added about removing unnecessary craws back up the tree for calculating
containing blocks.

With this patch, all fast/block/positioning tests pass, modulo our lack
of multicolumn fragment painting.

BUG= 614257 

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

[modify] https://crrev.com/112a79c17f09f9f1aeb2a38fc9672ff3985c7ba8/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/112a79c17f09f9f1aeb2a38fc9672ff3985c7ba8/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp

Comment 4 by pdr@chromium.org, Jun 7 2016

Status: Fixed (was: Assigned)

Sign in to add a comment