OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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.h" | 5 #include "chrome/browser/ui/browser.h" |
6 | 6 |
7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
8 #include <windows.h> | 8 #include <windows.h> |
9 #include <shellapi.h> | 9 #include <shellapi.h> |
10 #endif // defined(OS_WIN) | 10 #endif // defined(OS_WIN) |
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 if (!app_name_.empty()) | 374 if (!app_name_.empty()) |
375 chrome::RegisterAppPrefs(app_name_, profile_); | 375 chrome::RegisterAppPrefs(app_name_, profile_); |
376 tab_strip_model_->AddObserver(this); | 376 tab_strip_model_->AddObserver(this); |
377 | 377 |
378 toolbar_model_.reset(new ToolbarModelImpl(toolbar_model_delegate_.get())); | 378 toolbar_model_.reset(new ToolbarModelImpl(toolbar_model_delegate_.get())); |
379 search_model_.reset(new chrome::search::SearchModel(NULL)); | 379 search_model_.reset(new chrome::search::SearchModel(NULL)); |
380 search_delegate_.reset( | 380 search_delegate_.reset( |
381 new chrome::search::SearchDelegate(search_model_.get(), | 381 new chrome::search::SearchDelegate(search_model_.get(), |
382 toolbar_model_.get())); | 382 toolbar_model_.get())); |
383 | 383 |
384 registrar_.Add(this, content::NOTIFICATION_SSL_VISIBLE_STATE_CHANGED, | |
385 content::NotificationService::AllSources()); | |
386 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_LOADED, | 384 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_LOADED, |
387 content::Source<Profile>(profile_->GetOriginalProfile())); | 385 content::Source<Profile>(profile_->GetOriginalProfile())); |
388 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED, | 386 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED, |
389 content::Source<Profile>(profile_->GetOriginalProfile())); | 387 content::Source<Profile>(profile_->GetOriginalProfile())); |
390 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNINSTALLED, | 388 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNINSTALLED, |
391 content::Source<Profile>(profile_->GetOriginalProfile())); | 389 content::Source<Profile>(profile_->GetOriginalProfile())); |
392 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_PROCESS_TERMINATED, | 390 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_PROCESS_TERMINATED, |
393 content::NotificationService::AllSources()); | 391 content::NotificationService::AllSources()); |
394 #if defined(ENABLE_THEMES) | 392 #if defined(ENABLE_THEMES) |
395 registrar_.Add( | 393 registrar_.Add( |
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
754 | 752 |
755 //////////////////////////////////////////////////////////////////////////////// | 753 //////////////////////////////////////////////////////////////////////////////// |
756 // Browser, Tab adding/showing functions: | 754 // Browser, Tab adding/showing functions: |
757 | 755 |
758 void Browser::WindowFullscreenStateChanged() { | 756 void Browser::WindowFullscreenStateChanged() { |
759 fullscreen_controller_->WindowFullscreenStateChanged(); | 757 fullscreen_controller_->WindowFullscreenStateChanged(); |
760 command_controller_->FullscreenStateChanged(); | 758 command_controller_->FullscreenStateChanged(); |
761 UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TOGGLE_FULLSCREEN); | 759 UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TOGGLE_FULLSCREEN); |
762 } | 760 } |
763 | 761 |
| 762 void Browser::VisibleSSLStateChanged(content::WebContents* web_contents) { |
| 763 // When the current tab's SSL state changes, we need to update the URL |
| 764 // bar to reflect the new state. |
| 765 DCHECK(web_contents); |
| 766 if (tab_strip_model_->GetActiveWebContents() == web_contents) |
| 767 UpdateToolbar(false); |
| 768 } |
| 769 |
764 /////////////////////////////////////////////////////////////////////////////// | 770 /////////////////////////////////////////////////////////////////////////////// |
765 // Browser, Assorted browser commands: | 771 // Browser, Assorted browser commands: |
766 | 772 |
767 void Browser::ToggleFullscreenModeWithExtension(const GURL& extension_url) { | 773 void Browser::ToggleFullscreenModeWithExtension(const GURL& extension_url) { |
768 fullscreen_controller_->ToggleFullscreenModeWithExtension(extension_url); | 774 fullscreen_controller_->ToggleFullscreenModeWithExtension(extension_url); |
769 } | 775 } |
770 | 776 |
771 bool Browser::SupportsWindowFeature(WindowFeature feature) const { | 777 bool Browser::SupportsWindowFeature(WindowFeature feature) const { |
772 return SupportsWindowFeatureImpl(feature, true); | 778 return SupportsWindowFeatureImpl(feature, true); |
773 } | 779 } |
(...skipping 1033 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1807 false)); | 1813 false)); |
1808 } | 1814 } |
1809 | 1815 |
1810 /////////////////////////////////////////////////////////////////////////////// | 1816 /////////////////////////////////////////////////////////////////////////////// |
1811 // Browser, content::NotificationObserver implementation: | 1817 // Browser, content::NotificationObserver implementation: |
1812 | 1818 |
1813 void Browser::Observe(int type, | 1819 void Browser::Observe(int type, |
1814 const content::NotificationSource& source, | 1820 const content::NotificationSource& source, |
1815 const content::NotificationDetails& details) { | 1821 const content::NotificationDetails& details) { |
1816 switch (type) { | 1822 switch (type) { |
1817 case content::NOTIFICATION_SSL_VISIBLE_STATE_CHANGED: | |
1818 // When the current tab's SSL state changes, we need to update the URL | |
1819 // bar to reflect the new state. Note that it's possible for the selected | |
1820 // tab contents to be NULL. This is because we listen for all sources | |
1821 // (NavigationControllers) for convenience, so the notification could | |
1822 // actually be for a different window while we're doing asynchronous | |
1823 // closing of this one. | |
1824 if (tab_strip_model_->GetActiveWebContents() && | |
1825 &tab_strip_model_->GetActiveWebContents()->GetController() == | |
1826 content::Source<NavigationController>(source).ptr()) | |
1827 UpdateToolbar(false); | |
1828 break; | |
1829 | |
1830 case chrome::NOTIFICATION_EXTENSION_UNLOADED: { | 1823 case chrome::NOTIFICATION_EXTENSION_UNLOADED: { |
1831 if (window()->GetLocationBar()) | 1824 if (window()->GetLocationBar()) |
1832 window()->GetLocationBar()->UpdatePageActions(); | 1825 window()->GetLocationBar()->UpdatePageActions(); |
1833 | 1826 |
1834 // Close any tabs from the unloaded extension, unless it's terminated, | 1827 // Close any tabs from the unloaded extension, unless it's terminated, |
1835 // in which case let the sad tabs remain. | 1828 // in which case let the sad tabs remain. |
1836 if (content::Details<extensions::UnloadedExtensionInfo>( | 1829 if (content::Details<extensions::UnloadedExtensionInfo>( |
1837 details)->reason != extension_misc::UNLOAD_REASON_TERMINATE) { | 1830 details)->reason != extension_misc::UNLOAD_REASON_TERMINATE) { |
1838 const Extension* extension = | 1831 const Extension* extension = |
1839 content::Details<extensions::UnloadedExtensionInfo>( | 1832 content::Details<extensions::UnloadedExtensionInfo>( |
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2336 if (contents && !allow_js_access) { | 2329 if (contents && !allow_js_access) { |
2337 contents->web_contents()->GetController().LoadURL( | 2330 contents->web_contents()->GetController().LoadURL( |
2338 target_url, | 2331 target_url, |
2339 content::Referrer(), | 2332 content::Referrer(), |
2340 content::PAGE_TRANSITION_LINK, | 2333 content::PAGE_TRANSITION_LINK, |
2341 std::string()); // No extra headers. | 2334 std::string()); // No extra headers. |
2342 } | 2335 } |
2343 | 2336 |
2344 return contents != NULL; | 2337 return contents != NULL; |
2345 } | 2338 } |
OLD | NEW |