diff options
author | yosin@chromium.org <yosin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-07 09:24:54 +0000 |
---|---|---|
committer | yosin@chromium.org <yosin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-07 09:24:54 +0000 |
commit | 5d9351118f780b0c6f90e8466d8f334bb289aeca (patch) | |
tree | 256f2f45b90caa81a5917545f75cd5c190375baf /chrome/test | |
parent | 94851d93dba32d6555cbea703760011c0ad23b84 (diff) | |
download | chromium_src-5d9351118f780b0c6f90e8466d8f334bb289aeca.zip chromium_src-5d9351118f780b0c6f90e8466d8f334bb289aeca.tar.gz chromium_src-5d9351118f780b0c6f90e8466d8f334bb289aeca.tar.bz2 |
* Implement new extension function chrome.tabs.reload.
* Update documentation for chrome.tabs module.
* Change TODO comment to TODO(who) by http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extension_tabs_module.cc?r1=88703&r2=89083
BUG=91618
TEST=unit test in browser_tests ExtensionApiTest.TabReload
Review URL: http://codereview.chromium.org/7747039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99935 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
4 files changed, 98 insertions, 0 deletions
diff --git a/chrome/test/data/extensions/api_test/tabs/reload/a.html b/chrome/test/data/extensions/api_test/tabs/reload/a.html new file mode 100644 index 0000000..6868fe1 --- /dev/null +++ b/chrome/test/data/extensions/api_test/tabs/reload/a.html @@ -0,0 +1,13 @@ +<html> + <head> + <script> +window.onload = function() { + var href = window.location.href; + chrome.extension.getBackgroundPage().onTabLoad(href); +}; + </script> + </head> + <body> + <h1>A</h1> + </body> +</html>
\ No newline at end of file diff --git a/chrome/test/data/extensions/api_test/tabs/reload/background.html b/chrome/test/data/extensions/api_test/tabs/reload/background.html new file mode 100644 index 0000000..46f4d74 --- /dev/null +++ b/chrome/test/data/extensions/api_test/tabs/reload/background.html @@ -0,0 +1 @@ +<script src="test.js"></script> diff --git a/chrome/test/data/extensions/api_test/tabs/reload/manifest.json b/chrome/test/data/extensions/api_test/tabs/reload/manifest.json new file mode 100644 index 0000000..ee41276 --- /dev/null +++ b/chrome/test/data/extensions/api_test/tabs/reload/manifest.json @@ -0,0 +1,7 @@ +{ + "name": "chrome.tabs test", + "version": "0.1", + "description": "end-to-end browser test for chrome.tabs API getCurrent()", + "background_page": "background.html", + "permissions": ["tabs"] +} diff --git a/chrome/test/data/extensions/api_test/tabs/reload/test.js b/chrome/test/data/extensions/api_test/tabs/reload/test.js new file mode 100644 index 0000000..de15f6f --- /dev/null +++ b/chrome/test/data/extensions/api_test/tabs/reload/test.js @@ -0,0 +1,77 @@ +// 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. + +var assertEq = chrome.test.assertEq; +var callbackPass = chrome.test.callbackPass; + +var myTabId; + +// window.onload in a.html calls this function. +var onTabLoad; + +function pageUrl(letter) { + return chrome.extension.getURL(letter + ".html"); +} + +function withTabOnReload(fn) { + var done = callbackPass(); + onTabLoad = function(url) { + assertEq(pageUrl("a"), url); + done(); + }; + fn(); +} + +var allTests = [ + function testReload1() { + withTabOnReload(function () { + chrome.tabs.reload(); + }); + }, + + function testReload2() { + withTabOnReload(function () { + chrome.tabs.reload(null); + }); + }, + + function testReload2() { + withTabOnReload(function () { + chrome.tabs.reload(myTabId); + }); + }, + + function testReload4() { + withTabOnReload(function () { + chrome.tabs.reload(myTabId, {}); + }); + }, + + function testReload5() { + withTabOnReload(function () { + chrome.tabs.reload(myTabId, {}, callbackPass()); + }); + }, + + function testReload6() { + withTabOnReload(function () { + chrome.tabs.reload(myTabId, { bypassCache: false }, callbackPass()); + }); + }, + + function testReload7() { + withTabOnReload(function () { + chrome.tabs.reload(myTabId, { bypassCache: true }, callbackPass()); + }); + }, +]; + +onTabLoad = function(url) { + chrome.test.runTests(allTests); +}; + +chrome.tabs.create({url: pageUrl("a")}, function(tab) { + myTabId = tab.id; + chrome.tabs.update(myTabId, { selected: true }); +}); |