Not receive DM_POINTERHITTEST message on first tab |
||
Issue descriptionDirect Manipulation API for Windows Touchpad need DM_POINTERHITTEST as the lead message of the sequence. Demo: https://github.com/chaopeng/PTPDManipSample/ But we don't get DM_POINTERHITTEST for the first tab until a manual resize/hide-show, open url from omnibox or open a new tab. No DM_POINTERHITTEST means we don't have chance to pass the pointer id to start Direct Manipulation. So in the first tab we don't have smooth fling, pinch zoom and overscroll navigation change. Have tried following solutions: 1. Change message loop in MessagePumpForUI::DoRunLoop to a basic message loop. Can receive DM_POINTERHITTEST but chrome will hang. 2. Add Redraw, Show, SetWindowPos before or after Direct Manipulation enable. Still not receive DM_POINTERHITTEST. 3. Add work around as CommonSubprocessInit, https://cs.chromium.org/chromium/src/services/service_manager/embedder/main.cc?rcl=795e276929ac2972b8f9692a10ff8f8bc731f381&l=167 Still not receive DM_POINTERHITTEST.
,
Dec 8 2017
Good news: I apply the Direct Manipulation CL to 51. And I can get the DM_POINTERHITTEST message. So I can do a bisect to figure out.
,
Jan 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f77fb4f7114017bd995d081a424b52e3d7d437d7 commit f77fb4f7114017bd995d081a424b52e3d7d437d7 Author: chaopeng <chaopeng@chromium.org> Date: Fri Jan 19 20:31:42 2018 Correct the z-order of Intermediate D3D Window after reparent The scroll lagging issue and DM_POINTERHITTEST missing issue are caused by "Intermediate D3D Window" being in front of "Chrome_RenderWidgetHostHWND" when Chrome starts until a manual resize calls SetWindowPos and moves "Chrome_RenderWidgetHostHWND" to the top. In this patch, we move the "Intermediate D3D Window" to the bottom after it reparents to root window. Bug: 713907 , 793036 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I9d847f5cfb57819ad1a7dfd54aa62932e2eca8c0 Reviewed-on: https://chromium-review.googlesource.com/867070 Reviewed-by: Antoine Labour <piman@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Reviewed-by: Bruce Dawson <brucedawson@chromium.org> Commit-Queue: Jianpeng Chao <chaopeng@chromium.org> Cr-Commit-Position: refs/heads/master@{#530601} [modify] https://crrev.com/f77fb4f7114017bd995d081a424b52e3d7d437d7/gpu/ipc/in_process_command_buffer.cc [modify] https://crrev.com/f77fb4f7114017bd995d081a424b52e3d7d437d7/ui/gfx/win/rendering_window_manager.cc
,
Jan 30 2018
No Regression for 1 week. |
||
►
Sign in to add a comment |
||
Comment 1 by chaopeng@chromium.org
, Dec 8 2017