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

Unified Diff: extensions/renderer/event_bindings.h

Issue 238743002: Merge ExtensionImpl into EventBindings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 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/dispatcher.cc ('k') | extensions/renderer/event_bindings.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/renderer/event_bindings.h
diff --git a/extensions/renderer/event_bindings.h b/extensions/renderer/event_bindings.h
index 370724d35de46ebdfbc49438f4716832a192203a..1eb916097c31841fcf7169a1504f0bd9a196b86e 100644
--- a/extensions/renderer/event_bindings.h
+++ b/extensions/renderer/event_bindings.h
@@ -5,18 +5,56 @@
#ifndef EXTENSIONS_RENDERER_EVENT_BINDINGS_H_
#define EXTENSIONS_RENDERER_EVENT_BINDINGS_H_
+#include "extensions/renderer/object_backed_native_handler.h"
#include "v8/include/v8.h"
+namespace base {
+class DictionaryValue;
+}
+
namespace extensions {
+class ChromeV8Context;
class Dispatcher;
-class ObjectBackedNativeHandler;
-class ScriptContext;
+class EventFilter;
+class EventFilteringInfo;
+class EventMatcher;
// This class deals with the javascript bindings related to Event objects.
-class EventBindings {
+class EventBindings : public ObjectBackedNativeHandler {
public:
- static ObjectBackedNativeHandler* Create(Dispatcher* dispatcher,
- ScriptContext* context);
+ EventBindings(Dispatcher* dispatcher, ScriptContext* context);
+ virtual ~EventBindings();
+
+ private:
+ // Attach an event name to an object.
+ // |event_name| The name of the event to attach.
+ void AttachEvent(const v8::FunctionCallbackInfo<v8::Value>& args);
+
+ // Detach an event name from an object.
+ // |event_name| The name of the event to stop listening to.
+ // |is_manual| True if this detach was done by the user via removeListener()
+ // as opposed to automatically during shutdown, in which case we should inform
+ // the browser we are no longer interested in that event.
+ void DetachEvent(const v8::FunctionCallbackInfo<v8::Value>& args);
+
+ // MatcherID AttachFilteredEvent(string event_name, object filter)
+ // |event_name| Name of the event to attach.
+ // |filter| Which instances of the named event are we interested in.
+ // returns the id assigned to the listener, which will be returned from calls
+ // to MatchAgainstEventFilter where this listener matches.
+ void AttachFilteredEvent(const v8::FunctionCallbackInfo<v8::Value>& args);
+
+ // void DetachFilteredEvent(int id, bool manual)
+ // id - Id of the event to detach.
+ // manual - false if this is part of the extension unload process where all
+ // listeners are automatically detached.
+ void DetachFilteredEvent(const v8::FunctionCallbackInfo<v8::Value>& args);
+
+ void MatchAgainstEventFilter(const v8::FunctionCallbackInfo<v8::Value>& args);
+
+ Dispatcher* dispatcher_;
+ scoped_ptr<EventMatcher> ParseEventMatcher(
+ base::DictionaryValue* filter_dict);
};
} // namespace extensions
« no previous file with comments | « chrome/renderer/extensions/dispatcher.cc ('k') | extensions/renderer/event_bindings.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698