blob: b95fa8d362c10b407a1a0e8f6dfc419422f9184d [file] [log] [blame]
/*
* Copyright (C) 2001 Peter Kelly (pmk@post.com)
* Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de)
* Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
* Copyright (C) 2003, 2005, 2006, 2008 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#include "third_party/blink/renderer/core/events/ui_event.h"
#include "third_party/blink/renderer/core/event_interface_names.h"
#include "third_party/blink/renderer/core/input/input_device_capabilities.h"
namespace blink {
UIEvent::UIEvent() : detail_(0) {}
UIEvent::UIEvent(const AtomicString& event_type,
Bubbles bubbles,
Cancelable cancelable,
ComposedMode composed_mode,
base::TimeTicks platform_time_stamp,
AbstractView* view_arg,
int detail_arg,
InputDeviceCapabilities* source_capabilities_arg)
: Event(event_type,
bubbles,
cancelable,
composed_mode,
platform_time_stamp),
view_(view_arg),
detail_(detail_arg),
source_capabilities_(source_capabilities_arg) {}
UIEvent::UIEvent(const AtomicString& event_type,
const UIEventInit* initializer,
base::TimeTicks platform_time_stamp)
: Event(event_type, initializer, platform_time_stamp),
view_(initializer->view()),
detail_(initializer->detail()),
source_capabilities_(initializer->sourceCapabilities()) {}
UIEvent::~UIEvent() = default;
void UIEvent::initUIEvent(const AtomicString& type_arg,
bool bubbles_arg,
bool cancelable_arg,
AbstractView* view_arg,
int detail_arg) {
InitUIEventInternal(type_arg, bubbles_arg, cancelable_arg, nullptr, view_arg,
detail_arg, nullptr);
}
void UIEvent::InitUIEventInternal(
const AtomicString& type_arg,
bool bubbles_arg,
bool cancelable_arg,
EventTarget* related_target,
AbstractView* view_arg,
int detail_arg,
InputDeviceCapabilities* source_capabilities_arg) {
if (IsBeingDispatched())
return;
initEvent(type_arg, bubbles_arg, cancelable_arg, related_target);
view_ = view_arg;
detail_ = detail_arg;
source_capabilities_ = source_capabilities_arg;
}
bool UIEvent::IsUIEvent() const {
return true;
}
const AtomicString& UIEvent::InterfaceName() const {
return event_interface_names::kUIEvent;
}
unsigned UIEvent::which() const {
return 0;
}
void UIEvent::Trace(Visitor* visitor) const {
visitor->Trace(view_);
visitor->Trace(source_capabilities_);
Event::Trace(visitor);
}
} // namespace blink