Title: [132552] trunk/Tools
Revision
132552
Author
joc...@chromium.org
Date
2012-10-25 18:51:01 -0700 (Thu, 25 Oct 2012)

Log Message

[chromium] remove remaining usages of webkit_support from the TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=100344

Reviewed by Adam Barth.

The most important part is to not rely on calling out to gdk/X11 to
translate keycodes to hardware keycodes, as this is not possible inside
the sandbox.

* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/DRTTestRunner.h:
(WebKit):
(webkit_support):
* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebTestDelegate):
* DumpRenderTree/chromium/TestRunner/src/CppVariant.h:
* DumpRenderTree/chromium/TestRunner/src/EventSender.cpp:
(WebTestRunner):
(WebTestRunner::EventSender::doDragDrop):
(WebTestRunner::EventSender::updateClickCountForButton):
(WebTestRunner::EventSender::mouseDown):
(WebTestRunner::EventSender::mouseUp):
(WebTestRunner::EventSender::mouseMoveTo):
(WebTestRunner::EventSender::keyDown):
(WebTestRunner::EventSender::replaySavedEvents):
(WebTestRunner::EventSender::contextClick):
(WebTestRunner::EventSender::beginDragWithFiles):
(WebTestRunner::EventSender::sendCurrentTouchEvent):
(WebTestRunner::EventSender::handleMouseWheel):
(WebTestRunner::EventSender::gestureEvent):
(WebTestRunner::EventSender::gestureFlingCancel):
(WebTestRunner::EventSender::gestureFlingStart):
* DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.cpp: Added.
(WebTestRunner):
(WebTestRunner::NativeKeyCodeForWindowsKeyCode):
* DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h: Copied from Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.h.
(WebTestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestDelegate.h:
(TestDelegate):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
* DumpRenderTree/chromium/TestRunner/src/WebTestInterfaces.cpp:
(WebTestInterfaces::Internal):
(WebTestRunner::WebTestInterfaces::Internal::getCurrentTimeInMillisecond):
(WebTestRunner):
(WebTestRunner::WebTestInterfaces::Internal::getAbsoluteWebStringFromUTF8Path):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::getCurrentTimeInMillisecond):
(WebViewHost::getAbsoluteWebStringFromUTF8Path):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

Modified Paths

Added Paths

Diff

Modified: trunk/Tools/ChangeLog (132551 => 132552)


--- trunk/Tools/ChangeLog	2012-10-26 01:49:41 UTC (rev 132551)
+++ trunk/Tools/ChangeLog	2012-10-26 01:51:01 UTC (rev 132552)
@@ -1,3 +1,57 @@
+2012-10-25  Jochen Eisinger  <joc...@chromium.org>
+
+        [chromium] remove remaining usages of webkit_support from the TestRunner library
+        https://bugs.webkit.org/show_bug.cgi?id=100344
+
+        Reviewed by Adam Barth.
+
+        The most important part is to not rely on calling out to gdk/X11 to
+        translate keycodes to hardware keycodes, as this is not possible inside
+        the sandbox.
+
+        * DumpRenderTree/DumpRenderTree.gypi:
+        * DumpRenderTree/chromium/DRTTestRunner.h:
+        (WebKit):
+        (webkit_support):
+        * DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
+        (WebTestDelegate):
+        * DumpRenderTree/chromium/TestRunner/src/CppVariant.h:
+        * DumpRenderTree/chromium/TestRunner/src/EventSender.cpp:
+        (WebTestRunner):
+        (WebTestRunner::EventSender::doDragDrop):
+        (WebTestRunner::EventSender::updateClickCountForButton):
+        (WebTestRunner::EventSender::mouseDown):
+        (WebTestRunner::EventSender::mouseUp):
+        (WebTestRunner::EventSender::mouseMoveTo):
+        (WebTestRunner::EventSender::keyDown):
+        (WebTestRunner::EventSender::replaySavedEvents):
+        (WebTestRunner::EventSender::contextClick):
+        (WebTestRunner::EventSender::beginDragWithFiles):
+        (WebTestRunner::EventSender::sendCurrentTouchEvent):
+        (WebTestRunner::EventSender::handleMouseWheel):
+        (WebTestRunner::EventSender::gestureEvent):
+        (WebTestRunner::EventSender::gestureFlingCancel):
+        (WebTestRunner::EventSender::gestureFlingStart):
+        * DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.cpp: Added.
+        (WebTestRunner):
+        (WebTestRunner::NativeKeyCodeForWindowsKeyCode):
+        * DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h: Copied from Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.h.
+        (WebTestRunner):
+        * DumpRenderTree/chromium/TestRunner/src/TestDelegate.h:
+        (TestDelegate):
+        * DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
+        * DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
+        * DumpRenderTree/chromium/TestRunner/src/WebTestInterfaces.cpp:
+        (WebTestInterfaces::Internal):
+        (WebTestRunner::WebTestInterfaces::Internal::getCurrentTimeInMillisecond):
+        (WebTestRunner):
+        (WebTestRunner::WebTestInterfaces::Internal::getAbsoluteWebStringFromUTF8Path):
+        * DumpRenderTree/chromium/WebViewHost.cpp:
+        (WebViewHost::getCurrentTimeInMillisecond):
+        (WebViewHost::getAbsoluteWebStringFromUTF8Path):
+        * DumpRenderTree/chromium/WebViewHost.h:
+        (WebViewHost):
+
 2012-10-25  Sheriff Bot  <webkit.review....@gmail.com>
 
         Unreviewed, rolling out r132514.

Modified: trunk/Tools/DumpRenderTree/DumpRenderTree.gypi (132551 => 132552)


--- trunk/Tools/DumpRenderTree/DumpRenderTree.gypi	2012-10-26 01:49:41 UTC (rev 132551)
+++ trunk/Tools/DumpRenderTree/DumpRenderTree.gypi	2012-10-26 01:51:01 UTC (rev 132552)
@@ -83,6 +83,8 @@
             'chromium/TestRunner/src/EventSender.h',
             'chromium/TestRunner/src/GamepadController.cpp',
             'chromium/TestRunner/src/GamepadController.h',
+            'chromium/TestRunner/src/KeyCodeMapping.cpp',
+            'chromium/TestRunner/src/KeyCodeMapping.h',
             'chromium/TestRunner/src/TestInterfaces.cpp',
             'chromium/TestRunner/src/TestInterfaces.h',
             'chromium/TestRunner/src/TextInputController.cpp',

Modified: trunk/Tools/DumpRenderTree/chromium/DRTTestRunner.h (132551 => 132552)


--- trunk/Tools/DumpRenderTree/chromium/DRTTestRunner.h	2012-10-26 01:49:41 UTC (rev 132551)
+++ trunk/Tools/DumpRenderTree/chromium/DRTTestRunner.h	2012-10-26 01:51:01 UTC (rev 132552)
@@ -43,8 +43,24 @@
 #define DRTTestRunner_h
 
 #include "TestRunner/src/TestRunner.h"
+#include "WebDeliveredIntentClient.h"
 #include "WebTask.h"
+#include "WebTextDirection.h"
+#include "platform/WebArrayBufferView.h"
+#include "platform/WebString.h"
+#include "platform/WebURL.h"
+#include <wtf/Deque.h>
+#include <wtf/OwnPtr.h>
 
+namespace WebKit {
+class WebGeolocationClientMock;
+}
+
+namespace webkit_support {
+class ScopedTempDirectory;
+}
+
+
 class TestShell;
 
 class DRTTestRunner : public TestRunner {

Modified: trunk/Tools/DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h (132551 => 132552)


--- trunk/Tools/DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h	2012-10-26 01:49:41 UTC (rev 132551)
+++ trunk/Tools/DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h	2012-10-26 01:51:01 UTC (rev 132552)
@@ -59,6 +59,8 @@
     virtual void postDelayedTask(WebTask*, long long ms) = 0;
 
     virtual WebKit::WebString registerIsolatedFileSystem(const WebKit::WebVector<WebKit::WebString>& absoluteFilenames) = 0;
+    virtual long long getCurrentTimeInMillisecond() = 0;
+    virtual WebKit::WebString getAbsoluteWebStringFromUTF8Path(const std::string& path) = 0;
 };
 
 }

Modified: trunk/Tools/DumpRenderTree/chromium/TestRunner/src/CppVariant.h (132551 => 132552)


--- trunk/Tools/DumpRenderTree/chromium/TestRunner/src/CppVariant.h	2012-10-26 01:49:41 UTC (rev 132551)
+++ trunk/Tools/DumpRenderTree/chromium/TestRunner/src/CppVariant.h	2012-10-26 01:51:01 UTC (rev 132552)
@@ -43,7 +43,6 @@
 #define CppVariant_h
 
 #include "WebBindings.h"
-#include "webkit/support/webkit_support.h"
 #include <string>
 #include <wtf/Vector.h>
 

Modified: trunk/Tools/DumpRenderTree/chromium/TestRunner/src/EventSender.cpp (132551 => 132552)


--- trunk/Tools/DumpRenderTree/chromium/TestRunner/src/EventSender.cpp	2012-10-26 01:49:41 UTC (rev 132551)
+++ trunk/Tools/DumpRenderTree/chromium/TestRunner/src/EventSender.cpp	2012-10-26 01:51:01 UTC (rev 132552)
@@ -43,16 +43,17 @@
 #include "config.h"
 #include "EventSender.h"
 
+#include "KeyCodeMapping.h"
 #include "TestDelegate.h"
 #include "WebContextMenuData.h"
 #include "WebDragOperation.h"
+#include "WebEventSender.h"
 #include "WebTouchPoint.h"
 #include "WebView.h"
 #include "platform/WebDragData.h"
 #include "platform/WebPoint.h"
 #include "platform/WebString.h"
 #include "platform/WebVector.h"
-#include "webkit/support/webkit_support.h"
 #include <wtf/Deque.h>
 #include <wtf/StringExtras.h>
 
@@ -125,9 +126,9 @@
 // dependent (e.g., dragging has a timeout vs selection).
 uint32 timeOffsetMs = 0;
 
-double getCurrentEventTimeSec()
+double getCurrentEventTimeSec(TestDelegate* delegate)
 {
-    return (webkit_support::GetCurrentTimeInMillisecond() + timeOffsetMs) / 1000.0;
+    return (delegate->getCurrentTimeInMillisecond() + timeOffsetMs) / 1000.0;
 }
 
 void advanceEventTime(int32_t deltaMs)
@@ -135,7 +136,7 @@
     timeOffsetMs += deltaMs;
 }
 
-void initMouseEvent(WebInputEvent::Type t, WebMouseEvent::Button b, const WebPoint& pos, WebMouseEvent* e)
+void initMouseEvent(WebInputEvent::Type t, WebMouseEvent::Button b, const WebPoint& pos, WebMouseEvent* e, double ts)
 {
     e->type = t;
     e->button = b;
@@ -144,7 +145,7 @@
     e->y = pos.y;
     e->globalX = pos.x;
     e->globalY = pos.y;
-    e->timeStampSeconds = getCurrentEventTimeSec();
+    e->timeStampSeconds = ts;
     e->clickCount = clickCount;
 }
 
@@ -214,16 +215,16 @@
         return false;
 
     switch (event.windowsKeyCode) {
-    case webkit_support::VKEY_LEFT:
+    case VKEY_LEFT:
         *name = "MoveToBeginningOfLine";
         break;
-    case webkit_support::VKEY_RIGHT:
+    case VKEY_RIGHT:
         *name = "MoveToEndOfLine";
         break;
-    case webkit_support::VKEY_UP:
+    case VKEY_UP:
         *name = "MoveToBeginningOfDocument";
         break;
-    case webkit_support::VKEY_DOWN:
+    case VKEY_DOWN:
         *name = "MoveToEndOfDocument";
         break;
     default:
@@ -349,7 +350,7 @@
 void EventSender::doDragDrop(const WebDragData& dragData, WebDragOperationsMask mask)
 {
     WebMouseEvent event;
-    initMouseEvent(WebInputEvent::MouseDown, pressedButton, lastMousePos, &event);
+    initMouseEvent(WebInputEvent::MouseDown, pressedButton, lastMousePos, &event, getCurrentEventTimeSec(m_delegate));
     WebPoint clientPoint(event.x, event.y);
     WebPoint screenPoint(event.globalX, event.globalY);
     currentDragData = dragData;
@@ -392,7 +393,7 @@
 
 void EventSender::updateClickCountForButton(WebMouseEvent::Button buttonType)
 {
-    if ((getCurrentEventTimeSec() - lastClickTimeSec < multipleClickTimeSec)
+    if ((getCurrentEventTimeSec(m_delegate) - lastClickTimeSec < multipleClickTimeSec)
         && (!outsideMultiClickRadius(lastMousePos, lastClickPos))
         && (buttonType == lastButtonType))
         ++clickCount;
@@ -422,7 +423,7 @@
 
     WebMouseEvent event;
     pressedButton = buttonType;
-    initMouseEvent(WebInputEvent::MouseDown, buttonType, lastMousePos, &event);
+    initMouseEvent(WebInputEvent::MouseDown, buttonType, lastMousePos, &event, getCurrentEventTimeSec(m_delegate));
     if (arguments.size() >= 2 && (arguments[1].isObject() || arguments[1].isString()))
         applyKeyModifiers(&(arguments[1]), &event);
     webview()->handleInputEvent(event);
@@ -448,7 +449,7 @@
         replaySavedEvents();
     } else {
         WebMouseEvent event;
-        initMouseEvent(WebInputEvent::MouseUp, buttonType, lastMousePos, &event);
+        initMouseEvent(WebInputEvent::MouseUp, buttonType, lastMousePos, &event, getCurrentEventTimeSec(m_delegate));
         if (arguments.size() >= 2 && (arguments[1].isObject() || arguments[1].isString()))
             applyKeyModifiers(&(arguments[1]), &event);
         doMouseUp(event);
@@ -497,7 +498,7 @@
         mouseEventQueue.append(savedEvent);
     } else {
         WebMouseEvent event;
-        initMouseEvent(WebInputEvent::MouseMove, pressedButton, mousePos, &event);
+        initMouseEvent(WebInputEvent::MouseMove, pressedButton, mousePos, &event, getCurrentEventTimeSec(m_delegate));
         doMouseMove(event);
     }
 }
@@ -535,50 +536,43 @@
     bool needsShiftKeyModifier = false;
     if ("\n" == codeStr) {
         generateChar = true;
-        text = code = webkit_support::VKEY_RETURN;
+        text = code = VKEY_RETURN;
     } else if ("rightArrow" == codeStr)
-        code = webkit_support::VKEY_RIGHT;
+        code = VKEY_RIGHT;
     else if ("downArrow" == codeStr)
-        code = webkit_support::VKEY_DOWN;
+        code = VKEY_DOWN;
     else if ("leftArrow" == codeStr)
-        code = webkit_support::VKEY_LEFT;
+        code = VKEY_LEFT;
     else if ("upArrow" == codeStr)
-        code = webkit_support::VKEY_UP;
+        code = VKEY_UP;
     else if ("insert" == codeStr)
-        code = webkit_support::VKEY_INSERT;
+        code = VKEY_INSERT;
     else if ("delete" == codeStr)
-        code = webkit_support::VKEY_DELETE;
+        code = VKEY_DELETE;
     else if ("pageUp" == codeStr)
-        code = webkit_support::VKEY_PRIOR;
+        code = VKEY_PRIOR;
     else if ("pageDown" == codeStr)
-        code = webkit_support::VKEY_NEXT;
+        code = VKEY_NEXT;
     else if ("home" == codeStr)
-        code = webkit_support::VKEY_HOME;
+        code = VKEY_HOME;
     else if ("end" == codeStr)
-        code = webkit_support::VKEY_END;
+        code = VKEY_END;
     else if ("printScreen" == codeStr)
-        code = webkit_support::VKEY_SNAPSHOT;
+        code = VKEY_SNAPSHOT;
     else if ("menu" == codeStr)
-        // FIXME: Change this to webkit_support::VKEY_APPS.
-        code = 0x5D;
+        code = VKEY_APPS;
     else if ("leftControl" == codeStr)
-        // FIXME: Change this to webkit_support::VKEY_LCONTROL.
-        code = 0xA2;
+        code = VKEY_LCONTROL;
     else if ("rightControl" == codeStr)
-        // FIXME: Change this to webkit_support::VKEY_RCONTROL.
-        code = 0xA3;
+        code = VKEY_RCONTROL;
     else if ("leftShift" == codeStr)
-        // FIXME: Change this to webkit_support::VKEY_LSHIFT.
-        code = 0xA0;
+        code = VKEY_LSHIFT;
     else if ("rightShift" == codeStr)
-        // FIXME: Change this to webkit_support::VKEY_RSHIFT.
-        code = 0xA1;
+        code = VKEY_RSHIFT;
     else if ("leftAlt" == codeStr)
-        // FIXME: Change this to webkit_support::VKEY_LMENU.
-        code = 0xA4;
+        code = VKEY_LMENU;
     else if ("rightAlt" == codeStr)
-        // FIXME: Change this to webkit_support::VKEY_RMENU.
-        code = 0xA5;
+        code = VKEY_RMENU;
     else {
         // Compare the input string with the function-key names defined by the
         // DOM spec (i.e. "F1",...,"F24"). If the input string is a function-key
@@ -588,7 +582,7 @@
             snprintf(functionChars, 10, "F%d", i);
             string functionKeyName(functionChars);
             if (functionKeyName == codeStr) {
-                code = webkit_support::VKEY_F1 + (i - 1);
+                code = VKEY_F1 + (i - 1);
                 break;
             }
         }
@@ -613,7 +607,7 @@
     eventDown.modifiers = 0;
     eventDown.windowsKeyCode = code;
 #if OS(LINUX) && USE(GTK)
-    eventDown.nativeKeyCode = webkit_support::NativeKeyCodeForWindowsKeyCode(code, needsShiftKeyModifier);
+    eventDown.nativeKeyCode = NativeKeyCodeForWindowsKeyCode(code);
 #endif
 
     if (generateChar) {
@@ -775,7 +769,7 @@
         switch (e.type) {
         case SavedEvent::MouseMove: {
             WebMouseEvent event;
-            initMouseEvent(WebInputEvent::MouseMove, pressedButton, e.pos, &event);
+            initMouseEvent(WebInputEvent::MouseMove, pressedButton, e.pos, &event, getCurrentEventTimeSec(m_delegate));
             doMouseMove(event);
             break;
         }
@@ -784,7 +778,7 @@
             break;
         case SavedEvent::MouseUp: {
             WebMouseEvent event;
-            initMouseEvent(WebInputEvent::MouseUp, e.buttonType, lastMousePos, &event);
+            initMouseEvent(WebInputEvent::MouseUp, e.buttonType, lastMousePos, &event, getCurrentEventTimeSec(m_delegate));
             doMouseUp(event);
             break;
         }
@@ -843,10 +837,10 @@
     // Generate right mouse down and up.
     WebMouseEvent event;
     pressedButton = WebMouseEvent::ButtonRight;
-    initMouseEvent(WebInputEvent::MouseDown, WebMouseEvent::ButtonRight, lastMousePos, &event);
+    initMouseEvent(WebInputEvent::MouseDown, WebMouseEvent::ButtonRight, lastMousePos, &event, getCurrentEventTimeSec(m_delegate));
     webview()->handleInputEvent(event);
 
-    initMouseEvent(WebInputEvent::MouseUp, WebMouseEvent::ButtonRight, lastMousePos, &event);
+    initMouseEvent(WebInputEvent::MouseUp, WebMouseEvent::ButtonRight, lastMousePos, &event, getCurrentEventTimeSec(m_delegate));
     webview()->handleInputEvent(event);
 
     pressedButton = WebMouseEvent::ButtonNone;
@@ -906,7 +900,7 @@
     for (size_t i = 0; i < files.size(); ++i) {
         WebDragData::Item item;
         item.storageType = WebDragData::Item::StorageTypeFilename;
-        item.filenameData = webkit_support::GetAbsoluteWebStringFromUTF8Path(files[i]);
+        item.filenameData = m_delegate->getAbsoluteWebStringFromUTF8Path(files[i]);
         currentDragData.addItem(item);
         absoluteFilenames[i] = item.filenameData;
     }
@@ -1014,7 +1008,7 @@
     WebTouchEvent touchEvent;
     touchEvent.type = type;
     touchEvent.modifiers = touchModifiers;
-    touchEvent.timeStampSeconds = getCurrentEventTimeSec();
+    touchEvent.timeStampSeconds = getCurrentEventTimeSec(m_delegate);
     touchEvent.touchesLength = touchPoints.size();
     for (unsigned i = 0; i < touchPoints.size(); ++i)
         touchEvent.touches[i] = touchPoints[i];
@@ -1054,7 +1048,7 @@
         hasPreciseScrollingDeltas = arguments[3].toBoolean();
 
     WebMouseWheelEvent event;
-    initMouseEvent(WebInputEvent::MouseWheel, pressedButton, lastMousePos, &event);
+    initMouseEvent(WebInputEvent::MouseWheel, pressedButton, lastMousePos, &event, getCurrentEventTimeSec(m_delegate));
     event.wheelTicksX = static_cast<float>(horizontal);
     event.wheelTicksY = static_cast<float>(vertical);
     event.deltaX = event.wheelTicksX;
@@ -1217,7 +1211,7 @@
 
     event.globalX = event.x;
     event.globalY = event.y;
-    event.timeStampSeconds = getCurrentEventTimeSec();
+    event.timeStampSeconds = getCurrentEventTimeSec(m_delegate);
     webview()->handleInputEvent(event);
 }
 
@@ -1229,7 +1223,7 @@
 
     WebGestureEvent event;
     event.type = WebInputEvent::GestureFlingCancel;
-    event.timeStampSeconds = getCurrentEventTimeSec();
+    event.timeStampSeconds = getCurrentEventTimeSec(m_delegate);
     webview()->handleInputEvent(event);
 }
 
@@ -1253,7 +1247,7 @@
 
     event.data.flingStart.velocityX = static_cast<float>(arguments[2].toDouble());
     event.data.flingStart.velocityY = static_cast<float>(arguments[3].toDouble());
-    event.timeStampSeconds = getCurrentEventTimeSec();
+    event.timeStampSeconds = getCurrentEventTimeSec(m_delegate);
     webview()->handleInputEvent(event);
 }
 

Added: trunk/Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.cpp (0 => 132552)


--- trunk/Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.cpp	                        (rev 0)
+++ trunk/Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.cpp	2012-10-26 01:51:01 UTC (rev 132552)
@@ -0,0 +1,249 @@
+/*
+ * Copyright (C) 2012 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 "KeyCodeMapping.h"
+
+#include <wtf/UnusedParam.h>
+
+namespace WebTestRunner {
+
+int NativeKeyCodeForWindowsKeyCode(int keysym)
+{
+#if OS(LINUX) && USE(GTK)
+    // See /usr/share/X11/xkb/keycodes/*
+    static const int asciiToKeyCode[] = {
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        22,
+        23,
+        0,
+        0,
+        0,
+        36,
+        0,
+        0,
+        50,
+        37,
+        64,
+        127,
+        66,
+        0,
+        0,
+        0,
+        0,
+        131,
+        0,
+        9,
+        100,
+        102,
+        0,
+        0,
+        65, // ' '
+        112, // '!'
+        117, // '"'
+        115, // '#'
+        110, // '$'
+        113, // '%'
+        111, // '&'
+        114, // '''
+        116, // '('
+        0, // ')'
+        107, // '*'
+        0, // '+'
+        0, // ','
+        118, // '-'
+        119, // '.'
+        146, // '/'
+        19, // '0'
+        10, // '1'
+        11, // '2'
+        12, // '3'
+        13, // '4'
+        14, // '5'
+        15, // '6'
+        16, // '7'
+        17, // '8'
+        18, // '9'
+        0, // ':'
+        0, // ';'
+        0, // '<'
+        0, // '='
+        0, // '>'
+        0, // '?'
+        0, // '@'
+        38, // 'A'
+        56, // 'B'
+        54, // 'C'
+        40, // 'D'
+        26, // 'E'
+        41, // 'F'
+        42, // 'G'
+        43, // 'H'
+        31, // 'I'
+        44, // 'J'
+        45, // 'K'
+        46, // 'L'
+        58, // 'M'
+        57, // 'N'
+        32, // 'O'
+        33, // 'P'
+        24, // 'Q'
+        27, // 'R'
+        39, // 'S'
+        28, // 'T'
+        30, // 'U'
+        55, // 'V'
+        25, // 'W'
+        53, // 'X'
+        29, // 'Y'
+        52, // 'Z'
+        133, // '['
+        134, // '\'
+        135, // ']'
+        0, // '^'
+        0, // '_'
+        90, // '`'
+        38, // 'a'
+        56, // 'b'
+        54, // 'c'
+        40, // 'd'
+        26, // 'e'
+        41, // 'f'
+        42, // 'g'
+        43, // 'h'
+        31, // 'i'
+        44, // 'j'
+        45, // 'k'
+        46, // 'l'
+        58, // 'm'
+        57, // 'n'
+        32, // 'o'
+        33, // 'p'
+        24, // 'q'
+        27, // 'r'
+        39, // 's'
+        28, // 't'
+        30, // 'u'
+        55, // 'v'
+        25, // 'w'
+        53, // 'x'
+        29, // 'y'
+        52, // 'z'
+        96, // '{'
+        0, // '|'
+        0, // '}'
+        0, // '~'
+        0, // DEL
+    };
+
+    if (keysym <= 127)
+        return asciiToKeyCode[keysym];
+
+    switch (keysym) {
+    case VKEY_PRIOR:
+        return 112;
+    case VKEY_NEXT:
+        return 117;
+    case VKEY_END:
+        return 115;
+    case VKEY_HOME:
+        return 110;
+    case VKEY_LEFT:
+        return 113;
+    case VKEY_UP:
+        return 111;
+    case VKEY_RIGHT:
+        return 114;
+    case VKEY_DOWN:
+        return 116;
+    case VKEY_SNAPSHOT:
+        return 107;
+    case VKEY_INSERT:
+        return 118;
+    case VKEY_DELETE:
+        return 119;
+    case VKEY_APPS:
+        return 135;
+    case VKEY_F1:
+    case VKEY_F1 + 1:
+    case VKEY_F1 + 2:
+    case VKEY_F1 + 3:
+    case VKEY_F1 + 4:
+    case VKEY_F1 + 5:
+    case VKEY_F1 + 6:
+    case VKEY_F1 + 7:
+    case VKEY_F1 + 8:
+    case VKEY_F1 + 9:
+    case VKEY_F1 + 10:
+    case VKEY_F1 + 11:
+    case VKEY_F1 + 12:
+    case VKEY_F1 + 13:
+    case VKEY_F1 + 14:
+    case VKEY_F1 + 15:
+    case VKEY_F1 + 16:
+    case VKEY_F1 + 17:
+    case VKEY_F1 + 18:
+    case VKEY_F1 + 19:
+    case VKEY_F1 + 20:
+    case VKEY_F1 + 21:
+    case VKEY_F1 + 22:
+    case VKEY_F1 + 23:
+        return 67 + (keysym - VKEY_F1);
+    case VKEY_LSHIFT:
+        return 50;
+    case VKEY_RSHIFT:
+        return 62;
+    case VKEY_LCONTROL:
+        return 37;
+    case VKEY_RCONTROL:
+        return 105;
+    case VKEY_LMENU:
+        return 64;
+    case VKEY_RMENU:
+        return 108;
+
+    default:
+        ASSERT_NOT_REACHED();
+        return 0;
+    }
+#else
+    UNUSED_PARAM(keysym);
+    return 0;
+#endif
+}
+
+}

Copied: trunk/Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h (from rev 132550, trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.h) (0 => 132552)


--- trunk/Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h	                        (rev 0)
+++ trunk/Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h	2012-10-26 01:51:01 UTC (rev 132552)
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+#ifndef KeyCodeMapping_h
+#define KeyCodeMapping_h
+
+namespace WebTestRunner {
+
+// The keycodes match the values of the virtual keycodes found here http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
+enum {
+    VKEY_RETURN   = 0x0D,
+    VKEY_PRIOR    = 0x21,
+    VKEY_NEXT     = 0x22,
+    VKEY_END      = 0x23,
+    VKEY_HOME     = 0x24,
+    VKEY_LEFT     = 0x25,
+    VKEY_UP       = 0x26,
+    VKEY_RIGHT    = 0x27,
+    VKEY_DOWN     = 0x28,
+    VKEY_SNAPSHOT = 0x2C,
+    VKEY_INSERT   = 0x2D,
+    VKEY_DELETE   = 0x2E,
+    VKEY_APPS     = 0x5D,
+    VKEY_F1       = 0x70,
+    VKEY_LSHIFT   = 0xA0,
+    VKEY_RSHIFT   = 0xA1,
+    VKEY_LCONTROL = 0xA2,
+    VKEY_RCONTROL = 0xA3,
+    VKEY_LMENU    = 0xA4,
+    VKEY_RMENU    = 0xA5,
+};
+
+// Map a windows keycode to a native keycode on OS(LINUX) && USE(GTK).
+int NativeKeyCodeForWindowsKeyCode(int keysym);
+
+}
+
+#endif // KeyCodeMapping_h

Modified: trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestDelegate.h (132551 => 132552)


--- trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestDelegate.h	2012-10-26 01:49:41 UTC (rev 132551)
+++ trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestDelegate.h	2012-10-26 01:51:01 UTC (rev 132552)
@@ -55,6 +55,8 @@
     virtual void postTask(WebTestRunner::WebTask*) = 0;
     virtual void postDelayedTask(WebTestRunner::WebTask*, long long ms) = 0;
     virtual WebKit::WebString registerIsolatedFileSystem(const WebKit::WebVector<WebKit::WebString>& absoluteFilenames) = 0;
+    virtual long long getCurrentTimeInMillisecond() = 0;
+    virtual WebKit::WebString getAbsoluteWebStringFromUTF8Path(const std::string& path) = 0;
 };
 
 #endif // TestDelegate_h

Modified: trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp (132551 => 132552)


--- trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp	2012-10-26 01:49:41 UTC (rev 132551)
+++ trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp	2012-10-26 01:51:01 UTC (rev 132552)
@@ -32,51 +32,6 @@
 #include "config.h"
 #include "TestRunner.h"
 
-#include "WebAnimationController.h"
-#include "WebBindings.h"
-#include "WebConsoleMessage.h"
-#include "WebDeviceOrientation.h"
-#include "WebDeviceOrientationClientMock.h"
-#include "WebDocument.h"
-#include "WebElement.h"
-#include "WebFindOptions.h"
-#include "WebFrame.h"
-#include "WebGeolocationClientMock.h"
-#include "WebIDBFactory.h"
-#include "WebInputElement.h"
-#include "WebIntent.h"
-#include "WebIntentRequest.h"
-#include "WebKit.h"
-#include "WebNotificationPresenter.h"
-#include "WebPrintParams.h"
-#include "WebScriptSource.h"
-#include "WebSecurityPolicy.h"
-#include "WebSettings.h"
-#include "WebSurroundingText.h"
-#include "WebView.h"
-#include "WebWorkerInfo.h"
-#include "platform/WebData.h"
-#include "platform/WebSerializedScriptValue.h"
-#include "platform/WebSize.h"
-#include "platform/WebURL.h"
-#include "v8/include/v8.h"
-#include "webkit/support/webkit_support.h"
-#include <algorithm>
-#include <clocale>
-#include <cstdlib>
-#include <limits>
-#include <sstream>
-#include <wtf/OwnArrayPtr.h>
-#include <wtf/text/WTFString.h>
-
-#if OS(LINUX) || OS(ANDROID)
-#include "linux/WebFontRendering.h"
-#endif
-
-using namespace WebCore;
-using namespace WebKit;
-using namespace std;
-
 TestRunner::TestRunner()
 {
 }

Modified: trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.h (132551 => 132552)


--- trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.h	2012-10-26 01:49:41 UTC (rev 132551)
+++ trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.h	2012-10-26 01:51:01 UTC (rev 132552)
@@ -33,22 +33,7 @@
 #define TestRunner_h
 
 #include "CppBoundClass.h"
-#include "WebDeliveredIntentClient.h"
-#include "WebTextDirection.h"
-#include "platform/WebArrayBufferView.h"
-#include "platform/WebString.h"
-#include "platform/WebURL.h"
-#include <wtf/Deque.h>
-#include <wtf/OwnPtr.h>
 
-namespace WebKit {
-class WebGeolocationClientMock;
-}
-
-namespace webkit_support {
-class ScopedTempDirectory;
-}
-
 class TestRunner : public CppBoundClass {
 public:
     TestRunner();

Modified: trunk/Tools/DumpRenderTree/chromium/TestRunner/src/WebTestInterfaces.cpp (132551 => 132552)


--- trunk/Tools/DumpRenderTree/chromium/TestRunner/src/WebTestInterfaces.cpp	2012-10-26 01:49:41 UTC (rev 132551)
+++ trunk/Tools/DumpRenderTree/chromium/TestRunner/src/WebTestInterfaces.cpp	2012-10-26 01:51:01 UTC (rev 132552)
@@ -67,6 +67,8 @@
     virtual void postTask(WebTask*);
     virtual void postDelayedTask(WebTask*, long long ms);
     virtual WebString registerIsolatedFileSystem(const WebVector<WebString>& absoluteFilenames);
+    virtual long long getCurrentTimeInMillisecond();
+    virtual WebKit::WebString getAbsoluteWebStringFromUTF8Path(const std::string& path);
 
 private:
     TestInterfaces m_interfaces;
@@ -147,6 +149,16 @@
     return m_delegate->registerIsolatedFileSystem(absoluteFilenames);
 }
 
+long long WebTestInterfaces::Internal::getCurrentTimeInMillisecond()
+{
+    return m_delegate->getCurrentTimeInMillisecond();
+}
+
+WebKit::WebString WebTestInterfaces::Internal::getAbsoluteWebStringFromUTF8Path(const std::string& path)
+{
+    return m_delegate->getAbsoluteWebStringFromUTF8Path(path);
+}
+
 WebTestInterfaces::WebTestInterfaces()
 {
     m_internal = new Internal;

Modified: trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp (132551 => 132552)


--- trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp	2012-10-26 01:49:41 UTC (rev 132551)
+++ trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp	2012-10-26 01:51:01 UTC (rev 132552)
@@ -1500,6 +1500,16 @@
     return webkit_support::RegisterIsolatedFileSystem(absoluteFilenames);
 }
 
+long long WebViewHost::getCurrentTimeInMillisecond()
+{
+    return webkit_support::GetCurrentTimeInMillisecond();
+}
+
+WebKit::WebString WebViewHost::getAbsoluteWebStringFromUTF8Path(const std::string& path)
+{
+    return webkit_support::GetAbsoluteWebStringFromUTF8Path(path);
+}
+
 // Public functions -----------------------------------------------------------
 
 WebViewHost::WebViewHost(TestShell* shell)

Modified: trunk/Tools/DumpRenderTree/chromium/WebViewHost.h (132551 => 132552)


--- trunk/Tools/DumpRenderTree/chromium/WebViewHost.h	2012-10-26 01:49:41 UTC (rev 132551)
+++ trunk/Tools/DumpRenderTree/chromium/WebViewHost.h	2012-10-26 01:51:01 UTC (rev 132552)
@@ -139,6 +139,8 @@
     virtual void postTask(WebTestRunner::WebTask*) OVERRIDE;
     virtual void postDelayedTask(WebTestRunner::WebTask*, long long ms) OVERRIDE;
     virtual WebKit::WebString registerIsolatedFileSystem(const WebKit::WebVector<WebKit::WebString>& absoluteFilenames) OVERRIDE;
+    virtual long long getCurrentTimeInMillisecond() OVERRIDE;
+    virtual WebKit::WebString getAbsoluteWebStringFromUTF8Path(const std::string& path) OVERRIDE;
 
     // NavigationHost
     virtual bool navigate(const TestNavigationEntry&, bool reload);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to