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

Side by Side Diff: ui/aura/client/focus_client.cc

Issue 2714763002: Change FocusSynchronizer to maintain active focus client and window. (Closed)
Patch Set: test Created 3 years, 8 months 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 unified diff | Download patch
« no previous file with comments | « ui/aura/client/focus_client.h ('k') | ui/aura/env.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/aura/client/focus_client.h" 5 #include "ui/aura/client/focus_client.h"
6 6
7 #include "ui/aura/client/aura_constants.h"
7 #include "ui/aura/window_event_dispatcher.h" 8 #include "ui/aura/window_event_dispatcher.h"
8 #include "ui/base/class_property.h" 9 #include "ui/base/class_property.h"
9 10
10 DECLARE_EXPORTED_UI_CLASS_PROPERTY_TYPE(AURA_EXPORT, aura::client::FocusClient*)
11
12 namespace aura { 11 namespace aura {
13 namespace client { 12 namespace client {
14 13
15 DEFINE_UI_CLASS_PROPERTY_KEY(FocusClient*, kFocusClientKey, nullptr);
16
17 void SetFocusClient(Window* root_window, FocusClient* client) { 14 void SetFocusClient(Window* root_window, FocusClient* client) {
18 DCHECK_EQ(root_window->GetRootWindow(), root_window); 15 DCHECK_EQ(root_window->GetRootWindow(), root_window);
19 root_window->SetProperty(kFocusClientKey, client); 16 root_window->SetProperty(kFocusClientKey, client);
20 } 17 }
21 18
22 FocusClient* GetFocusClient(Window* window) { 19 FocusClient* GetFocusClient(Window* window) {
23 return GetFocusClient(static_cast<const Window*>(window)); 20 return GetFocusClient(static_cast<const Window*>(window));
24 } 21 }
25 22
26 FocusClient* GetFocusClient(const Window* window) { 23 FocusClient* GetFocusClient(const Window* window) {
27 const Window* root_window = window->GetRootWindow(); 24 const Window* root_window = window->GetRootWindow();
28 return root_window ? root_window->GetProperty(kFocusClientKey) : nullptr; 25 return root_window ? root_window->GetProperty(kFocusClientKey) : nullptr;
29 } 26 }
30 27
31 } // namespace client 28 } // namespace client
32 } // namespace aura 29 } // namespace aura
OLDNEW
« no previous file with comments | « ui/aura/client/focus_client.h ('k') | ui/aura/env.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698