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

Side by Side Diff: third_party/WebKit/Source/core/editing/SelectionController.h

Issue 2074093003: Fix more corner cases for empty touch selection. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix type assertion in WebViewTest Created 4 years, 6 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 /* 1 /*
2 * Copyright (C) 2006, 2007, 2009, 2010, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2009, 2010, 2011 Apple Inc. All rights reserved.
3 * Copyright (C) 2015 Google Inc. All rights reserved. 3 * Copyright (C) 2015 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 void setMouseDownMayStartSelect(bool); 63 void setMouseDownMayStartSelect(bool);
64 bool mouseDownMayStartSelect() const; 64 bool mouseDownMayStartSelect() const;
65 bool mouseDownWasSingleClickInSelection() const; 65 bool mouseDownWasSingleClickInSelection() const;
66 void notifySelectionChanged(); 66 void notifySelectionChanged();
67 bool hasExtendedSelection() const { return m_selectionState == SelectionStat e::ExtendedSelection; } 67 bool hasExtendedSelection() const { return m_selectionState == SelectionStat e::ExtendedSelection; }
68 68
69 private: 69 private:
70 explicit SelectionController(LocalFrame&); 70 explicit SelectionController(LocalFrame&);
71 71
72 enum class AppendTrailingWhitespace { ShouldAppend, DontAppend }; 72 enum class AppendTrailingWhitespace { ShouldAppend, DontAppend };
73 enum class SelectInputEventType { GestureLongPress, Mouse }; 73 enum class SelectInputEventType { Touch, Mouse };
74 74
75 void selectClosestWordFromHitTestResult(const HitTestResult&, AppendTrailing Whitespace, SelectInputEventType); 75 void selectClosestWordFromHitTestResult(const HitTestResult&, AppendTrailing Whitespace, SelectInputEventType);
76 void selectClosestMisspellingFromHitTestResult(const HitTestResult&, AppendT railingWhitespace); 76 void selectClosestMisspellingFromHitTestResult(const HitTestResult&, AppendT railingWhitespace);
77 void selectClosestWordFromMouseEvent(const MouseEventWithHitTestResults&); 77 void selectClosestWordFromMouseEvent(const MouseEventWithHitTestResults&);
78 void selectClosestMisspellingFromMouseEvent(const MouseEventWithHitTestResul ts&); 78 void selectClosestMisspellingFromMouseEvent(const MouseEventWithHitTestResul ts&);
79 void selectClosestWordOrLinkFromMouseEvent(const MouseEventWithHitTestResult s&); 79 void selectClosestWordOrLinkFromMouseEvent(const MouseEventWithHitTestResult s&);
80 bool updateSelectionForMouseDownDispatchingSelectStart(Node*, const VisibleS electionInFlatTree&, TextGranularity); 80 bool updateSelectionForMouseDownDispatchingSelectStart(Node*, const VisibleS electionInFlatTree&, TextGranularity);
81 81
82 FrameSelection& selection() const; 82 FrameSelection& selection() const;
83 83
84 Member<LocalFrame> const m_frame; 84 Member<LocalFrame> const m_frame;
85 bool m_mouseDownMayStartSelect; 85 bool m_mouseDownMayStartSelect;
86 bool m_mouseDownWasSingleClickInSelection; 86 bool m_mouseDownWasSingleClickInSelection;
87 bool m_mouseDownAllowsMultiClick; 87 bool m_mouseDownAllowsMultiClick;
88 enum class SelectionState { HaveNotStartedSelection, PlacedCaret, ExtendedSe lection }; 88 enum class SelectionState { HaveNotStartedSelection, PlacedCaret, ExtendedSe lection };
89 SelectionState m_selectionState; 89 SelectionState m_selectionState;
90 }; 90 };
91 91
92 bool isLinkSelection(const MouseEventWithHitTestResults&); 92 bool isLinkSelection(const MouseEventWithHitTestResults&);
93 93
94 } // namespace blink 94 } // namespace blink
95 95
96 #endif // SelectionController_h 96 #endif // SelectionController_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698