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

Side by Side Diff: chrome/browser/ui/panels/panel_browser_view.cc

Issue 9195003: Move IN_OVERFLOW from Panel::ExpansionState to new enum. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix per feedback Created 8 years, 11 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/panels/panel_browser_view.h" 5 #include "chrome/browser/ui/panels/panel_browser_view.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "chrome/browser/ui/panels/panel.h" 9 #include "chrome/browser/ui/panels/panel.h"
10 #include "chrome/browser/ui/panels/panel_bounds_animation.h" 10 #include "chrome/browser/ui/panels/panel_bounds_animation.h"
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 Paste(); 321 Paste();
322 } 322 }
323 323
324 void PanelBrowserView::DrawAttention() { 324 void PanelBrowserView::DrawAttention() {
325 // Don't draw attention for active panel. 325 // Don't draw attention for active panel.
326 if (is_drawing_attention_ || focused_) 326 if (is_drawing_attention_ || focused_)
327 return; 327 return;
328 is_drawing_attention_ = true; 328 is_drawing_attention_ = true;
329 329
330 // Bring up the titlebar to get people's attention. 330 // Bring up the titlebar to get people's attention.
331 if (panel_->expansion_state() == Panel::MINIMIZED) 331 if (panel_->layout_state() == Panel::DOCKED &&
332 panel_->expansion_state() == Panel::MINIMIZED)
332 panel_->SetExpansionState(Panel::TITLE_ONLY); 333 panel_->SetExpansionState(Panel::TITLE_ONLY);
333 334
334 GetFrameView()->SchedulePaint(); 335 GetFrameView()->SchedulePaint();
335 } 336 }
336 337
337 bool PanelBrowserView::IsDrawingAttention() const { 338 bool PanelBrowserView::IsDrawingAttention() const {
338 return is_drawing_attention_; 339 return is_drawing_attention_;
339 } 340 }
340 341
341 void PanelBrowserView::StopDrawingAttention() { 342 void PanelBrowserView::StopDrawingAttention() {
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
478 } 479 }
479 480
480 // If the panel drag was cancelled before the mouse is released, do not treat 481 // If the panel drag was cancelled before the mouse is released, do not treat
481 // this as a click. 482 // this as a click.
482 if (mouse_dragging_state_ != NO_DRAGGING) 483 if (mouse_dragging_state_ != NO_DRAGGING)
483 return true; 484 return true;
484 485
485 // Do not minimize the panel when we just clear the attention state. This is 486 // Do not minimize the panel when we just clear the attention state. This is
486 // a hack to prevent the panel from being minimized when the user clicks on 487 // a hack to prevent the panel from being minimized when the user clicks on
487 // the title-bar to clear the attention. 488 // the title-bar to clear the attention.
488 if (panel_->expansion_state() == Panel::EXPANDED && 489 if (panel_->layout_state() == Panel::DOCKED &&
490 panel_->expansion_state() == Panel::EXPANDED &&
489 base::TimeTicks::Now() - attention_cleared_time_ < 491 base::TimeTicks::Now() - attention_cleared_time_ <
490 base::TimeDelta::FromMilliseconds(kSuspendMinimizeOnClickIntervalMs)) { 492 base::TimeDelta::FromMilliseconds(kSuspendMinimizeOnClickIntervalMs)) {
491 return true; 493 return true;
492 } 494 }
493 495
494 // Ignore long clicks. Treated as a canceled click to be consistent with Mac. 496 // Ignore long clicks. Treated as a canceled click to be consistent with Mac.
495 if (base::TimeTicks::Now() - mouse_pressed_time_ > 497 if (base::TimeTicks::Now() - mouse_pressed_time_ >
496 base::TimeDelta::FromMilliseconds(kShortClickThresholdMs)) 498 base::TimeDelta::FromMilliseconds(kShortClickThresholdMs))
497 return true; 499 return true;
498 500
499 Panel::ExpansionState new_expansion_state = 501 if (panel_->layout_state() == Panel::IN_OVERFLOW) {
500 (panel_->expansion_state() != Panel::EXPANDED) ? Panel::EXPANDED 502 panel_->SetLayoutState(Panel::DOCKED);
501 : Panel::MINIMIZED; 503 panel_->SetExpansionState(Panel::EXPANDED);
502 panel_->SetExpansionState(new_expansion_state); 504 } else {
505 Panel::ExpansionState new_expansion_state =
506 (panel_->expansion_state() != Panel::EXPANDED) ? Panel::EXPANDED
507 : Panel::MINIMIZED;
508 panel_->SetExpansionState(new_expansion_state);
509 }
510
503 return true; 511 return true;
504 } 512 }
505 513
506 bool PanelBrowserView::OnTitlebarMouseCaptureLost() { 514 bool PanelBrowserView::OnTitlebarMouseCaptureLost() {
507 if (mouse_dragging_state_ == DRAGGING_STARTED) 515 if (mouse_dragging_state_ == DRAGGING_STARTED)
508 return EndDragging(true); 516 return EndDragging(true);
509 return true; 517 return true;
510 } 518 }
511 519
512 bool PanelBrowserView::EndDragging(bool cancelled) { 520 bool PanelBrowserView::EndDragging(bool cancelled) {
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
618 } 626 }
619 627
620 bool NativePanelTestingWin::IsWindowSizeKnown() const { 628 bool NativePanelTestingWin::IsWindowSizeKnown() const {
621 return true; 629 return true;
622 } 630 }
623 631
624 bool NativePanelTestingWin::IsAnimatingBounds() const { 632 bool NativePanelTestingWin::IsAnimatingBounds() const {
625 return panel_browser_view_->bounds_animator_.get() && 633 return panel_browser_view_->bounds_animator_.get() &&
626 panel_browser_view_->bounds_animator_->is_animating(); 634 panel_browser_view_->bounds_animator_->is_animating();
627 } 635 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/panels/panel_browser_frame_view.cc ('k') | chrome/browser/ui/panels/panel_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698