test_activation_delegate.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
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 "ash/test/test_activation_delegate.h"
6
7#include "ash/wm/window_util.h"
8#include "ui/aura/client/aura_constants.h"
9#include "ui/aura/window.h"
10#include "ui/base/events/event.h"
11
12namespace ash {
13namespace test {
14
15////////////////////////////////////////////////////////////////////////////////
16// TestActivationDelegate
17
18TestActivationDelegate::TestActivationDelegate()
19    : window_(NULL),
20      window_was_active_(false),
21      activate_(true),
22      activated_count_(0),
23      lost_active_count_(0),
24      should_activate_count_(0) {
25}
26
27TestActivationDelegate::TestActivationDelegate(bool activate)
28    : window_(NULL),
29      window_was_active_(false),
30      activate_(activate),
31      activated_count_(0),
32      lost_active_count_(0),
33      should_activate_count_(0) {
34}
35
36void TestActivationDelegate::SetWindow(aura::Window* window) {
37  window_ = window;
38  aura::client::SetActivationDelegate(window, this);
39}
40
41bool TestActivationDelegate::ShouldActivate(const ui::Event* event) {
42  should_activate_count_++;
43  return activate_;
44}
45
46void TestActivationDelegate::OnActivated() {
47  activated_count_++;
48}
49
50void TestActivationDelegate::OnLostActive() {
51  if (lost_active_count_++ == 0)
52    window_was_active_ = wm::IsActiveWindow(window_);
53}
54
55}  // namespace test
56}  // namespace ash
57