| Index: third_party/WebKit/Source/core/editing/VisibleSelection.cpp
|
| diff --git a/third_party/WebKit/Source/core/editing/VisibleSelection.cpp b/third_party/WebKit/Source/core/editing/VisibleSelection.cpp
|
| index 9714d1a59c76f4cf000be645a5fd137d87efd2a5..1c71047e9aba467b6280188d66071127f5ab8dcb 100644
|
| --- a/third_party/WebKit/Source/core/editing/VisibleSelection.cpp
|
| +++ b/third_party/WebKit/Source/core/editing/VisibleSelection.cpp
|
| @@ -50,20 +50,21 @@ VisibleSelectionTemplate<Strategy>::VisibleSelectionTemplate()
|
|
|
| template <typename Strategy>
|
| VisibleSelectionTemplate<Strategy>::VisibleSelectionTemplate(
|
| - const SelectionTemplate<Strategy>& selection)
|
| + const SelectionTemplate<Strategy>& selection,
|
| + TextGranularity granularity)
|
| : base_(selection.Base()),
|
| extent_(selection.Extent()),
|
| affinity_(selection.Affinity()),
|
| selection_type_(kNoSelection),
|
| is_directional_(selection.IsDirectional()),
|
| - granularity_(selection.Granularity()) {
|
| + granularity_(granularity) {
|
| Validate(granularity_);
|
| }
|
|
|
| template <typename Strategy>
|
| VisibleSelectionTemplate<Strategy> VisibleSelectionTemplate<Strategy>::Create(
|
| const SelectionTemplate<Strategy>& selection) {
|
| - return VisibleSelectionTemplate(selection);
|
| + return VisibleSelectionTemplate(selection, selection.Granularity());
|
| }
|
|
|
| VisibleSelection CreateVisibleSelection(const SelectionInDOMTree& selection) {
|
| @@ -76,6 +77,27 @@ VisibleSelectionInFlatTree CreateVisibleSelection(
|
| }
|
|
|
| template <typename Strategy>
|
| +VisibleSelectionTemplate<Strategy>
|
| +VisibleSelectionTemplate<Strategy>::CreateWithGranularity(
|
| + const SelectionTemplate<Strategy>& selection,
|
| + TextGranularity granularity) {
|
| + return VisibleSelectionTemplate(selection, granularity);
|
| +}
|
| +
|
| +VisibleSelection CreateVisibleSelectionWithGranularity(
|
| + const SelectionInDOMTree& selection,
|
| + TextGranularity granularity) {
|
| + return VisibleSelection::CreateWithGranularity(selection, granularity);
|
| +}
|
| +
|
| +VisibleSelectionInFlatTree CreateVisibleSelectionWithGranularity(
|
| + const SelectionInFlatTree& selection,
|
| + TextGranularity granularity) {
|
| + return VisibleSelectionInFlatTree::CreateWithGranularity(selection,
|
| + granularity);
|
| +}
|
| +
|
| +template <typename Strategy>
|
| static SelectionType ComputeSelectionType(
|
| const PositionTemplate<Strategy>& start,
|
| const PositionTemplate<Strategy>& end) {
|
|
|