Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1477)

Unified Diff: chrome/browser/ui/cocoa/apps/app_shim_menu_controller_mac_browsertest.mm

Issue 1053303003: [MacViews] Implement colored window frames. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments. Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/cocoa/apps/app_shim_menu_controller_mac_browsertest.mm
diff --git a/chrome/browser/ui/cocoa/apps/app_shim_menu_controller_mac_browsertest.mm b/chrome/browser/ui/cocoa/apps/app_shim_menu_controller_mac_browsertest.mm
index e0960092993c68f73b642a26e2288e69ce8fea60..261032155b8c51fa3a8b93ae11549a46f5521a05 100644
--- a/chrome/browser/ui/cocoa/apps/app_shim_menu_controller_mac_browsertest.mm
+++ b/chrome/browser/ui/cocoa/apps/app_shim_menu_controller_mac_browsertest.mm
@@ -19,6 +19,7 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser_iterator.h"
#include "chrome/browser/ui/browser_window.h"
+#import "chrome/browser/ui/test/scoped_fake_nswindow_main_status.h"
#include "chrome/common/chrome_switches.h"
#include "extensions/browser/app_window/app_window_registry.h"
#include "extensions/browser/app_window/native_app_window.h"
@@ -26,38 +27,8 @@
#include "extensions/common/extension.h"
#include "extensions/test/extension_test_message_listener.h"
-// Donates a testing implementation of [NSWindow isMainWindow].
-@interface IsMainWindowDonorForWindow : NSObject
-@end
-
namespace {
-// 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 ScopedFakeWindowMainStatus {
- public:
- ScopedFakeWindowMainStatus(NSWindow* window)
- : swizzler_([NSWindow class],
- [IsMainWindowDonorForWindow class],
- @selector(isMainWindow)) {
- DCHECK(!window_);
- window_ = window;
- }
-
- ~ScopedFakeWindowMainStatus() { window_ = nil; }
-
- static NSWindow* GetMainWindow() { return window_; }
-
- private:
- static NSWindow* window_;
- base::mac::ScopedObjCClassSwizzler swizzler_;
-
- DISALLOW_COPY_AND_ASSIGN(ScopedFakeWindowMainStatus);
-};
-
-NSWindow* ScopedFakeWindowMainStatus::window_ = nil;
-
class AppShimMenuControllerBrowserTest
: public extensions::PlatformAppBrowserTest {
protected:
@@ -208,7 +179,8 @@ IN_PROC_BROWSER_TEST_F(AppShimMenuControllerBrowserTest,
// Start with app1 active.
SetUpApps(PACKAGED_1);
extensions::AppWindow* app_1_app_window = FirstWindowForApp(app_1_);
- ScopedFakeWindowMainStatus app_1_is_main(app_1_app_window->GetNativeWindow());
+ ScopedFakeNSWindowMainStatus app_1_is_main(
+ app_1_app_window->GetNativeWindow());
[[NSNotificationCenter defaultCenter]
postNotificationName:NSWindowDidBecomeMainNotification
@@ -275,7 +247,7 @@ IN_PROC_BROWSER_TEST_F(AppShimMenuControllerBrowserTest,
[[NSNotificationCenter defaultCenter]
postNotificationName:NSWindowDidBecomeMainNotification
object:app_1_window];
- ScopedFakeWindowMainStatus app_1_is_main(app_1_window);
+ ScopedFakeNSWindowMainStatus app_1_is_main(app_1_window);
CheckHasAppMenus(app_1_);
ExtensionService::UninstallExtensionHelper(
@@ -286,10 +258,3 @@ IN_PROC_BROWSER_TEST_F(AppShimMenuControllerBrowserTest,
}
} // namespace
-
-@implementation IsMainWindowDonorForWindow
-- (BOOL)isMainWindow {
- NSWindow* selfAsWindow = base::mac::ObjCCastStrict<NSWindow>(self);
- return selfAsWindow == ScopedFakeWindowMainStatus::GetMainWindow();
-}
-@end
« no previous file with comments | « no previous file | chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698