summaryrefslogtreecommitdiffstats
path: root/chrome/test
diff options
context:
space:
mode:
authorasargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-23 20:19:56 +0000
committerasargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-23 20:19:56 +0000
commite558ff82d3f37169fad4abd52200dc75651a3ab5 (patch)
tree5eeea1786cec4171e7fe4179413865dea9a4b426 /chrome/test
parent24dc637a97bb646e5d41129f2daa0949edade2bf (diff)
downloadchromium_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')
-rw-r--r--chrome/test/data/extensions/management/launch_app/background.html1
-rw-r--r--chrome/test/data/extensions/management/launch_app/manifest.json6
-rw-r--r--chrome/test/data/extensions/management/launch_app/test.js30
-rw-r--r--chrome/test/data/extensions/management/packaged_app/main.html8
-rw-r--r--chrome/test/data/extensions/management/packaged_app/manifest.json9
-rw-r--r--chrome/test/data/extensions/management/simple_extension/manifest.json4
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"
+}