Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Side by Side Diff: chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc

Issue 9835013: Ash: Don't show window icon or title for app windows (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: move to BrowserView, add line Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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/views/frame/browser_non_client_frame_view_aura.h" 5 #include "chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.h"
6 6
7 #include "ash/wm/frame_painter.h" 7 #include "ash/wm/frame_painter.h"
8 #include "ash/wm/workspace/frame_maximize_button.h" 8 #include "ash/wm/workspace/frame_maximize_button.h"
9 #include "chrome/browser/themes/theme_service.h" 9 #include "chrome/browser/themes/theme_service.h"
10 #include "chrome/browser/ui/views/avatar_menu_button.h" 10 #include "chrome/browser/ui/views/avatar_menu_button.h"
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 174
175 void BrowserNonClientFrameViewAura::OnPaint(gfx::Canvas* canvas) { 175 void BrowserNonClientFrameViewAura::OnPaint(gfx::Canvas* canvas) {
176 if (frame()->IsFullscreen()) 176 if (frame()->IsFullscreen())
177 return; // Nothing visible, don't paint. 177 return; // Nothing visible, don't paint.
178 // The primary header image changes based on window activation state and 178 // The primary header image changes based on window activation state and
179 // theme, so we look it up for each paint. 179 // theme, so we look it up for each paint.
180 frame_painter_->PaintHeader(this, 180 frame_painter_->PaintHeader(this,
181 canvas, 181 canvas,
182 GetThemeFrameBitmap(), 182 GetThemeFrameBitmap(),
183 GetThemeFrameOverlayBitmap()); 183 GetThemeFrameOverlayBitmap());
184 frame_painter_->PaintTitleBar(this, canvas, BrowserFrame::GetTitleFont()); 184 if (browser_view()->ShouldShowWindowTitle())
185 frame_painter_->PaintTitleBar(this, canvas, BrowserFrame::GetTitleFont());
185 if (browser_view()->IsToolbarVisible()) 186 if (browser_view()->IsToolbarVisible())
186 PaintToolbarBackground(canvas); 187 PaintToolbarBackground(canvas);
188 else
189 PaintContentEdge(canvas);
187 } 190 }
188 191
189 void BrowserNonClientFrameViewAura::Layout() { 192 void BrowserNonClientFrameViewAura::Layout() {
190 // Maximized windows and app/popup windows use shorter buttons. 193 // Maximized windows and app/popup windows use shorter buttons.
191 bool maximized_layout = 194 bool maximized_layout =
192 frame()->IsMaximized() || !browser_view()->IsBrowserTypeNormal(); 195 frame()->IsMaximized() || !browser_view()->IsBrowserTypeNormal();
193 frame_painter_->LayoutHeader(this, maximized_layout); 196 frame_painter_->LayoutHeader(this, maximized_layout);
194 if (avatar_button()) 197 if (avatar_button())
195 LayoutAvatar(); 198 LayoutAvatar();
196 BrowserNonClientFrameView::Layout(); 199 BrowserNonClientFrameView::Layout();
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 /////////////////////////////////////////////////////////////////////////////// 270 ///////////////////////////////////////////////////////////////////////////////
268 // BrowserNonClientFrameViewAura, private: 271 // BrowserNonClientFrameViewAura, private:
269 272
270 273
271 int BrowserNonClientFrameViewAura::NonClientTopBorderHeight( 274 int BrowserNonClientFrameViewAura::NonClientTopBorderHeight(
272 bool force_restored) const { 275 bool force_restored) const {
273 if (force_restored) 276 if (force_restored)
274 return kTabstripTopSpacingRestored; 277 return kTabstripTopSpacingRestored;
275 if (frame()->IsFullscreen()) 278 if (frame()->IsFullscreen())
276 return 0; 279 return 0;
277 if (frame()->IsMaximized()) 280 // Windows with tab strips need a smaller non-client area.
278 return kTabstripTopSpacingMaximized; 281 if (browser_view()->IsTabStripVisible()) {
279 if (frame()->widget_delegate() && 282 if (frame()->IsMaximized())
280 frame()->widget_delegate()->ShouldShowWindowTitle()) { 283 return kTabstripTopSpacingMaximized;
281 // For popups ensure we have enough space to see the full window buttons. 284 return kTabstripTopSpacingRestored;
282 return close_button_->bounds().bottom();
283 } 285 }
284 return kTabstripTopSpacingRestored; 286 // For windows without a tab strip (popups, etc.) ensure we have enough space
287 // to see the window caption buttons and the content separator line.
288 return close_button_->bounds().bottom() + kClientEdgeThickness;
285 } 289 }
286 290
287 void BrowserNonClientFrameViewAura::LayoutAvatar() { 291 void BrowserNonClientFrameViewAura::LayoutAvatar() {
288 DCHECK(avatar_button()); 292 DCHECK(avatar_button());
289 SkBitmap incognito_icon = browser_view()->GetOTRAvatarIcon(); 293 SkBitmap incognito_icon = browser_view()->GetOTRAvatarIcon();
290 294
291 int avatar_bottom = GetHorizontalTabStripVerticalOffset(false) + 295 int avatar_bottom = GetHorizontalTabStripVerticalOffset(false) +
292 browser_view()->GetTabStripHeight() - kAvatarBottomSpacing; 296 browser_view()->GetTabStripHeight() - kAvatarBottomSpacing;
293 int avatar_restored_y = avatar_bottom - incognito_icon.height(); 297 int avatar_restored_y = avatar_bottom - incognito_icon.height();
294 int avatar_y = frame()->IsMaximized() ? 298 int avatar_y = frame()->IsMaximized() ?
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 w, split_point + kContentShadowHeight + 1); 355 w, split_point + kContentShadowHeight + 1);
352 356
353 // Draw the content/toolbar separator. 357 // Draw the content/toolbar separator.
354 canvas->FillRect(gfx::Rect(x + kClientEdgeThickness, 358 canvas->FillRect(gfx::Rect(x + kClientEdgeThickness,
355 toolbar_bounds.bottom() - kClientEdgeThickness, 359 toolbar_bounds.bottom() - kClientEdgeThickness,
356 w - (2 * kClientEdgeThickness), 360 w - (2 * kClientEdgeThickness),
357 kClientEdgeThickness), 361 kClientEdgeThickness),
358 ThemeService::GetDefaultColor(ThemeService::COLOR_TOOLBAR_SEPARATOR)); 362 ThemeService::GetDefaultColor(ThemeService::COLOR_TOOLBAR_SEPARATOR));
359 } 363 }
360 364
365 void BrowserNonClientFrameViewAura::PaintContentEdge(gfx::Canvas* canvas) {
366 canvas->FillRect(gfx::Rect(0, close_button_->bounds().bottom(),
367 width(), kClientEdgeThickness),
368 ThemeService::GetDefaultColor(ThemeService::COLOR_TOOLBAR_SEPARATOR));
369 }
370
361 const SkBitmap* BrowserNonClientFrameViewAura::GetThemeFrameBitmap() const { 371 const SkBitmap* BrowserNonClientFrameViewAura::GetThemeFrameBitmap() const {
362 bool is_incognito = browser_view()->IsOffTheRecord(); 372 bool is_incognito = browser_view()->IsOffTheRecord();
363 int resource_id; 373 int resource_id;
364 if (browser_view()->IsBrowserTypeNormal()) { 374 if (browser_view()->IsBrowserTypeNormal()) {
365 if (ShouldPaintAsActive()) { 375 if (ShouldPaintAsActive()) {
366 // Use the standard resource ids to allow users to theme the frames. 376 // Use the standard resource ids to allow users to theme the frames.
367 // TODO(jamescook): If this becomes the only frame we use on Aura, define 377 // TODO(jamescook): If this becomes the only frame we use on Aura, define
368 // the resources to use the standard ids like IDR_THEME_FRAME, etc. 378 // the resources to use the standard ids like IDR_THEME_FRAME, etc.
369 if (is_incognito) { 379 if (is_incognito) {
370 return GetCustomBitmap(IDR_THEME_FRAME_INCOGNITO, 380 return GetCustomBitmap(IDR_THEME_FRAME_INCOGNITO,
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 } 417 }
408 418
409 SkBitmap* BrowserNonClientFrameViewAura::GetCustomBitmap( 419 SkBitmap* BrowserNonClientFrameViewAura::GetCustomBitmap(
410 int bitmap_id, 420 int bitmap_id,
411 int fallback_bitmap_id) const { 421 int fallback_bitmap_id) const {
412 ui::ThemeProvider* tp = GetThemeProvider(); 422 ui::ThemeProvider* tp = GetThemeProvider();
413 if (tp->HasCustomImage(bitmap_id)) 423 if (tp->HasCustomImage(bitmap_id))
414 return tp->GetBitmapNamed(bitmap_id); 424 return tp->GetBitmapNamed(bitmap_id);
415 return tp->GetBitmapNamed(fallback_bitmap_id); 425 return tp->GetBitmapNamed(fallback_bitmap_id);
416 } 426 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.h ('k') | chrome/browser/ui/views/frame/browser_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698