Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(108)

Issue 179833006: Fix clippingContainer for fixed position elements (Closed)

Created:
6 years, 10 months ago by ojan
Modified:
6 years, 9 months ago
CC:
blink-reviews, bemjb+rendering_chromium.org, dsinclair, zoltan1, eae+blinkwatch, leviw+renderwatch, jchaffraix+rendering, pdr.
Visibility:
Public.

Description

Fix clippingContainer for fixed position elements. Fixed position elements are clipped by CSS clip ancestors, which may be between the fixed position element and its containingBlock. So clippingAncestor needs to walk up the ancestors of a fixed positioned element manually instead of using containingBlock directly. I believe this only applies to fixed position elements. Other elements can use containingBlock because an absolutely positioned ancestor will never get skipped in the containingBlock traversal and CSS clip only applies to absolutely positioned elements. BUG=347172 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=168473

Patch Set 1 #

Total comments: 2

Patch Set 2 : add transform with overflow hidden test case #

Total comments: 1

Patch Set 3 : const_cast #

Unified diffs Side-by-side diffs Delta from patch set Stats (+119 lines, -1 line) Patch
A LayoutTests/fast/css/fixed-overlaps-absolute-in-clip.html View 1 1 chunk +33 lines, -0 lines 0 comments Download
A LayoutTests/fast/css/fixed-overlaps-absolute-in-clip-expected.html View 1 1 chunk +28 lines, -0 lines 0 comments Download
A LayoutTests/fast/css/transformed-overflow-hidden-clips-fixed.html View 1 1 chunk +20 lines, -0 lines 0 comments Download
A LayoutTests/fast/css/transformed-overflow-hidden-clips-fixed-expected.html View 1 1 chunk +23 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderObject.cpp View 1 2 1 chunk +15 lines, -1 line 0 comments Download

Messages

Total messages: 13 (0 generated)
ojan
https://codereview.chromium.org/179833006/diff/1/Source/core/rendering/RenderObject.cpp File Source/core/rendering/RenderObject.cpp (right): https://codereview.chromium.org/179833006/diff/1/Source/core/rendering/RenderObject.cpp#newcode820 Source/core/rendering/RenderObject.cpp:820: RenderObject* container = this; Had to remove the const ...
6 years, 10 months ago (2014-02-26 20:55:27 UTC) #1
esprehn
https://codereview.chromium.org/179833006/diff/1/Source/core/rendering/RenderObject.cpp File Source/core/rendering/RenderObject.cpp (right): https://codereview.chromium.org/179833006/diff/1/Source/core/rendering/RenderObject.cpp#newcode823 Source/core/rendering/RenderObject.cpp:823: for (container = container->parent(); container && !container->canContainFixedPositionObjects(); container = ...
6 years, 10 months ago (2014-02-26 21:26:02 UTC) #2
ojan
On 2014/02/26 21:26:02, esprehn wrote: > https://codereview.chromium.org/179833006/diff/1/Source/core/rendering/RenderObject.cpp > File Source/core/rendering/RenderObject.cpp (right): > > https://codereview.chromium.org/179833006/diff/1/Source/core/rendering/RenderObject.cpp#newcode823 > ...
6 years, 10 months ago (2014-02-27 00:28:46 UTC) #3
ojan
Test case added.
6 years, 10 months ago (2014-02-27 01:53:45 UTC) #4
esprehn
On 2014/02/27 01:53:45, ojan wrote: > Test case added. Why did you lose the const?
6 years, 10 months ago (2014-02-27 03:03:45 UTC) #5
ojan
On 2014/02/27 03:03:45, esprehn wrote: > On 2014/02/27 01:53:45, ojan wrote: > > Test case ...
6 years, 10 months ago (2014-02-27 03:06:19 UTC) #6
ojan
On 2014/02/27 03:06:19, ojan wrote: > On 2014/02/27 03:03:45, esprehn wrote: > > On 2014/02/27 ...
6 years, 9 months ago (2014-02-28 03:04:46 UTC) #7
ojan
ping
6 years, 9 months ago (2014-03-04 02:36:07 UTC) #8
abarth-chromium
@esprehn: I think this one is for you. :)
6 years, 9 months ago (2014-03-04 05:04:48 UTC) #9
esprehn
lgtm, one comment https://codereview.chromium.org/179833006/diff/10001/Source/core/rendering/RenderObject.cpp File Source/core/rendering/RenderObject.cpp (right): https://codereview.chromium.org/179833006/diff/10001/Source/core/rendering/RenderObject.cpp#newcode820 Source/core/rendering/RenderObject.cpp:820: RenderObject* container = this; I think ...
6 years, 9 months ago (2014-03-04 05:22:24 UTC) #10
ojan
The CQ bit was checked by ojan@chromium.org
6 years, 9 months ago (2014-03-04 19:25:00 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ojan@chromium.org/179833006/30001
6 years, 9 months ago (2014-03-04 19:26:11 UTC) #12
commit-bot: I haz the power
6 years, 9 months ago (2014-03-05 12:31:17 UTC) #13
Message was sent while issue was closed.
Change committed as 168473

Powered by Google App Engine
This is Rietveld 408576698