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

Side by Side 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // This file has been auto-generated by code_generator_web_module.py.
6 // DO NOT MODIFY!
7
8 // This file has been generated from the Jinja2 template in
9 // third_party/WebKit/Source/bindings/templates/web_module_interface.cc.tmpl
10
11 // clang-format off
12
13 #include "web/api/event_target.h"
14
15 // TODO(dglazkov): Properly sort the includes.
16 #include "bindings/core/v8/AddEventListenerOptionsOrBoolean.h"
17 #include "core/events/EventTarget.h"
18 #include "core/events/EventListener.h"
19
20 namespace web {
21
22
23 class GeneratedEventListener : public blink::EventListener {
24 public:
25 explicit GeneratedEventListener(std::unique_ptr<web::EventTarget::EventListene r> listener)
26 : EventListener(CPPEventListenerType),
27 listener_(std::move(listener)) {}
28 void handleEvent(blink::ExecutionContext*, blink::Event* event) override {
29 (*listener_)(Event::Create(event));
30 }
31 bool operator==(const EventListener& other) const override {
32 return this == &other;
33 }
34
35 private:
36 std::unique_ptr<web::EventTarget::EventListener> listener_;
37 };
38
39 EventTarget* EventTarget::Create(blink::EventTarget* event_target) {
40 return event_target ? new EventTarget(event_target) : nullptr;
41 }
42
43 DEFINE_TRACE(EventTarget) {
44 visitor->trace(event_target_);
45 }
46
47 void EventTarget::AddEventListener(const AtomicString& type,
48 std::unique_ptr<EventListener> listener) {
49 GeneratedEventListener* event_listener = new GeneratedEventListener(std::move( listener));
50 blink::AddEventListenerOptionsOrBoolean options;
51 event_target()->addEventListener(type, event_listener, options);
52 }
53
54 void EventTarget::AddEventListener(
55 const AtomicString& type,
56 std::unique_ptr<EventListener> listener,
57 const blink::AddEventListenerOptions& options) {
58 GeneratedEventListener* event_listener = new GeneratedEventListener(std::move( listener));
59 blink::AddEventListenerOptionsOrBoolean argument_options;
60 argument_options.setAddEventListenerOptions(options);
61 event_target()->addEventListener(type, event_listener, argument_options);
62 }
63
64 void EventTarget::RemoveEventListeber(const AtomicString& type,
65 std::unique_ptr<EventListener> listener) {
66 }
67
68 void EventTarget::RemoveEventListeber(
69 const AtomicString& type,
70 std::unique_ptr<EventListener> listener,
71 const blink::EventListenerOptions& options) {
72 }
73
74 bool dispatchEvent(Event*) {
75 return true;
76 }
77
78 // TODO(dglazkov): Implement constant generation
79
80 // TODO(dglazkov): Implement attribute getter/setter generation
81
82 // TODO(dglazkov): Implement method generation
83 // void EventTarget::addEventListener
84 // void EventTarget::removeEventListener
85 // boolean EventTarget::dispatchEvent
86
87 EventTarget::EventTarget(blink::EventTarget* event_target)
88 : event_target_(event_target) {}
89
90 blink::EventTarget* EventTarget::event_target() const {
91 return event_target_;
92 }
93
94 } // namespace web
OLDNEW
« 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