Index: chrome/browser/ui/views/frame/browser_view.cc |
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc |
index 6dbd50af445c3636cc2134c43d30b427acf14d99..64966b0398cf35741c33a41aff554a94f43923a1 100644 |
--- a/chrome/browser/ui/views/frame/browser_view.cc |
+++ b/chrome/browser/ui/views/frame/browser_view.cc |
@@ -439,9 +439,9 @@ BrowserView::BrowserView(Browser* browser) |
toolbar_(NULL), |
window_switcher_button_(NULL), |
infobar_container_(NULL), |
- contents_container_(NULL), |
+ contents_web_view_(NULL), |
devtools_container_(NULL), |
- contents_(NULL), |
+ contents_container_(NULL), |
contents_split_(NULL), |
devtools_dock_side_(DEVTOOLS_DOCK_SIDE_BOTTOM), |
devtools_window_(NULL), |
@@ -534,7 +534,7 @@ gfx::Rect BrowserView::GetToolbarBounds() const { |
} |
gfx::Rect BrowserView::GetClientAreaBounds() const { |
- gfx::Rect container_bounds = contents_->bounds(); |
+ gfx::Rect container_bounds = contents_container_->bounds(); |
gfx::Point container_origin = container_bounds.origin(); |
ConvertPointToTarget(this, parent(), &container_origin); |
container_bounds.set_origin(container_origin); |
@@ -574,6 +574,20 @@ bool BrowserView::IsOffTheRecord() const { |
return browser_->profile()->IsOffTheRecord(); |
} |
+int BrowserView::GetOTRIconResourceID() const { |
+ int otr_resource_id = IDR_OTR_ICON; |
+ if (ui::GetDisplayLayout() == ui::LAYOUT_TOUCH) { |
+ if (IsFullscreen()) |
+ otr_resource_id = IDR_OTR_ICON_FULLSCREEN; |
+#if defined(OS_WIN) |
+ if (win8::IsSingleWindowMetroMode()) |
+ otr_resource_id = IDR_OTR_ICON_FULLSCREEN; |
+#endif |
+ } |
+ |
+ return otr_resource_id; |
+} |
+ |
bool BrowserView::IsGuestSession() const { |
return browser_->profile()->IsGuestSession(); |
} |
@@ -596,30 +610,6 @@ bool BrowserView::ShouldShowAvatar() const { |
return AvatarMenuModel::ShouldShowAvatarMenu(); |
} |
-bool BrowserView::AcceleratorPressed(const ui::Accelerator& accelerator) { |
-#if defined(OS_CHROMEOS) |
- // If accessibility is enabled, stop speech and return false so that key |
- // combinations involving Search can be used for extra accessibility |
- // functionality. |
- if (accelerator.key_code() == ui::VKEY_LWIN && |
- g_browser_process->local_state()->GetBoolean( |
- prefs::kSpokenFeedbackEnabled)) { |
- TtsController::GetInstance()->Stop(); |
- return false; |
- } |
-#endif |
- |
- std::map<ui::Accelerator, int>::const_iterator iter = |
- accelerator_table_.find(accelerator); |
- DCHECK(iter != accelerator_table_.end()); |
- int command_id = iter->second; |
- |
- chrome::BrowserCommandController* controller = browser_->command_controller(); |
- if (!controller->block_command_execution()) |
- UpdateAcceleratorMetrics(accelerator, command_id); |
- return chrome::ExecuteCommand(browser_.get(), command_id); |
-} |
- |
bool BrowserView::GetAccelerator(int cmd_id, ui::Accelerator* accelerator) { |
// We retrieve the accelerator information for standard accelerators |
// for cut, copy and paste. |
@@ -697,7 +687,7 @@ void BrowserView::Show() { |
browser()->OnWindowDidShow(); |
- chrome::MaybeShowInvertBubbleView(browser_.get(), contents_); |
+ chrome::MaybeShowInvertBubbleView(browser_.get(), contents_container_); |
} |
void BrowserView::ShowInactive() { |
@@ -944,10 +934,10 @@ void BrowserView::ToolbarSizeChanged(bool is_animating) { |
bool use_fast_resize = |
is_animating || (call_state == REENTRANT_FORCE_FAST_RESIZE); |
if (use_fast_resize) |
- contents_container_->SetFastResize(true); |
+ contents_web_view_->SetFastResize(true); |
UpdateUIForContents(GetActiveWebContents()); |
if (use_fast_resize) |
- contents_container_->SetFastResize(false); |
+ contents_web_view_->SetFastResize(false); |
// Inform the InfoBarContainer that the distance to the location icon may have |
// changed. We have to do this after the block above so that the toolbars are |
@@ -979,7 +969,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating) { |
// call never needs to do this, because after it returns, the normal call |
// wrapping it will do it. |
if ((call_state == NORMAL) && !is_animating) { |
- contents_container_->InvalidateLayout(); |
+ contents_web_view_->InvalidateLayout(); |
contents_split_->Layout(); |
} |
} |
@@ -1296,9 +1286,9 @@ int BrowserView::GetExtraRenderViewHeight() const { |
} |
void BrowserView::WebContentsFocused(WebContents* contents) { |
- if (contents_container_->GetWebContents() == contents) |
- contents_container_->OnWebContentsFocused(contents); |
- else if (contents_->overlay_web_contents() == contents) |
+ if (contents_web_view_->GetWebContents() == contents) |
+ contents_web_view_->OnWebContentsFocused(contents); |
+ else if (contents_container_->overlay_web_contents() == contents) |
overlay_controller_->overlay()->OnWebContentsFocused(contents); |
else |
devtools_container_->OnWebContentsFocused(contents); |
@@ -1442,7 +1432,7 @@ void BrowserView::Paste() { |
} |
gfx::Rect BrowserView::GetInstantBounds() { |
- return contents_->GetOverlayBounds(); |
+ return contents_container_->GetOverlayBounds(); |
} |
WindowOpenDisposition BrowserView::GetDispositionForPopupBounds( |
@@ -1475,7 +1465,7 @@ LocationBarView* BrowserView::GetLocationBarView() const { |
} |
views::View* BrowserView::GetTabContentsContainerView() const { |
- return contents_container_; |
+ return contents_web_view_; |
} |
ToolbarView* BrowserView::GetToolbarView() const { |
@@ -1493,7 +1483,7 @@ void BrowserView::TabDetachedAt(WebContents* contents, int index) { |
// We need to reset the current tab contents to NULL before it gets |
// freed. This is because the focus manager performs some operations |
// on the selected WebContents when it is removed. |
- contents_container_->SetWebContents(NULL); |
+ contents_web_view_->SetWebContents(NULL); |
infobar_container_->ChangeInfoBarService(NULL); |
UpdateDevToolsForContents(NULL); |
} |
@@ -1514,10 +1504,10 @@ void BrowserView::ActiveTabChanged(content::WebContents* old_contents, |
DCHECK(new_contents); |
// See if the Instant overlay is being activated (committed). |
- if (contents_->overlay_web_contents() == new_contents) { |
- contents_->MakeOverlayContentsActiveContents(); |
- views::WebView* old_container = contents_container_; |
- contents_container_ = overlay_controller_->release_overlay(); |
+ if (contents_container_->overlay_web_contents() == new_contents) { |
+ contents_container_->MakeOverlayContentsActiveContents(); |
+ views::WebView* old_container = contents_web_view_; |
+ contents_web_view_ = overlay_controller_->release_overlay(); |
old_container->SetWebContents(NULL); |
delete old_container; |
} |
@@ -1527,7 +1517,7 @@ void BrowserView::ActiveTabChanged(content::WebContents* old_contents, |
// Visibility API under Windows, as ChangeWebContents will briefly hide |
// the WebContents window. |
bool change_tab_contents = |
- contents_container_->web_contents() != new_contents; |
+ contents_web_view_->web_contents() != new_contents; |
// Update various elements that are interested in knowing the current |
// WebContents. |
@@ -1536,7 +1526,7 @@ void BrowserView::ActiveTabChanged(content::WebContents* old_contents, |
// we don't want any WebContents to be attached, so that we |
// avoid an unnecessary resize and re-layout of a WebContents. |
if (change_tab_contents) |
- contents_container_->SetWebContents(NULL); |
+ contents_web_view_->SetWebContents(NULL); |
infobar_container_->ChangeInfoBarService( |
InfoBarService::FromWebContents(new_contents)); |
if (bookmark_bar_view_.get()) { |
@@ -1551,8 +1541,8 @@ void BrowserView::ActiveTabChanged(content::WebContents* old_contents, |
UpdateDevToolsForContents(new_contents); |
if (change_tab_contents) { |
- contents_container_->SetWebContents(new_contents); |
- contents_->MaybeStackOverlayAtTop(); |
+ contents_web_view_->SetWebContents(new_contents); |
+ contents_container_->MaybeStackOverlayAtTop(); |
} |
if (!browser_->tab_strip_model()->closing_all() && GetWidget()->IsActive() && |
@@ -1780,7 +1770,7 @@ bool BrowserView::GetSavedWindowPlacement( |
} |
views::View* BrowserView::GetContentsView() { |
- return contents_container_; |
+ return contents_web_view_; |
} |
views::ClientView* BrowserView::CreateClientView(views::Widget* widget) { |
@@ -1947,7 +1937,34 @@ void BrowserView::GetAccessibleState(ui::AccessibleViewState* state) { |
} |
/////////////////////////////////////////////////////////////////////////////// |
-// BrowserView, protected |
+// BrowserView, ui::AcceleratorTarget overrides: |
+ |
+bool BrowserView::AcceleratorPressed(const ui::Accelerator& accelerator) { |
+#if defined(OS_CHROMEOS) |
+ // If accessibility is enabled, stop speech and return false so that key |
+ // combinations involving Search can be used for extra accessibility |
+ // functionality. |
+ if (accelerator.key_code() == ui::VKEY_LWIN && |
+ g_browser_process->local_state()->GetBoolean( |
+ prefs::kSpokenFeedbackEnabled)) { |
+ TtsController::GetInstance()->Stop(); |
+ return false; |
+ } |
+#endif |
+ |
+ std::map<ui::Accelerator, int>::const_iterator iter = |
+ accelerator_table_.find(accelerator); |
+ DCHECK(iter != accelerator_table_.end()); |
+ int command_id = iter->second; |
+ |
+ chrome::BrowserCommandController* controller = browser_->command_controller(); |
+ if (!controller->block_command_execution()) |
+ UpdateAcceleratorMetrics(accelerator, command_id); |
+ return chrome::ExecuteCommand(browser_.get(), command_id); |
+} |
+ |
+/////////////////////////////////////////////////////////////////////////////// |
+// BrowserView, private |
void BrowserView::GetAccessiblePanes( |
std::vector<views::AccessiblePaneView*>* panes) { |
@@ -1995,21 +2012,7 @@ bool BrowserView::SplitHandleMoved(views::SingleSplitView* sender) { |
} |
void BrowserView::OnSysColorChange() { |
- chrome::MaybeShowInvertBubbleView(browser_.get(), contents_); |
-} |
- |
-int BrowserView::GetOTRIconResourceID() const { |
- int otr_resource_id = IDR_OTR_ICON; |
- if (ui::GetDisplayLayout() == ui::LAYOUT_TOUCH) { |
- if (IsFullscreen()) |
- otr_resource_id = IDR_OTR_ICON_FULLSCREEN; |
-#if defined(OS_WIN) |
- if (win8::IsSingleWindowMetroMode()) |
- otr_resource_id = IDR_OTR_ICON_FULLSCREEN; |
-#endif |
- } |
- |
- return otr_resource_id; |
+ chrome::MaybeShowInvertBubbleView(browser_.get(), contents_container_); |
} |
void BrowserView::Init() { |
@@ -2041,12 +2044,12 @@ void BrowserView::Init() { |
browser()->search_model()); |
AddChildView(infobar_container_); |
- contents_container_ = new views::WebView(browser_->profile()); |
- contents_container_->set_id(VIEW_ID_TAB_CONTAINER); |
- contents_ = new ContentsContainer(contents_container_, this); |
+ contents_web_view_ = new views::WebView(browser_->profile()); |
+ contents_web_view_->set_id(VIEW_ID_TAB_CONTAINER); |
+ contents_container_ = new ContentsContainer(contents_web_view_, this); |
overlay_controller_.reset( |
- new InstantOverlayControllerViews(browser(), contents_)); |
+ new InstantOverlayControllerViews(browser(), contents_container_)); |
SkColor bg_color = GetWidget()->GetThemeProvider()-> |
GetColor(ThemeProperties::COLOR_TOOLBAR); |
@@ -2055,10 +2058,10 @@ void BrowserView::Init() { |
devtools_container_->set_id(VIEW_ID_DEV_TOOLS_DOCKED); |
devtools_container_->SetVisible(false); |
- views::View* contents_view = contents_; |
+ views::View* contents_container_view = contents_container_; |
contents_split_ = new views::SingleSplitView( |
- contents_view, |
+ contents_container_view, |
devtools_container_, |
views::SingleSplitView::VERTICAL_SPLIT, |
this); |
@@ -2070,7 +2073,7 @@ void BrowserView::Init() { |
AddChildView(contents_split_); |
set_contents_view(contents_split_); |
- status_bubble_.reset(new StatusBubbleViews(contents_)); |
+ status_bubble_.reset(new StatusBubbleViews(contents_container_)); |
// Top container holds tab strip and toolbar and lives at the front of the |
// view hierarchy. |
@@ -2135,8 +2138,6 @@ void BrowserView::OnLoadCompleted() { |
#endif |
} |
-// BrowserView, private -------------------------------------------------------- |
- |
BrowserViewLayout* BrowserView::GetBrowserViewLayout() const { |
return static_cast<BrowserViewLayout*>(GetLayoutManager()); |
} |