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

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

Issue 9230011: Better fix for Lion dictionary popover cmd-W bug. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 8 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/cocoa/chrome_browser_window_unittest.mm ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/fullscreen_window.h" 5 #import "chrome/browser/ui/cocoa/fullscreen_window.h"
6 6
7 #import "chrome/browser/ui/cocoa/browser_window_controller.h"
8 #import "chrome/browser/ui/cocoa/themed_window.h" 7 #import "chrome/browser/ui/cocoa/themed_window.h"
9 8
10 @implementation FullscreenWindow 9 @implementation FullscreenWindow
11 10
12 // Make sure our designated initializer gets called. 11 // Make sure our designated initializer gets called.
13 - (id)init { 12 - (id)init {
14 return [self initForScreen:[NSScreen mainScreen]]; 13 return [self initForScreen:[NSScreen mainScreen]];
15 } 14 }
16 15
17 - (id)initForScreen:(NSScreen*)screen { 16 - (id)initForScreen:(NSScreen*)screen {
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 } 65 }
67 66
68 - (void)resignMainWindow { 67 - (void)resignMainWindow {
69 [super resignMainWindow]; 68 [super resignMainWindow];
70 [self setBackgroundColor:[NSColor windowBackgroundColor]]; 69 [self setBackgroundColor:[NSColor windowBackgroundColor]];
71 } 70 }
72 71
73 // We need our own version, since the default one wants to flash the close 72 // We need our own version, since the default one wants to flash the close
74 // button (and possibly other things), which results in nothing happening. 73 // button (and possibly other things), which results in nothing happening.
75 - (void)performClose:(id)sender { 74 - (void)performClose:(id)sender {
76 id delegate = [self delegate]; 75 BOOL shouldClose = YES;
77
78 // Route -performClose: to -commandDispatch: on the delegate when coming from
79 // the "close tab" menu item. See comment in chrome_browser_window.mm.
80 if ([self performCloseShouldRouteToCommandDispatch:sender]) {
81 [delegate commandDispatch:sender];
82 return;
83 }
84 76
85 // If applicable, check if this window should close. 77 // If applicable, check if this window should close.
86 BOOL shouldClose = YES; 78 id delegate = [self delegate];
87 if ([delegate respondsToSelector:@selector(windowShouldClose:)]) 79 if ([delegate respondsToSelector:@selector(windowShouldClose:)])
88 shouldClose = [delegate windowShouldClose:self]; 80 shouldClose = [delegate windowShouldClose:self];
89 81
90 if (shouldClose) { 82 if (shouldClose) {
91 [self close]; 83 [self close];
92 } 84 }
93 } 85 }
94 86
95 - (BOOL)validateUserInterfaceItem:(id<NSValidatedUserInterfaceItem>)item { 87 - (BOOL)validateUserInterfaceItem:(id<NSValidatedUserInterfaceItem>)item {
96 SEL action = [item action]; 88 SEL action = [item action];
97 89
98 // Explicitly enable |-performClose:| (see above); otherwise the fact that 90 // Explicitly enable |-performClose:| (see above); otherwise the fact that
99 // this window does not have a close button results in it being disabled. 91 // this window does not have a close button results in it being disabled.
100 if (action == @selector(performClose:)) 92 if (action == @selector(performClose:))
101 return YES; 93 return YES;
102 94
103 return [super validateUserInterfaceItem:item]; 95 return [super validateUserInterfaceItem:item];
104 } 96 }
105 97
106 @end 98 @end
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/chrome_browser_window_unittest.mm ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698