Closed
Bug 1226095
Opened 9 years ago
Closed 7 years ago
Filters change the position of positioned descendants
Categories
(Core :: Layout, defect)
Core
Layout
Tracking
()
RESOLVED
INVALID
People
(Reporter: pdr, Unassigned)
References
Details
(Whiteboard: [webcompat])
Attachments
(1 file)
(deleted),
text/html
|
Details |
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.8 Safari/537.36
Steps to reproduce:
The presence of a filter changes how Gecko positions positioned descendants.
I created a small testcase here (also attached):
http://jsbin.com/pinesaxozo
This area is pretty and rough in terms of compat. The spec doesn't seem to have any wording about positions changing (http://www.w3.org/TR/filter-effects/#FilterProperty). WebKit and Blink are still largely similar in this area and do not change the position. Edge's filter support doesn't seem to work at all in this case (must enable via about:flags).
Updated•9 years ago
|
Component: Untriaged → Layout
Product: Firefox → Core
Comment 1•9 years ago
|
||
Hmm. We seem to be making filter induce an absolute containing block, just like transform. I see nothing to this effect in https://drafts.fxtf.org/filters/#FilterProperty
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(roc)
Comment 2•9 years ago
|
||
Oh, and it's quite obvious in the linked testcase if you set the kids to both be "width: 100%".
Comment 3•9 years ago
|
||
And in particular, nsStyleDisplay::IsFixedPosContainingBlock returns true if aContextFrame->StyleSVGReset()->HasFilters().
Looks like that was added in bug 1125767 after it was decided to update the spec in <http://www.w3.org/2015/02/10-fx-minutes.html#action02> back in February. Presumably the editors just haven't gotten around to it yet. Trying to switch needinfo to one of them.
Flags: needinfo?(roc) → needinfo?(edbugzilla)
Updated•8 years ago
|
Whiteboard: [webcompat]
Comment 6•8 years ago
|
||
There's a github issue filed on the [filters-1] spec:
https://github.com/w3c/fxtf-drafts/issues/11
It seems to me that the spec editors are simply ignoring it. :(
It appears no significant edits has been made since Feb 2015:
https://hg.fxtf.org/drafts/log/85442cf6d40c/filters/Overview.src.html
(assuming I'm looking at the right file)
Fwiw, there's also a [filters-2] spec, which adds the 'backdrop-filter' property:
https://drafts.fxtf.org/filters-2/#BackdropFilterProperty
Comment 12•7 years ago
|
||
Update what I had found: this is a layout bug rather than painting bug.
The mBackgroundRect of the nsDisplayBackgroundColor of the filtered div, with absolute position, is not on the right position.
Comment 13•7 years ago
|
||
It's not a layout bug really, since we do this *intentionally*, see comment 3.
The relevant spec at that time was expected to be updated to require the layout
in Gecko, per ISSUE 1 at https://drafts.fxtf.org/filter-effects/#FilterProperty
Have you tried contacting the spec editors about this?
Flags: needinfo?(cku)
Updated•7 years ago
|
Flags: needinfo?(edbugzilla)
Comment 14•7 years ago
|
||
IIUC, the CSSWG has resolved on Gecko's behavior, except for adding
a quirk for the root element to not trap fixed pos.
https://github.com/w3c/fxtf-drafts/issues/11#issuecomment-342677391
n-i dbaron to answer mstange's questions here:
https://github.com/w3c/fxtf-drafts/issues/11#issuecomment-342693310
Flags: needinfo?(dbaron)
Updated•7 years ago
|
Flags: needinfo?(dbaron)
Comment 15•7 years ago
|
||
Given the CSSWG resolution I'm resolving this as invalid.
(The missing part to fully implement the resolution is bug 1423746.)
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INVALID
Updated•6 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•