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.
4
5 #include "ui/wm/public/activation_client.h"
6
7 #include "ui/aura/window.h"
8 #include "ui/aura/window_property.h"
9
10 DECLARE_EXPORTED_WINDOW_PROPERTY_TYPE(AURA_EXPORT, aura::Window*)
11 DECLARE_WINDOW_PROPERTY_TYPE(aura::client::ActivationClient*)
12
13 namespace aura {
14 namespace client {
15
16 DEFINE_WINDOW_PROPERTY_KEY(
17 ActivationClient*, kRootWindowActivationClientKey, NULL);
18 DEFINE_WINDOW_PROPERTY_KEY(bool, kHideOnDeactivate, false);
19
SetActivationClient(Window * root_window,ActivationClient * client)20 void SetActivationClient(Window* root_window, ActivationClient* client) {
21 root_window->SetProperty(kRootWindowActivationClientKey, client);
22 }
23
GetActivationClient(Window * root_window)24 ActivationClient* GetActivationClient(Window* root_window) {
25 return root_window ?
26 root_window->GetProperty(kRootWindowActivationClientKey) : NULL;
27 }
28
SetHideOnDeactivate(Window * window,bool hide_on_deactivate)29 void SetHideOnDeactivate(Window* window, bool hide_on_deactivate) {
30 window->SetProperty(kHideOnDeactivate, hide_on_deactivate);
31 }
32
GetHideOnDeactivate(Window * window)33 bool GetHideOnDeactivate(Window* window) {
34 return window->GetProperty(kHideOnDeactivate);
35 }
36
37 } // namespace client
38 } // namespace aura
39