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

Unified Diff: ui/touch_selection/touch_selection_controller.h

Issue 698253004: Reland: Implement Aura side of unified touch text selection for contents (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed overrides in TouchHandleDrawableAura Created 5 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 side-by-side diff with in-line comments
Download patch
Index: ui/touch_selection/touch_selection_controller.h
diff --git a/ui/touch_selection/touch_selection_controller.h b/ui/touch_selection/touch_selection_controller.h
index 2bcefbd20542c1a12477ccb93ed6eec25fc7a8ea..e144f632fed18a0b3d82b41c0c28b3cf4b98e704 100644
--- a/ui/touch_selection/touch_selection_controller.h
+++ b/ui/touch_selection/touch_selection_controller.h
@@ -38,13 +38,14 @@ class UI_TOUCH_SELECTION_EXPORT TouchSelectionController
public:
TouchSelectionController(TouchSelectionControllerClient* client,
base::TimeDelta tap_timeout,
- float tap_slop);
+ float tap_slop,
+ bool show_on_tap_for_empty_editable);
~TouchSelectionController() override;
- // To be called when the selection bounds have changed.
+ // To be called when the selection bounds info has been updated.
// Note that such updates will trigger handle updates only if preceded
// by an appropriate call to allow automatic showing.
- void OnSelectionBoundsChanged(const SelectionBound& start,
+ void OnSelectionBoundsUpdated(const SelectionBound& start,
const SelectionBound& end);
// Allows touch-dragging of the handle.
@@ -81,7 +82,17 @@ class UI_TOUCH_SELECTION_EXPORT TouchSelectionController
// Returns true if an animation is active and requires further ticking.
bool Animate(base::TimeTicks animate_time);
+ void TryActivateSelection();
+
+ const SelectionBound& start() const { return start_; }
+ const SelectionBound& end() const { return end_; }
+
+ bool is_insertion_active() const { return is_insertion_active_; }
+ bool is_selection_active() const { return is_selection_active_; }
+
private:
+ friend class TouchSelectionControllerAuraTest;
+
enum InputEventType { TAP, LONG_PRESS, INPUT_EVENT_TYPE_NONE };
// TouchHandleClient implementation.
@@ -115,10 +126,18 @@ class UI_TOUCH_SELECTION_EXPORT TouchSelectionController
bool GetEndVisible() const;
TouchHandle::AnimationStyle GetAnimationStyle(bool was_active) const;
+ TouchHandle* insertion_handle_for_testing() const {
+ return insertion_handle_.get();
+ }
+
TouchSelectionControllerClient* const client_;
const base::TimeDelta tap_timeout_;
const float tap_slop_;
+ // Controls whether an insertion handle is shown on a tap for an empty
+ // editable selection.
+ bool show_on_tap_for_empty_editable_;
+
InputEventType response_pending_input_event_;
SelectionBound start_;

Powered by Google App Engine
This is Rietveld 408576698