Open Bug 1038905 Opened 10 years ago Updated 2 years ago

Assertion failures when switching the root node from "display: none" to an inline display type

Categories

(Core :: Layout, defect)

All
Android
defect

Tracking

()

People

(Reporter: sgbowen8, Unassigned)

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

Attached file bug.html
When dynamically switching display values of the root node from "none" to any "inline" type and then back to default, two assertions are triggered on scrollbar elements on the Android platform.

The assertions are:
http://mxr.mozilla.org/mozilla-central/source/layout/base/RestyleTracker.cpp#245
and:
http://mxr.mozilla.org/mozilla-central/source/content/base/public/nsIContent.h#213

See the attachment for the test which triggers the assertions on Android devices. The behavior can also be reproduced on desktop by adding the following to html.css:
"html xul|scrollbar {
   display: none;
}"

One can also reproduce this (on Android) by modifying the order of the display values in "property_database.js" and running the "layout/style/test/test_root_node_display.html" mochitest.
Output from the assertion failures:
[12978] ###!!! ASSERTION: root of native anonymous subtree must have parent equal to binding parent: '!IsRootOfNativeAnonymousSubtree() || (GetParent() && GetBindingParent() == GetParent())', file ../../../dist/include/nsIContent.h, line 220
Tag is scrollbar
[12978] ###!!! ASSERTION: Unexpected document; this will lead to incorrect behavior!: 'aElement->GetCrossShadowCurrentDoc() == Document()', file /home/sgbowen/builds/mozilla-central/layout/base/RestyleTracker.cpp, line 263

Note: my line numbers are different.
Hardware: x86_64 → All
Keywords: assertion, testcase
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: