Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // OS_WIN | 10 #endif // OS_WIN |
| (...skipping 3779 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3790 | 3790 |
| 3791 void Browser::EnumerateDirectory(TabContents* tab, int request_id, | 3791 void Browser::EnumerateDirectory(TabContents* tab, int request_id, |
| 3792 const FilePath& path) { | 3792 const FilePath& path) { |
| 3793 EnumerateDirectoryHelper(tab, request_id, path); | 3793 EnumerateDirectoryHelper(tab, request_id, path); |
| 3794 } | 3794 } |
| 3795 | 3795 |
| 3796 void Browser::ToggleFullscreenModeForTab(TabContents* tab, | 3796 void Browser::ToggleFullscreenModeForTab(TabContents* tab, |
| 3797 bool enter_fullscreen) { | 3797 bool enter_fullscreen) { |
| 3798 if (tab != GetSelectedTabContents()) | 3798 if (tab != GetSelectedTabContents()) |
| 3799 return; | 3799 return; |
| 3800 fullscreened_tab_ = enter_fullscreen ? | 3800 |
| 3801 TabContentsWrapper::GetCurrentWrapperForContents(tab) : NULL; | 3801 if (enter_fullscreen) { |
| 3802 bool in_correct_mode_for_tab_fullscreen; | 3802 fullscreened_tab_ = TabContentsWrapper::GetCurrentWrapperForContents(tab); |
| 3803 bool in_correct_mode_for_tab_fullscreen; | |
| 3803 #if defined(OS_MACOSX) | 3804 #if defined(OS_MACOSX) |
| 3804 in_correct_mode_for_tab_fullscreen = window_->InPresentationMode(); | 3805 in_correct_mode_for_tab_fullscreen = window_->InPresentationMode(); |
| 3805 #else | 3806 #else |
| 3806 in_correct_mode_for_tab_fullscreen = window_->IsFullscreen(); | 3807 in_correct_mode_for_tab_fullscreen = window_->IsFullscreen(); |
| 3807 #endif | 3808 #endif |
| 3808 if (enter_fullscreen && !in_correct_mode_for_tab_fullscreen) | 3809 if (!in_correct_mode_for_tab_fullscreen) |
| 3809 tab_caused_fullscreen_ = true; | 3810 tab_caused_fullscreen_ = true; |
|
sky
2011/09/28 22:58:04
Does this need to be reset for the if (!enter_full
koz (OOO until 15th September)
2011/09/29 04:13:07
It should get reset by the call to Toggle{Presenta
yzshen1
2011/09/29 20:41:04
Yes. If currently fullscreen mode is on, Toggle{Pr
| |
| 3811 } | |
| 3812 | |
| 3810 if (tab_caused_fullscreen_) { | 3813 if (tab_caused_fullscreen_) { |
| 3811 #if defined(OS_MACOSX) | 3814 #if defined(OS_MACOSX) |
| 3812 TogglePresentationMode(); | 3815 TogglePresentationMode(); |
| 3813 #else | 3816 #else |
| 3814 ToggleFullscreenMode(); | 3817 ToggleFullscreenMode(); |
| 3815 #endif | 3818 #endif |
| 3819 } else if (!enter_fullscreen) { | |
| 3820 // If currently there is a tab in "tab fullscreen" mode and fullscreen was | |
| 3821 // not caused by it (i.e., previously it was in "browser fullscreen" mode), | |
| 3822 // we need to switch back to "browser fullscreen" mode. In this case, all we | |
| 3823 // have to do is notifying the tab that it has exited "tab fullscreen" mode. | |
| 3824 NotifyTabOfFullscreenExitIfNecessary(); | |
| 3816 } | 3825 } |
| 3817 } | 3826 } |
| 3818 | 3827 |
| 3828 bool Browser::IsFullscreenForTab(const TabContents* tab) const { | |
| 3829 const TabContentsWrapper* wrapper = | |
| 3830 TabContentsWrapper::GetCurrentWrapperForContents(tab); | |
| 3831 bool result = wrapper && wrapper == fullscreened_tab_; | |
| 3832 DCHECK(!result || tab == GetSelectedTabContents()); | |
| 3833 #if defined(OS_MACOSX) | |
| 3834 DCHECK(!result || window_->InPresentationMode()); | |
| 3835 #else | |
| 3836 DCHECK(!result || window_->IsFullscreen()); | |
| 3837 #endif | |
| 3838 | |
| 3839 return result; | |
| 3840 } | |
| 3841 | |
| 3819 void Browser::JSOutOfMemory(TabContents* tab) { | 3842 void Browser::JSOutOfMemory(TabContents* tab) { |
| 3820 JSOutOfMemoryHelper(tab); | 3843 JSOutOfMemoryHelper(tab); |
| 3821 } | 3844 } |
| 3822 | 3845 |
| 3823 void Browser::RegisterProtocolHandler(TabContents* tab, | 3846 void Browser::RegisterProtocolHandler(TabContents* tab, |
| 3824 const std::string& protocol, | 3847 const std::string& protocol, |
| 3825 const GURL& url, | 3848 const GURL& url, |
| 3826 const string16& title) { | 3849 const string16& title) { |
| 3827 RegisterProtocolHandlerHelper(tab, protocol, url, title); | 3850 RegisterProtocolHandlerHelper(tab, protocol, url, title); |
| 3828 } | 3851 } |
| (...skipping 1445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5274 } else if (is_type_tabbed()) { | 5297 } else if (is_type_tabbed()) { |
| 5275 GlobalErrorService* service = | 5298 GlobalErrorService* service = |
| 5276 GlobalErrorServiceFactory::GetForProfile(profile()); | 5299 GlobalErrorServiceFactory::GetForProfile(profile()); |
| 5277 GlobalError* error = service->GetFirstGlobalErrorWithBubbleView(); | 5300 GlobalError* error = service->GetFirstGlobalErrorWithBubbleView(); |
| 5278 if (error) { | 5301 if (error) { |
| 5279 error->ShowBubbleView(this); | 5302 error->ShowBubbleView(this); |
| 5280 did_show_bubble = true; | 5303 did_show_bubble = true; |
| 5281 } | 5304 } |
| 5282 } | 5305 } |
| 5283 } | 5306 } |
| OLD | NEW |