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

Side by Side Diff: ui/views/touchui/touch_selection_controller_impl.cc

Issue 154783002: Honor can_activate flag in ShowWindowWithState (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 6 years, 7 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "ui/views/touchui/touch_selection_controller_impl.h" 5 #include "ui/views/touchui/touch_selection_controller_impl.h"
6 6
7 #include "base/time/time.h" 7 #include "base/time/time.h"
8 #include "grit/ui_resources.h" 8 #include "grit/ui_resources.h"
9 #include "grit/ui_strings.h" 9 #include "grit/ui_strings.h"
10 #include "ui/aura/client/cursor_client.h" 10 #include "ui/aura/client/cursor_client.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 // Horizontal Padding 51 // Horizontal Padding
52 // 52 //
53 const int kSelectionHandleVerticalDragOffset = 5; 53 const int kSelectionHandleVerticalDragOffset = 5;
54 54
55 // Padding around the selection handle defining the area that will be included 55 // Padding around the selection handle defining the area that will be included
56 // in the touch target to make dragging the handle easier (see pic above). 56 // in the touch target to make dragging the handle easier (see pic above).
57 const int kSelectionHandleHorizPadding = 10; 57 const int kSelectionHandleHorizPadding = 10;
58 const int kSelectionHandleVertPadding = 20; 58 const int kSelectionHandleVertPadding = 20;
59 59
60 const int kContextMenuTimoutMs = 200; 60 const int kContextMenuTimoutMs = 200;
61 bool g_open_quick_menu_immediately_for_test = false;
61 62
62 const int kSelectionHandleQuickFadeDurationMs = 50; 63 const int kSelectionHandleQuickFadeDurationMs = 50;
63 64
64 // Minimum height for selection handle bar. If the bar height is going to be 65 // Minimum height for selection handle bar. If the bar height is going to be
65 // less than this value, handle will not be shown. 66 // less than this value, handle will not be shown.
66 const int kSelectionHandleBarMinHeight = 5; 67 const int kSelectionHandleBarMinHeight = 5;
67 // Maximum amount that selection handle bar can stick out of client view's 68 // Maximum amount that selection handle bar can stick out of client view's
68 // boundaries. 69 // boundaries.
69 const int kSelectionHandleBarBottomAllowance = 3; 70 const int kSelectionHandleBarBottomAllowance = 3;
70 71
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 aura::Env::GetInstance()->AddPreTargetHandler(this); 336 aura::Env::GetInstance()->AddPreTargetHandler(this);
336 } 337 }
337 338
338 TouchSelectionControllerImpl::~TouchSelectionControllerImpl() { 339 TouchSelectionControllerImpl::~TouchSelectionControllerImpl() {
339 HideContextMenu(); 340 HideContextMenu();
340 aura::Env::GetInstance()->RemovePreTargetHandler(this); 341 aura::Env::GetInstance()->RemovePreTargetHandler(this);
341 if (client_widget_) 342 if (client_widget_)
342 client_widget_->RemoveObserver(this); 343 client_widget_->RemoveObserver(this);
343 } 344 }
344 345
346 // static
347 void TouchSelectionControllerImpl::SetOpenQuickMenuImmediatelyForTest(
348 bool immediate) {
349 g_open_quick_menu_immediately_for_test = immediate;
350 }
351
345 void TouchSelectionControllerImpl::SelectionChanged() { 352 void TouchSelectionControllerImpl::SelectionChanged() {
346 gfx::Rect r1, r2; 353 gfx::Rect r1, r2;
347 client_view_->GetSelectionEndPoints(&r1, &r2); 354 client_view_->GetSelectionEndPoints(&r1, &r2);
348 gfx::Rect screen_rect_1 = ConvertToScreen(client_view_, r1); 355 gfx::Rect screen_rect_1 = ConvertToScreen(client_view_, r1);
349 gfx::Rect screen_rect_2 = ConvertToScreen(client_view_, r2); 356 gfx::Rect screen_rect_2 = ConvertToScreen(client_view_, r2);
350 gfx::Rect client_bounds = client_view_->GetBounds(); 357 gfx::Rect client_bounds = client_view_->GetBounds();
351 if (r1.y() < client_bounds.y()) 358 if (r1.y() < client_bounds.y())
352 r1.Inset(0, client_bounds.y() - r1.y(), 0, 0); 359 r1.Inset(0, client_bounds.y() - r1.y(), 0, 0);
353 if (r2.y() < client_bounds.y()) 360 if (r2.y() < client_bounds.y())
354 r2.Inset(0, client_bounds.y() - r2.y(), 0, 0); 361 r2.Inset(0, client_bounds.y() - r2.y(), 0, 0);
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
573 580
574 DCHECK(!context_menu_); 581 DCHECK(!context_menu_);
575 context_menu_ = TouchEditingMenuView::Create(this, menu_anchor, 582 context_menu_ = TouchEditingMenuView::Create(this, menu_anchor,
576 GetHandleImageSize(), 583 GetHandleImageSize(),
577 client_view_->GetNativeView()); 584 client_view_->GetNativeView());
578 } 585 }
579 586
580 void TouchSelectionControllerImpl::StartContextMenuTimer() { 587 void TouchSelectionControllerImpl::StartContextMenuTimer() {
581 if (context_menu_timer_.IsRunning()) 588 if (context_menu_timer_.IsRunning())
582 return; 589 return;
590 if (g_open_quick_menu_immediately_for_test) {
591 ContextMenuTimerFired();
592 return;
593 }
583 context_menu_timer_.Start( 594 context_menu_timer_.Start(
584 FROM_HERE, 595 FROM_HERE,
585 base::TimeDelta::FromMilliseconds(kContextMenuTimoutMs), 596 base::TimeDelta::FromMilliseconds(kContextMenuTimoutMs),
586 this, 597 this,
587 &TouchSelectionControllerImpl::ContextMenuTimerFired); 598 &TouchSelectionControllerImpl::ContextMenuTimerFired);
588 } 599 }
589 600
590 void TouchSelectionControllerImpl::UpdateContextMenu() { 601 void TouchSelectionControllerImpl::UpdateContextMenu() {
591 // Hide context menu to be shown when the timer fires. 602 // Hide context menu to be shown when the timer fires.
592 HideContextMenu(); 603 HideContextMenu();
(...skipping 29 matching lines...) Expand all
622 633
623 bool TouchSelectionControllerImpl::IsSelectionHandle2Visible() { 634 bool TouchSelectionControllerImpl::IsSelectionHandle2Visible() {
624 return selection_handle_2_->IsWidgetVisible(); 635 return selection_handle_2_->IsWidgetVisible();
625 } 636 }
626 637
627 bool TouchSelectionControllerImpl::IsCursorHandleVisible() { 638 bool TouchSelectionControllerImpl::IsCursorHandleVisible() {
628 return cursor_handle_->IsWidgetVisible(); 639 return cursor_handle_->IsWidgetVisible();
629 } 640 }
630 641
631 } // namespace views 642 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698