TabManagerDelegate not handling ARC++ window activations |
||||||||
Issue descriptionChrome Version: 71.0.3560.1 OS: 11083.0.0 Expected behavior: TabManagerDelegate registers itself with a wm::ActivationClient[1] and receives aura::Window activation events[2]. Actual behavior: TabManager and TabManagerDelegate are constructed before the Ash Shell is instantiated, causing the registration to be skipped[3]. The construction is triggered by chrome::MetricsEventServiceProvider, during DBus service initialization which happens before Ash is instantiated during startup. A backtrace showing how TabManager is initialized: #0 0x5bc43c8fc15c base::debug::StackTrace::StackTrace() #1 0x5bc43c87bbd0 logging::LogMessage::~LogMessage() #2 0x5bc43c703bec BrowserProcessImpl::GetTabManager() #3 0x5bc43b862b8a chromeos::MetricsEventServiceProvider::Start() #4 0x5bc43d1c4f0c chromeos::CrosDBusServiceImpl::Start() #5 0x5bc43d1c4e36 chromeos::CrosDBusService::Create() #6 0x5bc43b837f65 chromeos::internal::DBusServices::DBusServices() #7 0x5bc43b837a15 chromeos::ChromeBrowserMainPartsChromeos::PostMainMessageLoopStart() #8 0x5bc43ae776ad content::BrowserMainLoop::PostMainMessageLoopStart() #9 0x5bc43ae7c6c3 content::BrowserMainRunnerImpl::Initialize() #10 0x5bc43ae762e1 content::BrowserMain() #11 0x5bc43c547228 content::ContentMainRunnerImpl::Run() #12 0x5bc43c54dcf2 service_manager::Main() #13 0x5bc43c545561 content::ContentMain() #14 0x5bc43a2766df ChromeMain #15 0x7c7439a46736 __libc_start_main #16 0x5bc43a276509 _start [1] https://cs.chromium.org/chromium/src/chrome/browser/resource_coordinator/tab_manager_delegate_chromeos.cc?rcl=36b749b426edbe1e9a6cb31a0e43a1aaa8852930&l=275 [2] https://cs.chromium.org/chromium/src/chrome/browser/resource_coordinator/tab_manager_delegate_chromeos.cc?rcl=36b749b426edbe1e9a6cb31a0e43a1aaa8852930&l=303 [3] https://cs.chromium.org/chromium/src/chrome/browser/resource_coordinator/tab_manager_delegate_chromeos.cc?rcl=5136cc20c3980f201853b975a9d3c25527c2b837&l=69
,
Sep 25
,
Sep 25
,
Sep 25
,
Sep 25
,
Sep 25
,
Sep 25
Yowza. That means this code isn't listening for window activations at all:(
,
Sep 26
Hi Luigi, This could be caused by https://chromium-review.googlesource.com/c/chromium/src/+/1062078 , which moved the instantiation time of TabManager from PreMainMessageLoopRun() forward to PostMainMessageLoopStart(). Ref: https://cs.chromium.org/chromium/src/content/browser/browser_main_loop.h?sq=package:chromium&dr=CSs&l=264 Is there anyway not to change the instantiation time? I haven't look into details yet.
,
Jan 11
This issue has an owner, a component and a priority, but is still listed as untriaged or unconfirmed. By definition, this bug is triaged. Changing status to "assigned". Please reach out to me if you disagree with how I've done this.
,
Jan 11
This issue has an owner, a component and a priority, but is still listed as untriaged or unconfirmed. By definition, this bug is triaged. Changing status to "assigned". Please reach out to me if you disagree with how I've done this. |
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by rcui@chromium.org
, Sep 25