forked from mozilla/gecko-dev
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug 1690747 - Should also check blur is allowed in BrowsingContext::B…
…lur(); r=hsivonen When binding delegates blur() to BrowsingContext::Blur, the remote side skips the check given that there is no js on the stack, but we should not skip the check. This only affects design-mode which allows the focus moving to the root element. Differential Revision: https://phabricator.services.mozilla.com/D104008
- Loading branch information
Showing
15 changed files
with
129 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<meta charset="utf-8"> | ||
<title>activeElement design-mode inner document</title> | ||
</head> | ||
<body> | ||
<h1>Inner</h1> | ||
<script> | ||
let innerlog = "innerlog:"; | ||
|
||
document.designmode = "on"; | ||
|
||
window.onmessage = function(e) { | ||
if (e.data == "focus") { | ||
document.documentElement.focus(); | ||
} else if (e.data == "getlog") { | ||
innerlog += "activeElement:" + document.activeElement.tagName + ","; | ||
parent.postMessage(innerlog, "*"); | ||
} | ||
}; | ||
|
||
window.onfocus = function() { | ||
innerlog += "windowfocus,"; | ||
}; | ||
|
||
window.onblur = function() { | ||
innerlog += "windowblur,"; | ||
}; | ||
</script> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
<!DOCTYPE HTML> | ||
<html> | ||
<!-- | ||
https://bugzilla.mozilla.org/show_bug.cgi?id=1690747 | ||
--> | ||
<head> | ||
<title>Test for Bug 1690747</title> | ||
<script src="/tests/SimpleTest/SimpleTest.js"></script> | ||
<script src="/tests/SimpleTest/EventUtils.js"></script> | ||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> | ||
</head> | ||
<body> | ||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1690747">Mozilla Bug 1690747</a> | ||
<p id="display"></p> | ||
<div id='content'> | ||
</div> | ||
<pre id="test"> | ||
<iframe src="https://example.org/tests/dom/base/test/file_focus_design_mode_inner.html"></iframe> | ||
<script type="application/javascript"> | ||
|
||
/** Test for Bug 1690747 **/ | ||
|
||
let iframe = document.querySelector("iframe"); | ||
|
||
function waitForEvent(target, event, checkFn) { | ||
return new Promise(resolve => { | ||
target.addEventListener(event, e => { | ||
if (checkFn && !checkFn(e)) { | ||
return; | ||
} | ||
resolve(); | ||
}, { once: true }); | ||
}); | ||
} | ||
|
||
async function getLog() { | ||
let log = ""; | ||
SimpleTest.executeSoon(function() { | ||
iframe.contentWindow.postMessage("getlog", "*"); | ||
}); | ||
await waitForEvent(window, "message", (e) => { | ||
log = e.data; | ||
return true; | ||
}); | ||
return log; | ||
} | ||
|
||
add_task(async function init() { | ||
await SpecialPowers.pushPrefEnv({ set: [["dom.disable_window_flip", true]] }); | ||
}); | ||
|
||
add_task(async function activeElementAfterBluring() { | ||
iframe.contentWindow.postMessage("focus", "*"); | ||
is(await getLog(), "innerlog:windowfocus,activeElement:HTML,", "check activeElement"); | ||
iframe.contentWindow.blur(); | ||
is(await getLog(), "innerlog:windowfocus,activeElement:HTML,activeElement:HTML,", "check activeElement after bluring"); | ||
}); | ||
|
||
</script> | ||
</pre> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters