Issue metadata
Sign in to add a comment
|
Regression:Unable to enter any text in Store Finder search box of walmart.com |
||||||||||||||||||||||
Issue descriptionChrome Version:59.0.3071.57/9460.42.0 Beta-Channel Daisy,Peppy and Candy. OS:chrome What steps will reproduce the problem? (1)Sign into user ->launch chrome, Open https://www.walmart.com/ (2)In Header-drop down menu ->go near Store Finder, enter random words to find any store and Observe(kindly refer video) Actual:Unable to enter any text/numbers in the box to find.When we try to enter anything the menu closes. Expected:Should be able to enter any text/numbers to find any store. This is a Regression issue as same is working fine in 55.0.2883.42/8872.44.0 dev-channel candy. Note: 1. Able to reproduce issue in M-56(56.0.2924.72/9000.71.0) and also in latest M-60. 2. Issue is not seen in Windows and Linux OS,checked with version #60.0.3102.0 dev
,
May 19 2017
,
May 19 2017
Reproduced with 58.0.3029.112 beta (64-bit) on Platform 9334.69.0 (Official Build) beta-channel caroline
,
May 19 2017
Bisecting results in the following CL as the cause: https://codereview.chromium.org/2384053002 assigning to @chaopeng
,
May 19 2017
I can reproduce this in linux build (target = "chromeos"). It is weird it works correctly when I go to https://www.walmart.com/store/finder.
,
May 19 2017
``` [109969:109969:0519/193941.491676:ERROR:web_input_event.cc(405)] ET_MOUSE_EXITED #0 0x7f3e3dc6cfcc base::debug::StackTrace::StackTrace() #1 0x7f3e3b7a60db ui::MakeWebMouseEventFromUiEvent() #2 0x7f3e3b7a5ed8 ui::MakeWebMouseEvent() #3 0x7f3e3bc3c3e5 content::RenderWidgetHostViewEventHandler::OnMouseEvent() #4 0x7f3e3a686abb ui::EventDispatcher::ProcessEvent() #5 0x7f3e3a686867 ui::EventDispatcherDelegate::DispatchEvent() #6 0x7f3e3a589b74 aura::WindowEventDispatcher::DispatchMouseEnterOrExit() #7 0x7f3e3a589a2c aura::WindowEventDispatcher::DispatchMouseExitAtPoint() #8 0x7f3e3a58ddf3 aura::WindowTreeHost::OnCursorVisibilityChanged() #9 0x7f3e395c8813 ash::AshNativeCursorManager::SetVisibility() #10 0x7f3e3983ec91 wm::CursorManager::HideCursor() ``` There is a mouse_exit event sent from CursorManager::HideCursor.
,
May 20 2017
Here is a sample for mouse cursor hide. https://jsfiddle.net/jo2o65pg/2/ Tested in Chrome Linux/Mac, FireFox, Safari, only ChromeOS will Dispatch mouseleave event and cancel hover state.
,
May 23 2017
#7 I just tried the fiddle on Cros and Linux. Both show the same behavior. What am I looking for?
,
May 23 2017
#8 My bad. Keypress on mouse hover is what I was missing
,
May 23 2017
sadrul@ do you have any thoughts on this? A ET_MOUSE_EXITED is being dispatched by Ash which is causing the mouse hover to be removed from the page. I don't believe Mac dispatches a Mouse exit in this case
,
May 23 2017
On ChromeOS, aura hides the mouse cursor on key-event [1]. On Windows/Linux, aura does not [2], as far as I can tell. When the cursor hides, I think it makes sense to dispatch a MOUSE_EXIT event, so that the page can update the hover state correctly. So I guess the question is: do other platforms hide the mouse cursor on key events (I think Windows does, but I am not sure)? If so, is MOUSE_EXIT sent when cursor hides? [1] https://cs.chromium.org/chromium/src/ash/wm/cursor_manager_chromeos.cc?type=cs&sq=package:chromium&l=23 [2] https://cs.chromium.org/chromium/src/ui/wm/core/cursor_manager.cc?type=cs&sq=package:chromium&l=208
,
May 23 2017
Windows does not do this. Only chrome os and Mac do this. And as I stated before both have different approaches.
,
May 23 2017
> does not do this Does not hide cursor? Does not generate mouse-exit when cursor is hidden? Neither? I think it would be useful to talk to the ChromeOS UX folks to see whether (and how) we want to change behaviour for ChromeOS.
,
May 23 2017
sadrul@ But in other platform, cursor hide does not change hover state. Try the example #7 hover the first div then key down (I use js to hide cursor).
,
May 25 2017
,
May 31 2017
The mouse exit event is introduce in 450edc67348bc0106da16e56d783b2c3c9a9030c.
,
May 31 2017
450edc67348bc0106da16e56d783b2c3c9a9030c introduced mouse exit event because Browser UI does not update hover state for touch event. I tried remove the mouse exit event and the behavior will be the same as before 450edc67348bc0106da16e56d783b2c3c9a9030c. For short term fix, I think we can keep the mouse exit event but add a flag to show this event is for update UI hover state and filter it in blink::WebMouseEvent MakeWebMouseEventFromUiEvent[1]. For long term, maybe we should handle touch event for UI. Another option is change CrOS to not hide cursor when key down. sadurl@ dtapuska@ WDYT? [1] https://cs.chromium.org/chromium/src/ui/events/blink/web_input_event.cc?rcl=5d138159d521118ad2a61d5ae34767e7c05adb6d&l=391
,
Jun 2 2017
I don't think clearing hover state on cursor hide (from keyboard at least) is a good idea for exactly these kinds of cases but I guess that's a UX decision for ChromeOS folks. I would say hiding the cursor isn't really an exit, it's just changing it's visibility. The cursor still has a location that hasn't changed. I guess clearing hover does make sense if you hide the cursor due to touch. Certainly though, we should have consistent behavior in web content across platforms. If Ash wants to keep this behaviour Chao's suggestions in #17 sgtm.
,
Jun 6 2017
cc'ing hwi for chrome desktop behavior
,
Jun 8 2017
re: continue showing cursor on keydown - imo, the cursor becomes a visual distraction during input, e.g. the user might want to move the cursor out of way if it's still there while they're typing. By not hiding the cursor automatically, we make hiding action manual/additional user effort. I couldn't get to testing on the specified devices yet since I'm not in my office. I'll test it tomorrow and get back to you more. I'm sorry for the delay.
,
Jun 9 2017
It was reproducible on Kevin 60.0.3112.10 (Official Build) Dev (32 bit). I still don't recommend the solution 2, "Not hiding cursor when key down", i.e. the cursor should hide when typing starts to avoid distraction and manual effort to move cursor. Thanks!
,
Jun 29 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8f8945967bb9b4af9b3ee825834f608a0465b010 commit 8f8945967bb9b4af9b3ee825834f608a0465b010 Author: chaopeng <chaopeng@chromium.org> Date: Thu Jun 29 23:20:45 2017 Convert the mouse exit only use for update UI hover state to mouse move This issue is caused by: 1. On mac anc CrOS, we hide the mouse cursor on keydown event. 2. On CrOS, we hide the mouse cursor on touch event. 3. 450edc67348bc0106da16e56d783b2c3c9a9030c introduced mouse exit event to update Browser UI hover state when mouse cursor is hidden. 4. In 3963e231e4c43187a05f3c6420f5df997d734ea0 we convert mouse exit event to mouse leave event (before this patch we convert mouse exit to mouse move)since we need a correct event in renderer. 5. After 3 and 4, the mouse hide in 1 will send a mouse leave which the popup-div listening and disappear the popup. In this patch, we introduce a new flag EF_CURSOR_HIDE, which is set on the mouse-exit event generated when the mouse cursor hides. This event is then filtered out, so that it does not reach the renderer. BUG= 723535 Change-Id: I2206d424c7ebd012b715307fd801973a926c7a14 Reviewed-on: https://chromium-review.googlesource.com/545276 Commit-Queue: Jianpeng Chao <chaopeng@chromium.org> Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org> Reviewed-by: Dave Tapuska <dtapuska@chromium.org> Cr-Commit-Position: refs/heads/master@{#483541} [modify] https://crrev.com/8f8945967bb9b4af9b3ee825834f608a0465b010/content/browser/renderer_host/render_widget_host_view_event_handler.cc [modify] https://crrev.com/8f8945967bb9b4af9b3ee825834f608a0465b010/ui/aura/window_event_dispatcher.cc [modify] https://crrev.com/8f8945967bb9b4af9b3ee825834f608a0465b010/ui/aura/window_event_dispatcher.h [modify] https://crrev.com/8f8945967bb9b4af9b3ee825834f608a0465b010/ui/aura/window_event_dispatcher_unittest.cc [modify] https://crrev.com/8f8945967bb9b4af9b3ee825834f608a0465b010/ui/aura/window_tree_host.cc [modify] https://crrev.com/8f8945967bb9b4af9b3ee825834f608a0465b010/ui/events/event_constants.h
,
Jul 7 2017
,
Jul 7 2017
,
Jul 31 2017
This issue is still existing on Chrome OS 9592.71.0, 60.0.3112.80 (stable build) but is fixed on Chrome OS 9765.12.0, 61.0.3162.16 (dev build).
,
Nov 15 2017
10124.0.0, 64.0.3265.0 |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by songsuk@chromium.org
, May 17 2017