Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(126)

Unified Diff: chrome/test/data/extensions/api_test/window_open/opener/test.html

Issue 7497024: Add a test for the workaround for bug 89967. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/data/extensions/api_test/window_open/opener/set-name.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/data/extensions/api_test/window_open/opener/test.html
diff --git a/chrome/test/data/extensions/api_test/window_open/opener/test.html b/chrome/test/data/extensions/api_test/window_open/opener/test.html
new file mode 100644
index 0000000000000000000000000000000000000000..9e25ec637d2ae73471f10845429b98a683e2e73f
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/window_open/opener/test.html
@@ -0,0 +1,42 @@
+<script>
+chrome.test.runTests([
+ // Tests that even though window.opener is not set when using
+ // chrome.windows.create directly, the same effect can be achieved by creating
+ // a window, giving it a name, and then targetting that window via
+ // window.open().
+ function checkOpener() {
+ // Make sure that we wait for the load callbacks to fire.
+ var testCompleted = chrome.test.callbackAdded();
+ var testWindowId;
+
+ window.onSetNameLoaded = function(testWindow) {
+ // It's not technically required for window.opener to be null when using
+ // chrome.windows.create, but that is the current expected behavior (and
+ // the reason why the window.name/open() workaround is necessary).
+ chrome.test.assertTrue(testWindow.opener == null);
+ window.open('check-opener.html', 'target-window');
+ };
+
+ window.onCheckOpenerLoaded = function(testWindow) {
+ // The opener should now be set...
+ chrome.test.assertTrue(testWindow.opener != null);
+ // ...and the test window should only have one tab (because it was
+ // targetted via the "target-window" name).
+ chrome.tabs.getAllInWindow(
+ testWindowId,
+ chrome.test.callbackPass(function(tabs) {
+ chrome.test.assertEq(1, tabs.length);
+ chrome.test.assertEq(
+ chrome.extension.getURL('check-opener.html'), tabs[0].url);
+ testCompleted();
+ }));
+ };
+
+ chrome.windows.create(
+ {'url': 'set-name.html'},
+ chrome.test.callbackPass(function(win) {
+ testWindowId = win.id;
+ }));
+ }
+]);
+</script>
« no previous file with comments | « chrome/test/data/extensions/api_test/window_open/opener/set-name.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698