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

Side by Side Diff: chrome/browser/cocoa/browser_window_controller.mm

Issue 100121: Adds items to the Window menu on Mac. (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 11 years, 8 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 | « no previous file | no next file » | 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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 #include "base/mac_util.h" 5 #include "base/mac_util.h"
6 #include "base/sys_string_conversions.h" 6 #include "base/sys_string_conversions.h"
7 #include "chrome/app/chrome_dll_resource.h" // IDC_* 7 #include "chrome/app/chrome_dll_resource.h" // IDC_*
8 #include "chrome/browser/browser.h" 8 #include "chrome/browser/browser.h"
9 #include "chrome/browser/browser_list.h" 9 #include "chrome/browser/browser_list.h"
10 #include "chrome/browser/tab_contents/web_contents.h" 10 #include "chrome/browser/tab_contents/web_contents.h"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 browser_.release(); 136 browser_.release();
137 [super dealloc]; 137 [super dealloc];
138 } 138 }
139 139
140 // Access the C++ bridge between the NSWindow and the rest of Chromium 140 // Access the C++ bridge between the NSWindow and the rest of Chromium
141 - (BrowserWindow*)browserWindow { 141 - (BrowserWindow*)browserWindow {
142 return windowShim_.get(); 142 return windowShim_.get();
143 } 143 }
144 144
145 - (void)destroyBrowser { 145 - (void)destroyBrowser {
146 [NSApp removeWindowsItem:[self window]];
147
146 // We need the window to go away now. 148 // We need the window to go away now.
147 [self autorelease]; 149 [self autorelease];
148 } 150 }
149 151
150 // Called when the window meets the criteria to be closed (ie, 152 // Called when the window meets the criteria to be closed (ie,
151 // |-windowShoudlClose:| returns YES). We must be careful to preserve the 153 // |-windowShoudlClose:| returns YES). We must be careful to preserve the
152 // semantics of BrowserWindow::Close() and not call the Browser's dtor directly 154 // semantics of BrowserWindow::Close() and not call the Browser's dtor directly
153 // from this method. 155 // from this method.
154 - (void)windowWillClose:(NSNotification *)notification { 156 - (void)windowWillClose:(NSNotification *)notification {
155 DCHECK(!browser_->tabstrip_model()->count()); 157 DCHECK(!browser_->tabstrip_model()->count());
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 418
417 // Update various elements that are interested in knowing the current 419 // Update various elements that are interested in knowing the current
418 // TabContents. 420 // TabContents.
419 #if 0 421 #if 0
420 // TODO(pinkerton):Update as more things become window-specific 422 // TODO(pinkerton):Update as more things become window-specific
421 infobar_container_->ChangeTabContents(new_contents); 423 infobar_container_->ChangeTabContents(new_contents);
422 contents_container_->SetTabContents(new_contents); 424 contents_container_->SetTabContents(new_contents);
423 #endif 425 #endif
424 newContents->DidBecomeSelected(); 426 newContents->DidBecomeSelected();
425 427
428 // Change the entry in the Window menu to match the title of the
429 // currently selected tab. This will create an entry if one does
430 // not already exist.
431 [NSApp changeWindowsItem:[self window]
432 title:base::SysUTF16ToNSString(newContents->GetTitle())
433 filename:NO];
434
426 if (BrowserList::GetLastActive() == browser_ && 435 if (BrowserList::GetLastActive() == browser_ &&
427 !browser_->tabstrip_model()->closing_all() && 436 !browser_->tabstrip_model()->closing_all() &&
428 newContents->AsWebContents()) { 437 newContents->AsWebContents()) {
429 newContents->AsWebContents()->view()->RestoreFocus(); 438 newContents->AsWebContents()->view()->RestoreFocus();
430 } 439 }
431 440
432 #if 0 441 #if 0
433 // TODO(pinkerton):Update as more things become window-specific 442 // TODO(pinkerton):Update as more things become window-specific
434 // Update all the UI bits. 443 // Update all the UI bits.
435 UpdateTitleBar(); 444 UpdateTitleBar();
436 toolbar_->SetProfile(new_contents->profile()); 445 toolbar_->SetProfile(new_contents->profile());
437 UpdateToolbar(new_contents, true); 446 UpdateToolbar(new_contents, true);
438 UpdateUIForContents(new_contents); 447 UpdateUIForContents(new_contents);
439 #endif 448 #endif
440 } 449 }
441 450
451 - (void)tabChangedWithContents:(TabContents*)contents
452 atIndex:(NSInteger)index
453 loadingOnly:(BOOL)loading {
454 // Change the entry in the Window menu to match the new title of the tab,
455 // but only if this is the currently selected tab.
456 if (index == browser_->tabstrip_model()->selected_index()) {
457 [NSApp changeWindowsItem:[self window]
458 title:base::SysUTF16ToNSString(contents->GetTitle())
459 filename:NO];
460 }
461 }
462
442 @end 463 @end
443 464
444 465
445 @interface NSWindow (NSPrivateApis) 466 @interface NSWindow (NSPrivateApis)
446 // Note: These functions are private, use -[NSObject respondsToSelector:] 467 // Note: These functions are private, use -[NSObject respondsToSelector:]
447 // before calling them. 468 // before calling them.
448 469
449 - (void)setAutorecalculatesContentBorderThickness:(BOOL)b 470 - (void)setAutorecalculatesContentBorderThickness:(BOOL)b
450 forEdge:(NSRectEdge)e; 471 forEdge:(NSRectEdge)e;
451 - (void)setContentBorderThickness:(CGFloat)b forEdge:(NSRectEdge)e; 472 - (void)setContentBorderThickness:(CGFloat)b forEdge:(NSRectEdge)e;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 520
500 - (NSRect)window:(NSWindow *)window 521 - (NSRect)window:(NSWindow *)window
501 willPositionSheet:(NSWindow *)sheet 522 willPositionSheet:(NSWindow *)sheet
502 usingRect:(NSRect)defaultSheetRect { 523 usingRect:(NSRect)defaultSheetRect {
503 NSRect windowFrame = [window frame]; 524 NSRect windowFrame = [window frame];
504 defaultSheetRect.origin.y = windowFrame.size.height - 10; 525 defaultSheetRect.origin.y = windowFrame.size.height - 10;
505 return defaultSheetRect; 526 return defaultSheetRect;
506 } 527 }
507 528
508 @end 529 @end
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698