OLD | NEW |
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 #include "chrome/browser/ui/browser_command_controller.h" | 5 #include "chrome/browser/ui/browser_command_controller.h" |
6 | 6 |
7 #include "chrome/app/chrome_command_ids.h" | 7 #include "chrome/app/chrome_command_ids.h" |
8 #include "chrome/browser/browser_process.h" | 8 #include "chrome/browser/browser_process.h" |
9 #include "chrome/browser/defaults.h" | 9 #include "chrome/browser/defaults.h" |
10 #include "chrome/browser/extensions/extension_service.h" | 10 #include "chrome/browser/extensions/extension_service.h" |
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
657 } | 657 } |
658 | 658 |
659 //////////////////////////////////////////////////////////////////////////////// | 659 //////////////////////////////////////////////////////////////////////////////// |
660 // BrowserCommandController, content::NotificationObserver implementation: | 660 // BrowserCommandController, content::NotificationObserver implementation: |
661 | 661 |
662 void BrowserCommandController::Observe( | 662 void BrowserCommandController::Observe( |
663 int type, | 663 int type, |
664 const content::NotificationSource& source, | 664 const content::NotificationSource& source, |
665 const content::NotificationDetails& details) { | 665 const content::NotificationDetails& details) { |
666 switch (type) { | 666 switch (type) { |
667 case NOTIFICATION_PREF_CHANGED: { | |
668 const std::string& pref_name = | |
669 *content::Details<std::string>(details).ptr(); | |
670 if (pref_name == prefs::kPrintingEnabled) { | |
671 UpdatePrintingState(); | |
672 } else if (pref_name == prefs::kIncognitoModeAvailability) { | |
673 UpdateCommandsForIncognitoAvailability(); | |
674 } else if (pref_name == prefs::kDevToolsDisabled) { | |
675 UpdateCommandsForDevTools(); | |
676 } else if (pref_name == prefs::kEditBookmarksEnabled) { | |
677 UpdateCommandsForBookmarkEditing(); | |
678 } else if (pref_name == prefs::kShowBookmarkBar) { | |
679 UpdateCommandsForBookmarkBar(); | |
680 } else if (pref_name == prefs::kAllowFileSelectionDialogs) { | |
681 UpdateSaveAsState(); | |
682 UpdateOpenFileState(); | |
683 } else if (pref_name == prefs::kInManagedMode) { | |
684 UpdateCommandsForMultipleProfiles(); | |
685 } else { | |
686 NOTREACHED(); | |
687 } | |
688 break; | |
689 } | |
690 case content::NOTIFICATION_INTERSTITIAL_ATTACHED: | 667 case content::NOTIFICATION_INTERSTITIAL_ATTACHED: |
691 UpdateCommandsForTabState(); | 668 UpdateCommandsForTabState(); |
692 break; | 669 break; |
693 | 670 |
694 case content::NOTIFICATION_INTERSTITIAL_DETACHED: | 671 case content::NOTIFICATION_INTERSTITIAL_DETACHED: |
695 UpdateCommandsForTabState(); | 672 UpdateCommandsForTabState(); |
696 break; | 673 break; |
697 | 674 |
698 default: | 675 default: |
699 NOTREACHED() << "Got a notification we didn't register for."; | 676 NOTREACHED() << "Got a notification we didn't register for."; |
700 } | 677 } |
701 } | 678 } |
702 | 679 |
703 //////////////////////////////////////////////////////////////////////////////// | 680 //////////////////////////////////////////////////////////////////////////////// |
| 681 // PrefObserver implementation: |
| 682 |
| 683 void BrowserCommandController::OnPreferenceChanged( |
| 684 PrefServiceBase* service, |
| 685 const std::string& pref_name) { |
| 686 if (pref_name == prefs::kPrintingEnabled) { |
| 687 UpdatePrintingState(); |
| 688 } else if (pref_name == prefs::kIncognitoModeAvailability) { |
| 689 UpdateCommandsForIncognitoAvailability(); |
| 690 } else if (pref_name == prefs::kDevToolsDisabled) { |
| 691 UpdateCommandsForDevTools(); |
| 692 } else if (pref_name == prefs::kEditBookmarksEnabled) { |
| 693 UpdateCommandsForBookmarkEditing(); |
| 694 } else if (pref_name == prefs::kShowBookmarkBar) { |
| 695 UpdateCommandsForBookmarkBar(); |
| 696 } else if (pref_name == prefs::kAllowFileSelectionDialogs) { |
| 697 UpdateSaveAsState(); |
| 698 UpdateOpenFileState(); |
| 699 } else if (pref_name == prefs::kInManagedMode) { |
| 700 UpdateCommandsForMultipleProfiles(); |
| 701 } else { |
| 702 NOTREACHED(); |
| 703 } |
| 704 } |
| 705 |
| 706 //////////////////////////////////////////////////////////////////////////////// |
704 // BrowserCommandController, TabStripModelObserver implementation: | 707 // BrowserCommandController, TabStripModelObserver implementation: |
705 | 708 |
706 void BrowserCommandController::TabInsertedAt(TabContents* contents, | 709 void BrowserCommandController::TabInsertedAt(TabContents* contents, |
707 int index, | 710 int index, |
708 bool foreground) { | 711 bool foreground) { |
709 AddInterstitialObservers(contents); | 712 AddInterstitialObservers(contents); |
710 } | 713 } |
711 | 714 |
712 void BrowserCommandController::TabDetachedAt(TabContents* contents, int index) { | 715 void BrowserCommandController::TabDetachedAt(TabContents* contents, int index) { |
713 RemoveInterstitialObservers(contents); | 716 RemoveInterstitialObservers(contents); |
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1168 | 1171 |
1169 BrowserWindow* BrowserCommandController::window() { | 1172 BrowserWindow* BrowserCommandController::window() { |
1170 return browser_->window(); | 1173 return browser_->window(); |
1171 } | 1174 } |
1172 | 1175 |
1173 Profile* BrowserCommandController::profile() { | 1176 Profile* BrowserCommandController::profile() { |
1174 return browser_->profile(); | 1177 return browser_->profile(); |
1175 } | 1178 } |
1176 | 1179 |
1177 } // namespace chrome | 1180 } // namespace chrome |
OLD | NEW |