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
3 // found in the LICENSE file.
5 #include "ui/aura/client/focus_client.h"
7 #include "ui/aura/window_event_dispatcher.h"
8 #include "ui/aura/window_property.h"
10 DECLARE_WINDOW_PROPERTY_TYPE(aura::client::FocusClient
*)
15 DEFINE_WINDOW_PROPERTY_KEY(FocusClient
*, kRootWindowFocusClientKey
, NULL
);
17 void SetFocusClient(Window
* root_window
, FocusClient
* client
) {
18 DCHECK_EQ(root_window
->GetRootWindow(), root_window
);
19 root_window
->SetProperty(kRootWindowFocusClientKey
, client
);
22 FocusClient
* GetFocusClient(Window
* window
) {
23 return GetFocusClient(static_cast<const Window
*>(window
));
26 FocusClient
* GetFocusClient(const Window
* window
) {
27 const Window
* root_window
= window
->GetRootWindow();
29 root_window
->GetProperty(kRootWindowFocusClientKey
) : NULL
;