mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 20:05:49 +00:00
Bug 1139099: Dispatch DOMDocElementInserted to match the document-element-inserted observer notification. r=mrbkap
--HG-- extra : rebase_source : e9eb26724c1889d893aa717fa6b4c7811099bc6b
This commit is contained in:
parent
33c5317337
commit
3e934217ce
@ -1550,4 +1550,8 @@ nsContentSink::NotifyDocElementCreated(nsIDocument* aDoc)
|
||||
NotifyObservers(domDoc, "document-element-inserted",
|
||||
EmptyString().get());
|
||||
}
|
||||
|
||||
nsContentUtils::DispatchChromeEvent(aDoc, aDoc,
|
||||
NS_LITERAL_STRING("DOMDocElementInserted"),
|
||||
true, false);
|
||||
}
|
||||
|
@ -13,3 +13,4 @@ support-files =
|
||||
file_bug1108547-1.html
|
||||
file_bug1108547-2.html
|
||||
file_bug1108547-3.html
|
||||
[browser_DOMDocElementInserted.js]
|
||||
|
24
dom/html/test/browser_DOMDocElementInserted.js
Normal file
24
dom/html/test/browser_DOMDocElementInserted.js
Normal file
@ -0,0 +1,24 @@
|
||||
// Tests that the DOMDocElementInserted event is visible on the frame
|
||||
add_task(function*() {
|
||||
let tab = gBrowser.addTab();
|
||||
let uri = "data:text/html;charset=utf-8,<html/>"
|
||||
|
||||
let eventPromise = ContentTask.spawn(tab.linkedBrowser, null, function() {
|
||||
Cu.import("resource://gre/modules/PromiseUtils.jsm");
|
||||
let deferred = PromiseUtils.defer();
|
||||
|
||||
let listener = (event) => {
|
||||
removeEventListener("DOMDocElementInserted", listener, true);
|
||||
deferred.resolve(event.target.documentURIObject.spec);
|
||||
};
|
||||
addEventListener("DOMDocElementInserted", listener, true);
|
||||
|
||||
return deferred.promise;
|
||||
});
|
||||
|
||||
tab.linkedBrowser.loadURI(uri);
|
||||
let loadedURI = yield eventPromise;
|
||||
is(loadedURI, uri, "Should have seen the event for the right URI");
|
||||
|
||||
gBrowser.removeTab(tab);
|
||||
});
|
@ -9,5 +9,6 @@
|
||||
<script type="application/javascript">
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
window.addEventListener("DOMWindowCreated", function() { ok(false, "DOMWindowCreated should not have fired"); }, false);
|
||||
window.addEventListener("DOMDocElementInserted", function() { ok(false, "DOMDocElementInserted should not have fired"); }, false);
|
||||
|
||||
<iframe src="data:text/plain,Hi"></iframe>
|
||||
|
Loading…
Reference in New Issue
Block a user