From f3db445d66924153905997c91f6aa4b36e787ea7 Mon Sep 17 00:00:00 2001 From: Jocelyn Turcotte Date: Wed, 31 Jul 2013 12:49:02 +0200 Subject: Transform QTouchEvent into ui::TouchEvent first. WebTouchEvents have a slightly different behavior than QTouchEvent in that the type of the event is TouchStart for each new point press, while Qt sends a TouchBegin only for the first point press. Since we already need to use ui::TouchEvent to be able to use ui::GestureRecognizer, always do this conversion first to also let UpdateWebTouchEventAfterDispatch chose the proper event type. Some of the code from render_widget_host_view_aura.cc was copied into render_widget_host_view_qt.cpp to fill the needed functionality. Change-Id: Iab1ca0c449b5256a39b5479ce89b662d4e133935 Reviewed-by: Andras Becsi --- ...ld-files-necessary-for-touch-and-gestures.patch | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 patches/0001-Build-files-necessary-for-touch-and-gestures.patch (limited to 'patches/0001-Build-files-necessary-for-touch-and-gestures.patch') diff --git a/patches/0001-Build-files-necessary-for-touch-and-gestures.patch b/patches/0001-Build-files-necessary-for-touch-and-gestures.patch new file mode 100644 index 000000000..db04322df --- /dev/null +++ b/patches/0001-Build-files-necessary-for-touch-and-gestures.patch @@ -0,0 +1,67 @@ +From 883f355400eb42d8c8ed1b3094b06055941a6932 Mon Sep 17 00:00:00 2001 +From: Jocelyn Turcotte +Date: Thu, 25 Jul 2013 17:25:47 +0200 +Subject: [PATCH] Build files necessary for touch and gestures. + +Also guard the use of MessagePumpAuraX11 in events_x.cc. We need to +build it to get symbols depending on base::NativeEvent. +--- + content/content_browser.gypi | 2 +- + ui/base/x/events_x.cc | 4 ++++ + ui/ui.gyp | 4 ++-- + 3 files changed, 7 insertions(+), 3 deletions(-) + +diff --git a/content/content_browser.gypi b/content/content_browser.gypi +index a985d0b..091b425 100644 +--- a/content/content_browser.gypi ++++ b/content/content_browser.gypi +@@ -1389,7 +1389,7 @@ + ['exclude', '^browser/geolocation/wifi_data_provider_linux\\.cc$'], + ], + }], +- ['use_aura!=1 and OS!="win"', { ++ ['use_aura!=1 and use_qt!=1 and OS!="win"', { + 'sources!': [ + 'browser/renderer_host/ui_events_helper.cc', + 'browser/renderer_host/ui_events_helper.h', +diff --git a/ui/base/x/events_x.cc b/ui/base/x/events_x.cc +index cfed6ce..f50cfa5 100644 +--- a/ui/base/x/events_x.cc ++++ b/ui/base/x/events_x.cc +@@ -273,7 +273,11 @@ double GetTouchParamFromXEvent(XEvent* xev, + + Atom GetNoopEventAtom() { + return XInternAtom( ++#if defined(USE_AURA) + base::MessagePumpAuraX11::GetDefaultXDisplay(), ++#else ++ XOpenDisplay(NULL), ++#endif + "noop", False); + } + +diff --git a/ui/ui.gyp b/ui/ui.gyp +index a0eff77..bd1e59d 100644 +--- a/ui/ui.gyp ++++ b/ui/ui.gyp +@@ -687,7 +687,7 @@ + ['exclude', 'base/dragdrop/drag_utils_aura.cc'], + ], + }], +- ['use_aura==0 and toolkit_views==0', { ++ ['use_aura==0 and use_qt==0 and toolkit_views==0', { + 'sources/': [ + ['exclude', '^base/gestures/*'], + ] +@@ -859,7 +859,7 @@ + 'base/cursor/cursor_loader_null.h', + ], + }], +- ['toolkit_views==0', { ++ ['use_qt==0 and toolkit_views==0', { + 'sources!': [ + 'base/events/event.cc', + 'base/events/event.h', +-- +1.8.3 + -- cgit v1.2.3