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

Unified Diff: chrome/renderer/extensions/event_bindings.cc

Issue 6894045: wip (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 8 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
« no previous file with comments | « chrome/renderer/extensions/event_bindings.h ('k') | chrome/renderer/extensions/extension_dispatcher.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/extensions/event_bindings.cc
diff --git a/chrome/renderer/extensions/event_bindings.cc b/chrome/renderer/extensions/event_bindings.cc
index 01d0f556aa8e7d4cc3f073dbb992d12fec1ff158..d1c20e75048b60d7992a6b4d4f7bde5db402efdc 100644
--- a/chrome/renderer/extensions/event_bindings.cc
+++ b/chrome/renderer/extensions/event_bindings.cc
@@ -75,10 +75,10 @@ static EventListenerCounts& GetListenerCounts(const std::string& extension_id) {
class ExtensionImpl : public ExtensionBase {
public:
- ExtensionImpl()
+ ExtensionImpl(ExtensionDispatcher* dispatcher)
: ExtensionBase(EventBindings::kName,
GetStringResource(IDR_EVENT_BINDINGS_JS),
- 0, NULL) {
+ 0, NULL, dispatcher) {
}
~ExtensionImpl() {}
@@ -105,13 +105,9 @@ class ExtensionImpl : public ExtensionBase {
EventListenerCounts& listener_counts =
GetListenerCounts(context_info->extension_id);
std::string event_name(*v8::String::AsciiValue(args[0]));
- bool has_permission =
- ExtensionProcessBindings::CurrentContextHasPermission(event_name);
- if (!has_permission) {
- return ExtensionProcessBindings::ThrowPermissionDeniedException(
- event_name);
- }
+ if (!CheckPermissionForCurrentContext(event_name))
+ return v8::Undefined();
if (++listener_counts[event_name] == 1) {
EventBindings::GetRenderThread()->Send(
@@ -215,8 +211,8 @@ const char* EventBindings::kName = "chrome/EventBindings";
const char* EventBindings::kTestingExtensionId =
"oooooooooooooooooooooooooooooooo";
-v8::Extension* EventBindings::Get() {
- static v8::Extension* extension = new ExtensionImpl();
+v8::Extension* EventBindings::Get(ExtensionDispatcher* dispatcher) {
+ static v8::Extension* extension = new ExtensionImpl(dispatcher);
bindings_registered = true;
return extension;
}
« no previous file with comments | « chrome/renderer/extensions/event_bindings.h ('k') | chrome/renderer/extensions/extension_dispatcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698