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

Unified Diff: third_party/WebKit/Source/core/editing/FrameSelection.cpp

Issue 2647283006: Removing HandleVisible enum from FrameSelection (Closed)
Patch Set: Fixing nits Created 3 years, 10 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: third_party/WebKit/Source/core/editing/FrameSelection.cpp
diff --git a/third_party/WebKit/Source/core/editing/FrameSelection.cpp b/third_party/WebKit/Source/core/editing/FrameSelection.cpp
index f7678ec27d5ddde784996d432d3b4ee071b2e0c4..a792fa1384d77feee139b24641bf693802da2af1 100644
--- a/third_party/WebKit/Source/core/editing/FrameSelection.cpp
+++ b/third_party/WebKit/Source/core/editing/FrameSelection.cpp
@@ -168,15 +168,16 @@ void FrameSelection::moveCaretSelection(const IntPoint& point) {
visiblePositionForContentsPoint(point, frame());
SelectionInDOMTree::Builder builder;
builder.setIsDirectional(selection().isDirectional());
+ builder.setIsHandleVisible(true);
if (position.isNotNull())
builder.collapse(position.toPositionWithAffinity());
- setSelection(builder.build(),
- CloseTyping | ClearTypingStyle | UserTriggered | HandleVisible);
+ setSelection(builder.build(), CloseTyping | ClearTypingStyle | UserTriggered);
}
template <typename Strategy>
void FrameSelection::setSelectionAlgorithm(
const VisibleSelectionTemplate<Strategy>& newSelection,
+ HandleVisibility handleVisibility,
SetSelectionOptions options,
CursorAlignOnScroll align,
TextGranularity granularity) {
@@ -188,9 +189,6 @@ void FrameSelection::setSelectionAlgorithm(
m_granularityStrategy->Clear();
bool closeTyping = options & CloseTyping;
bool shouldClearTypingStyle = options & ClearTypingStyle;
- const HandleVisibility handleVisibility = options & HandleVisible
- ? HandleVisibility::Visible
- : HandleVisibility::NotVisible;
EUserTriggered userTriggered = selectionOptionsToUserTriggered(options);
// TODO(editing-dev): We should rename variable |s| to another name to avoid
@@ -304,8 +302,10 @@ void FrameSelection::setSelection(const SelectionInDOMTree& newSelection,
.document()
->updateStyleAndLayoutIgnorePendingStylesheets();
}
- setSelection(createVisibleSelection(newSelection), options, align,
- granularity);
+ setSelection(createVisibleSelection(newSelection),
+ newSelection.isHandleVisible() ? HandleVisibility::Visible
+ : HandleVisibility::NotVisible,
+ options, align, granularity);
}
// TODO(yosin): We will make |selectionInFlatTree| version of |SetSelection()|
@@ -322,25 +322,40 @@ void FrameSelection::setSelection(const SelectionInFlatTree& newSelection,
.document()
->updateStyleAndLayoutIgnorePendingStylesheets();
}
- setSelection(createVisibleSelection(newSelection), options, align,
- granularity);
+ setSelection(createVisibleSelection(newSelection),
+ newSelection.isHandleVisible() ? HandleVisibility::Visible
+ : HandleVisibility::NotVisible,
+ options, align, granularity);
}
void FrameSelection::setSelection(const VisibleSelection& newSelection,
+ HandleVisibility handleVisibility,
SetSelectionOptions options,
CursorAlignOnScroll align,
TextGranularity granularity) {
- setSelectionAlgorithm<EditingStrategy>(newSelection, options, align,
- granularity);
+ setSelectionAlgorithm<EditingStrategy>(newSelection, handleVisibility,
+ options, align, granularity);
+}
+
+void FrameSelection::setSelection(const VisibleSelection& newSelection,
+ SetSelectionOptions options) {
+ setSelection(newSelection, HandleVisibility::NotVisible, options);
}
void FrameSelection::setSelection(
const VisibleSelectionInFlatTree& newSelection,
+ HandleVisibility handleVisibility,
SetSelectionOptions options,
CursorAlignOnScroll align,
TextGranularity granularity) {
- setSelectionAlgorithm<EditingInFlatTreeStrategy>(newSelection, options, align,
- granularity);
+ setSelectionAlgorithm<EditingInFlatTreeStrategy>(
+ newSelection, handleVisibility, options, align, granularity);
+}
+
+void FrameSelection::setSelection(
+ const VisibleSelectionInFlatTree& newSelection,
+ SetSelectionOptions options) {
+ setSelection(newSelection, HandleVisibility::NotVisible, options);
}
static bool removingNodeRemovesPosition(Node& node, const Position& position) {
@@ -691,7 +706,7 @@ bool FrameSelection::modify(EAlteration alter,
return false;
}
- setSelection(selectionModifier.selection(),
+ setSelection(selectionModifier.selection(), HandleVisibility::NotVisible,
CloseTyping | ClearTypingStyle | UserTriggered,
alter == AlterationMove ? CursorAlignOnScroll::Always
: CursorAlignOnScroll::IfNeeded);
@@ -1359,10 +1374,9 @@ void FrameSelection::moveRangeSelectionExtent(const IntPoint& contentsPoint) {
VisibleSelection newSelection =
granularityStrategy()->updateExtent(contentsPoint, m_frame);
- setSelection(newSelection,
+ setSelection(newSelection, HandleVisibility::Visible,
FrameSelection::CloseTyping | FrameSelection::ClearTypingStyle |
- FrameSelection::DoNotClearStrategy | UserTriggered |
- FrameSelection::HandleVisible,
+ FrameSelection::DoNotClearStrategy | UserTriggered,
CursorAlignOnScroll::IfNeeded, CharacterGranularity);
}
@@ -1383,11 +1397,8 @@ void FrameSelection::moveRangeSelection(const VisiblePosition& basePosition,
if (newSelection.isNone())
return;
- SetSelectionOptions options = CloseTyping | ClearTypingStyle;
- if (isHandleVisible())
- options |= HandleVisible;
- setSelection(newSelection, options, CursorAlignOnScroll::IfNeeded,
- granularity);
+ setSelection(newSelection, m_handleVisibility, CloseTyping | ClearTypingStyle,
+ CursorAlignOnScroll::IfNeeded, granularity);
}
void FrameSelection::updateIfNeeded() {

Powered by Google App Engine
This is Rietveld 408576698