Bug 1126851, window object should special case only resize event dispatched to itself, r=bz

This commit is contained in:
Olli Pettay 2015-02-06 12:42:23 +02:00
parent af546ca486
commit cb911b4f4b
3 changed files with 55 additions and 3 deletions

View File

@ -3078,8 +3078,14 @@ nsGlobalWindow::PreHandleEvent(EventChainPreVisitor& aVisitor)
gEntropyCollector->RandomUpdate((void*)&(aVisitor.mEvent->time),
sizeof(uint32_t));
}
} else if (msg == NS_RESIZE_EVENT) {
mIsHandlingResizeEvent = true;
} else if (msg == NS_RESIZE_EVENT && aVisitor.mEvent->mFlags.mIsTrusted) {
// QIing to window so that we can keep the old behavior also in case
// a child window is handling resize.
nsCOMPtr<nsPIDOMWindow> window =
do_QueryInterface(aVisitor.mEvent->originalTarget);
if (window) {
mIsHandlingResizeEvent = true;
}
} else if (msg == NS_MOUSE_BUTTON_DOWN &&
aVisitor.mEvent->mFlags.mIsTrusted) {
gMouseDown = true;

View File

@ -772,4 +772,6 @@ skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s
[test_window_define_nonconfigurable.html]
skip-if = true # bug 1107443 - code for newly-added test was disabled
[test_root_iframe.html]
[test_performance_user_timing.html]
[test_performance_user_timing.html]
[test_bug1126851.html]
skip-if = buildapp == 'mulet' || buildapp == 'b2g'

View File

@ -0,0 +1,44 @@
<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=1126851
-->
<head>
<meta charset="utf-8">
<title>Test for Bug 1126851</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<script type="application/javascript">
/** Test for Bug 1126851 **/
SimpleTest.waitForExplicitFinish();
function runTest() {
win = window.open("about:blank", "");
win.onload = function() {
win.onunload = function() {
ok(true, "got unload");
win.close();
SimpleTest.finish();
}
win.onresize = function() {
win.location.reload();
}
win.document.dispatchEvent(new win.Event("resize", { bubbles: true }));
}
}
</script>
</head>
<body onload="runTest()">
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1126851">Mozilla Bug 1126851</a>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
</pre>
</body>
</html>