Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5040)

Unified Diff: chrome/renderer/resources/extension_process_bindings.js

Issue 269079: Implement new page action API. (Closed)
Patch Set: compile fixes Created 11 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/resources/extension_process_bindings.js
diff --git a/chrome/renderer/resources/extension_process_bindings.js b/chrome/renderer/resources/extension_process_bindings.js
index 29416441f174ddfccf52abb5d8cd9a6695f230aa..dc81f67b6e436e9c0f681de81db58f8770e7c68b 100644
--- a/chrome/renderer/resources/extension_process_bindings.js
+++ b/chrome/renderer/resources/extension_process_bindings.js
@@ -16,7 +16,7 @@ var chrome = chrome || {};
native function OpenChannelToTab();
native function GetRenderViewId();
native function GetL10nMessage();
- native function SetBrowserActionIcon();
+ native function SetExtensionActionIcon();
if (!chrome)
chrome = {};
@@ -177,7 +177,7 @@ var chrome = chrome || {};
var request = prepareRequest(args, argSchemas);
var requestId = GetNextRequestId();
requests[requestId] = request;
- return nativeFunction(functionName, args, requestId,
+ return nativeFunction(functionName, request.args, requestId,
request.callback ? true : false);
}
@@ -202,12 +202,12 @@ var chrome = chrome || {};
chrome.pageAction.onClicked = new chrome.Event(eventName);
}
- // Browser action events send {windowpId}.
- function setupBrowserActionEvent(extensionId) {
- var eventName = "browserAction/" + extensionId;
- chrome.browserAction = chrome.browserAction || {};
- chrome.browserAction.onClicked = new chrome.Event(eventName);
- }
+ // Browser action events send {windowpId}.
+ function setupBrowserActionEvent(extensionId) {
+ var eventName = "browserAction/" + extensionId;
+ chrome.browserAction = chrome.browserAction || {};
+ chrome.browserAction.onClicked = new chrome.Event(eventName);
+ }
function setupToolstripEvents(renderViewId) {
chrome.toolstrip = chrome.toolstrip || {};
@@ -333,9 +333,9 @@ var chrome = chrome || {};
return GetL10nMessage(message_name, placeholders);
}
- apiFunctions["browserAction.setIcon"].handleRequest = function(details) {
+ function setIconCommon(details, name, parameters) {
if ("iconIndex" in details) {
- sendRequest(this.name, arguments, this.definition.parameters);
+ sendRequest(name, [details], parameters);
} else if ("imageData" in details) {
// Verify that this at least looks like an ImageData element.
// Unfortunately, we cannot use instanceof because the ImageData
@@ -349,15 +349,21 @@ var chrome = chrome || {};
throw new Error(
"The imageData property must contain an ImageData object.");
}
-
- sendCustomRequest(SetBrowserActionIcon, "browserAction.setIcon",
- details, this.definition.parameters);
+ sendCustomRequest(SetExtensionActionIcon, name, [details], parameters);
} else {
throw new Error(
"Either the iconIndex or imageData property must be specified.");
}
}
+ apiFunctions["browserAction.setIcon"].handleRequest = function(details) {
+ setIconCommon(details, this.name, this.definition.parameters);
+ };
+
+ apiFunctions["pageAction.setIcon"].handleRequest = function(details) {
+ setIconCommon(details, this.name, this.definition.parameters);
+ };
+
setupBrowserActionEvent(extensionId);
setupPageActionEvents(extensionId);
setupToolstripEvents(GetRenderViewId());

Powered by Google App Engine
This is Rietveld 408576698