Index: wm/host/foreign_test_window_host.h |
diff --git a/wm/host/foreign_test_window_host.h b/wm/host/foreign_test_window_host.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d7ab85ac0c8606afdfe261829a4d9eccd551bd26 |
--- /dev/null |
+++ b/wm/host/foreign_test_window_host.h |
@@ -0,0 +1,36 @@ |
+// Copyright (c) 2013 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. |
+ |
+#ifndef WM_HOST_FOREIGN_TEST_WINDOW_HOST_H_ |
+#define WM_HOST_FOREIGN_TEST_WINDOW_HOST_H_ |
+ |
+namespace aura { |
+class RootWindow; |
+} |
+ |
+namespace wm { |
+ |
+class ForeignTestWindowHost { |
+ public: |
+ virtual ~ForeignTestWindowHost() {} |
+ |
+ // Creates a new ForeignTestWindowHost. Caller owns return value and must |
+ // call Destroy() to delete instance. |
+ static ForeignTestWindowHost* Create(aura::RootWindow* root_window); |
+ |
+ // This is guaranteed to run all tasks up to the last Sync() call. |
+ static void RunAllPendingInMessageLoop(); |
+ |
+ // These functions should only be called on a thread with an IO message loop. |
+ virtual void Initialize() = 0; |
+ virtual void Delete() = 0; |
+ virtual void Show() = 0; |
+ virtual void Hide() = 0; |
+ virtual void Destroy() = 0; |
+ virtual void Sync() = 0; |
+}; |
+ |
+} // namespace wm |
+ |
+#endif // WM_HOST_FOREIGN_TEST_WINDOW_HOST_H_ |