Open
Bug 909006
Opened 12 years ago
Updated 3 years ago
ASSERTION: event for content that isn't in a document: 'doc', file nsPresShell.cpp, line 6605 when a double click removes its event target from the DOM
Categories
(Core :: Layout, defect)
Tracking
()
NEW
| Tracking | Status | |
|---|---|---|
| firefox35 | --- | affected |
People
(Reporter: florian, Unassigned)
References
Details
(Keywords: assertion, reproducible)
Attachments
(2 files)
|
1009 bytes,
patch
|
Details | Diff | Splinter Review | |
|
4.90 KB,
text/plain
|
Details |
My debug build prints this in my terminal:
###!!! ASSERTION: event for content that isn't in a document: 'doc', file .../layout/base/nsPresShell.cpp, line 6603
WARNING: NS_ENSURE_TRUE(!aContent || aContent->GetCurrentDoc() == mDocument) failed: file .../layout/base/nsPresShell.cpp, line 6607
since I've replaced:
box.addEventListener("DOMNodeRemoved", listener);
by:
MutationObserver(listener).observe(box, {childList: true});
I noticed this on Instantbird (currently using Mozilla 22) on Mac.
This assertion was added in bug 635852. I assume it happens when a mutation event for a removed node is dispatched, but it would be nice if someone who actually knows why this assertion has been added could have a look.
Comment 1•12 years ago
|
||
So what is the testcase?
| Reporter | ||
Comment 2•12 years ago
|
||
My initial description of the problem was completely wrong: mutation observers aren't involved (I now suspect this was more related to us updating Instantbird to Mozilla 22 a few days ago than to the mutation event changes I was working on today); sorry about that.
This assertion happens when a double click on an element removes it from the DOM.
Steps to reproduce:
1. Apply the attached patch to a current mozilla-central debug build (I tested this only on Mac OS X).
2. Open FirefoxDebug and double click on a tab.
Result:
###!!! ASSERTION: event for content that isn't in a document: 'doc', file /Users/florian/buildhg/mozilla-central/layout/base/nsPresShell.cpp, line 6605
WARNING: NS_ENSURE_TRUE(!aContent || aContent->GetCurrentDoc() == mDocument) failed: file /Users/florian/buildhg/mozilla-central/layout/base/nsPresShell.cpp, line 6609
| Reporter | ||
Updated•12 years ago
|
Summary: ASSERTION: event for content that isn't in a document: 'doc', file nsPresShell.cpp, line 6603 when using mutation observers → ASSERTION: event for content that isn't in a document: 'doc', file nsPresShell.cpp, line 6605 when a double click removes its event target from the DOM
Version: 22 Branch → Trunk
Comment 4•12 years ago
|
||
I can easily hit this assertion on OS X.
STR:
1. Load http://www.cnn.com/2014/03/05/travel/affordable-caribbean-tripadvisor
2. Advance through the slideshow by clicking the > button.
RESULT:
Usually on slide #4 or #5, I hit the assertion failure:
[53733] ###!!! ASSERTION: event for content that isn't in a document: 'doc', file layout/base/nsPresShell.cpp, line 7009
Keywords: assertion,
reproducible
Updated•11 years ago
|
status-firefox35:
--- → affected
Updated•3 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•