Index: chrome/browser/ui/views/frame/opaque_browser_frame_view.cc |
=================================================================== |
--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc (revision 85284) |
+++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc (working copy) |
@@ -138,7 +138,7 @@ |
window_icon_(NULL), |
frame_(frame), |
browser_view_(browser_view) { |
- ui::ThemeProvider* tp = frame_->GetThemeProviderForFrame(); |
+ ui::ThemeProvider* tp = frame_->GetThemeProvider(); |
SkColor color = tp->GetColor(ThemeService::COLOR_BUTTON_BACKGROUND); |
SkBitmap* background = |
tp->GetBitmapNamed(IDR_THEME_WINDOW_CONTROL_BACKGROUND); |
@@ -243,8 +243,7 @@ |
int OpaqueBrowserFrameView::NonClientTopBorderHeight( |
bool restored, |
bool ignore_vertical_tabs) const { |
- views::Window* window = frame_->GetWindow(); |
- views::WindowDelegate* delegate = window->window_delegate(); |
+ views::WindowDelegate* delegate = frame_->window_delegate(); |
// |delegate| may be NULL if called from callback of InputMethodChanged while |
// a window is being destroyed. |
// See more discussion at http://crosbug.com/8958 |
@@ -258,7 +257,7 @@ |
return FrameBorderThickness(restored) - |
((browser_view_->IsTabStripVisible() && !restored && |
- window->IsMaximized()) ? kTabstripTopShadowThickness : 0); |
+ frame_->IsMaximized()) ? kTabstripTopShadowThickness : 0); |
} |
/////////////////////////////////////////////////////////////////////////////// |
@@ -287,7 +286,7 @@ |
profile_button_->GetPreferredSize().width() + |
ProfileMenuButton::kProfileTagHorizontalSpacing : 0); |
int tabstrip_width = minimize_button_->x() - tabstrip_x - |
- (frame_->GetWindow()->IsMaximized() ? |
+ (frame_->IsMaximized() ? |
maximized_spacing : kNewTabCaptionRestoredSpacing); |
int tabstrip_height = 0; |
if (tabstrip) |
@@ -299,8 +298,8 @@ |
int OpaqueBrowserFrameView::GetHorizontalTabStripVerticalOffset( |
bool restored) const { |
return NonClientTopBorderHeight(restored, true) + ((!restored && |
- (frame_->GetWindow()->IsMaximized() || |
- frame_->GetWindow()->IsFullscreen())) ? |
+ (frame_->IsMaximized() || |
+ frame_->IsFullscreen())) ? |
0 : kNonClientRestoredExtraThickness); |
} |
@@ -315,7 +314,7 @@ |
min_size.Enlarge(2 * border_thickness, |
NonClientTopBorderHeight(false, false) + border_thickness); |
- views::WindowDelegate* delegate = frame_->GetWindow()->window_delegate(); |
+ views::WindowDelegate* delegate = frame_->window_delegate(); |
int min_titlebar_width = (2 * FrameBorderThickness(false)) + |
kIconLeftSpacing + |
(delegate && delegate->ShouldShowWindowIcon() ? |
@@ -360,14 +359,14 @@ |
return HTNOWHERE; |
int frame_component = |
- frame_->GetWindow()->client_view()->NonClientHitTest(point); |
+ frame_->client_view()->NonClientHitTest(point); |
// See if we're in the sysmenu region. We still have to check the tabstrip |
// first so that clicks in a tab don't get treated as sysmenu clicks. |
gfx::Rect sysmenu_rect(IconBounds()); |
// In maximized mode we extend the rect to the screen corner to take advantage |
// of Fitts' Law. |
- if (frame_->GetWindow()->IsMaximized()) |
+ if (frame_->IsMaximized()) |
sysmenu_rect.SetRect(0, 0, sysmenu_rect.right(), sysmenu_rect.bottom()); |
sysmenu_rect.set_x(GetMirroredXForRect(sysmenu_rect)); |
if (sysmenu_rect.Contains(point)) |
@@ -395,7 +394,7 @@ |
profile_button_->GetMirroredBounds().Contains(point)) |
return HTCLIENT; |
- views::WindowDelegate* delegate = frame_->GetWindow()->window_delegate(); |
+ views::WindowDelegate* delegate = frame_->window_delegate(); |
if (!delegate) { |
LOG(WARNING) << "delegate is NULL, returning safe default."; |
return HTCAPTION; |
@@ -411,7 +410,7 @@ |
gfx::Path* window_mask) { |
DCHECK(window_mask); |
- if (frame_->GetWindow()->IsMaximized() || frame_->GetWindow()->IsFullscreen()) |
+ if (frame_->IsMaximized() || frame_->IsFullscreen()) |
return; |
views::GetDefaultWindowMask(size, window_mask); |
@@ -447,11 +446,10 @@ |
// OpaqueBrowserFrameView, views::View overrides: |
void OpaqueBrowserFrameView::OnPaint(gfx::Canvas* canvas) { |
- views::Window* window = frame_->GetWindow(); |
- if (window->IsFullscreen()) |
+ if (frame_->IsFullscreen()) |
return; // Nothing is visible, so don't bother to paint. |
- if (window->IsMaximized()) |
+ if (frame_->IsMaximized()) |
PaintMaximizedFrameBorder(canvas); |
else |
PaintRestoredFrameBorder(canvas); |
@@ -461,7 +459,7 @@ |
PaintToolbarBackground(canvas); |
if (browser_view_->ShouldShowOffTheRecordAvatar()) |
PaintOTRAvatar(canvas); |
- if (!window->IsMaximized()) |
+ if (!frame_->IsMaximized()) |
PaintRestoredClientEdge(canvas); |
} |
@@ -483,8 +481,7 @@ |
bool vertical_tabs = browser_view_->UseVerticalTabs(); |
gfx::Rect tabstrip_bounds = GetBoundsForTabStrip(browser_view_->tabstrip()); |
gfx::Point tabstrip_origin(tabstrip_bounds.origin()); |
- View::ConvertPointToView(frame_->GetWindow()->client_view(), |
- this, &tabstrip_origin); |
+ View::ConvertPointToView(frame_->client_view(), this, &tabstrip_origin); |
tabstrip_bounds.set_origin(tabstrip_origin); |
if ((!vertical_tabs && l.y() > tabstrip_bounds.bottom()) || |
(vertical_tabs && l.x() > tabstrip_bounds.right())) { |
@@ -494,13 +491,13 @@ |
// Claim it only if we're also not in the compact navigation buttons. |
if (browser_view_->UseCompactNavigationBar()) { |
if (ConvertedContainsCheck(browser_view_->GetCompactNavigationBarBounds(), |
- frame_->GetWindow()->client_view(), |
+ frame_->client_view(), |
static_cast<const View*>(this), |
l)) { |
return false; |
} |
if (ConvertedContainsCheck(browser_view_->GetCompactOptionsBarBounds(), |
- frame_->GetWindow()->client_view(), |
+ frame_->client_view(), |
static_cast<const View*>(this), |
l)) { |
return false; |
@@ -525,15 +522,14 @@ |
void OpaqueBrowserFrameView::ButtonPressed(views::Button* sender, |
const views::Event& event) { |
- views::Window* window = frame_->GetWindow(); |
if (sender == minimize_button_) |
- window->Minimize(); |
+ frame_->Minimize(); |
else if (sender == maximize_button_) |
- window->Maximize(); |
+ frame_->Maximize(); |
else if (sender == restore_button_) |
- window->Restore(); |
+ frame_->Restore(); |
else if (sender == close_button_) |
- window->CloseWindow(); |
+ frame_->Close(); |
} |
/////////////////////////////////////////////////////////////////////////////// |
@@ -548,7 +544,7 @@ |
} |
SkBitmap OpaqueBrowserFrameView::GetFaviconForTabIconView() { |
- views::WindowDelegate* delegate = frame_->GetWindow()->window_delegate(); |
+ views::WindowDelegate* delegate = frame_->window_delegate(); |
if (!delegate) { |
LOG(WARNING) << "delegate is NULL, returning safe default."; |
return SkBitmap(); |
@@ -572,8 +568,7 @@ |
// OpaqueBrowserFrameView, private: |
int OpaqueBrowserFrameView::FrameBorderThickness(bool restored) const { |
- views::Window* window = frame_->GetWindow(); |
- return (!restored && (window->IsMaximized() || window->IsFullscreen())) ? |
+ return (!restored && (frame_->IsMaximized() || frame_->IsFullscreen())) ? |
0 : kFrameBorderThickness; |
} |
@@ -583,9 +578,8 @@ |
int OpaqueBrowserFrameView::NonClientBorderThickness() const { |
// When we fill the screen, we don't show a client edge. |
- views::Window* window = frame_->GetWindow(); |
return FrameBorderThickness(false) + |
- ((window->IsMaximized() || window->IsFullscreen()) ? |
+ ((frame_->IsMaximized() || frame_->IsFullscreen()) ? |
0 : kClientEdgeThickness); |
} |
@@ -596,14 +590,13 @@ |
int OpaqueBrowserFrameView::CaptionButtonY(bool restored) const { |
// Maximized buttons start at window top so that even if their images aren't |
// drawn flush with the screen edge, they still obey Fitts' Law. |
- return (!restored && frame_->GetWindow()->IsMaximized()) ? |
+ return (!restored && frame_->IsMaximized()) ? |
FrameBorderThickness(false) : kFrameShadowThickness; |
} |
int OpaqueBrowserFrameView::TitlebarBottomThickness(bool restored) const { |
return kTitlebarTopAndBottomEdgeThickness + |
- ((!restored && frame_->GetWindow()->IsMaximized()) ? |
- 0 : kClientEdgeThickness); |
+ ((!restored && frame_->IsMaximized()) ? 0 : kClientEdgeThickness); |
} |
int OpaqueBrowserFrameView::IconSize() const { |
@@ -620,7 +613,7 @@ |
int size = IconSize(); |
int frame_thickness = FrameBorderThickness(false); |
int y; |
- views::WindowDelegate* delegate = frame_->GetWindow()->window_delegate(); |
+ views::WindowDelegate* delegate = frame_->window_delegate(); |
if (delegate && (delegate->ShouldShowWindowIcon() || |
delegate->ShouldShowWindowTitle())) { |
// Our frame border has a different "3D look" than Windows'. Theirs has a |
@@ -631,7 +624,7 @@ |
// with restored windows, so when the window is restored, instead of |
// calculating the remaining space from below the frame border, we calculate |
// from below the 3D edge. |
- int unavailable_px_at_top = frame_->GetWindow()->IsMaximized() ? |
+ int unavailable_px_at_top = frame_->IsMaximized() ? |
frame_thickness : kTitlebarTopAndBottomEdgeThickness; |
// When the icon is shorter than the minimum space we reserve for the |
// caption button, we vertically center it. We want to bias rounding to put |
@@ -768,8 +761,6 @@ |
void OpaqueBrowserFrameView::PaintMaximizedFrameBorder(gfx::Canvas* canvas) { |
ui::ThemeProvider* tp = GetThemeProvider(); |
- views::Window* window = frame_->GetWindow(); |
- |
// Window frame mode and color |
SkBitmap* theme_frame; |
@@ -828,13 +819,13 @@ |
tp->GetBitmapNamed(IDR_APP_TOP_CENTER); |
int edge_height = top_center->height() - kClientEdgeThickness; |
canvas->TileImageInt(*top_center, 0, |
- window->client_view()->y() - edge_height, width(), edge_height); |
+ frame_->client_view()->y() - edge_height, width(), edge_height); |
} |
} |
void OpaqueBrowserFrameView::PaintTitleBar(gfx::Canvas* canvas) { |
// The window icon is painted by the TabIconView. |
- views::WindowDelegate* delegate = frame_->GetWindow()->window_delegate(); |
+ views::WindowDelegate* delegate = frame_->window_delegate(); |
if (!delegate) { |
LOG(WARNING) << "delegate is NULL"; |
return; |
@@ -986,7 +977,7 @@ |
void OpaqueBrowserFrameView::PaintRestoredClientEdge(gfx::Canvas* canvas) { |
ui::ThemeProvider* tp = GetThemeProvider(); |
- int client_area_top = frame_->GetWindow()->client_view()->y(); |
+ int client_area_top = frame_->client_view()->y(); |
int image_top = client_area_top; |
gfx::Rect client_area_bounds = CalculateClientAreaBounds(width(), height()); |
@@ -1072,7 +1063,7 @@ |
} |
void OpaqueBrowserFrameView::LayoutWindowControls() { |
- bool is_maximized = frame_->GetWindow()->IsMaximized(); |
+ bool is_maximized = frame_->IsMaximized(); |
close_button_->SetImageAlignment(views::ImageButton::ALIGN_LEFT, |
views::ImageButton::ALIGN_BOTTOM); |
int caption_y = CaptionButtonY(false); |
@@ -1095,7 +1086,7 @@ |
// as maximized mode. |
// TODO(oshima): Optimize the relayout logic to defer the frame view's |
// relayout until it is necessary, i.e when it becomes visible. |
- if (is_maximized || frame_->GetWindow()->IsFullscreen()) { |
+ if (is_maximized || frame_->IsFullscreen()) { |
minimize_button_->SetVisible(false); |
restore_button_->SetVisible(false); |
maximize_button_->SetVisible(false); |
@@ -1121,7 +1112,7 @@ |
// When the window is restored, we show a maximized button; otherwise, we show |
// a restore button. |
- bool is_restored = !is_maximized && !frame_->GetWindow()->IsMinimized(); |
+ bool is_restored = !is_maximized && !frame_->IsMinimized(); |
views::ImageButton* invisible_button = is_restored ? |
restore_button_ : maximize_button_; |
invisible_button->SetVisible(false); |
@@ -1150,7 +1141,7 @@ |
// The window title is based on the calculated icon position, even when there |
// is no icon. |
gfx::Rect icon_bounds(IconBounds()); |
- views::WindowDelegate* delegate = frame_->GetWindow()->window_delegate(); |
+ views::WindowDelegate* delegate = frame_->window_delegate(); |
if (delegate && delegate->ShouldShowWindowIcon()) |
window_icon_->SetBoundsRect(icon_bounds); |
@@ -1182,7 +1173,7 @@ |
browser_view_->GetTabStripHeight() - kOTRBottomSpacing; |
otr_restored_y = otr_bottom - otr_avatar_icon.height(); |
} |
- int otr_y = frame_->GetWindow()->IsMaximized() ? |
+ int otr_y = frame_->IsMaximized() ? |
(NonClientTopBorderHeight(false, true) + kTabstripTopShadowThickness) : |
otr_restored_y; |
otr_avatar_bounds_.SetRect(NonClientBorderThickness() + kOTRSideSpacing, |
@@ -1215,7 +1206,7 @@ |
profile_button_->GetPreferredSize().width(); |
// Adjust for different default font sizes on different Windows platforms. |
int y_tag = profile_button_->font().GetHeight() < 14 ? 2 : 0; |
- int y_maximized_offset = frame_->GetWindow()->IsMaximized() ? |
+ int y_maximized_offset = frame_->IsMaximized() ? |
kProfileElementMaximizedYOffset : 0; |
profile_button_->SetBounds( |
x_tag, |