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_EXPORTED_WINDOW_PROPERTY_TYPE(AURA_EXPORT
, aura::Window
*)
11 DECLARE_WINDOW_PROPERTY_TYPE(aura::client::FocusClient
*)
16 DEFINE_WINDOW_PROPERTY_KEY(FocusClient
*, kRootWindowFocusClientKey
, NULL
);
18 void SetFocusClient(Window
* root_window
, FocusClient
* client
) {
19 DCHECK_EQ(root_window
->GetRootWindow(), root_window
);
20 root_window
->SetProperty(kRootWindowFocusClientKey
, client
);
23 FocusClient
* GetFocusClient(Window
* window
) {
24 return GetFocusClient(static_cast<const Window
*>(window
));
27 FocusClient
* GetFocusClient(const Window
* window
) {
28 const Window
* root_window
= window
->GetRootWindow();
30 root_window
->GetProperty(kRootWindowFocusClientKey
) : NULL
;