Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(145)

Unified Diff: ui/aura/mus/focus_synchronizer.cc

Issue 2480273003: Revert of Improves focus/activation for aura-mus and DesktopNativeWidgetAura (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/aura/mus/focus_synchronizer.h ('k') | ui/aura/mus/focus_synchronizer_delegate.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/aura/mus/focus_synchronizer.cc
diff --git a/ui/aura/mus/focus_synchronizer.cc b/ui/aura/mus/focus_synchronizer.cc
deleted file mode 100644
index 8f69615ed114e661e44532fe83df35feb6538795..0000000000000000000000000000000000000000
--- a/ui/aura/mus/focus_synchronizer.cc
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ui/aura/mus/focus_synchronizer.h"
-
-#include "base/auto_reset.h"
-#include "services/ui/public/interfaces/window_tree.mojom.h"
-#include "ui/aura/client/focus_client.h"
-#include "ui/aura/env.h"
-#include "ui/aura/mus/focus_synchronizer_delegate.h"
-#include "ui/aura/mus/window_mus.h"
-#include "ui/aura/window.h"
-
-namespace aura {
-
-FocusSynchronizer::FocusSynchronizer(FocusSynchronizerDelegate* delegate,
- ui::mojom::WindowTree* window_tree)
- : delegate_(delegate), window_tree_(window_tree) {
- Env::GetInstance()->AddObserver(this);
-}
-
-FocusSynchronizer::~FocusSynchronizer() {
- SetActiveFocusClient(nullptr);
- Env::GetInstance()->RemoveObserver(this);
-}
-
-void FocusSynchronizer::SetFocusFromServer(WindowMus* window) {
- if (focused_window_ == window)
- return;
-
- DCHECK(!setting_focus_);
- base::AutoReset<bool> focus_reset(&setting_focus_, true);
- base::AutoReset<WindowMus*> window_setting_focus_to_reset(
- &window_setting_focus_to_, window);
- Env* env = aura::Env::GetInstance();
- if (window) {
- Window* root = window->GetWindow()->GetRootWindow();
- if (env->active_focus_client_root() != root)
- env->SetActiveFocusClient(aura::client::GetFocusClient(root), root);
- window->GetWindow()->Focus();
- } else if (env->active_focus_client()) {
- env->active_focus_client()->FocusWindow(nullptr);
- }
-}
-
-void FocusSynchronizer::OnFocusedWindowDestroyed() {
- focused_window_ = nullptr;
-}
-
-void FocusSynchronizer::SetActiveFocusClient(
- client::FocusClient* focus_client) {
- if (focus_client == active_focus_client_)
- return;
-
- if (active_focus_client_)
- active_focus_client_->RemoveObserver(this);
- active_focus_client_ = focus_client;
- if (active_focus_client_)
- active_focus_client_->AddObserver(this);
-}
-
-void FocusSynchronizer::SetFocusedWindow(WindowMus* window) {
- const uint32_t change_id = delegate_->CreateChangeIdForFocus(focused_window_);
- focused_window_ = window;
- window_tree_->SetFocus(change_id,
- window ? window->server_id() : kInvalidServerId);
-}
-
-void FocusSynchronizer::OnWindowFocused(Window* gained_focus,
- Window* lost_focus) {
- WindowMus* gained_focus_mus = WindowMus::Get(gained_focus);
- if (setting_focus_ && gained_focus_mus == window_setting_focus_to_) {
- focused_window_ = gained_focus_mus;
- return;
- }
- SetFocusedWindow(gained_focus_mus);
-}
-
-void FocusSynchronizer::OnWindowInitialized(Window* window) {}
-
-void FocusSynchronizer::OnActiveFocusClientChanged(
- client::FocusClient* focus_client,
- Window* window) {
- SetActiveFocusClient(focus_client);
- if (setting_focus_)
- return;
-
- if (focus_client) {
- Window* focused_window = focus_client->GetFocusedWindow();
- SetFocusedWindow(focused_window ? WindowMus::Get(focused_window)
- : WindowMus::Get(window));
- } else {
- SetFocusedWindow(nullptr);
- }
-}
-
-} // namespace aura
« no previous file with comments | « ui/aura/mus/focus_synchronizer.h ('k') | ui/aura/mus/focus_synchronizer_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698