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

Unified Diff: third_party/WebKit/fake_gen/web/api/event_target.cc

Issue 2591803002: NOT FOR LANDING: Thread the needle through all webmodules.
Patch Set: AddEventListener sketched out. Created 3 years, 10 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 | « third_party/WebKit/fake_gen/web/api/event_target.h ('k') | third_party/WebKit/fake_gen/web/api/node.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/fake_gen/web/api/event_target.cc
diff --git a/third_party/WebKit/fake_gen/web/api/event_target.cc b/third_party/WebKit/fake_gen/web/api/event_target.cc
new file mode 100644
index 0000000000000000000000000000000000000000..d75194f9ecb87eb8de5b6e84dd268c9a08dad500
--- /dev/null
+++ b/third_party/WebKit/fake_gen/web/api/event_target.cc
@@ -0,0 +1,94 @@
+// Copyright 2014 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.
+
+// This file has been auto-generated by code_generator_web_module.py.
+// DO NOT MODIFY!
+
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/web_module_interface.cc.tmpl
+
+// clang-format off
+
+#include "web/api/event_target.h"
+
+// TODO(dglazkov): Properly sort the includes.
+#include "bindings/core/v8/AddEventListenerOptionsOrBoolean.h"
+#include "core/events/EventTarget.h"
+#include "core/events/EventListener.h"
+
+namespace web {
+
+
+class GeneratedEventListener : public blink::EventListener {
+ public:
+ explicit GeneratedEventListener(std::unique_ptr<web::EventTarget::EventListener> listener)
+ : EventListener(CPPEventListenerType),
+ listener_(std::move(listener)) {}
+ void handleEvent(blink::ExecutionContext*, blink::Event* event) override {
+ (*listener_)(Event::Create(event));
+ }
+ bool operator==(const EventListener& other) const override {
+ return this == &other;
+ }
+
+ private:
+ std::unique_ptr<web::EventTarget::EventListener> listener_;
+};
+
+EventTarget* EventTarget::Create(blink::EventTarget* event_target) {
+ return event_target ? new EventTarget(event_target) : nullptr;
+}
+
+DEFINE_TRACE(EventTarget) {
+ visitor->trace(event_target_);
+}
+
+void EventTarget::AddEventListener(const AtomicString& type,
+ std::unique_ptr<EventListener> listener) {
+ GeneratedEventListener* event_listener = new GeneratedEventListener(std::move(listener));
+ blink::AddEventListenerOptionsOrBoolean options;
+ event_target()->addEventListener(type, event_listener, options);
+}
+
+void EventTarget::AddEventListener(
+ const AtomicString& type,
+ std::unique_ptr<EventListener> listener,
+ const blink::AddEventListenerOptions& options) {
+ GeneratedEventListener* event_listener = new GeneratedEventListener(std::move(listener));
+ blink::AddEventListenerOptionsOrBoolean argument_options;
+ argument_options.setAddEventListenerOptions(options);
+ event_target()->addEventListener(type, event_listener, argument_options);
+}
+
+void EventTarget::RemoveEventListeber(const AtomicString& type,
+ std::unique_ptr<EventListener> listener) {
+}
+
+void EventTarget::RemoveEventListeber(
+ const AtomicString& type,
+ std::unique_ptr<EventListener> listener,
+ const blink::EventListenerOptions& options) {
+}
+
+bool dispatchEvent(Event*) {
+ return true;
+}
+
+// TODO(dglazkov): Implement constant generation
+
+// TODO(dglazkov): Implement attribute getter/setter generation
+
+// TODO(dglazkov): Implement method generation
+// void EventTarget::addEventListener
+// void EventTarget::removeEventListener
+// boolean EventTarget::dispatchEvent
+
+EventTarget::EventTarget(blink::EventTarget* event_target)
+ : event_target_(event_target) {}
+
+blink::EventTarget* EventTarget::event_target() const {
+ return event_target_;
+}
+
+} // namespace web
« no previous file with comments | « third_party/WebKit/fake_gen/web/api/event_target.h ('k') | third_party/WebKit/fake_gen/web/api/node.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698