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

Unified Diff: extensions/renderer/event_emitter.h

Issue 2947463002: [Extensions Bindings] Add a bindings/ subdirectory under renderer (Closed)
Patch Set: . Created 3 years, 6 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 | « extensions/renderer/declarative_event_unittest.cc ('k') | extensions/renderer/event_emitter.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/renderer/event_emitter.h
diff --git a/extensions/renderer/event_emitter.h b/extensions/renderer/event_emitter.h
deleted file mode 100644
index bcd8208f576fc20ca7da25ef4650bf16d40a5c3e..0000000000000000000000000000000000000000
--- a/extensions/renderer/event_emitter.h
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef EXTENSIONS_RENDERER_EVENT_EMITTER_H_
-#define EXTENSIONS_RENDERER_EVENT_EMITTER_H_
-
-#include <vector>
-
-#include "extensions/renderer/api_binding_types.h"
-#include "gin/wrappable.h"
-#include "v8/include/v8.h"
-
-namespace gin {
-class Arguments;
-}
-
-namespace extensions {
-class APIEventListeners;
-struct EventFilteringInfo;
-
-// A gin::Wrappable Event object. One is expected to be created per event, per
-// context. Note: this object *does not* clear any events, so it must be
-// destroyed with the context to avoid leaking.
-class EventEmitter final : public gin::Wrappable<EventEmitter> {
- public:
- EventEmitter(bool supports_filters,
- std::unique_ptr<APIEventListeners> listeners,
- const binding::RunJSFunction& run_js,
- const binding::RunJSFunctionSync& run_js_sync);
- ~EventEmitter() override;
-
- static gin::WrapperInfo kWrapperInfo;
-
- // gin::Wrappable:
- gin::ObjectTemplateBuilder GetObjectTemplateBuilder(
- v8::Isolate* isolate) final;
-
- void Fire(v8::Local<v8::Context> context,
- std::vector<v8::Local<v8::Value>>* args,
- const EventFilteringInfo* filter);
-
- // Removes all listeners and marks this object as invalid so that no more
- // are added.
- void Invalidate(v8::Local<v8::Context> context);
-
- // TODO(devlin): Consider making this a test-only method and exposing
- // HasListeners() instead.
- size_t GetNumListeners() const;
-
- private:
- // Bound methods for the Event JS object.
- void AddListener(gin::Arguments* arguments);
- void RemoveListener(gin::Arguments* arguments);
- bool HasListener(v8::Local<v8::Function> function);
- bool HasListeners();
- void Dispatch(gin::Arguments* arguments);
-
- // Notifies the listeners of an event with the given |args|. If |run_sync| is
- // true, runs JS synchronously and populates |out_values| with the results of
- // the listeners.
- void DispatchImpl(v8::Local<v8::Context> context,
- std::vector<v8::Local<v8::Value>>* args,
- const EventFilteringInfo* filter,
- bool run_sync,
- std::vector<v8::Global<v8::Value>>* out_values);
-
- // Whether or not this object is still valid; false upon context release.
- // When invalid, no listeners can be added or removed.
- bool valid_ = true;
-
- // Whether the event supports filters.
- bool supports_filters_ = false;
-
- std::unique_ptr<APIEventListeners> listeners_;
-
- binding::RunJSFunction run_js_;
- binding::RunJSFunctionSync run_js_sync_;
-
- DISALLOW_COPY_AND_ASSIGN(EventEmitter);
-};
-
-} // namespace extensions
-
-#endif // EXTENSIONS_RENDERER_EVENT_EMITTER_H_
« no previous file with comments | « extensions/renderer/declarative_event_unittest.cc ('k') | extensions/renderer/event_emitter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698