| Index: webkit/api/src/WebInputEventConversion.cpp
|
| diff --git a/webkit/api/src/WebInputEventConversion.cpp b/webkit/api/src/WebInputEventConversion.cpp
|
| deleted file mode 100644
|
| index 15001297f29a85dbbf8949ea248e1d7f4cda78c3..0000000000000000000000000000000000000000
|
| --- a/webkit/api/src/WebInputEventConversion.cpp
|
| +++ /dev/null
|
| @@ -1,256 +0,0 @@
|
| -/*
|
| - * Copyright (C) 2009 Google Inc. All rights reserved.
|
| - *
|
| - * Redistribution and use in source and binary forms, with or without
|
| - * modification, are permitted provided that the following conditions are
|
| - * met:
|
| - *
|
| - * * Redistributions of source code must retain the above copyright
|
| - * notice, this list of conditions and the following disclaimer.
|
| - * * Redistributions in binary form must reproduce the above
|
| - * copyright notice, this list of conditions and the following disclaimer
|
| - * in the documentation and/or other materials provided with the
|
| - * distribution.
|
| - * * Neither the name of Google Inc. nor the names of its
|
| - * contributors may be used to endorse or promote products derived from
|
| - * this software without specific prior written permission.
|
| - *
|
| - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| - */
|
| -
|
| -#include "config.h"
|
| -#include "WebInputEventConversion.h"
|
| -
|
| -#include "EventNames.h"
|
| -#include "KeyboardCodes.h"
|
| -#include "KeyboardEvent.h"
|
| -#include "MouseEvent.h"
|
| -#include "PlatformKeyboardEvent.h"
|
| -#include "PlatformMouseEvent.h"
|
| -#include "PlatformWheelEvent.h"
|
| -#include "ScrollView.h"
|
| -#include "WebInputEvent.h"
|
| -#include "Widget.h"
|
| -
|
| -using namespace WebCore;
|
| -
|
| -namespace WebKit {
|
| -
|
| -// MakePlatformMouseEvent -----------------------------------------------------
|
| -
|
| -PlatformMouseEventBuilder::PlatformMouseEventBuilder(Widget* widget, const WebMouseEvent& e)
|
| -{
|
| - // FIXME: widget is always toplevel, unless it's a popup. We may be able
|
| - // to get rid of this once we abstract popups into a WebKit API.
|
| - m_position = widget->convertFromContainingWindow(IntPoint(e.x, e.y));
|
| - m_globalPosition = IntPoint(e.globalX, e.globalY);
|
| - m_button = static_cast<MouseButton>(e.button);
|
| - m_shiftKey = (e.modifiers & WebInputEvent::ShiftKey);
|
| - m_ctrlKey = (e.modifiers & WebInputEvent::ControlKey);
|
| - m_altKey = (e.modifiers & WebInputEvent::AltKey);
|
| - m_metaKey = (e.modifiers & WebInputEvent::MetaKey);
|
| - m_modifierFlags = e.modifiers;
|
| - m_timestamp = e.timeStampSeconds;
|
| - m_clickCount = e.clickCount;
|
| -
|
| - switch (e.type) {
|
| - case WebInputEvent::MouseMove:
|
| - case WebInputEvent::MouseLeave: // synthesize a move event
|
| - m_eventType = MouseEventMoved;
|
| - break;
|
| -
|
| - case WebInputEvent::MouseDown:
|
| - m_eventType = MouseEventPressed;
|
| - break;
|
| -
|
| - case WebInputEvent::MouseUp:
|
| - m_eventType = MouseEventReleased;
|
| - break;
|
| -
|
| - default:
|
| - ASSERT_NOT_REACHED();
|
| - }
|
| -}
|
| -
|
| -// PlatformWheelEventBuilder --------------------------------------------------
|
| -
|
| -PlatformWheelEventBuilder::PlatformWheelEventBuilder(Widget* widget, const WebMouseWheelEvent& e)
|
| -{
|
| - m_position = widget->convertFromContainingWindow(IntPoint(e.x, e.y));
|
| - m_globalPosition = IntPoint(e.globalX, e.globalY);
|
| - m_deltaX = e.deltaX;
|
| - m_deltaY = e.deltaY;
|
| - m_wheelTicksX = e.wheelTicksX;
|
| - m_wheelTicksY = e.wheelTicksY;
|
| - m_isAccepted = false;
|
| - m_granularity = e.scrollByPage ?
|
| - ScrollByPageWheelEvent : ScrollByPixelWheelEvent;
|
| - m_shiftKey = (e.modifiers & WebInputEvent::ShiftKey);
|
| - m_ctrlKey = (e.modifiers & WebInputEvent::ControlKey);
|
| - m_altKey = (e.modifiers & WebInputEvent::AltKey);
|
| - m_metaKey = (e.modifiers & WebInputEvent::MetaKey);
|
| -}
|
| -
|
| -// MakePlatformKeyboardEvent --------------------------------------------------
|
| -
|
| -static inline const PlatformKeyboardEvent::Type toPlatformKeyboardEventType(WebInputEvent::Type type)
|
| -{
|
| - switch (type) {
|
| - case WebInputEvent::KeyUp:
|
| - return PlatformKeyboardEvent::KeyUp;
|
| - case WebInputEvent::KeyDown:
|
| - return PlatformKeyboardEvent::KeyDown;
|
| - case WebInputEvent::RawKeyDown:
|
| - return PlatformKeyboardEvent::RawKeyDown;
|
| - case WebInputEvent::Char:
|
| - return PlatformKeyboardEvent::Char;
|
| - default:
|
| - ASSERT_NOT_REACHED();
|
| - }
|
| - return PlatformKeyboardEvent::KeyDown;
|
| -}
|
| -
|
| -PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder(const WebKeyboardEvent& e)
|
| -{
|
| - m_type = toPlatformKeyboardEventType(e.type);
|
| - m_text = String(e.text);
|
| - m_unmodifiedText = String(e.unmodifiedText);
|
| - m_keyIdentifier = String(e.keyIdentifier);
|
| - m_autoRepeat = (e.modifiers & WebInputEvent::IsAutoRepeat);
|
| - m_windowsVirtualKeyCode = e.windowsKeyCode;
|
| - m_nativeVirtualKeyCode = e.nativeKeyCode;
|
| - m_isKeypad = (e.modifiers & WebInputEvent::IsKeyPad);
|
| - m_shiftKey = (e.modifiers & WebInputEvent::ShiftKey);
|
| - m_ctrlKey = (e.modifiers & WebInputEvent::ControlKey);
|
| - m_altKey = (e.modifiers & WebInputEvent::AltKey);
|
| - m_metaKey = (e.modifiers & WebInputEvent::MetaKey);
|
| - m_isSystemKey = e.isSystemKey;
|
| -}
|
| -
|
| -void PlatformKeyboardEventBuilder::setKeyType(Type type)
|
| -{
|
| - // According to the behavior of Webkit in Windows platform,
|
| - // we need to convert KeyDown to RawKeydown and Char events
|
| - // See WebKit/WebKit/Win/WebView.cpp
|
| - ASSERT(m_type == KeyDown);
|
| - ASSERT(type == RawKeyDown || type == Char);
|
| - m_type = type;
|
| -
|
| - if (type == RawKeyDown) {
|
| - m_text = String();
|
| - m_unmodifiedText = String();
|
| - } else {
|
| - m_keyIdentifier = String();
|
| - m_windowsVirtualKeyCode = 0;
|
| - }
|
| -}
|
| -
|
| -// Please refer to bug http://b/issue?id=961192, which talks about Webkit
|
| -// keyboard event handling changes. It also mentions the list of keys
|
| -// which don't have associated character events.
|
| -bool PlatformKeyboardEventBuilder::isCharacterKey() const
|
| -{
|
| - switch (windowsVirtualKeyCode()) {
|
| - case VKEY_BACK:
|
| - case VKEY_ESCAPE:
|
| - return false;
|
| - }
|
| - return true;
|
| -}
|
| -
|
| -static int getWebInputModifiers(const UIEventWithKeyState& event)
|
| -{
|
| - int modifiers = 0;
|
| - if (event.ctrlKey())
|
| - modifiers |= WebInputEvent::ControlKey;
|
| - if (event.shiftKey())
|
| - modifiers |= WebInputEvent::ShiftKey;
|
| - if (event.altKey())
|
| - modifiers |= WebInputEvent::AltKey;
|
| - if (event.metaKey())
|
| - modifiers |= WebInputEvent::MetaKey;
|
| - return modifiers;
|
| -}
|
| -
|
| -WebMouseEventBuilder::WebMouseEventBuilder(const ScrollView* view, const MouseEvent& event)
|
| -{
|
| - if (event.type() == eventNames().mousemoveEvent)
|
| - type = WebInputEvent::MouseMove;
|
| - else if (event.type() == eventNames().mouseoutEvent)
|
| - type = WebInputEvent::MouseLeave;
|
| - else if (event.type() == eventNames().mouseoverEvent)
|
| - type = WebInputEvent::MouseEnter;
|
| - else if (event.type() == eventNames().mousedownEvent)
|
| - type = WebInputEvent::MouseDown;
|
| - else if (event.type() == eventNames().mouseupEvent)
|
| - type = WebInputEvent::MouseUp;
|
| - else
|
| - return; // Skip all other mouse events.
|
| - timeStampSeconds = event.timeStamp() * 1.0e-3;
|
| - switch (event.button()) {
|
| - case LeftButton:
|
| - button = WebMouseEvent::ButtonLeft;
|
| - break;
|
| - case MiddleButton:
|
| - button = WebMouseEvent::ButtonMiddle;
|
| - break;
|
| - case RightButton:
|
| - button = WebMouseEvent::ButtonRight;
|
| - break;
|
| - }
|
| - modifiers = getWebInputModifiers(event);
|
| - if (event.buttonDown()) {
|
| - switch (event.button()) {
|
| - case LeftButton:
|
| - modifiers |= WebInputEvent::LeftButtonDown;
|
| - break;
|
| - case MiddleButton:
|
| - modifiers |= WebInputEvent::MiddleButtonDown;
|
| - break;
|
| - case RightButton:
|
| - modifiers |= WebInputEvent::RightButtonDown;
|
| - break;
|
| - }
|
| - }
|
| - IntPoint p = view->contentsToWindow(IntPoint(event.pageX(), event.pageY()));
|
| - globalX = event.screenX();
|
| - globalY = event.screenY();
|
| - windowX = p.x();
|
| - windowY = p.y();
|
| - x = event.offsetX();
|
| - y = event.offsetY();
|
| -}
|
| -
|
| -WebKeyboardEventBuilder::WebKeyboardEventBuilder(const KeyboardEvent& event)
|
| -{
|
| - if (event.type() == eventNames().keydownEvent)
|
| - type = KeyDown;
|
| - else if (event.type() == eventNames().keyupEvent)
|
| - type = WebInputEvent::KeyUp;
|
| - else if (event.type() == eventNames().keypressEvent)
|
| - type = WebInputEvent::Char;
|
| - else
|
| - return; // Skip all other keyboard events.
|
| - modifiers = getWebInputModifiers(event);
|
| - timeStampSeconds = event.timeStamp() * 1.0e-3;
|
| - windowsKeyCode = event.keyCode();
|
| - nativeKeyCode = event.keyEvent()->nativeVirtualKeyCode();
|
| - unsigned int numChars = std::min(event.keyEvent()->text().length(),
|
| - static_cast<unsigned int>(WebKeyboardEvent::textLengthCap));
|
| - for (unsigned int i = 0; i < numChars; i++) {
|
| - text[i] = event.keyEvent()->text()[i];
|
| - unmodifiedText[i] = event.keyEvent()->unmodifiedText()[i];
|
| - }
|
| -}
|
| -
|
| -} // namespace WebKit
|
|
|