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