summaryrefslogtreecommitdiffstats
path: root/ash/test/test_activation_delegate.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ash/test/test_activation_delegate.cc')
-rw-r--r--ash/test/test_activation_delegate.cc53
1 files changed, 53 insertions, 0 deletions
diff --git a/ash/test/test_activation_delegate.cc b/ash/test/test_activation_delegate.cc
new file mode 100644
index 0000000..e92223a
--- /dev/null
+++ b/ash/test/test_activation_delegate.cc
@@ -0,0 +1,53 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "ash/test/test_activation_delegate.h"
+
+#include "ash/wm/window_util.h"
+#include "ui/aura/client/aura_constants.h"
+#include "ui/aura/window.h"
+
+namespace aura_shell {
+namespace test {
+
+////////////////////////////////////////////////////////////////////////////////
+// TestActivationDelegate
+
+TestActivationDelegate::TestActivationDelegate()
+ : window_(NULL),
+ window_was_active_(false),
+ activate_(true),
+ activated_count_(0),
+ lost_active_count_(0),
+ should_activate_count_(0) {
+}
+
+TestActivationDelegate::TestActivationDelegate(bool activate)
+ : window_(NULL),
+ window_was_active_(false),
+ activate_(activate),
+ activated_count_(0),
+ lost_active_count_(0),
+ should_activate_count_(0) {
+}
+
+void TestActivationDelegate::SetWindow(aura::Window* window) {
+ window_ = window;
+ aura::client::SetActivationDelegate(window, this);
+}
+
+bool TestActivationDelegate::ShouldActivate(aura::Event* event) {
+ should_activate_count_++;
+ return activate_;
+}
+void TestActivationDelegate::OnActivated() {
+ activated_count_++;
+}
+void TestActivationDelegate::OnLostActive() {
+ if (lost_active_count_++ == 0)
+ window_was_active_ = IsActiveWindow(window_);
+}
+
+} // namespace test
+} // namespace aura_shell