| Index: chrome/test/data/extensions/api_test/tabs/basics/events.html
|
| ===================================================================
|
| --- chrome/test/data/extensions/api_test/tabs/basics/events.html (revision 112170)
|
| +++ chrome/test/data/extensions/api_test/tabs/basics/events.html (working copy)
|
| @@ -1,174 +1,7 @@
|
| +<!--
|
| + * 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.
|
| +-->
|
| <script src="tabs_util.js"></script>
|
| -
|
| -<script>
|
| -var testTabId;
|
| -var otherTabId;
|
| -var firstWindowId;
|
| -var secondWindowId;
|
| -
|
| -chrome.test.runTests([
|
| - function init() {
|
| - chrome.tabs.getSelected(null, pass(function(tab) {
|
| - testTabId = tab.id;
|
| - firstWindowId = tab.windowId;
|
| - }));
|
| - },
|
| -
|
| - function tabsOnCreated() {
|
| - chrome.test.listenOnce(chrome.tabs.onCreated, function(tab) {
|
| - assertEq(pageUrl("f"), tab.url);
|
| - otherTabId = tab.id;
|
| - assertEq(true, tab.selected);
|
| - });
|
| -
|
| - chrome.tabs.create({"windowId": firstWindowId, "url": pageUrl("f"),
|
| - "selected": true}, pass(function(tab) {}));
|
| - },
|
| -
|
| - function tabsOnUpdatedIgnoreTabArg() {
|
| - // A third argument was added to the onUpdated event callback.
|
| - // Test that an event handler which ignores this argument works.
|
| - var onUpdatedCompleted = chrome.test.listenForever(chrome.tabs.onUpdated,
|
| - function(tabid, changeInfo) {
|
| - if (tabid == otherTabId && changeInfo.status == "complete") {
|
| - onUpdatedCompleted();
|
| - }
|
| - }
|
| - );
|
| -
|
| - chrome.tabs.update(otherTabId, {"url": pageUrl("f")}, pass());
|
| - },
|
| -
|
| - function tabsOnUpdated() {
|
| - var onUpdatedCompleted = chrome.test.listenForever(
|
| - chrome.tabs.onUpdated,
|
| - function(tabid, changeInfo, tab) {
|
| - // |tab| contains the id of the tab it describes.
|
| - // Test that |tabid| matches this id.
|
| - assertEq(tabid, tab.id);
|
| -
|
| - // If |changeInfo| has a status property, than
|
| - // it should match the status of the tab in |tab|.
|
| - if (changeInfo.status) {
|
| - assertEq(changeInfo.status, tab.status);
|
| - }
|
| -
|
| - if (tabid == otherTabId && changeInfo.status == "complete") {
|
| - onUpdatedCompleted();
|
| - }
|
| - }
|
| - );
|
| -
|
| - chrome.tabs.update(otherTabId, {"url": pageUrl("f")}, pass());
|
| - },
|
| -
|
| - function tabsOnMoved() {
|
| - chrome.test.listenOnce(chrome.tabs.onMoved, function(tabid, info) {
|
| - assertEq(otherTabId, tabid);
|
| - });
|
| -
|
| - chrome.tabs.move(otherTabId, {"index": 0}, pass());
|
| - },
|
| -
|
| - function tabsOnSelectionChanged() {
|
| - chrome.test.listenOnce(chrome.tabs.onSelectionChanged,
|
| - function(tabid, info) {
|
| - assertEq(testTabId, tabid);
|
| - }
|
| - );
|
| -
|
| - chrome.tabs.update(testTabId, {"selected": true}, pass());
|
| - },
|
| -
|
| - function setupTabsOnAttachDetach() {
|
| - createWindow([""], {}, pass(function(winId, tabIds) {
|
| - secondWindowId = winId;
|
| - }));
|
| - },
|
| -
|
| - function tabsOnAttached() {
|
| - function moveAndListen(tabId, properties, callback) {
|
| - chrome.test.listenOnce(chrome.tabs.onAttached,
|
| - function(testTabId, info) {
|
| - // Ensure notification is correct.
|
| - assertEq(testTabId, tabId);
|
| - assertEq(properties.windowId, info.newWindowId);
|
| - assertEq(properties.index, info.newPosition);
|
| - if (callback)
|
| - callback();
|
| - });
|
| - chrome.tabs.move(tabId, properties);
|
| - };
|
| -
|
| - // Move tab to second window, then back to first.
|
| - // The original tab/window configuration should be restored.
|
| - // tabsOnDetached() depends on it.
|
| - moveAndListen(testTabId, {"windowId": secondWindowId, "index": 0},
|
| - pass(function() {
|
| - moveAndListen(testTabId, {"windowId": firstWindowId, "index": 1});
|
| - }));
|
| - },
|
| -
|
| - function tabsOnDetached() {
|
| - function moveAndListen(tabId, oldWindowId, oldIndex, properties,
|
| - callback) {
|
| - chrome.test.listenOnce(chrome.tabs.onDetached,
|
| - function(detachedTabId, info) {
|
| - // Ensure notification is correct.
|
| - assertEq(detachedTabId, tabId);
|
| - assertEq(oldWindowId, info.oldWindowId);
|
| - assertEq(oldIndex, info.oldPosition);
|
| - if (callback)
|
| - callback();
|
| - });
|
| - chrome.tabs.move(tabId, properties);
|
| - };
|
| -
|
| - // Move tab to second window, then back to first.
|
| - moveAndListen(testTabId, firstWindowId, 1,
|
| - {"windowId": secondWindowId, "index": 0}, pass(function() {
|
| - moveAndListen(testTabId, secondWindowId, 0,
|
| - {"windowId": firstWindowId, "index": 1});
|
| - }));
|
| - },
|
| -
|
| - function windowsOnCreated() {
|
| - chrome.test.listenOnce(chrome.windows.onCreated, function(window) {
|
| - assertTrue(window.width > 0);
|
| - assertTrue(window.height > 0);
|
| - assertEq("normal", window.type);
|
| - assertTrue(!window.incognito);
|
| - windowEventsWindow = window;
|
| - chrome.tabs.getAllInWindow(window.id, pass(function(tabs) {
|
| - assertEq(pageUrl("a"), tabs[0].url);
|
| - }));
|
| - });
|
| -
|
| - chrome.windows.create({"url": pageUrl("a")}, pass(function(tab) {}));
|
| - },
|
| -
|
| - /*
|
| - This test doesn't work on mac because the Chromium app never gets
|
| - brought to the front. See: crbug.com/60963.
|
| - It also doesn't work on Chrome OS for unknown reasons.
|
| - It also times out on the full XP builder for unknown reasons.
|
| - See: crbug.com/61035.
|
| -
|
| - function windowsOnFocusChanged() {
|
| - chrome.windows.getCurrent(pass(function(windowA) {
|
| - chrome.windows.create({}, pass(function(windowB) {
|
| - chrome.windows.update(windowA.id, {focused: true}, pass(function() {
|
| - chrome.windows.update(windowB.id, {focused: true}, pass(function() {
|
| - chrome.test.listenOnce(chrome.windows.onFocusChanged,
|
| - function(changedWindowId) {
|
| - assertEq(windowEventsWindow.id, changedWindowId);
|
| - });
|
| - chrome.windows.remove(windowB.id);
|
| - }));
|
| - }));
|
| - }));
|
| - }));
|
| - }
|
| - */
|
| -]);
|
| -</script>
|
| +<script src="events.js"></script>
|
|
|