Update usage of WidgetFocusManager for single-process-mash |
|||
Issue descriptionWidgetFocusManager is currently a singleton. This is problematic with single-process-mash. I believe we need to make WidgetFocusManager specific to aura::Env. Specifically we should do the following: . Create widget_focus_manager_aura. This has: GetWidgetFocusManager(aura::Env*). This uses base::SupportsUserData to associate a WFM with Env. GetWidgetFocusManager(aura::Env*) implicitly creates a WFM if necessary. . Make WidgetFocusManager::GetInstance() takes a Widget. The Widget arg is ignored on mac, but on aura it uses GetWidgetFocusManager(aura::Env*). . Change call sites to supply Widget and/or env.
,
Sep 6
,
Sep 7
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cfa4b2aa0f7547f80d48c970092dfa08f30f7965 commit cfa4b2aa0f7547f80d48c970092dfa08f30f7965 Author: Scott Violet <sky@chromium.org> Date: Fri Sep 07 18:28:58 2018 views: makes WidgetFocusManager per Env on aura As we may have two envs, WidgetFocusManager needs some context to know which WidgetFocusManager to return. BUG= 874554 TEST=covered by tests Change-Id: I397e14496351fc9839273aa7284c55cdb35555c8 Reviewed-on: https://chromium-review.googlesource.com/1212088 Reviewed-by: Jun Mukai <mukai@chromium.org> Commit-Queue: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#589593} [modify] https://crrev.com/cfa4b2aa0f7547f80d48c970092dfa08f30f7965/ash/accessibility/focus_ring_controller.cc [modify] https://crrev.com/cfa4b2aa0f7547f80d48c970092dfa08f30f7965/ui/views/focus/widget_focus_manager.cc [modify] https://crrev.com/cfa4b2aa0f7547f80d48c970092dfa08f30f7965/ui/views/focus/widget_focus_manager.h [modify] https://crrev.com/cfa4b2aa0f7547f80d48c970092dfa08f30f7965/ui/views/widget/widget.cc
,
Sep 7
|
|||
►
Sign in to add a comment |
|||
Comment 1 by sky@chromium.org
, Aug 15Status: Assigned (was: Untriaged)