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/common | |
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/common')
-rw-r--r-- | chrome/common/extensions/api/extension_api.json | 21 | ||||
-rw-r--r-- | chrome/common/extensions/docs/experimental.management.html | 240 |
2 files changed, 261 insertions, 0 deletions
diff --git a/chrome/common/extensions/api/extension_api.json b/chrome/common/extensions/api/extension_api.json index 0583904..edbfdc1 100644 --- a/chrome/common/extensions/api/extension_api.json +++ b/chrome/common/extensions/api/extension_api.json @@ -3939,6 +3939,10 @@ "description": "The name of this extension or app.", "type": "string" }, + "version": { + "description": "The <a href='manifest.html#version'>version</a> of this extension or app.", + "type": "string" + }, "enabled": { "description": "Whether it is currently enabled or disabled.", "type": "boolean" @@ -4031,6 +4035,23 @@ "parameters": [] } ] + }, + { + "name": "launchApp", + "description": "Launches an application.", + "parameters": [ + { + "name": "id", + "type": "string", + "description": "The extension id of the application." + }, + { + "name": "callback", + "type": "function", + "optional": "true", + "parameters": [] + } + ] } ], "events": [ diff --git a/chrome/common/extensions/docs/experimental.management.html b/chrome/common/extensions/docs/experimental.management.html index 663f432..2e13052 100644 --- a/chrome/common/extensions/docs/experimental.management.html +++ b/chrome/common/extensions/docs/experimental.management.html @@ -258,6 +258,8 @@ <li> <a href="#method-getAll">getAll</a> </li><li> + <a href="#method-launchApp">launchApp</a> + </li><li> <a href="#method-setEnabled">setEnabled</a> </li><li> <a href="#method-uninstall">uninstall</a> @@ -523,6 +525,186 @@ </div> <!-- /description --> </div><div class="apiItem"> + <a name="method-launchApp"></a> <!-- method-anchor --> + <h4>launchApp</h4> + + <div class="summary"><span style="display: none; ">void</span> + <!-- Note: intentionally longer 80 columns --> + <span>chrome.experimental.management.launchApp</span>(<span class="null"><span style="display: none; ">, </span><span>string</span> + <var><span>id</span></var></span><span class="optional"><span>, </span><span>function</span> + <var><span>callback</span></var></span>)</div> + + <div class="description"> + <p class="todo" style="display: none; ">Undocumented.</p> + <p>Launches an application.</p> + + <!-- PARAMETERS --> + <h4>Parameters</h4> + <dl> + <div> + <div> + <dt> + <var>id</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional" style="display: none; ">optional</span> + <span class="enum" style="display: none; ">enumerated</span> + <span id="typeTemplate"> + <span style="display: none; "> + <a> Type</a> + </span> + <span> + <span style="display: none; "> + array of <span><span></span></span> + </span> + <span>string</span> + <span style="display: none; "></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo" style="display: none; "> + Undocumented. + </dd> + <dd>The extension id of the application.</dd> + <dd style="display: none; "> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd style="display: none; "> + <dl> + <div> + <div> + </div> + </div> + </dl> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd style="display: none; "> + <div></div> + </dd> + + </div> + </div><div> + <div> + <dt> + <var>callback</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional">optional</span> + <span class="enum" style="display: none; ">enumerated</span> + <span id="typeTemplate"> + <span style="display: none; "> + <a> Type</a> + </span> + <span> + <span style="display: none; "> + array of <span><span></span></span> + </span> + <span>function</span> + <span style="display: none; "></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo"> + Undocumented. + </dd> + <dd style="display: none; "> + Description of this parameter from the json schema. + </dd> + <dd style="display: none; "> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd style="display: none; "> + <dl> + <div> + <div> + </div> + </div> + </dl> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd style="display: none; "> + <div></div> + </dd> + + </div> + </div> + </dl> + + <!-- RETURNS --> + <h4 style="display: none; ">Returns</h4> + <dl> + <div style="display: none; "> + <div> + </div> + </div> + </dl> + + <!-- CALLBACK --> + <div> + <div> + <h4>Callback function</h4> + <p style="display: none; "> + The callback <em>parameter</em> should specify a function + that looks like this: + </p> + <p> + If you specify the <em>callback</em> parameter, it should + specify a function that looks like this: + </p> + + <!-- Note: intentionally longer 80 columns --> + <pre>function(<span></span>) <span class="subdued">{...}</span>;</pre> + <dl> + <div style="display: none; "> + <div> + </div> + </div> + </dl> + </div> + </div> + + <!-- MIN_VERSION --> + <p style="display: none; "> + This function was added in version <b><span></span></b>. + If you require this function, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </p> + </div> <!-- /description --> + + </div><div class="apiItem"> <a name="method-setEnabled"></a> <!-- method-anchor --> <h4>setEnabled</h4> @@ -1627,6 +1809,64 @@ </div><div> <div> <dt> + <var>version</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional" style="display: none; ">optional</span> + <span class="enum" style="display: none; ">enumerated</span> + <span id="typeTemplate"> + <span style="display: none; "> + <a> Type</a> + </span> + <span> + <span style="display: none; "> + array of <span><span></span></span> + </span> + <span>string</span> + <span style="display: none; "></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo" style="display: none; "> + Undocumented. + </dd> + <dd>The <a href="manifest.html#version">version</a> of this extension or app.</dd> + <dd style="display: none; "> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd style="display: none; "> + <dl> + <div> + <div> + </div> + </div> + </dl> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd style="display: none; "> + <div></div> + </dd> + + </div> + </div><div> + <div> + <dt> <var>enabled</var> <em> |