Closed
Bug 1034682
Opened 11 years ago
Closed 11 years ago
Assertion failure: !xpc::IsInContentXBLScope(boundScope)
Categories
(Core :: DOM: Core & HTML, defect)
Core
DOM: Core & HTML
Tracking
()
RESOLVED
FIXED
mozilla33
People
(Reporter: peterv, Assigned: bholley)
References
Details
Attachments
(5 files)
769 bytes,
patch
|
Details | Diff | Splinter Review | |
3.46 KB,
patch
|
Details | Diff | Splinter Review | |
1.99 KB,
patch
|
peterv
:
review+
|
Details | Diff | Splinter Review |
3.46 KB,
patch
|
peterv
:
review+
|
Details | Diff | Splinter Review |
2.43 KB,
patch
|
billm
:
review+
|
Details | Diff | Splinter Review |
I made a small change to textbox.xml, and hit this assertion while running dom/tests/mochitest/bugs/test_bug335976.xhtml.
Reporter | ||
Comment 1•11 years ago
|
||
Reporter | ||
Comment 2•11 years ago
|
||
Bobby, if you apply this patch and run dom/tests/mochitest/bugs/test_bug335976.xhtml you'll hit the assertion in nsXBLBinding::LookupMember. Is the assert wrong?
Blocks: 787070
Flags: needinfo?(bobbyholley)
Assignee | ||
Comment 3•11 years ago
|
||
So, this is another case of xbl destructors not running at a meaningful time. We adopt a bound element from one document to the other, and then run the <destructor> off of a script blocker. By the time that runs, the element is already in the new document, so we actually compile and execute the destructor in the new scope, rather than the old one. It then ends up interacting with anonymous content that lives in the old scope, causing us to trip the assertion (which is generally asserting against Weird Things Happening).
I think the right thing to do is to turn off same-origin Xrays for XBL scopes. I'll attach a patch.
Flags: needinfo?(bobbyholley)
Assignee | ||
Comment 4•11 years ago
|
||
Attachment #8451776 -
Flags: review?(wmccloskey)
Reporter | ||
Comment 5•11 years ago
|
||
This seems to break a lot of tests (as an example, run content/base/test/test_bug166235.html).
Assignee | ||
Updated•11 years ago
|
Attachment #8451776 -
Flags: review?(wmccloskey)
Assignee | ||
Comment 6•11 years ago
|
||
Assignee | ||
Comment 7•11 years ago
|
||
This doesn't make sense. wantXrays means that the WrapperFactory machinery gives
us Xrays in the same-origin case. When it's false, we don't have Xrays to
same-origin objects to begin with, so the waive is useless. Its only observable
effect comes in the situation of privileged (i.e. nsEP) sandboxes with a
less-privileged sandboxPrototype. And I see no reason why these things should get
a waived prototype.
It looks like this was added in 2010 for the Web Console in bug 611401. None of
that is applicable anymore.
Attachment #8452619 -
Flags: review?(peterv)
Assignee | ||
Comment 8•11 years ago
|
||
Attachment #8452620 -
Flags: review?(peterv)
Assignee | ||
Comment 9•11 years ago
|
||
Attachment #8452621 -
Flags: review?(wmccloskey)
Attachment #8452621 -
Flags: review?(wmccloskey) → review+
Reporter | ||
Updated•11 years ago
|
Attachment #8452619 -
Flags: review?(peterv) → review+
Reporter | ||
Updated•11 years ago
|
Attachment #8452620 -
Flags: review?(peterv) → review+
Reporter | ||
Updated•11 years ago
|
Assignee: nobody → bobbyholley
Assignee | ||
Comment 10•11 years ago
|
||
Comment 11•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/cc85d728482e
https://hg.mozilla.org/mozilla-central/rev/ee683f7998c1
https://hg.mozilla.org/mozilla-central/rev/91a2a519a725
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla33
Comment 12•11 years ago
|
||
Comment on attachment 8452621 [details] [diff] [review]
Part 3 - Set wantXrays to false for content XBL scopes. v2
>+ // Touch a non-existent property on our anonymous input field. This
>+ // serves as test coverage for bug 1034682.
>+ this.inputField.foo;
And also spams the console if you have warnings enabled...
Assignee | ||
Comment 13•11 years ago
|
||
See bug 1038278.
Updated•6 years ago
|
Component: DOM → DOM: Core & HTML
You need to log in
before you can comment on or make changes to this bug.
Description
•