Issue metadata
Sign in to add a comment
|
Regression:Focus stays on the keyboard icon even after the On-screen keyboard is minimized |
||||||||||||||||||||||
Issue descriptionChrome Version:59.0.3071.71/9460.50.0 on Paine, Blaze & Peppy OS:chrome Precondition:On-screen keyboard should be enabled in Accessibility Settings What steps will reproduce the problem? (1)Open Guest Mode (2)Click On-screen keyboard, minimize it and Observe the Focus stay on On-screen Keyboard icon at the shelf(Kindly refer video) Actual:Focus stays on the keyboard icon even after the On-screen keyboard is minimized. Expected:Focus shouldn't stay on the keyboard icon after the On-screen keyboard is minimized. This is a regression issue as same is working fine in 57.0.2987.154/9202.71.0 stable Paine Note: 1.Issue is not applicable to Windows and Linux OS 2.Issue is also seen in latest stable M-58 and dev M-60 @Tbuckley: Please confirm the issue.
,
May 25 2017
@bruthig do you know why the button is staying in the active state?
,
May 25 2017
,
May 30 2017
It appears the VirtualKeyboardTray is attaching to a KeyboardController instance that is getting destroyed and is never attaching to the active KeyboardController instance. Need to dig deeper...
,
May 30 2017
sky, do you recall lifetime issues with KeyboardController? I seem to recall it had a weird create/destroy cycle.
,
May 30 2017
Sorry, I don't remember anything unusual about KeyboardController.
,
May 31 2017
Does anyone know why a new KeyboardController instance is recreated "...after initial login and after multiprofile login" (See https://cs.chromium.org/chromium/src/ash/shell.cc?rcl=72c574306ae23defb06ca2643939ac46771e975b&l=1229) ? ...or whether we should be allowing multiple instances to be created? It's unclear to me whether the issue is that multiple instances are being created, or whether the VirtualKeyboardTray isn't updating who it is observing. First Creation: #0 0x7f4bcecb48eb base::debug::StackTrace::StackTrace() #1 0x7f4bcecb362c base::debug::StackTrace::StackTrace() #2 0x7f4bc00b48c9 ash::Shell::CreateKeyboard() #3 0x55a48e0e550d chromeos::AccessibilityManager::UpdateVirtualKeyboardFromPref() #4 0x55a48e0e7b77 chromeos::AccessibilityManager::SetProfile() #5 0x55a48e0e8cb2 chromeos::AccessibilityManager::Observe() #6 0x7f4bc87e8746 content::NotificationServiceImpl::Notify() #7 0x55a48e54d273 chromeos::ChromeSessionManager::SessionStarted() #8 0x55a48e54d122 chromeos::(anonymous namespace)::StartUserSession() #9 0x55a48e54cf16 chromeos::(anonymous namespace)::StartStubLoginSession() #10 0x55a48e54cb86 chromeos::ChromeSessionManager::Initialize() #11 0x55a48e2afbec chromeos::ChromeBrowserMainPartsChromeos::PostProfileInit() #12 0x55a48f46d534 ChromeBrowserMainParts::PreMainMessageLoopRunImpl() #13 0x55a48f46c890 ChromeBrowserMainParts::PreMainMessageLoopRun() #14 0x55a48e2aec7a chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() #15 0x7f4bc811f1b1 content::BrowserMainLoop::PreMainMessageLoopRun() #16 0x7f4bc7462ad5 _ZN4base8internal13FunctorTraitsIMN7content13URLLoaderImplEFvvEvE6InvokeIPS3_JEEEvS5_OT_DpOT0_ #17 0x7f4bc8127d61 _ZN4base8internal12InvokeHelperILb0EiE8MakeItSoIRKMN7content15BrowserMainLoopEFivEJPS5_EEEiOT_DpOT0_ #18 0x7f4bc8127d07 _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWrapperIS4_EEEEEFivEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEiOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #19 0x7f4bc8127c4c _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWrapperIS4_EEEEEFivEE3RunEPNS0_13BindStateBaseE #20 0x7f4bc7436b2d _ZNKR4base8CallbackIFvvELNS_8internal8CopyModeE1ELNS2_10RepeatModeE1EE3RunEv #21 0x7f4bc8cb2b2b content::StartupTaskRunner::RunAllTasksNow() #22 0x7f4bc811cd30 content::BrowserMainLoop::CreateStartupTasks() #23 0x7f4bc812b197 content::BrowserMainRunnerImpl::Initialize() #24 0x7f4bc81193ff content::BrowserMain() #25 0x7f4bc9952bc6 content::RunNamedProcessTypeMain() #26 0x7f4bc9954caf content::ContentMainRunnerImpl::Run() #27 0x7f4bc995185a content::ContentServiceManagerMainDelegate::RunEmbedderProcess() #28 0x7f4bcf47bd47 service_manager::Main() #29 0x7f4bc99526eb content::ContentMain() #30 0x55a48d42a3bc ChromeMain #31 0x55a48d42a2b2 main #32 0x7f4bb3610f45 __libc_start_main #33 0x55a48d42a194 <unknown> Second Creation: #0 0x7f4bcecb48eb base::debug::StackTrace::StackTrace() #1 0x7f4bcecb362c base::debug::StackTrace::StackTrace() #2 0x7f4bc00b48c9 ash::Shell::CreateKeyboard() #3 0x7f4bc00b8d91 ash::Shell::OnSessionStateChanged() #4 0x7f4bc004b96f ash::SessionController::SetSessionState() #5 0x7f4bc004b883 ash::SessionController::SetSessionInfo() #6 0x7f4bbea4d713 ash::mojom::SessionControllerStubDispatch::Accept() #7 0x7f4bc00502b3 ash::mojom::SessionControllerStub<>::Accept() #8 0x7f4bcf151f52 mojo::InterfaceEndpointClient::HandleValidatedMessage() #9 0x7f4bcf151911 mojo::InterfaceEndpointClient::HandleIncomingMessageThunk::Accept() #10 0x7f4bcf14f810 mojo::FilterChain::Accept() #11 0x7f4bcf15378f mojo::InterfaceEndpointClient::HandleIncomingMessage() #12 0x7f4bcf167f0c mojo::internal::MultiplexRouter::ProcessIncomingMessage() #13 0x7f4bcf167794 mojo::internal::MultiplexRouter::Accept() #14 0x7f4bcf14f810 mojo::FilterChain::Accept() #15 0x7f4bcf144612 mojo::Connector::ReadSingleMessage() #16 0x7f4bcf14518e mojo::Connector::ReadAllAvailableMessages() #17 0x7f4bcf144fde mojo::Connector::OnHandleReadyInternal() #18 0x7f4bcf144edb mojo::Connector::OnWatcherHandleReady() #19 0x7f4bcf147e1c _ZN4base8internal13FunctorTraitsIMN4mojo9ConnectorEFvjEvE6InvokeIPS3_JjEEEvS5_OT_DpOT0_ #20 0x7f4bcf147d26 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN4mojo9ConnectorEFvjEJPS5_jEEEvOT_DpOT0_ #21 0x7f4bcf147cb7 _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo9ConnectorEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEEOj #22 0x7f4bcf147bbc _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo9ConnectorEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE3RunEPNS0_13BindStateBaseEOj #23 0x7f4bcf43cb81 _ZNKR4base8CallbackIFvjELNS_8internal8CopyModeE1ELNS2_10RepeatModeE1EE3RunEj #24 0x7f4bcf43bfd1 mojo::SimpleWatcher::OnHandleReady() #25 0x7f4bcf43d573 _ZN4base8internal13FunctorTraitsIMN4mojo13SimpleWatcherEFvijEvE6InvokeIRKNS_7WeakPtrIS3_EEJRKiRKjEEEvS5_OT_DpOT0_ #26 0x7f4bcf43d3c4 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN4mojo13SimpleWatcherEFvijERKNS_7WeakPtrIS5_EEJRKiRKjEEEvOT_OT0_DpOT1_ #27 0x7f4bcf43d324 _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijEJNS_7WeakPtrIS4_EEijEEEFvvEE7RunImplIRKS6_RKSt5tupleIJS8_ijEEJLm0ELm1ELm2EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #28 0x7f4bcf43d1cc _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijEJNS_7WeakPtrIS4_EEijEEEFvvEE3RunEPNS0_13BindStateBaseE #29 0x7f4bcec73d2e _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE0ELNS2_10RepeatModeE0EE3RunEv #30 0x7f4bcecb9de1 base::debug::TaskAnnotator::RunTask() #31 0x7f4bced482ee base::MessageLoop::RunTask() #32 0x7f4bced48557 base::MessageLoop::DeferOrRunPendingTask() #33 0x7f4bced487ad base::MessageLoop::DoWork() #34 0x7f4bced5a6dc base::MessagePumpLibevent::Run() #35 0x7f4bced47dc3 base::MessageLoop::Run() #36 0x7f4bcede6f67 base::RunLoop::Run() #37 0x55a48f46f166 ChromeBrowserMainParts::MainMessageLoopRun() #38 0x7f4bc811f8fb content::BrowserMainLoop::RunMainMessageLoopParts() #39 0x7f4bc812b4b5 content::BrowserMainRunnerImpl::Run() #40 0x7f4bc8119438 content::BrowserMain() #41 0x7f4bc9952bc6 content::RunNamedProcessTypeMain() #42 0x7f4bc9954caf content::ContentMainRunnerImpl::Run() #43 0x7f4bc995185a content::ContentServiceManagerMainDelegate::RunEmbedderProcess() #44 0x7f4bcf47bd47 service_manager::Main() #45 0x7f4bc99526eb content::ContentMain() #46 0x55a48d42a3bc ChromeMain #47 0x55a48d42a2b2 main #48 0x7f4bb3610f45 __libc_start_main #49 0x55a48d42a194 <unknown>
,
May 31 2017
I suspect the 'regression'/change here might be that the Shelf, and thus the VirtualKeyboardTray is now created sooner and has a chance to observe the first KeyboardController instance.
,
May 31 2017
,
Jun 1 2017
,
Jun 1 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ce80702d421f8e1626e99d23dd54d83aec979b78 commit ce80702d421f8e1626e99d23dd54d83aec979b78 Author: bruthig <bruthig@chromium.org> Date: Thu Jun 01 14:48:00 2017 Updated the VK Tray button to properly remove visual activated state. The VirtualKeyboardTray button was attaching to a KeyboardController instance that was being replaced without attaching itself as an observer to the new one. BUG= 726273 TEST=manual Review-Url: https://codereview.chromium.org/2916653002 Cr-Commit-Position: refs/heads/master@{#476285} [modify] https://crrev.com/ce80702d421f8e1626e99d23dd54d83aec979b78/ash/shell.cc [modify] https://crrev.com/ce80702d421f8e1626e99d23dd54d83aec979b78/ash/shell_observer.h [modify] https://crrev.com/ce80702d421f8e1626e99d23dd54d83aec979b78/ash/system/virtual_keyboard/virtual_keyboard_tray.cc [modify] https://crrev.com/ce80702d421f8e1626e99d23dd54d83aec979b78/ash/system/virtual_keyboard/virtual_keyboard_tray.h
,
Jan 22 2018
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by kochi@chromium.org
, May 25 2017