зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1384658 - Correctly account for openers that are the same as the parent window; r=qdot
This commit is contained in:
Родитель
3ab0f8b30f
Коммит
35184e2a47
|
@ -1696,7 +1696,10 @@ WebSocketImpl::Init(JSContext* aCx,
|
|||
return NS_ERROR_DOM_SECURITY_ERR;
|
||||
}
|
||||
|
||||
MOZ_ASSERT(currentInnerWindow != innerWindow);
|
||||
if (currentInnerWindow == innerWindow) {
|
||||
// The opener may be the same outer window as the parent.
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
innerWindow = currentInnerWindow;
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<script>
|
||||
onload = function() {
|
||||
function done(success) {
|
||||
var bc = new BroadcastChannel("test_channel");
|
||||
bc.postMessage({success:success});
|
||||
bc.close();
|
||||
}
|
||||
try {
|
||||
new WebSocket("ws://mochi.test:8888/tests/dom/base/test/file_websocket_basic");
|
||||
done(true); // no hang!
|
||||
} catch (e) {
|
||||
done(false);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</html>
|
||||
|
|
@ -65,6 +65,7 @@ support-files =
|
|||
file_bug1091883_frame.html
|
||||
file_bug1091883_subframe.html
|
||||
file_bug1091883_target.html
|
||||
file_bug1384658.html
|
||||
file_bug28293.sjs
|
||||
file_bug326337.xml
|
||||
file_bug326337_inner.html
|
||||
|
@ -251,6 +252,7 @@ support-files =
|
|||
file3_setting_opener.html
|
||||
file4_setting_opener.html
|
||||
PASS.html
|
||||
window_bug1384658.html
|
||||
|
||||
[test_anchor_area_referrer.html]
|
||||
[test_anchor_area_referrer_changing.html]
|
||||
|
@ -621,6 +623,8 @@ skip-if = toolkit == 'android'
|
|||
[test_bug1314032.html]
|
||||
[test_bug1318303.html]
|
||||
[test_bug1375050.html]
|
||||
[test_bug1384658.html]
|
||||
skip-if = toolkit == 'android'
|
||||
[test_caretPositionFromPoint.html]
|
||||
[test_change_policy.html]
|
||||
[test_clearTimeoutIntervalNoArg.html]
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1384658
|
||||
-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Test for Bug 1384658</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 1384658 **/
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
var win = window.open("http://example.com/tests/dom/base/test/window_bug1384658.html",
|
||||
"_blank", "width=100,height=100");
|
||||
var bc = new BroadcastChannel("test_channel");
|
||||
bc.onmessage = ev => {
|
||||
ok(ev.data.success, "We didn't hang");
|
||||
bc.close();
|
||||
win.close();
|
||||
SimpleTest.finish();
|
||||
};
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1384658">Mozilla Bug 1384658</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none">
|
||||
|
||||
</div>
|
||||
<pre id="test">
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,19 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<script>
|
||||
onload = function() {
|
||||
if (window.location.search == "") {
|
||||
window.open("window_bug1384658.html?opened", "_top", "");
|
||||
} else {
|
||||
var iframeURL = "http://mochi.test:8888/tests/dom/base/test/file_bug1384658.html";
|
||||
var iframe = document.createElement("iframe");
|
||||
iframe.src = iframeURL;
|
||||
document.body.appendChild(iframe);
|
||||
}
|
||||
};
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
Загрузка…
Ссылка в новой задаче