| OLD | NEW |
| (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 |
| OLD | NEW |