summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authorrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-12 19:18:24 +0000
committerrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-12 19:18:24 +0000
commit704dd3637a9e986f4636302c3ce11700fbdba4ab (patch)
tree548448356ffc01514561392263350c254bdfe850 /chrome/renderer
parentc8a4adac77067c640bfe0a585a973bdc3fa1e6f9 (diff)
downloadchromium_src-704dd3637a9e986f4636302c3ce11700fbdba4ab.zip
chromium_src-704dd3637a9e986f4636302c3ce11700fbdba4ab.tar.gz
chromium_src-704dd3637a9e986f4636302c3ce11700fbdba4ab.tar.bz2
Add chrome.extension to extension_api.json and docs.
This required making it so that extension_api.json definitions defer to existing bindings so that the chrome.extension object can remain setup in renderer_extension_bindings.js. Also fixed a minor bug with error handling in the api_generator.js Moved "Port" type to the new extension module. Removed a bunch of trailing whitespace from the extension_api.json. Review URL: http://codereview.chromium.org/165323 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23200 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r--chrome/renderer/renderer_resources.grd2
-rw-r--r--chrome/renderer/resources/extension_process_bindings.js14
2 files changed, 13 insertions, 3 deletions
diff --git a/chrome/renderer/renderer_resources.grd b/chrome/renderer/renderer_resources.grd
index 8be37f6..e5c7fcf 100644
--- a/chrome/renderer/renderer_resources.grd
+++ b/chrome/renderer/renderer_resources.grd
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This comment is only here because changes to resources are not picked up
-without changes to the corresponding grd file. mp3 -->
+without changes to the corresponding grd file. rw2 -->
<grit latest_public_release="0" current_release="1">
<outputs>
<output filename="grit/renderer_resources.h" type="rc_header">
diff --git a/chrome/renderer/resources/extension_process_bindings.js b/chrome/renderer/resources/extension_process_bindings.js
index 1e33cb9..e828bd5 100644
--- a/chrome/renderer/resources/extension_process_bindings.js
+++ b/chrome/renderer/resources/extension_process_bindings.js
@@ -150,12 +150,17 @@ var chrome = chrome || {};
}
forEach(apiDefinitions, function(apiDef) {
- var module = {};
- chrome[apiDef.namespace] = module;
+ chrome[apiDef.namespace] = chrome[apiDef.namespace] || {};
+ var module = chrome[apiDef.namespace];
// Setup Functions.
if (apiDef.functions) {
forEach(apiDef.functions, function(functionDef) {
+ // Module functions may have been defined earlier by hand. Don't clobber
+ // them.
+ if (module[functionDef.name])
+ return;
+
var apiFunction = {};
apiFunction.definition = functionDef;
apiFunction.name = apiDef.namespace + "." + functionDef.name;;
@@ -176,6 +181,11 @@ var chrome = chrome || {};
// Setup Events
if (apiDef.events) {
forEach(apiDef.events, function(eventDef) {
+ // Module events may have been defined earlier by hand. Don't clobber
+ // them.
+ if (module[eventDef.name])
+ return;
+
var eventName = apiDef.namespace + "." + eventDef.name;
module[eventDef.name] = new chrome.Event(eventName);
});