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

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

Issue 9773009: Disable left/right/maximize for panels. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase 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
« no previous file with comments | « chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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"
11 #include "chrome/browser/ui/views/frame/browser_frame.h" 11 #include "chrome/browser/ui/views/frame/browser_frame.h"
12 #include "chrome/browser/ui/views/frame/browser_view.h" 12 #include "chrome/browser/ui/views/frame/browser_view.h"
13 #include "content/public/browser/web_contents.h" 13 #include "content/public/browser/web_contents.h"
14 #include "grit/generated_resources.h" // Accessibility names 14 #include "grit/generated_resources.h" // Accessibility names
15 #include "grit/theme_resources.h" 15 #include "grit/theme_resources.h"
16 #include "grit/theme_resources_standard.h" 16 #include "grit/theme_resources_standard.h"
17 #include "grit/ui_resources.h" 17 #include "grit/ui_resources.h"
18 #include "ui/aura/window.h"
19 #include "ui/aura/client/aura_constants.h"
18 #include "ui/base/accessibility/accessible_view_state.h" 20 #include "ui/base/accessibility/accessible_view_state.h"
19 #include "ui/base/hit_test.h" 21 #include "ui/base/hit_test.h"
20 #include "ui/base/l10n/l10n_util.h" 22 #include "ui/base/l10n/l10n_util.h"
21 #include "ui/base/resource/resource_bundle.h" 23 #include "ui/base/resource/resource_bundle.h"
22 #include "ui/base/theme_provider.h" 24 #include "ui/base/theme_provider.h"
23 #include "ui/gfx/canvas.h" 25 #include "ui/gfx/canvas.h"
24 #include "ui/views/controls/button/image_button.h" 26 #include "ui/views/controls/button/image_button.h"
25 #include "ui/views/widget/widget.h" 27 #include "ui/views/widget/widget.h"
26 #include "ui/views/widget/widget_delegate.h" 28 #include "ui/views/widget/widget_delegate.h"
27 29
(...skipping 27 matching lines...) Expand all
55 57
56 /////////////////////////////////////////////////////////////////////////////// 58 ///////////////////////////////////////////////////////////////////////////////
57 // BrowserNonClientFrameViewAura, public: 59 // BrowserNonClientFrameViewAura, public:
58 60
59 BrowserNonClientFrameViewAura::BrowserNonClientFrameViewAura( 61 BrowserNonClientFrameViewAura::BrowserNonClientFrameViewAura(
60 BrowserFrame* frame, BrowserView* browser_view) 62 BrowserFrame* frame, BrowserView* browser_view)
61 : BrowserNonClientFrameView(frame, browser_view), 63 : BrowserNonClientFrameView(frame, browser_view),
62 maximize_button_(NULL), 64 maximize_button_(NULL),
63 close_button_(NULL), 65 close_button_(NULL),
64 window_icon_(NULL), 66 window_icon_(NULL),
65 frame_painter_(new ash::FramePainter) { 67 frame_painter_(new ash::FramePainter),
68 allow_maximize_(true) {
66 } 69 }
67 70
68 BrowserNonClientFrameViewAura::~BrowserNonClientFrameViewAura() { 71 BrowserNonClientFrameViewAura::~BrowserNonClientFrameViewAura() {
69 } 72 }
70 73
71 void BrowserNonClientFrameViewAura::Init() { 74 void BrowserNonClientFrameViewAura::Init() {
72 // Caption buttons. 75 // Caption buttons.
73 maximize_button_ = new ash::FrameMaximizeButton(this, this); 76 ash::FrameMaximizeButton* maximize_button =
77 new ash::FrameMaximizeButton(this, this);
78 maximize_button_ = maximize_button;
79 // Disable snap left/right and maximize for Panels.
80 if (browser_view()->browser()->is_type_panel() &&
81 browser_view()->browser()->app_type() == Browser::APP_TYPE_CHILD) {
82 allow_maximize_ = false;
83 maximize_button->SetIsLeftRightEnabled(false);
84 maximize_button->set_is_maximize_enabled(false);
85 }
74 maximize_button_->SetAccessibleName( 86 maximize_button_->SetAccessibleName(
75 l10n_util::GetStringUTF16(IDS_ACCNAME_MAXIMIZE)); 87 l10n_util::GetStringUTF16(IDS_ACCNAME_MAXIMIZE));
76 AddChildView(maximize_button_); 88 AddChildView(maximize_button_);
77 close_button_ = new views::ImageButton(this); 89 close_button_ = new views::ImageButton(this);
78 close_button_->SetAccessibleName( 90 close_button_->SetAccessibleName(
79 l10n_util::GetStringUTF16(IDS_ACCNAME_CLOSE)); 91 l10n_util::GetStringUTF16(IDS_ACCNAME_CLOSE));
80 AddChildView(close_button_); 92 AddChildView(close_button_);
81 93
82 // Initializing the TabIconView is expensive, so only do it if we need to. 94 // Initializing the TabIconView is expensive, so only do it if we need to.
83 if (browser_view()->ShouldShowWindowIcon()) { 95 if (browser_view()->ShouldShowWindowIcon()) {
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 } 244 }
233 245
234 /////////////////////////////////////////////////////////////////////////////// 246 ///////////////////////////////////////////////////////////////////////////////
235 // views::ButtonListener overrides: 247 // views::ButtonListener overrides:
236 248
237 void BrowserNonClientFrameViewAura::ButtonPressed(views::Button* sender, 249 void BrowserNonClientFrameViewAura::ButtonPressed(views::Button* sender,
238 const views::Event& event) { 250 const views::Event& event) {
239 if (sender == maximize_button_) { 251 if (sender == maximize_button_) {
240 // The maximize button may move out from under the cursor. 252 // The maximize button may move out from under the cursor.
241 ResetWindowControls(); 253 ResetWindowControls();
254 // Don't maximize if this is a Panel.
255 if (!allow_maximize_)
256 return;
242 if (frame()->IsMaximized()) 257 if (frame()->IsMaximized())
243 frame()->Restore(); 258 frame()->Restore();
244 else 259 else
245 frame()->Maximize(); 260 frame()->Maximize();
246 // |this| may be deleted - some windows delete their frames on maximize. 261 // |this| may be deleted - some windows delete their frames on maximize.
247 } else if (sender == close_button_) { 262 } else if (sender == close_button_) {
248 frame()->Close(); 263 frame()->Close();
249 } 264 }
250 } 265 }
251 266
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 } 445 }
431 446
432 SkBitmap* BrowserNonClientFrameViewAura::GetCustomBitmap( 447 SkBitmap* BrowserNonClientFrameViewAura::GetCustomBitmap(
433 int bitmap_id, 448 int bitmap_id,
434 int fallback_bitmap_id) const { 449 int fallback_bitmap_id) const {
435 ui::ThemeProvider* tp = GetThemeProvider(); 450 ui::ThemeProvider* tp = GetThemeProvider();
436 if (tp->HasCustomImage(bitmap_id)) 451 if (tp->HasCustomImage(bitmap_id))
437 return tp->GetBitmapNamed(bitmap_id); 452 return tp->GetBitmapNamed(bitmap_id);
438 return tp->GetBitmapNamed(fallback_bitmap_id); 453 return tp->GetBitmapNamed(fallback_bitmap_id);
439 } 454 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698