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

Side by Side Diff: chrome/browser/app_controller_mac.mm

Issue 338012: About box auto-update improvements (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 11 years, 1 month 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/app/keystone_glue_unittest.mm ('k') | chrome/browser/cocoa/about_window_controller.h » ('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) 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 #import "chrome/browser/app_controller_mac.h" 5 #import "chrome/browser/app_controller_mac.h"
6 6
7 #include "app/l10n_util_mac.h" 7 #include "app/l10n_util_mac.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/mac_util.h" 9 #include "base/mac_util.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after
658 name:kUserDoneEditingPrefsNotification 658 name:kUserDoneEditingPrefsNotification
659 object:prefsController_.get()]; 659 object:prefsController_.get()];
660 } 660 }
661 [prefsController_ showPreferences:sender]; 661 [prefsController_ showPreferences:sender];
662 } 662 }
663 663
664 // Called when the about window is closed. We use this to release the 664 // Called when the about window is closed. We use this to release the
665 // window controller. 665 // window controller.
666 - (void)aboutWindowClosed:(NSNotification*)notify { 666 - (void)aboutWindowClosed:(NSNotification*)notify {
667 [[NSNotificationCenter defaultCenter] 667 [[NSNotificationCenter defaultCenter]
668 removeObserver:self 668 removeObserver:self
669 name:kUserClosedAboutNotification 669 name:kUserClosedAboutNotification
670 object:aboutController_.get()]; 670 object:aboutController_.get()];
671 aboutController_.reset(NULL); 671 aboutController_.reset(nil);
672 } 672 }
673 673
674 - (IBAction)orderFrontStandardAboutPanel:(id)sender { 674 - (IBAction)orderFrontStandardAboutPanel:(id)sender {
675 // Otherwise bring up our special dialog (e.g. with an auto-update button).
676 if (!aboutController_) { 675 if (!aboutController_) {
677 aboutController_.reset([[AboutWindowController alloc] 676 aboutController_.reset([[AboutWindowController alloc]
678 initWithProfile:[self defaultProfile]]); 677 initWithProfile:[self defaultProfile]]);
679 if (!aboutController_) { 678
680 // If we get here something is wacky. I managed to do it when
681 // testing by explicitly forcing an auto-update to an older
682 // version then trying to open the about box again (missing
683 // nib). This shouldn't be possible in general but let's try
684 // hard to not do nothing.
685 [NSApp orderFrontStandardAboutPanel:sender];
686 return;
687 }
688 // Watch for a notification of when it goes away so that we can destroy 679 // Watch for a notification of when it goes away so that we can destroy
689 // the controller. 680 // the controller.
690 [[NSNotificationCenter defaultCenter] 681 [[NSNotificationCenter defaultCenter]
691 addObserver:self 682 addObserver:self
692 selector:@selector(aboutWindowClosed:) 683 selector:@selector(aboutWindowClosed:)
693 name:kUserClosedAboutNotification 684 name:kUserClosedAboutNotification
694 object:aboutController_.get()]; 685 object:aboutController_.get()];
695 } 686 }
687
696 if (![[aboutController_ window] isVisible]) 688 if (![[aboutController_ window] isVisible])
697 [[aboutController_ window] center]; 689 [[aboutController_ window] center];
690
698 [aboutController_ showWindow:self]; 691 [aboutController_ showWindow:self];
699 } 692 }
700 693
701 // Explicitly bring to the foreground when creating new windows from the dock. 694 // Explicitly bring to the foreground when creating new windows from the dock.
702 - (void)newWindowFromDock:(id)sender { 695 - (void)newWindowFromDock:(id)sender {
703 [NSApp activateIgnoringOtherApps:YES]; 696 [NSApp activateIgnoringOtherApps:YES];
704 [self commandDispatch:sender]; 697 [self commandDispatch:sender];
705 } 698 }
706 699
707 - (NSMenu*)applicationDockMenu:(id)sender { 700 - (NSMenu*)applicationDockMenu:(id)sender {
(...skipping 21 matching lines...) Expand all
729 @end 722 @end
730 723
731 //--------------------------------------------------------------------------- 724 //---------------------------------------------------------------------------
732 725
733 // Stub for cross-platform method that isn't called on Mac OS X. 726 // Stub for cross-platform method that isn't called on Mac OS X.
734 void ShowOptionsWindow(OptionsPage page, 727 void ShowOptionsWindow(OptionsPage page,
735 OptionsGroup highlight_group, 728 OptionsGroup highlight_group,
736 Profile* profile) { 729 Profile* profile) {
737 NOTIMPLEMENTED(); 730 NOTIMPLEMENTED();
738 } 731 }
OLDNEW
« no previous file with comments | « chrome/app/keystone_glue_unittest.mm ('k') | chrome/browser/cocoa/about_window_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698