Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(847)

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_win.cc

Issue 14122008: Enable touch-initiated drag-drop work on Windows (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: fixings in drag_source_win Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/renderer_host/render_widget_host_view_win.h" 5 #include "content/browser/renderer_host/render_widget_host_view_win.h"
6 6
7 #include <dwmapi.h> 7 #include <dwmapi.h>
8 #include <InputScope.h> 8 #include <InputScope.h>
9 #include <wtsapi32.h> 9 #include <wtsapi32.h>
10 #pragma comment(lib, "wtsapi32.lib") 10 #pragma comment(lib, "wtsapi32.lib")
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 is_loading_(false), 402 is_loading_(false),
403 text_input_type_(ui::TEXT_INPUT_TYPE_NONE), 403 text_input_type_(ui::TEXT_INPUT_TYPE_NONE),
404 can_compose_inline_(true), 404 can_compose_inline_(true),
405 is_fullscreen_(false), 405 is_fullscreen_(false),
406 ignore_mouse_movement_(true), 406 ignore_mouse_movement_(true),
407 composition_range_(ui::Range::InvalidRange()), 407 composition_range_(ui::Range::InvalidRange()),
408 touch_state_(new WebTouchState(this)), 408 touch_state_(new WebTouchState(this)),
409 pointer_down_context_(false), 409 pointer_down_context_(false),
410 last_touch_location_(-1, -1), 410 last_touch_location_(-1, -1),
411 touch_events_enabled_(false), 411 touch_events_enabled_(false),
412 gesture_recognizer_(ui::GestureRecognizer::Create(this)) { 412 gesture_recognizer_(ui::GestureRecognizer::Create(this)),
413 in_long_press_gesture_(false) {
413 render_widget_host_->SetView(this); 414 render_widget_host_->SetView(this);
414 registrar_.Add(this, 415 registrar_.Add(this,
415 NOTIFICATION_RENDERER_PROCESS_TERMINATED, 416 NOTIFICATION_RENDERER_PROCESS_TERMINATED,
416 NotificationService::AllBrowserContextsAndSources()); 417 NotificationService::AllBrowserContextsAndSources());
417 } 418 }
418 419
419 RenderWidgetHostViewWin::~RenderWidgetHostViewWin() { 420 RenderWidgetHostViewWin::~RenderWidgetHostViewWin() {
420 UnlockMouse(); 421 UnlockMouse();
421 ResetTooltip(); 422 ResetTooltip();
422 } 423 }
(...skipping 1317 matching lines...) Expand 10 before | Expand all | Expand 10 after
1740 handled = FALSE; 1741 handled = FALSE;
1741 return 0; 1742 return 0;
1742 } 1743 }
1743 } 1744 }
1744 1745
1745 LRESULT RenderWidgetHostViewWin::OnMouseEvent(UINT message, WPARAM wparam, 1746 LRESULT RenderWidgetHostViewWin::OnMouseEvent(UINT message, WPARAM wparam,
1746 LPARAM lparam, BOOL& handled) { 1747 LPARAM lparam, BOOL& handled) {
1747 TRACE_EVENT0("browser", "RenderWidgetHostViewWin::OnMouseEvent"); 1748 TRACE_EVENT0("browser", "RenderWidgetHostViewWin::OnMouseEvent");
1748 handled = TRUE; 1749 handled = TRUE;
1749 1750
1751 // Invalidate the long press gesture once mouse up event is received.
1752 // On Windows 8, a mouse up event gets triggered once a touch point is
1753 // removed from screen.
1754 if (message == WM_RBUTTONUP)
1755 in_long_press_gesture_ = false;
1756
1750 if (message == WM_MOUSELEAVE) 1757 if (message == WM_MOUSELEAVE)
1751 ignore_mouse_movement_ = true; 1758 ignore_mouse_movement_ = true;
1752 1759
1753 if (mouse_locked_) { 1760 if (mouse_locked_) {
1754 HandleLockedMouseEvent(message, wparam, lparam); 1761 HandleLockedMouseEvent(message, wparam, lparam);
1755 MoveCursorToCenterIfNecessary(); 1762 MoveCursorToCenterIfNecessary();
1756 return 0; 1763 return 0;
1757 } 1764 }
1758 1765
1759 if (::IsWindow(tooltip_hwnd_)) { 1766 if (::IsWindow(tooltip_hwnd_)) {
(...skipping 1054 matching lines...) Expand 10 before | Expand all | Expand 10 after
2814 } 2821 }
2815 2822
2816 WebKit::WebGestureEvent web_gesture = CreateWebGestureEvent(m_hWnd, *gesture); 2823 WebKit::WebGestureEvent web_gesture = CreateWebGestureEvent(m_hWnd, *gesture);
2817 if (web_gesture.type == WebKit::WebGestureEvent::Undefined) 2824 if (web_gesture.type == WebKit::WebGestureEvent::Undefined)
2818 return false; 2825 return false;
2819 if (web_gesture.type == WebKit::WebGestureEvent::GestureTapDown) { 2826 if (web_gesture.type == WebKit::WebGestureEvent::GestureTapDown) {
2820 render_widget_host_->ForwardGestureEvent( 2827 render_widget_host_->ForwardGestureEvent(
2821 CreateFlingCancelEvent(gesture->time_stamp().InSecondsF())); 2828 CreateFlingCancelEvent(gesture->time_stamp().InSecondsF()));
2822 } 2829 }
2823 render_widget_host_->ForwardGestureEvent(web_gesture); 2830 render_widget_host_->ForwardGestureEvent(web_gesture);
2831
2832 if (web_gesture.type == WebKit::WebGestureEvent::GestureLongPress)
2833 in_long_press_gesture_ = true;
2834
2824 return true; 2835 return true;
2825 } 2836 }
2826 2837
2827 void RenderWidgetHostViewWin::ForwardMouseEventToRenderer(UINT message, 2838 void RenderWidgetHostViewWin::ForwardMouseEventToRenderer(UINT message,
2828 WPARAM wparam, 2839 WPARAM wparam,
2829 LPARAM lparam) { 2840 LPARAM lparam) {
2830 TRACE_EVENT0("browser", 2841 TRACE_EVENT0("browser",
2831 "RenderWidgetHostViewWin::ForwardMouseEventToRenderer"); 2842 "RenderWidgetHostViewWin::ForwardMouseEventToRenderer");
2832 if (!render_widget_host_) { 2843 if (!render_widget_host_) {
2833 TRACE_EVENT0("browser", "EarlyOut_NoRWH"); 2844 TRACE_EVENT0("browser", "EarlyOut_NoRWH");
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
3137 return new RenderWidgetHostViewWin(widget); 3148 return new RenderWidgetHostViewWin(widget);
3138 } 3149 }
3139 3150
3140 // static 3151 // static
3141 void RenderWidgetHostViewPort::GetDefaultScreenInfo( 3152 void RenderWidgetHostViewPort::GetDefaultScreenInfo(
3142 WebKit::WebScreenInfo* results) { 3153 WebKit::WebScreenInfo* results) {
3143 GetScreenInfoForWindow(results, 0); 3154 GetScreenInfoForWindow(results, 0);
3144 } 3155 }
3145 3156
3146 } // namespace content 3157 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_win.h ('k') | content/browser/web_contents/web_contents_drag_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698