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

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

Issue 8775046: Convert another batch of extension tests to manifest_version 2 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years 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
Index: chrome/test/data/extensions/api_test/window_open/opener/test.js
===================================================================
--- chrome/test/data/extensions/api_test/window_open/opener/test.js (revision 0)
+++ chrome/test/data/extensions/api_test/window_open/opener/test.js (revision 0)
@@ -0,0 +1,44 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+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;
+ }));
+ }
+]);

Powered by Google App Engine
This is Rietveld 408576698