New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 889178 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 723881



Sign in to add a comment

TabManagerDelegate not handling ARC++ window activations

Project Member Reported by rcui@chromium.org, Sep 25

Issue description

Chrome 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

 
Owner: cylee@chromium.org
It's unclear how long this has been broken for, and I'm not sure if these metrics are still being looked at for ARC++.  cylee@ added most of the ARC++ window activation code, so assigning to him for thoughts.
Blockedon: 723881
Cc: est...@chromium.org
Cc: rcui@chromium.org
Blocking: 723881
Blockedon: -723881
Yowza. That means this code isn't listening for window activations at all:(
Cc: semenzato@chromium.org
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.
Status: Assigned (was: Untriaged)
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.
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