Commit 10343101 authored by yoz@chromium.org's avatar yoz@chromium.org

Add browserAction.enable/disable as alias for pageAction.show/hide.

Depends on http://codereview.chromium.org/10700007/

BUG=133094
TEST=Use browserAction.disable/enable(tabid), observe that the browser action becomes grayed out.

Review URL: https://chromiumcodereview.appspot.com/10789026

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148043 0039d316-1c4b-4281-b951-d872f2087c98
parent d11e0730
......@@ -91,6 +91,10 @@ bool ExtensionActionFunction::RunImpl() {
break;
}
case Value::TYPE_NULL:
// The tabId might be an optional argument.
break;
default:
EXTENSION_FUNCTION_VALIDATE(false);
}
......
......@@ -89,4 +89,20 @@ class BrowserActionGetBadgeBackgroundColorFunction
virtual ~BrowserActionGetBadgeBackgroundColorFunction() {}
};
class BrowserActionEnableFunction : public ExtensionActionShowFunction {
public:
DECLARE_EXTENSION_FUNCTION_NAME("browserAction.enable")
protected:
virtual ~BrowserActionEnableFunction() {}
};
class BrowserActionDisableFunction : public ExtensionActionHideFunction {
public:
DECLARE_EXTENSION_FUNCTION_NAME("browserAction.disable")
protected:
virtual ~BrowserActionDisableFunction() {}
};
#endif // CHROME_BROWSER_EXTENSIONS_API_EXTENSION_ACTION_EXTENSION_BROWSER_ACTIONS_API_H_
......@@ -132,6 +132,8 @@ void ExtensionFunctionRegistry::ResetFunctions() {
RegisterFunction<BrowserActionGetBadgeTextFunction>();
RegisterFunction<BrowserActionGetBadgeBackgroundColorFunction>();
RegisterFunction<BrowserActionGetPopupFunction>();
RegisterFunction<BrowserActionEnableFunction>();
RegisterFunction<BrowserActionDisableFunction>();
// Script Badges.
RegisterFunction<ScriptBadgeGetAttentionFunction>();
......
......@@ -259,6 +259,34 @@
]
}
]
},
{
"name": "enable",
"type": "function",
"description": "Enables the browser action for a tab. By default, browser actions are enabled.",
"parameters": [
{
"type": "integer",
"optional": true,
"name": "tabId",
"minimum": 0,
"description": "The id of the tab for which you want to modify the browser action."
}
]
},
{
"name": "disable",
"type": "function",
"description": "Disables the browser action for a tab.",
"parameters": [
{
"type": "integer",
"optional": true,
"name": "tabId",
"minimum": 0,
"description": "The id of the tab for which you want to modify the browser action."
}
]
}
],
"events": [
......
......@@ -769,7 +769,7 @@
<var><span>bufferSize</span></var></span><span class="null"><span>, </span><span>function</span>
<var><span>ReadCallback</span></var></span>)</div>
<div class="description">
<p>Reads data from the given socket.</p>
<p>Reads data from the given connected socket.</p>
<!-- PARAMETERS -->
<h4>Parameters</h4>
<dl>
......@@ -896,7 +896,7 @@
<var><span>bufferSize</span></var></span><span class="null"><span>, </span><span>function</span>
<var><span>RecvFromCallback</span></var></span>)</div>
<div class="description">
<p>Reads data from the given socket.</p>
<p>Receives data from the given UDP socket.</p>
<!-- PARAMETERS -->
<h4>Parameters</h4>
<dl>
......@@ -1025,7 +1025,7 @@
<var><span>port</span></var></span><span class="null"><span>, </span><span>function</span>
<var><span>SendToCallback</span></var></span>)</div>
<div class="description">
<p>Writes data on the given socket.</p>
<p>Sends data on the given UDP socket to the given address and port.</p>
<!-- PARAMETERS -->
<h4>Parameters</h4>
<dl>
......@@ -1474,7 +1474,7 @@
<var><span>data</span></var></span><span class="null"><span>, </span><span>function</span>
<var><span>WriteCallback</span></var></span>)</div>
<div class="description">
<p>Writes data on the given socket.</p>
<p>Writes data on the given connected socket.</p>
<!-- PARAMETERS -->
<h4>Parameters</h4>
<dl>
......@@ -1885,9 +1885,7 @@
</div>
</em>
</dt>
<dd class="todo">
Undocumented.
</dd>
<dd>The address of the remote machine.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
......@@ -1960,7 +1958,7 @@
</div>
</em>
</dt>
<dd>The resultCode returned from the underlying read() call.</dd>
<dd>The resultCode returned from the underlying recvfrom() call.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
......
......@@ -225,6 +225,10 @@
<a href="#global-methods">Methods</a>
<ol>
<li>
<a href="#method-disable">disable</a>
</li><li>
<a href="#method-enable">enable</a>
</li><li>
<a href="#method-getBadgeBackgroundColor">getBadgeBackgroundColor</a>
</li><li>
<a href="#method-getBadgeText">getBadgeText</a>
......@@ -426,6 +430,94 @@ For other examples and for help in viewing the source code, see
<h3>Methods</h3>
<!-- iterates over all functions -->
<div class="apiItem">
<a name="method-disable"></a> <!-- method-anchor -->
<h4>disable</h4>
<div class="summary">
<!-- Note: intentionally longer 80 columns -->
<span>chrome.browserAction.disable</span>(<span class="optional"><span>integer</span>
<var><span>tabId</span></var></span>)</div>
<div class="description">
<p>Disables the browser action for a tab.</p>
<!-- PARAMETERS -->
<h4>Parameters</h4>
<dl>
<div>
<div>
<dt>
<var>tabId</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span class="optional">optional</span>
<span id="typeTemplate">
<span>
<span>integer</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd>The id of the tab for which you want to modify the browser action.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div>
</dl>
<!-- RETURNS -->
<dl>
</dl>
<!-- CALLBACK -->
<!-- MIN_VERSION -->
</div> <!-- /description -->
</div><div class="apiItem">
<a name="method-enable"></a> <!-- method-anchor -->
<h4>enable</h4>
<div class="summary">
<!-- Note: intentionally longer 80 columns -->
<span>chrome.browserAction.enable</span>(<span class="optional"><span>integer</span>
<var><span>tabId</span></var></span>)</div>
<div class="description">
<p>Enables the browser action for a tab. By default, browser actions are enabled.</p>
<!-- PARAMETERS -->
<h4>Parameters</h4>
<dl>
<div>
<div>
<dt>
<var>tabId</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span class="optional">optional</span>
<span id="typeTemplate">
<span>
<span>integer</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd>The id of the tab for which you want to modify the browser action.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div>
</dl>
<!-- RETURNS -->
<dl>
</dl>
<!-- CALLBACK -->
<!-- MIN_VERSION -->
</div> <!-- /description -->
</div><div class="apiItem">
<a name="method-getBadgeBackgroundColor"></a> <!-- method-anchor -->
<h4>getBadgeBackgroundColor</h4>
<div class="summary">
......
......@@ -488,7 +488,7 @@ You can find samples of this API in
<span>chrome.debugger.sendCommand</span>(<span class="null"><span>debugger.Debuggee</span>
<var><span>target</span></var></span><span class="null"><span>, </span><span>string</span>
<var><span>method</span></var></span><span class="optional"><span>, </span><span>object</span>
<var><span>params</span></var></span><span class="optional"><span>, </span><span>function</span>
<var><span>commandParams</span></var></span><span class="optional"><span>, </span><span>function</span>
<var><span>callback</span></var></span>)</div>
<div class="description">
<p>Sends given command to the debugging target.</p>
......@@ -544,7 +544,7 @@ You can find samples of this API in
</div><div>
<div>
<dt>
<var>params</var>
<var>commandParams</var>
<em>
<!-- TYPE -->
<div style="display:inline">
......
......@@ -915,7 +915,7 @@
<var><span>bufferSize</span></var></span><span class="null"><span>, </span><span>function</span>
<var><span>ReadCallback</span></var></span>)</div>
<div class="description">
<p>Reads data from the given socket.</p>
<p>Reads data from the given connected socket.</p>
<!-- PARAMETERS -->
<h4>Parameters</h4>
<dl>
......@@ -1081,7 +1081,7 @@
<var><span>bufferSize</span></var></span><span class="null"><span>, </span><span>function</span>
<var><span>RecvFromCallback</span></var></span>)</div>
<div class="description">
<p>Reads data from the given socket.</p>
<p>Receives data from the given UDP socket.</p>
<!-- PARAMETERS -->
<h4>Parameters</h4>
<dl>
......@@ -1249,7 +1249,7 @@
<var><span>port</span></var></span><span class="null"><span>, </span><span>function</span>
<var><span>SendToCallback</span></var></span>)</div>
<div class="description">
<p>Writes data on the given socket.</p>
<p>Sends data on the given UDP socket to the given address and port.</p>
<!-- PARAMETERS -->
<h4>Parameters</h4>
<dl>
......@@ -1815,7 +1815,7 @@
<var><span>data</span></var></span><span class="null"><span>, </span><span>function</span>
<var><span>WriteCallback</span></var></span>)</div>
<div class="description">
<p>Writes data on the given socket.</p>
<p>Writes data on the given connected socket.</p>
<!-- PARAMETERS -->
<h4>Parameters</h4>
<dl>
......@@ -2265,9 +2265,7 @@
</div>
</em>
</dt>
<dd class="todo">
Undocumented.
</dd>
<dd>The address of the remote machine.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
......@@ -2340,7 +2338,7 @@
</div>
</em>
</dt>
<dd>The resultCode returned from the underlying read() call.</dd>
<dd>The resultCode returned from the underlying recvfrom() call.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
......
......@@ -31,6 +31,8 @@
"chrome.bookmarks.removeTree": "bookmarks.html#method-removeTree",
"chrome.bookmarks.search": "bookmarks.html#method-search",
"chrome.bookmarks.update": "bookmarks.html#method-update",
"chrome.browserAction.disable": "browserAction.html#method-disable",
"chrome.browserAction.enable": "browserAction.html#method-enable",
"chrome.browserAction.getBadgeBackgroundColor": "browserAction.html#method-getBadgeBackgroundColor",
"chrome.browserAction.getBadgeText": "browserAction.html#method-getBadgeText",
"chrome.browserAction.getPopup": "browserAction.html#method-getPopup",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment