summaryrefslogtreecommitdiff
path: root/Tools/DumpRenderTree/chromium
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2012-09-18 15:53:33 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2012-09-18 15:53:33 +0200
commit6bbb7fbbac94d0f511a7bd0cbd50854ab643bfb2 (patch)
treed9c68d1cca0b3e352f1e438561f3e504e641a08f /Tools/DumpRenderTree/chromium
parentd0424a769059c84ae20beb3c217812792ea6726b (diff)
downloadqtwebkit-6bbb7fbbac94d0f511a7bd0cbd50854ab643bfb2.tar.gz
Imported WebKit commit c7503cef7ecb236730d1309676ab9fc723fd061d (http://svn.webkit.org/repository/webkit/trunk@128886)
New snapshot with various build fixes
Diffstat (limited to 'Tools/DumpRenderTree/chromium')
-rw-r--r--Tools/DumpRenderTree/chromium/TestRunner/EventSender.cpp11
-rw-r--r--Tools/DumpRenderTree/chromium/TestRunner/EventSender.h1
-rw-r--r--Tools/DumpRenderTree/chromium/TestShellAndroid.cpp83
3 files changed, 15 insertions, 80 deletions
diff --git a/Tools/DumpRenderTree/chromium/TestRunner/EventSender.cpp b/Tools/DumpRenderTree/chromium/TestRunner/EventSender.cpp
index d5eaac4ad..236012865 100644
--- a/Tools/DumpRenderTree/chromium/TestRunner/EventSender.cpp
+++ b/Tools/DumpRenderTree/chromium/TestRunner/EventSender.cpp
@@ -287,6 +287,7 @@ EventSender::EventSender()
bindMethod("gestureScrollUpdate", &EventSender::gestureScrollUpdate);
bindMethod("gestureTap", &EventSender::gestureTap);
bindMethod("gestureTapDown", &EventSender::gestureTapDown);
+ bindMethod("gestureTapCancel", &EventSender::gestureTapCancel);
bindMethod("gestureLongPress", &EventSender::gestureLongPress);
bindMethod("gestureTwoFingerTap", &EventSender::gestureTwoFingerTap);
bindMethod("zoomPageIn", &EventSender::zoomPageIn);
@@ -1119,6 +1120,12 @@ void EventSender::gestureTapDown(const CppArgumentList& arguments, CppVariant* r
gestureEvent(WebInputEvent::GestureTapDown, arguments);
}
+void EventSender::gestureTapCancel(const CppArgumentList& arguments, CppVariant* result)
+{
+ result->setNull();
+ gestureEvent(WebInputEvent::GestureTapCancel, arguments);
+}
+
void EventSender::gestureLongPress(const CppArgumentList& arguments, CppVariant* result)
{
result->setNull();
@@ -1182,6 +1189,10 @@ void EventSender::gestureEvent(WebInputEvent::Type type, const CppArgumentList&
event.x = point.x;
event.y = point.y;
break;
+ case WebInputEvent::GestureTapCancel:
+ event.x = point.x;
+ event.y = point.y;
+ break;
case WebInputEvent::GestureLongPress:
event.x = point.x;
event.y = point.y;
diff --git a/Tools/DumpRenderTree/chromium/TestRunner/EventSender.h b/Tools/DumpRenderTree/chromium/TestRunner/EventSender.h
index 828e7c842..e6794a077 100644
--- a/Tools/DumpRenderTree/chromium/TestRunner/EventSender.h
+++ b/Tools/DumpRenderTree/chromium/TestRunner/EventSender.h
@@ -106,6 +106,7 @@ public:
void gestureScrollUpdate(const CppArgumentList&, CppVariant*);
void gestureTap(const CppArgumentList&, CppVariant*);
void gestureTapDown(const CppArgumentList&, CppVariant*);
+ void gestureTapCancel(const CppArgumentList&, CppVariant*);
void gestureLongPress(const CppArgumentList&, CppVariant*);
void gestureTwoFingerTap(const CppArgumentList&, CppVariant*);
void gestureEvent(WebKit::WebInputEvent::Type, const CppArgumentList&);
diff --git a/Tools/DumpRenderTree/chromium/TestShellAndroid.cpp b/Tools/DumpRenderTree/chromium/TestShellAndroid.cpp
index 188158440..8f8eedc3d 100644
--- a/Tools/DumpRenderTree/chromium/TestShellAndroid.cpp
+++ b/Tools/DumpRenderTree/chromium/TestShellAndroid.cpp
@@ -32,15 +32,8 @@
#include "TestShell.h"
#include "linux/WebFontRendering.h"
+#include "tests/ForwardIOStreamsAndroid.h"
#include "third_party/skia/include/ports/SkTypeface_android.h"
-#include <android/log.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <wtf/Assertions.h>
namespace {
@@ -51,46 +44,6 @@ const char fontMainConfigFile[] = DEVICE_DRT_DIR "android_main_fonts.xml";
const char fontFallbackConfigFile[] = DEVICE_DRT_DIR "android_fallback_fonts.xml";
const char fontsDir[] = DEVICE_DRT_DIR "fonts/";
-const char optionInFIFO[] = "--in-fifo=";
-const char optionOutFIFO[] = "--out-fifo=";
-const char optionErrFIFO[] = "--err-fifo=";
-
-void androidLogError(const char* format, ...) WTF_ATTRIBUTE_PRINTF(1, 2);
-
-void androidLogError(const char* format, ...)
-{
- va_list args;
- va_start(args, format);
- __android_log_vprint(ANDROID_LOG_ERROR, "DumpRenderTree", format, args);
- va_end(args);
-}
-
-void removeArg(int index, int* argc, char*** argv)
-{
- for (int i = index; i < *argc; ++i)
- (*argv)[i] = (*argv)[i + 1];
- --*argc;
-}
-
-void createFIFO(const char* fifoPath)
-{
- unlink(fifoPath);
- // 0666 is rw-rw-rw-, to allow adb shell to read/write the fifo.
- // Explicitly call chmod to ensure the mode is set despite umask.
- if (mkfifo(fifoPath, 0666) || chmod(fifoPath, 0666)) {
- androidLogError("Failed to create fifo %s: %s\n", fifoPath, strerror(errno));
- exit(EXIT_FAILURE);
- }
-}
-
-void redirect(FILE* stream, const char* path, const char* mode)
-{
- if (!freopen(path, mode, stream)) {
- androidLogError("Failed to redirect stream to file: %s: %s\n", path, strerror(errno));
- exit(EXIT_FAILURE);
- }
-}
-
} // namespace
void platformInit(int* argc, char*** argv)
@@ -98,38 +51,8 @@ void platformInit(int* argc, char*** argv)
// Initialize skia with customized font config files.
SkUseTestFontConfigFile(fontMainConfigFile, fontFallbackConfigFile, fontsDir);
- const char* inFIFO = 0;
- const char* outFIFO = 0;
- const char* errFIFO = 0;
- for (int i = 1; i < *argc; ) {
- const char* argument = (*argv)[i];
- if (strstr(argument, optionInFIFO) == argument) {
- inFIFO = argument + WTF_ARRAY_LENGTH(optionInFIFO) - 1;
- createFIFO(inFIFO);
- removeArg(i, argc, argv);
- } else if (strstr(argument, optionOutFIFO) == argument) {
- outFIFO = argument + WTF_ARRAY_LENGTH(optionOutFIFO) - 1;
- createFIFO(outFIFO);
- removeArg(i, argc, argv);
- } else if (strstr(argument, optionErrFIFO) == argument) {
- errFIFO = argument + WTF_ARRAY_LENGTH(optionErrFIFO) - 1;
- createFIFO(errFIFO);
- removeArg(i, argc, argv);
- } else
- ++i;
- }
-
- // The order of createFIFO() and redirectToFIFO() is important to avoid deadlock.
- if (outFIFO)
- redirect(stdout, outFIFO, "w");
- if (inFIFO)
- redirect(stdin, inFIFO, "r");
- if (errFIFO)
- redirect(stderr, errFIFO, "w");
- else {
- // Redirect stderr to stdout.
- dup2(1, 2);
- }
+ // Set up IO stream forwarding if necessary.
+ WebKit::maybeInitIOStreamForwardingForAndroid(argc, argv);
// Disable auto hint and use normal hinting in layout test mode to produce the same font metrics as chromium-linux.
WebKit::WebFontRendering::setAutoHint(false);