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

Unified 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: 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc
diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc b/chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc
index 6ddca59b240681092640b61f539ad0e1fc76f157..41ddf810144e5030c2c3c22a7ea0fb3934c3745c 100644
--- a/chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc
+++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc
@@ -15,6 +15,8 @@
#include "grit/theme_resources.h"
#include "grit/theme_resources_standard.h"
#include "grit/ui_resources.h"
+#include "ui/aura/window.h"
+#include "ui/aura/client/aura_constants.h"
#include "ui/base/accessibility/accessible_view_state.h"
#include "ui/base/hit_test.h"
#include "ui/base/l10n/l10n_util.h"
@@ -70,7 +72,16 @@ BrowserNonClientFrameViewAura::~BrowserNonClientFrameViewAura() {
void BrowserNonClientFrameViewAura::Init() {
// Caption buttons.
- maximize_button_ = new ash::FrameMaximizeButton(this, this);
+ ash::FrameMaximizeButton* maximize_button =
+ new ash::FrameMaximizeButton(this, this);
+ maximize_button_ = maximize_button;
+ // Disable snap left/right and maximize for always-on-top windows
+ // (e.g. Panels).
+ if (frame()->GetNativeWindow()->GetProperty(
sky 2012/03/25 22:53:05 Can we be more explicit and look for panels here r
stevenjb 2012/03/25 23:11:37 Resizing Panels works fine, but the behavior is br
+ aura::client::kAlwaysOnTopKey)) {
+ maximize_button->set_is_left_right_enabled(false);
+ maximize_button->set_is_maximize_enabled(false);
+ }
maximize_button_->SetAccessibleName(
l10n_util::GetStringUTF16(IDS_ACCNAME_MAXIMIZE));
AddChildView(maximize_button_);
@@ -239,6 +250,9 @@ void BrowserNonClientFrameViewAura::ButtonPressed(views::Button* sender,
if (sender == maximize_button_) {
// The maximize button may move out from under the cursor.
ResetWindowControls();
+ // Don't maximize if always-on-top (e.g. Panels).
+ if (frame()->GetNativeWindow()->GetProperty(aura::client::kAlwaysOnTopKey))
+ return;
if (frame()->IsMaximized())
frame()->Restore();
else
« ash/wm/workspace/frame_maximize_button.cc ('K') | « ash/wm/workspace/frame_maximize_button.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698