Closed Bug 1352785 Opened 7 years ago Closed 7 years ago

stylo: initial styling of elements with an unresolvable -moz-binding URL value causes invalid lazy style resolution

Categories

(Core :: CSS Parsing and Computation, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox55 --- fixed

People

(Reporter: heycam, Assigned: heycam)

References

Details

Attachments

(1 file)

In should_traverse_children, we avoid traversing children of an element with a -moz-binding value when we're doing an initial styling, so that we don't wastefully style the children when they'll need to be restyled as a result of attaching the binding soon after.

The test for whether to skip traversing only looks at whether there is any url() value (since we can't resolve the URL during the parallel traversal), but the check for whether to attach the binding, in nsCSSFrameConstructor::AddFrameConstructionItemsInternal, takes into account whether the url() was able to be resolved or not.  This means that we won't end up styling those children if the URL couldn't be resolved.
(This is triggering the assertions for bug 1345695 in test_value_cloning.html.)
It might be that I need to do the same in nsCSSFrameConstructor::ConstructDocElementFrame, but I haven't tested.
Comment on attachment 8853730 [details]
Bug 1352785 - stylo: Ensure children of elements with invalid -moz-binding URLs get styled.

https://reviewboard.mozilla.org/r/125800/#review128306
Attachment #8853730 - Flags: review?(bobbyholley) → review+
Pushed by cmccormack@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/4662b8b64e3c
stylo: Ensure children of elements with invalid -moz-binding URLs get styled. r=bholley
https://hg.mozilla.org/mozilla-central/rev/4662b8b64e3c
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Assignee: nobody → cam
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: