summaryrefslogtreecommitdiff
path: root/chromium/ui/wm/public/activation_change_observer.cc
blob: 852466145d03f4ef0148bf8cb3ef2c28958f42fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "ui/wm/public/activation_change_observer.h"

#include "ui/aura/window.h"
#include "ui/base/class_property.h"

DEFINE_UI_CLASS_PROPERTY_TYPE(wm::ActivationChangeObserver*)

namespace wm {

DEFINE_UI_CLASS_PROPERTY_KEY(ActivationChangeObserver*,
                             kActivationChangeObserverKey,
                             nullptr)

ActivationChangeObserver::~ActivationChangeObserver() {
  CHECK(!IsInObserverList());
}

void SetActivationChangeObserver(aura::Window* window,
                                 ActivationChangeObserver* observer) {
  window->SetProperty(kActivationChangeObserverKey, observer);
}

ActivationChangeObserver* GetActivationChangeObserver(aura::Window* window) {
  return window ? window->GetProperty(kActivationChangeObserverKey) : NULL;
}

}  // namespace wm