Index: chrome/browser/ui/cocoa/apps/scoped_fake_nswindow_main_status.h |
diff --git a/chrome/browser/ui/cocoa/apps/scoped_fake_nswindow_main_status.h b/chrome/browser/ui/cocoa/apps/scoped_fake_nswindow_main_status.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ad34866c74c19db1477c620dda93b14aab836b03 |
--- /dev/null |
+++ b/chrome/browser/ui/cocoa/apps/scoped_fake_nswindow_main_status.h |
@@ -0,0 +1,29 @@ |
+// Copyright 2015 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 CHROME_BROWSER_UI_COCOA_APPS_SCOPED_FAKE_NSWINDOW_MAIN_STATUS_H_ |
tapted
2015/05/12 06:15:43
This needs to be in a /test folder, or at the very
jackhou1
2015/05/14 02:59:13
Done. Moved to chrome/browser/ui/test.
|
+#define CHROME_BROWSER_UI_COCOA_APPS_SCOPED_FAKE_NSWINDOW_MAIN_STATUS_H_ |
+ |
+#import "base/mac/scoped_objc_class_swizzler.h" |
+ |
+@class NSWindow; |
+ |
+// Simulates a particular NSWindow to report YES for [NSWindow isMainWindow]. |
+// This allows test coverage of code relying on window focus changes without |
+// resorting to an interactive_ui_test. |
+class ScopedFakeNSWindowMainStatus { |
+ public: |
+ explicit ScopedFakeNSWindowMainStatus(NSWindow* window); |
+ ~ScopedFakeNSWindowMainStatus(); |
+ |
+ static NSWindow* GetMainWindow() { return window_; } |
+ |
+ private: |
+ static NSWindow* window_; |
tapted
2015/05/12 06:15:43
can this be moved to an anonymous namespace like g
jackhou1
2015/05/14 02:59:13
Done.
|
+ base::mac::ScopedObjCClassSwizzler swizzler_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(ScopedFakeNSWindowMainStatus); |
+}; |
+ |
+#endif // CHROME_BROWSER_UI_COCOA_APPS_SCOPED_FAKE_NSWINDOW_MAIN_STATUS_H_ |