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

Side by Side Diff: chrome/browser/ui/cocoa/base_bubble_controller_unittest.mm

Issue 1154013009: [OSX] Don't create deferred windows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "chrome/browser/ui/cocoa/base_bubble_controller.h" 5 #import "chrome/browser/ui/cocoa/base_bubble_controller.h"
6 6
7 #include "base/mac/mac_util.h" 7 #include "base/mac/mac_util.h"
8 #import "base/mac/scoped_nsobject.h" 8 #import "base/mac/scoped_nsobject.h"
9 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" 9 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
10 #import "chrome/browser/ui/cocoa/info_bubble_view.h" 10 #import "chrome/browser/ui/cocoa/info_bubble_view.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 class BaseBubbleControllerTest : public CocoaTest { 87 class BaseBubbleControllerTest : public CocoaTest {
88 public: 88 public:
89 BaseBubbleControllerTest() : controller_(nil) {} 89 BaseBubbleControllerTest() : controller_(nil) {}
90 90
91 void SetUp() override { 91 void SetUp() override {
92 bubble_window_.reset([[InfoBubbleWindow alloc] 92 bubble_window_.reset([[InfoBubbleWindow alloc]
93 initWithContentRect:NSMakeRect(0, 0, kBubbleWindowWidth, 93 initWithContentRect:NSMakeRect(0, 0, kBubbleWindowWidth,
94 kBubbleWindowHeight) 94 kBubbleWindowHeight)
95 styleMask:NSBorderlessWindowMask 95 styleMask:NSBorderlessWindowMask
96 backing:NSBackingStoreBuffered 96 backing:NSBackingStoreBuffered
97 defer:YES]); 97 defer:NO]);
98 [bubble_window_ setAllowedAnimations:0]; 98 [bubble_window_ setAllowedAnimations:0];
99 99
100 // The bubble controller will release itself when the window closes. 100 // The bubble controller will release itself when the window closes.
101 controller_ = [[BaseBubbleController alloc] 101 controller_ = [[BaseBubbleController alloc]
102 initWithWindow:bubble_window_ 102 initWithWindow:bubble_window_
103 parentWindow:test_window() 103 parentWindow:test_window()
104 anchoredAt:NSMakePoint(kAnchorPointX, kAnchorPointY)]; 104 anchoredAt:NSMakePoint(kAnchorPointX, kAnchorPointY)];
105 EXPECT_TRUE([controller_ bubble]); 105 EXPECT_TRUE([controller_ bubble]);
106 EXPECT_EQ(bubble_window_.get(), [controller_ window]); 106 EXPECT_EQ(bubble_window_.get(), [controller_ window]);
107 } 107 }
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 EXPECT_EQ(NSMaxY(frame), kAnchorPointY); 246 EXPECT_EQ(NSMaxY(frame), kAnchorPointY);
247 } 247 }
248 248
249 // Tests that when a new window gets key state (and the bubble resigns) that 249 // Tests that when a new window gets key state (and the bubble resigns) that
250 // the key window changes. 250 // the key window changes.
251 TEST_F(BaseBubbleControllerTest, ResignKeyCloses) { 251 TEST_F(BaseBubbleControllerTest, ResignKeyCloses) {
252 base::scoped_nsobject<NSWindow> other_window( 252 base::scoped_nsobject<NSWindow> other_window(
253 [[NSWindow alloc] initWithContentRect:NSMakeRect(500, 500, 500, 500) 253 [[NSWindow alloc] initWithContentRect:NSMakeRect(500, 500, 500, 500)
254 styleMask:NSTitledWindowMask 254 styleMask:NSTitledWindowMask
255 backing:NSBackingStoreBuffered 255 backing:NSBackingStoreBuffered
256 defer:YES]); 256 defer:NO]);
257 257
258 base::scoped_nsobject<BaseBubbleController> keep_alive = ShowBubble(); 258 base::scoped_nsobject<BaseBubbleController> keep_alive = ShowBubble();
259 EXPECT_FALSE([other_window isVisible]); 259 EXPECT_FALSE([other_window isVisible]);
260 260
261 [other_window makeKeyAndOrderFront:nil]; 261 [other_window makeKeyAndOrderFront:nil];
262 SimulateKeyStatusChange(); 262 SimulateKeyStatusChange();
263 263
264 EXPECT_FALSE([bubble_window_ isVisible]); 264 EXPECT_FALSE([bubble_window_ isVisible]);
265 EXPECT_TRUE([other_window isVisible]); 265 EXPECT_TRUE([other_window isVisible]);
266 } 266 }
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 TEST_F(BaseBubbleControllerTest, BubbleStaysOpenWithSheet) { 357 TEST_F(BaseBubbleControllerTest, BubbleStaysOpenWithSheet) {
358 base::scoped_nsobject<BaseBubbleController> keep_alive = ShowBubble(); 358 base::scoped_nsobject<BaseBubbleController> keep_alive = ShowBubble();
359 359
360 // Make a dummy NSPanel for the sheet. Don't use [NSOpenPanel openPanel], 360 // Make a dummy NSPanel for the sheet. Don't use [NSOpenPanel openPanel],
361 // otherwise a stray FI_TFloatingInputWindow is created which the unit test 361 // otherwise a stray FI_TFloatingInputWindow is created which the unit test
362 // harness doesn't like. 362 // harness doesn't like.
363 base::scoped_nsobject<NSPanel> panel( 363 base::scoped_nsobject<NSPanel> panel(
364 [[NSPanel alloc] initWithContentRect:NSMakeRect(0, 0, 100, 50) 364 [[NSPanel alloc] initWithContentRect:NSMakeRect(0, 0, 100, 50)
365 styleMask:NSTitledWindowMask 365 styleMask:NSTitledWindowMask
366 backing:NSBackingStoreBuffered 366 backing:NSBackingStoreBuffered
367 defer:YES]); 367 defer:NO]);
368 EXPECT_FALSE([panel isReleasedWhenClosed]); // scoped_nsobject releases it. 368 EXPECT_FALSE([panel isReleasedWhenClosed]); // scoped_nsobject releases it.
369 369
370 // With a NSOpenPanel, we would call -[NSSavePanel beginSheetModalForWindow] 370 // With a NSOpenPanel, we would call -[NSSavePanel beginSheetModalForWindow]
371 // here. In 10.9, we would call [NSWindow beginSheet:]. For 10.6, this: 371 // here. In 10.9, we would call [NSWindow beginSheet:]. For 10.6, this:
372 [[NSApplication sharedApplication] beginSheet:panel 372 [[NSApplication sharedApplication] beginSheet:panel
373 modalForWindow:bubble_window_ 373 modalForWindow:bubble_window_
374 modalDelegate:nil 374 modalDelegate:nil
375 didEndSelector:NULL 375 didEndSelector:NULL
376 contextInfo:NULL]; 376 contextInfo:NULL];
377 377
(...skipping 10 matching lines...) Expand all
388 [panel close]; 388 [panel close];
389 389
390 EXPECT_FALSE([bubble_window_ attachedSheet]); 390 EXPECT_FALSE([bubble_window_ attachedSheet]);
391 EXPECT_TRUE([bubble_window_ isVisible]); 391 EXPECT_TRUE([bubble_window_ isVisible]);
392 EXPECT_FALSE([panel isVisible]); 392 EXPECT_FALSE([panel isVisible]);
393 393
394 // Now that the sheet is gone, a key status change should close the bubble. 394 // Now that the sheet is gone, a key status change should close the bubble.
395 SimulateKeyStatusChange(); 395 SimulateKeyStatusChange();
396 EXPECT_FALSE([bubble_window_ isVisible]); 396 EXPECT_FALSE([bubble_window_ isVisible]);
397 } 397 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698