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

Unified Diff: chrome/renderer/resources/extensions/extension_custom_bindings.js

Issue 9965005: Deprecate chrome.extension.sendRequest in favor of sendMessage, with a safer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: better docs Created 8 years, 9 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/extensions/extension_custom_bindings.js
diff --git a/chrome/renderer/resources/extensions/extension_custom_bindings.js b/chrome/renderer/resources/extensions/extension_custom_bindings.js
index 970e11f9ad24286b379e657737277aee15118618..66603532d1a5c6c61960ea1495db7fd001157d27 100644
--- a/chrome/renderer/resources/extensions/extension_custom_bindings.js
+++ b/chrome/renderer/resources/extensions/extension_custom_bindings.js
@@ -52,7 +52,7 @@ chromeHidden.registerCustomHook('extension',
return 'chrome-extension://' + extensionId + path;
});
- apiFunctions.setUpdateArgumentsPreValidate('sendRequest', function() {
+ function sendMessageUpdateArguments() {
// Align missing (optional) function arguments with the arguments that
// schema validation is expecting, e.g.
// extension.sendRequest(req) -> extension.sendRequest(null, req)
@@ -73,38 +73,26 @@ chromeHidden.registerCustomHook('extension',
targetId = arguments[lastArg--];
if (lastArg != -1)
- throw new Error('Invalid arguments to sendRequest.');
+ throw new Error('Invalid arguments to sendMessage.');
return [targetId, request, responseCallback];
- });
+ }
+ apiFunctions.setUpdateArgumentsPreValidate('sendRequest',
+ sendMessageUpdateArguments);
Aaron Boodman 2012/03/30 21:28:00 You could use sendMessageUpdateArguments.bind(null
Matt Perry 2012/03/30 23:02:48 Done.
+ apiFunctions.setUpdateArgumentsPreValidate('sendMessage',
+ sendMessageUpdateArguments);
apiFunctions.setHandleRequest('sendRequest',
function(targetId, request, responseCallback) {
- if (!targetId)
- targetId = extensionId;
- if (!responseCallback)
- responseCallback = function() {};
-
- var connectInfo = { name: chromeHidden.kRequestChannel };
- var port = chrome.extension.connect(targetId, connectInfo);
-
- port.postMessage(request);
- port.onDisconnect.addListener(function() {
- // For onDisconnects, we only notify the callback if there was an error
- try {
- if (chrome.extension.lastError)
- responseCallback();
- } finally {
- port = null;
- }
- });
- port.onMessage.addListener(function(response) {
- try {
- responseCallback(response);
- } finally {
- port.disconnect();
- port = null;
- }
- });
+ var port = chrome.extension.connect(targetId || extensionId,
+ {name: chromeHidden.kRequestChannel});
+ chromeHidden.Port.sendMessageImpl(port, request, responseCallback);
+ });
+
+ apiFunctions.setHandleRequest('sendMessage',
+ function(targetId, message, responseCallback) {
+ var port = chrome.extension.connect(targetId || extensionId,
+ {name: chromeHidden.kMessageChannel});
+ chromeHidden.Port.sendMessageImpl(port, message, responseCallback);
});
apiFunctions.setUpdateArgumentsPreValidate('connect', function() {

Powered by Google App Engine
This is Rietveld 408576698