From c82366ff60db9e8995bdf1c3d2f7598c0c81d38c Mon Sep 17 00:00:00 2001 From: "oshima@chromium.org" Date: Wed, 21 Jul 2010 03:15:22 +0000 Subject: Make notification panel vertically resizable. Dismiss all non sticky when the panel is closed. BUG=chromium-os:4771, chromium-os:3847 TEST=added new TestCloseDissmissAllNonSticky test Review URL: http://codereview.chromium.org/3029006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53148 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/chromeos/frame/panel_browser_view.cc | 5 ++++- chrome/browser/chromeos/frame/panel_controller.cc | 4 +++- chrome/browser/chromeos/frame/panel_controller.h | 4 +++- 3 files changed, 10 insertions(+), 3 deletions(-) (limited to 'chrome/browser/chromeos/frame') diff --git a/chrome/browser/chromeos/frame/panel_browser_view.cc b/chrome/browser/chromeos/frame/panel_browser_view.cc index 0dda082..0d72579 100644 --- a/chrome/browser/chromeos/frame/panel_browser_view.cc +++ b/chrome/browser/chromeos/frame/panel_browser_view.cc @@ -5,6 +5,7 @@ #include "chrome/browser/chromeos/frame/panel_browser_view.h" #include "chrome/browser/chromeos/frame/panel_controller.h" +#include "third_party/cros/chromeos_wm_ipc_enums.h" #include "views/window/window.h" namespace chromeos { @@ -36,7 +37,9 @@ void PanelBrowserView::Init() { void PanelBrowserView::Show() { panel_controller_.reset(new PanelController(this, GetNativeHandle())); - panel_controller_->Init(true /* focus when opened */, bounds(), creator_xid_); + panel_controller_->Init( + true /* focus when opened */, bounds(), creator_xid_, + WM_IPC_PANEL_USER_RESIZE_HORIZONTALLY_AND_VERTICALLY); BrowserView::Show(); } diff --git a/chrome/browser/chromeos/frame/panel_controller.cc b/chrome/browser/chromeos/frame/panel_controller.cc index 4eafa12..3446b38 100644 --- a/chrome/browser/chromeos/frame/panel_controller.cc +++ b/chrome/browser/chromeos/frame/panel_controller.cc @@ -90,7 +90,8 @@ PanelController::PanelController(Delegate* delegate, void PanelController::Init(bool initial_focus, const gfx::Rect& window_bounds, - XID creator_xid) { + XID creator_xid, + WmIpcPanelUserResizeType resize_type) { gfx::Rect title_bounds( 0, 0, window_bounds.width(), kTitleHeight); @@ -110,6 +111,7 @@ void PanelController::Init(bool initial_focus, type_params.push_back(expanded_ ? 1 : 0); type_params.push_back(initial_focus ? 1 : 0); type_params.push_back(creator_xid); + type_params.push_back(resize_type); WmIpc::instance()->SetWindowType( GTK_WIDGET(panel_), WM_IPC_WINDOW_CHROME_PANEL_CONTENT, diff --git a/chrome/browser/chromeos/frame/panel_controller.h b/chrome/browser/chromeos/frame/panel_controller.h index 63b1898..32be295 100644 --- a/chrome/browser/chromeos/frame/panel_controller.h +++ b/chrome/browser/chromeos/frame/panel_controller.h @@ -9,6 +9,7 @@ #include "app/x11_util.h" #include "views/controls/button/button.h" +#include "third_party/cros/chromeos_wm_ipc_enums.h" class BrowserView; class SkBitmap; @@ -52,7 +53,8 @@ class PanelController { // Initializes the panel controller with the initial state of the focus and // the window bounds. - void Init(bool initial_focus, const gfx::Rect& init_bounds, XID creator_xid); + void Init(bool initial_focus, const gfx::Rect& init_bounds, XID creator_xid, + WmIpcPanelUserResizeType resize_type); bool TitleMousePressed(const views::MouseEvent& event); void TitleMouseReleased(const views::MouseEvent& event, bool canceled); -- cgit v1.1