diff options
author | rafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-12 19:18:24 +0000 |
---|---|---|
committer | rafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-12 19:18:24 +0000 |
commit | 704dd3637a9e986f4636302c3ce11700fbdba4ab (patch) | |
tree | 548448356ffc01514561392263350c254bdfe850 /chrome/renderer | |
parent | c8a4adac77067c640bfe0a585a973bdc3fa1e6f9 (diff) | |
download | chromium_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.grd | 2 | ||||
-rw-r--r-- | chrome/renderer/resources/extension_process_bindings.js | 14 |
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); }); |