Turn on `layout.css.xul-box-display-values.survive-blockification.enabled` by default
Categories
(Core :: Layout, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox71 | --- | fixed |
People
(Reporter: ntim, Assigned: ntim)
References
Details
Attachments
(2 files)
Bug 1582530 - Turn on 'layout.css.xul-box-display-values.survive-blockification.enabled' by default.
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details |
It should be pretty much good after bug 1582316 and bug 1581973, but I'll make a try push with the assertion patch to make sure.
Comment 1•5 years ago
|
||
Thanks for filing!
(RE "turn it on by default or remove the pref" - I'd advocate for just turning it on, via the .yaml file, so that we've still got a quick and easy way to roll back if needed, and to locally test with/without this behavior if we think we might need to roll back).
I'm in meetings for the next few hours but I'll gladly r+ a patch assuming this doesn't break anything (thanks for doing a try push).
Updated•5 years ago
|
Assignee | ||
Comment 2•5 years ago
|
||
Assignee | ||
Comment 3•5 years ago
|
||
Comment 4•5 years ago
|
||
We discussed and are going to aim for flipping the pref in this bug to give it some time to bake on nightly before the pref gets removed.
Assignee | ||
Comment 5•5 years ago
|
||
Assignee | ||
Comment 6•5 years ago
|
||
Depends on D46675
Assignee | ||
Comment 7•5 years ago
|
||
This is not quite ready for review, there are two remaining crashes AFAIK: the mozscreenshots related one and the tab overflow test one.
Updated•5 years ago
|
Assignee | ||
Comment 8•5 years ago
|
||
Updated•5 years ago
|
Comment 10•5 years ago
|
||
Comment 11•5 years ago
|
||
This change to 360339-2.xul is problematic and will probably cause e.g. the <style>
element itself to show up visibly on the page. (Normally it's display:none
.)
<html:style>
-* { float: right; }
+* { float: right; display: block; }
https://hg.mozilla.org/integration/autoland/rev/0d8d8016da4f#l2.13
Please add one more followup, to instead apply that display:block
in a more targeted way (to just the elements that matter), like we did for the -1 version of the crashtest here:
https://hg.mozilla.org/integration/autoland/rev/deba67add7d2#l6.2
Comment 12•5 years ago
|
||
Backed out 3 changesets (Bug 1582530) for crashtest failures on 360339-1.xul.
Backout: https://hg.mozilla.org/integration/autoland/rev/fb10058593f7ec2146afd9fc8844eec900e921ae
Push that started the failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=pending%2Crunning%2Csuccess%2Ctestfailed%2Cbusted%2Cexception&revision=0d8d8016da4f0066e4ddec33f52d0b5669a46060&selectedJob=268642349
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=268642349&repo=autoland&lineNumber=30941
Assignee | ||
Updated•5 years ago
|
Comment 13•5 years ago
|
||
Comment 14•5 years ago
|
||
Backed out 2 changesets (Bug 1582530) for crashtest assertions on ReflowInput.cpp.
Backout: https://hg.mozilla.org/integration/autoland/rev/3521a3b25d32e7ac6c8d1670378b452953ddfd3e
Push that started the failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=pending%2Crunning%2Csuccess%2Ctestfailed%2Cbusted%2Cexception&revision=1ae40ac76cd0a1fe5fda7dbf056025d21c71d7b9&selectedJob=268700146
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=268700146&repo=autoland&lineNumber=10943
Assignee | ||
Updated•5 years ago
|
Comment 15•5 years ago
|
||
Comment 16•5 years ago
|
||
Mochitest failure log (2):
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=268702866&repo=autoland&lineNumber=12726
Comment 17•5 years ago
|
||
Backed out 2 changesets (Bug 1582530) for causing reftest permafailures in /builds/worker/workspace/build/src/layout/generic/ReflowInput.cpp:2188 CLOSED TREE
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=268705816&repo=autoland&lineNumber=38922
Assignee | ||
Comment 18•5 years ago
|
||
(In reply to Cristina Coroiu [:ccoroiu] from comment #16)
Mochitest failure log (2):
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=268702866&repo=autoland&lineNumber=12726
Hi Daniel, Is the fullscreen assertion failure something you could look at ? I couldn't figure out what element is affected in this specific case.
Thanks :)
Comment 19•5 years ago
|
||
Comment 20•5 years ago
|
||
I haven't been able to reproduce that assertion failure during dom/html/test/test_fullscreen-api.html
in my local Linux environment, but perhaps that's not surprising because it looks like the affected push only shows that issue happening on Windows and Mac. (There are several linux platforms with all-green M-1 through e.g. M-16` runs.)
I've adjusted the assertion to move it a bit later (after the frame's been added to the frame tree, so that it can be dumped), and I added logging to print the frame's address and dump the frame tree, and I've pushed that to Try (as a child of the exact commit for comment 18's failure):
https://treeherder.mozilla.org/#/jobs?repo=try&revision=622426a82abd49f2fbc11d7602d148d70a84a713
Hopefully it crashes for the same frame and the diagnostic info is useful for tracking it down...
Comment 21•5 years ago
|
||
Built locally on Windows and poked around a bit. So that fullscreen-api failure is happening for a XUL element that is the child of an HTML body, and whose tag-name is literally "element".
I'm pretty sure it's this "element" here, since this is the testcase that we're running when the failure happens:
function testNamespaces(followupTestFn) {
let tests = [
[omitting some lines here for brevity]
{allowed: true, name: "element", ns: "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"},
Comment 22•5 years ago
|
||
It looks like the test is validating that a XUL element can be the document.fullscreenElement
(among other things).
And fullscreening an element makes the element fixed-pos, via this line:
*|*:fullscreen:not(:root) {
position: fixed !important;
So whenever a XUL element becomes fullscreen, we also need to give it "display:block" in order for it to actually behave as a proper fixedpos . :-/
Obvious question: do we even use the fullscreen APIs with XUL, in practice? If we could prove that we don't, that would be helpful to let us e.g. remove this part of the testcase and not worry about it.
Assignee | ||
Comment 23•5 years ago
|
||
(In reply to Daniel Holbert [:dholbert] from comment #22)
It looks like the test is validating that a XUL element can be the
document.fullscreenElement
(among other things).And fullscreening an element makes the element fixed-pos, via this line:
*|*:fullscreen:not(:root) { position: fixed !important;
So whenever a XUL element becomes fullscreen, we also need to give it "display:block" in order for it to actually behave as a proper fixedpos . :-/
Thanks for looking into it!
I've added:
xul|*:fullscreen:not(:root) {
/* The position: fixed; property above used to force the computed display
* value to block. It is no longer the case now, so we manually set it here to
* maintain the old behaviour. */
display: block;
}
but I think that might not fix the cases where we explicitly set display: -moz-box and use fullscreen at the same time (if we ever do), unless that display: block; has !important, which might be problematic in other cases (hidden element for example), though I'm not sure a hidden element can actually get the fullscreen state.
Obvious question: do we even use the fullscreen APIs with XUL, in practice? If we could prove that we don't, that would be helpful to let us e.g. remove this part of the testcase and not worry about it.
Bug 1305928 comment 1 says it's needed but I don't actually know if that's still true. Thomas, do you remember where this was needed ?
Comment 24•5 years ago
|
||
ntim: I just remember a test failing without that, not sure if it's still necessary.
Assignee | ||
Comment 25•5 years ago
|
||
Comment 26•5 years ago
|
||
Comment 27•5 years ago
|
||
Backed out 2 changesets (bug 1582530) for Creshtest failures in ayout/generic/ReflowInput.cpp. CLOSED TREE
Log:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=268853036&repo=autoland&lineNumber=38922
Push with failures:
https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=536e78fea3de622d967f5de4b5d8fd4b20abc878
Backout:
https://hg.mozilla.org/integration/autoland/rev/8ce8534b2d857004d83198795b3f56ef6ab86568
Comment 28•5 years ago
|
||
Assignee | ||
Comment 29•5 years ago
|
||
Assignee | ||
Comment 30•5 years ago
|
||
Assignee | ||
Comment 31•5 years ago
|
||
Assignee | ||
Comment 32•5 years ago
|
||
Comment 33•5 years ago
|
||
Comment 34•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/b768fb9e4983
https://hg.mozilla.org/mozilla-central/rev/72a8d8c20180
Description
•