From d124b1010c3a02a0579e85249d3e57331741bef5 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Wed, 10 Jun 2020 09:40:37 +0900 Subject: [PATCH 1/3] fix: handle non client pointer events from pen on Win10 --- patches/chromium/.patches | 2 ++ ...ointer_events_from_pen_on_windows_10.patch | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 patches/chromium/fix_handling_non_client_pointer_events_from_pen_on_windows_10.patch diff --git a/patches/chromium/.patches b/patches/chromium/.patches index 18f1a7f37702b..a94ba9ea2fc3c 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -125,3 +125,5 @@ fix_hunspell_crash.patch introduce_a_mutex_for_the_rendering_loop_in_baseaudiocontext.patch fix_default_to_ntlm_v2_in_network_service.patch fix_allow_ime_to_insert_zero-length_composition_string.patch +feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch +fix_handling_non_client_pointer_events_from_pen_on_windows_10.patch diff --git a/patches/chromium/fix_handling_non_client_pointer_events_from_pen_on_windows_10.patch b/patches/chromium/fix_handling_non_client_pointer_events_from_pen_on_windows_10.patch new file mode 100644 index 0000000000000..ae827f0d11c20 --- /dev/null +++ b/patches/chromium/fix_handling_non_client_pointer_events_from_pen_on_windows_10.patch @@ -0,0 +1,28 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Cheng Zhao +Date: Thu, 4 Oct 2018 14:57:02 -0700 +Subject: fix: handle non client pointer events from pen on Windows 10 + +Refs: https://github.com/electron/electron/issues/21440 +Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2237535 + +diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc +index faa47e9ef7f388dc0bfa5cd3efb961e6339ce390..274b9c247b8f970a6cf2be7b149d1885163551d9 100644 +--- a/ui/views/win/hwnd_message_handler.cc ++++ b/ui/views/win/hwnd_message_handler.cc +@@ -1988,6 +1988,15 @@ LRESULT HWNDMessageHandler::OnPointerEvent(UINT message, + return -1; + } + ++ // Pen may also send non client pointer messages, treat them as normal ++ // touch events so they can be properly handled. ++ if (pointer_type == PT_PEN && ++ (message == WM_NCPOINTERDOWN || ++ message == WM_NCPOINTERUP || ++ message == WM_NCPOINTERUPDATE)) { ++ pointer_type = PT_TOUCH; ++ } ++ + switch (pointer_type) { + case PT_PEN: + return HandlePointerEventTypePen(message, w_param, l_param); From 551f93d7c6e845bc74b6cc264dc0306009b796eb Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 12 Jun 2020 16:56:01 -0500 Subject: [PATCH 2/3] fix trop oops --- patches/chromium/.patches | 1 - 1 file changed, 1 deletion(-) diff --git a/patches/chromium/.patches b/patches/chromium/.patches index a94ba9ea2fc3c..245947ece5579 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -125,5 +125,4 @@ fix_hunspell_crash.patch introduce_a_mutex_for_the_rendering_loop_in_baseaudiocontext.patch fix_default_to_ntlm_v2_in_network_service.patch fix_allow_ime_to_insert_zero-length_composition_string.patch -feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch fix_handling_non_client_pointer_events_from_pen_on_windows_10.patch From c2efb9d027e40bc26b431dca5a2948858d4b4b86 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Mon, 15 Jun 2020 14:24:18 +0900 Subject: [PATCH 3/3] update patches --- ...ing_non_client_pointer_events_from_pen_on_windows_10.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/patches/chromium/fix_handling_non_client_pointer_events_from_pen_on_windows_10.patch b/patches/chromium/fix_handling_non_client_pointer_events_from_pen_on_windows_10.patch index ae827f0d11c20..fc83e6bb58f9e 100644 --- a/patches/chromium/fix_handling_non_client_pointer_events_from_pen_on_windows_10.patch +++ b/patches/chromium/fix_handling_non_client_pointer_events_from_pen_on_windows_10.patch @@ -7,10 +7,10 @@ Refs: https://github.com/electron/electron/issues/21440 Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2237535 diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc -index faa47e9ef7f388dc0bfa5cd3efb961e6339ce390..274b9c247b8f970a6cf2be7b149d1885163551d9 100644 +index 0e957831c25ccbb27038b9a24587621a825ec5ee..dd330f71d203f473452455f6c96d0b89074ddc1d 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc -@@ -1988,6 +1988,15 @@ LRESULT HWNDMessageHandler::OnPointerEvent(UINT message, +@@ -2052,6 +2052,15 @@ LRESULT HWNDMessageHandler::OnPointerEvent(UINT message, return -1; }