Update references to the extension messaging APIs and lastError to point to
the "runtime" namespace rather than "extension" in docs and samples.
[email protected]
[email protected]
Review URL: https://codereview.chromium.org/11745015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175527 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/renderer/extensions/miscellaneous_bindings.cc b/chrome/renderer/extensions/miscellaneous_bindings.cc
index 18a6c2ca..deb9c45 100644
--- a/chrome/renderer/extensions/miscellaneous_bindings.cc
+++ b/chrome/renderer/extensions/miscellaneous_bindings.cc
@@ -26,7 +26,7 @@
// Message passing API example (in a content script):
// var extension =
// new chrome.Extension('00123456789abcdef0123456789abcdef0123456');
-// var port = extension.connect();
+// var port = runtime.connect();
// port.postMessage('Can you hear me now?');
// port.onmessage.addListener(function(msg, port) {
// alert('response=' + msg);
diff --git a/chrome/renderer/resources/extensions/extension_custom_bindings.js b/chrome/renderer/resources/extensions/extension_custom_bindings.js
index a4145f3..4311ee9 100644
--- a/chrome/renderer/resources/extensions/extension_custom_bindings.js
+++ b/chrome/renderer/resources/extensions/extension_custom_bindings.js
@@ -70,16 +70,23 @@
});
// Alias several messaging deprecated APIs to their runtime counterparts.
- chrome.extension.connect = chrome.runtime.connect;
- chrome.extension.sendMessage = chrome.runtime.sendMessage;
- chrome.extension.onConnect = chrome.runtime.onConnect;
- chrome.extension.onMessage = chrome.runtime.onMessage;
- if (contextType == 'BLESSED_EXTENSION') {
- chrome.extension.connectNative = chrome.runtime.connectNative;
- chrome.extension.sendNativeMessage = chrome.runtime.sendNativeMessage;
- chrome.extension.onConnectExternal = chrome.runtime.onConnectExternal;
- chrome.extension.onMessageExternal = chrome.runtime.onMessageExternal;
- }
+ var mayNeedAlias = [
+ // Types
+ 'Port',
+ // Functions
+ 'connect', 'sendMessage', 'connectNative', 'sendNativeMessage',
+ // Events
+ 'onConnect', 'onConnectExternal', 'onMessage', 'onMessageExternal'
+ ];
+ mayNeedAlias.forEach(function(alias) {
+ try {
+ // Deliberately accessing runtime[alias] rather than testing its
+ // existence, since accessing may throw an exception if this context
+ // doesn't have access.
+ if (chrome.runtime[alias])
+ chrome.extension[alias] = chrome.runtime[alias];
+ } catch(e) {}
+ });
apiFunctions.setUpdateArgumentsPreValidate('sendRequest',
sendMessageUpdateArguments.bind(null, 'sendRequest'));
diff --git a/chrome/renderer/resources/extensions/miscellaneous_bindings.js b/chrome/renderer/resources/extensions/miscellaneous_bindings.js
index 9904e8c..5663271 100644
--- a/chrome/renderer/resources/extensions/miscellaneous_bindings.js
+++ b/chrome/renderer/resources/extensions/miscellaneous_bindings.js
@@ -255,7 +255,7 @@
}
};
- // Shared implementation used by tabs.sendMessage and extension.sendMessage.
+ // Shared implementation used by tabs.sendMessage and runtime.sendMessage.
chromeHidden.Port.sendMessageImpl = function(port, request,
responseCallback) {
if (port.name != chromeHidden.kNativeMessageChannel)
diff --git a/chrome/renderer/resources/extensions/runtime_custom_bindings.js b/chrome/renderer/resources/extensions/runtime_custom_bindings.js
index e1c2ffb..c5e63ac 100644
--- a/chrome/renderer/resources/extensions/runtime_custom_bindings.js
+++ b/chrome/renderer/resources/extensions/runtime_custom_bindings.js
@@ -47,7 +47,7 @@
apiFunctions.setHandleRequest('sendNativeMessage',
function(targetId, message, responseCallback) {
- var port = chrome.extension.connectNative(
+ var port = chrome.runtime.connectNative(
targetId, message, chromeHidden.kNativeMessageChannel);
chromeHidden.Port.sendMessageImpl(port, '', responseCallback);
});