| 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";
|
| + return panel_controller_->TitleMouseCaptureLost();
|
| }
|
|
|
| void PanelController::TitleContentView::ButtonPressed(
|
|
|