Assertion failure: cachedStyles[i]->EqualForCachedAnonymousContentStyle(*cs) (cached anonymous content styles should be identical to those we would compute normally), at /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp:3962
Categories
(Core :: Layout, defect, P3)
Tracking
()
People
(Reporter: hiro, Assigned: heycam)
References
Details
Attachments
(1 file)
layout/forms/crashtests/1212688.html | causes this assertion. (I saw this on a try of mine)
Just in case you are not aware of this.
| Assignee | ||
Comment 1•6 years ago
|
||
Thanks, I didn't see that failure before.
I'm going to turn the pref off so I can investigate this and bug 1562361 next week.
| Reporter | ||
Comment 2•6 years ago
|
||
(In reply to Hiroyuki Ikezoe (:hiro) from comment #0)
layout/forms/crashtests/1212688.html | causes this assertion. (I saw this on a try of mine)
I did put a wrong link. Here is a failure on m-c that I wanted to put. https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&revision=900a0b1270437d60f87cd2832743439824ee9473&selectedJob=254027747
| Assignee | ||
Comment 3•6 years ago
|
||
Thank you. Looks like it has been mis-starred.
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Comment 4•6 years ago
|
||
| Assignee | ||
Comment 5•6 years ago
|
||
From the logs:
Actual style:
Properties:
display: none
Rules:
xul|scrollbarbutton[sbattr="scrollbar-up-top"], xul|scrollbarbutton[sbattr="scrollbar-bottom-top"] { display: none; }
xul|scrollbarbutton { background-image: none !important; }
xul|scrollbarbutton { min-height: 6px !important; min-width: 6px !important; -moz-appearance: none !important; visibility: hidden; }
scrollbar, scrollbarbutton, scrollcorner, slider, thumb { user-select: none; }
scrollbarbutton, slider, thumb { direction: inherit; cursor: inherit; }
scrollcorner, resizer, scrollbar, scrollbarbutton, slider { border-block: initial; border-inline: initial; border-start-start-radius: initial; border-start-end-radius: initial; border-end-start-radius: initial; border-end-end-radius: initial; overflow-inline: initial; overflow-block: initial; margin-block: initial; margin-inline: initial; scroll-margin-block: initial; scroll-margin-inline: initial; padding-block: initial; padding-inline: initial; scroll-padding-block: initial; scroll-padding-inline: initial; inset-block: initial; inset-inline: initial; block-size: initial; min-block-size: initial; max-block-size: initial; inline-size: initial; min-inline-size: initial; max-inline-size: initial; background: initial; background-blend-mode: initial; border: initial; border-radius: initial; box-decoration-break: initial; -moz-float-edge: initial; position: initial; float: initial; clear: initial; vertical-align: initial; overflow: initial; overflow-anchor: initial; transition: initial; animation: initial; tr
* { -moz-user-focus: ignore; user-select: none; display: -moz-box; box-sizing: border-box; }
Expected style:
Properties:
display: block
Rules:
select:not([size]):not([multiple]) > xul|scrollbar, select[size="1"] > xul|scrollbar, select:not([size]):not([multiple]) xul|scrollbarbutton, select[size="1"] xul|scrollbarbutton { display: block; margin-left: 0px; min-width: 16px; }
xul|scrollbarbutton[sbattr="scrollbar-up-top"], xul|scrollbarbutton[sbattr="scrollbar-bottom-top"] { display: none; }
xul|scrollbarbutton { background-image: none !important; }
xul|scrollbarbutton { min-height: 6px !important; min-width: 6px !important; -moz-appearance: none !important; visibility: hidden; }
scrollbar, scrollbarbutton, scrollcorner, slider, thumb { user-select: none; }
scrollbarbutton, slider, thumb { direction: inherit; cursor: inherit; }
scrollcorner, resizer, scrollbar, scrollbarbutton, slider { border-block: initial; border-inline: initial; border-start-start-radius: initial; border-start-end-radius: initial; border-end-start-radius: initial; border-end-end-radius: initial; overflow-inline: initial; overflow-block: initial; margin-block: initial; margin-inline: initial; scroll-margin-block: initial; scroll-margin-inline: initial; padding-block: initial; padding-inline: initial; scroll-padding-block: initial; scroll-padding-inline: initial; inset-block: initial; inset-inline: initial; block-size: initial; min-block-size: initial; max-block-size: initial; inline-size: initial; min-inline-size: initial; max-inline-size: initial; background: initial; background-blend-mode: initial; border: initial; border-radius: initial; box-decoration-break: initial; -moz-float-edge: initial; position: initial; float: initial; clear: initial; vertical-align: initial; overflow: initial; overflow-anchor: initial; transition: initial; animation: initial; tr
* { -moz-user-focus: ignore; user-select: none; display: -moz-box; box-sizing: border-box; }
Assertion failure: cachedStyles[i]->EqualForCachedAnonymousContentStyle(*cs) (cached anonymous content styles should be identical to those we would compute normally), at /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp:3962
| Assignee | ||
Comment 6•6 years ago
|
||
| Reporter | ||
Comment 7•6 years ago
|
||
I haven't debugged it, so I am probably wrong, but normally mOuter is the scrollable frame, so we should use mScrolledFrame instead? (I don't actually know what mOuter's nsIContent is there)
Comment 8•6 years ago
|
||
| bugherder | ||
| Assignee | ||
Comment 9•6 years ago
|
||
Ah I think it's failing in this test because the markup is
<style>
optgroup { overflow-x: hidden; }
</style>
<select>
<optgroup>
<option>
and in mobile/android/themes/geckoview/content.css we have
select:not([size]):not([multiple]) > xul|scrollbar,
select[size="1"] > xul|scrollbar,
select:not([size]):not([multiple]) xul|scrollbarbutton,
select[size="1"] xul|scrollbarbutton {
display: block;
margin-left: 0;
min-width: 16px;
}
and note that these have descendant selectors to match the scrollbarbutton elements. I think the optgroup is making its own scrollbars, separate from the select's. And the check I linked to in comment 6 would find that the parent of that scrollbar element is the optgroup.
I think we can just adjust the UA style rule to use child selectors instead. (We don't actually do anything with these optgroup scrollbars.)
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Comment 10•6 years ago
|
||
And I don't think we even use XUL select popups on GeckoView, so I'm not sure why we have these rules.
| Comment hidden (obsolete) |
| Assignee | ||
Comment 12•6 years ago
|
||
| Assignee | ||
Comment 13•6 years ago
|
||
| Comment hidden (Intermittent Failures Robot) |
Comment 15•6 years ago
|
||
Comment 16•6 years ago
|
||
| bugherder | ||
| Comment hidden (Intermittent Failures Robot) |
| Assignee | ||
Comment 19•6 years ago
|
||
Thanks, yes.
Updated•6 years ago
|
Description
•