diff options
author | asargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-23 20:19:56 +0000 |
---|---|---|
committer | asargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-23 20:19:56 +0000 |
commit | e558ff82d3f37169fad4abd52200dc75651a3ab5 (patch) | |
tree | 5eeea1786cec4171e7fe4179413865dea9a4b426 /chrome/test | |
parent | 24dc637a97bb646e5d41129f2daa0949edade2bf (diff) | |
download | chromium_src-e558ff82d3f37169fad4abd52200dc75651a3ab5.zip chromium_src-e558ff82d3f37169fad4abd52200dc75651a3ab5.tar.gz chromium_src-e558ff82d3f37169fad4abd52200dc75651a3ab5.tar.bz2 |
Add a launchApp method to extension management API.
This makes it possible for new tab replacement extensions to recreate the same
app launch experience as the built-in NTP (pinned tabs, launch containers,
etc.)
Also add the extension version to data we report about extensions via
the management API.
BUG=56325,55474
TEST=An extension using chrome.experimental.management.launchApp(<id>) should
work to launch an app the same way that app gets launched from the built-in
new tab page.
Review URL: http://codereview.chromium.org/3381019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60334 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
6 files changed, 58 insertions, 0 deletions
diff --git a/chrome/test/data/extensions/management/launch_app/background.html b/chrome/test/data/extensions/management/launch_app/background.html new file mode 100644 index 0000000..46f4d74 --- /dev/null +++ b/chrome/test/data/extensions/management/launch_app/background.html @@ -0,0 +1 @@ +<script src="test.js"></script> diff --git a/chrome/test/data/extensions/management/launch_app/manifest.json b/chrome/test/data/extensions/management/launch_app/manifest.json new file mode 100644 index 0000000..a4813de --- /dev/null +++ b/chrome/test/data/extensions/management/launch_app/manifest.json @@ -0,0 +1,6 @@ +{ + "name": "Launch App test extension", + "version": "1", + "permissions": ["experimental"], + "background_page": "background.html" +}
\ No newline at end of file diff --git a/chrome/test/data/extensions/management/launch_app/test.js b/chrome/test/data/extensions/management/launch_app/test.js new file mode 100644 index 0000000..dad2be4 --- /dev/null +++ b/chrome/test/data/extensions/management/launch_app/test.js @@ -0,0 +1,30 @@ +// Copyright (c) 2010 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. + +if (!chrome.management) { + chrome.management = chrome.experimental.management; +} + +window.onload = function() { + chrome.management.getAll(function(items) { + for (var i in items) { + var item = items[i]; + if (item.name == "packaged_app") { + chrome.management.launchApp(item.id); + break; + } + if (item.name == "simple_extension") { + // Try launching a non-app extension, which should fail. + var expected_error = "Extension " + item.id + " is not an App"; + chrome.management.launchApp(item.id, function() { + if (chrome.extension.lastError && + chrome.extension.lastError.message == expected_error) { + chrome.test.sendMessage("got_expected_error"); + } + }); + } + } + }); +}; + diff --git a/chrome/test/data/extensions/management/packaged_app/main.html b/chrome/test/data/extensions/management/packaged_app/main.html new file mode 100644 index 0000000..1e23417 --- /dev/null +++ b/chrome/test/data/extensions/management/packaged_app/main.html @@ -0,0 +1,8 @@ +<html> +<body> +Hello World +<script> +chrome.test.sendMessage("app_launched"); +</script> +</body> +</html> diff --git a/chrome/test/data/extensions/management/packaged_app/manifest.json b/chrome/test/data/extensions/management/packaged_app/manifest.json new file mode 100644 index 0000000..08b94a6 --- /dev/null +++ b/chrome/test/data/extensions/management/packaged_app/manifest.json @@ -0,0 +1,9 @@ +{ + "name": "packaged_app", + "version": "0.1", + "app": { + "launch": { + "local_path": "main.html" + } + } +} diff --git a/chrome/test/data/extensions/management/simple_extension/manifest.json b/chrome/test/data/extensions/management/simple_extension/manifest.json new file mode 100644 index 0000000..99fe293 --- /dev/null +++ b/chrome/test/data/extensions/management/simple_extension/manifest.json @@ -0,0 +1,4 @@ +{ + "name": "simple_extension", + "version": "1" +} |