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

Unified Diff: chrome/browser/chromeos/frame/panel_controller.cc

Issue 6685069: Disambiguate OnMouseCaptureLost from OnMouseReleased, etc. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address most TODOs and sync. Created 9 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/chromeos/frame/panel_controller.cc
diff --git a/chrome/browser/chromeos/frame/panel_controller.cc b/chrome/browser/chromeos/frame/panel_controller.cc
index 5ada8ba77af469de4b33bbd0723bda1ed365f77d..fad661167c7ae7d020e1dfc0659787fa71c67853 100644
--- a/chrome/browser/chromeos/frame/panel_controller.cc
+++ b/chrome/browser/chromeos/frame/panel_controller.cc
@@ -165,9 +165,8 @@ void PanelController::UpdateTitleBar() {
}
bool PanelController::TitleMousePressed(const views::MouseEvent& event) {
- if (!event.IsOnlyLeftMouseButton()) {
+ if (!event.IsOnlyLeftMouseButton())
return false;
- }
GdkEvent* gdk_event = gtk_get_current_event();
if (gdk_event->type != GDK_BUTTON_PRESS) {
gdk_event_free(gdk_event);
@@ -193,40 +192,9 @@ bool PanelController::TitleMousePressed(const views::MouseEvent& event) {
return true;
}
-void PanelController::TitleMouseReleased(
- const views::MouseEvent& event, bool canceled) {
- if (!event.IsLeftMouseButton()) {
- return;
- }
- // Only handle clicks that started in our window.
- if (!mouse_down_) {
- return;
- }
-
- mouse_down_ = false;
- if (!dragging_) {
- SetState(expanded_ ?
- PanelController::MINIMIZED : PanelController::EXPANDED);
- } else {
- WmIpc::Message msg(WM_IPC_MESSAGE_WM_NOTIFY_PANEL_DRAG_COMPLETE);
- msg.set_param(0, panel_xid_);
- WmIpc::instance()->SendMessage(msg);
- dragging_ = false;
- }
-}
-
-void PanelController::SetState(State state) {
- WmIpc::Message msg(WM_IPC_MESSAGE_WM_SET_PANEL_STATE);
- msg.set_param(0, panel_xid_);
- msg.set_param(1, state == EXPANDED);
- WmIpc::instance()->SendMessage(msg);
-}
-
bool PanelController::TitleMouseDragged(const views::MouseEvent& event) {
- if (!mouse_down_) {
+ if (!mouse_down_)
return false;
- }
-
GdkEvent* gdk_event = gtk_get_current_event();
if (gdk_event->type != GDK_MOTION_NOTIFY) {
gdk_event_free(gdk_event);
@@ -252,6 +220,35 @@ bool PanelController::TitleMouseDragged(const views::MouseEvent& event) {
return true;
}
+void PanelController::TitleMouseReleased(const views::MouseEvent& event) {
+ if (event.IsLeftMouseButton())
+ TitleMouseCaptureLost();
+}
+
+void PanelController::TitleMouseCaptureLost() {
+ // Only handle clicks that started in our window.
+ if (!mouse_down_)
+ return;
+
+ mouse_down_ = false;
+ if (!dragging_) {
+ SetState(expanded_ ?
+ PanelController::MINIMIZED : PanelController::EXPANDED);
+ } else {
+ WmIpc::Message msg(WM_IPC_MESSAGE_WM_NOTIFY_PANEL_DRAG_COMPLETE);
+ msg.set_param(0, panel_xid_);
+ WmIpc::instance()->SendMessage(msg);
+ dragging_ = false;
+ }
+}
+
+void PanelController::SetState(State state) {
+ WmIpc::Message msg(WM_IPC_MESSAGE_WM_SET_PANEL_STATE);
+ msg.set_param(0, panel_xid_);
+ msg.set_param(1, state == EXPANDED);
+ WmIpc::instance()->SendMessage(msg);
+}
+
// static
bool PanelController::OnPanelClientEvent(
GtkWidget* widget,
@@ -339,6 +336,24 @@ PanelController::TitleContentView::TitleContentView(
OnFocusOut();
}
+void PanelController::TitleContentView::OnFocusIn() {
+ title_label_->SetColor(kTitleActiveColor);
+ title_label_->SetFont(*active_font);
+ Layout();
+ SchedulePaint();
+}
+
+void PanelController::TitleContentView::OnFocusOut() {
+ title_label_->SetColor(kTitleInactiveColor);
+ title_label_->SetFont(*inactive_font);
+ Layout();
+ SchedulePaint();
+}
+
+void PanelController::TitleContentView::OnClose() {
+ panel_controller_ = NULL;
+}
+
void PanelController::TitleContentView::Layout() {
int close_button_x = bounds().width() -
(close_button_width + kTitleCloseButtonPad);
@@ -366,34 +381,21 @@ bool PanelController::TitleContentView::OnMousePressed(
return panel_controller_->TitleMousePressed(event);
}
-void PanelController::TitleContentView::OnMouseReleased(
- const views::MouseEvent& event, bool canceled) {
- DCHECK(panel_controller_) << "MouseReleased after Close";
- return panel_controller_->TitleMouseReleased(event, canceled);
-}
-
bool PanelController::TitleContentView::OnMouseDragged(
const views::MouseEvent& event) {
DCHECK(panel_controller_) << "MouseDragged after Close";
return panel_controller_->TitleMouseDragged(event);
}
-void PanelController::TitleContentView::OnFocusIn() {
- title_label_->SetColor(kTitleActiveColor);
- title_label_->SetFont(*active_font);
- Layout();
- SchedulePaint();
-}
-
-void PanelController::TitleContentView::OnFocusOut() {
- title_label_->SetColor(kTitleInactiveColor);
- title_label_->SetFont(*inactive_font);
- Layout();
- SchedulePaint();
+void PanelController::TitleContentView::OnMouseReleased(
+ const views::MouseEvent& event) {
+ DCHECK(panel_controller_) << "MouseReleased after Close";
+ return panel_controller_->TitleMouseReleased(event);
}
-void PanelController::TitleContentView::OnClose() {
- panel_controller_ = NULL;
+void PanelController::TitleContentView::OnMouseCaptureLost() {
+ DCHECK(panel_controller_) << "OnMouseCaptureLost after Close";
Ben Goodger (Google) 2011/03/19 15:32:55 These kind of DCHECKs are unnecessary. You're goin
msw 2011/03/26 00:09:50 Done. Fixed this file and double-checked my other
+ return panel_controller_->TitleMouseCaptureLost();
}
void PanelController::TitleContentView::ButtonPressed(

Powered by Google App Engine
This is Rietveld 408576698