diff options
author | cduvall@chromium.org <cduvall@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-07 06:31:55 +0000 |
---|---|---|
committer | cduvall@chromium.org <cduvall@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-07 06:31:55 +0000 |
commit | 1e73bb01af4255521f957d3f2a603d179001226b (patch) | |
tree | 7755029f0d11712a807d01c110d9c603c488ccaf /chrome/renderer/resources/extensions/miscellaneous_bindings.js | |
parent | d8bc3ecdc9f5f95de468d3b24ec59b124694ae05 (diff) | |
download | chromium_src-1e73bb01af4255521f957d3f2a603d179001226b.zip chromium_src-1e73bb01af4255521f957d3f2a603d179001226b.tar.gz chromium_src-1e73bb01af4255521f957d3f2a603d179001226b.tar.bz2 |
Set up V8 bindings for extension/app APIs when they're first used, not on
context creation. This should gives us a significant reduction in extension/app
startup time and slightly better memory usage.
It also gives us better error messages, the chance to complete the
implementation of API features, and eventually the ability to expose select
extension APIs (e.g. extension.sendMessage) to web pages.
Resubmitting: changes made to resubmit this patch reviewed in: https://codereview.chromium.org/12378077/
BUG=163678,120070,55316,177163
TBR=ben@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11571014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186643 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/resources/extensions/miscellaneous_bindings.js')
-rw-r--r-- | chrome/renderer/resources/extensions/miscellaneous_bindings.js | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/chrome/renderer/resources/extensions/miscellaneous_bindings.js b/chrome/renderer/resources/extensions/miscellaneous_bindings.js index 147528c..b4ff126 100644 --- a/chrome/renderer/resources/extensions/miscellaneous_bindings.js +++ b/chrome/renderer/resources/extensions/miscellaneous_bindings.js @@ -8,10 +8,10 @@ // content scripts only. require('json_schema'); - require('event_bindings'); var json = require('json'); var lastError = require('lastError'); var miscNatives = requireNative('miscellaneous_bindings'); + var chrome = requireNative('chrome').GetChrome(); var CloseChannel = miscNatives.CloseChannel; var PortAddRef = miscNatives.PortAddRef; var PortRelease = miscNatives.PortRelease; @@ -121,7 +121,7 @@ if (sourceExtensionId != targetExtensionId) errorMsg += " for extension " + targetExtensionId; errorMsg += ")."; - lastError.set(errorMsg); + lastError.set(errorMsg, chrome); console.error("Could not send response: " + errorMsg); } @@ -233,14 +233,14 @@ if (connectionInvalid) { var errorMsg = "Could not establish connection. Receiving end does not exist."; - lastError.set(errorMsg); + lastError.set(errorMsg, chrome); console.error("Port error: " + errorMsg); } try { port.onDisconnect.dispatch(port); } finally { port.destroy_(); - lastError.clear(); + lastError.clear(chrome); } } }; |