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

Unified Diff: Source/core/editing/VisiblePosition.h

Issue 1314433011: Introduce visiblePositionOf() for Position and PositionInComposedTree (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: 2015-08-31T16:32:26 Created 5 years, 4 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
« no previous file with comments | « Source/core/editing/SelectionController.cpp ('k') | Source/core/editing/VisiblePosition.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/editing/VisiblePosition.h
diff --git a/Source/core/editing/VisiblePosition.h b/Source/core/editing/VisiblePosition.h
index 02a389e7b9bcc1f3855196c51c0d176866de4674..f54d71b960ec37ba4747b8be5e0708337059df92 100644
--- a/Source/core/editing/VisiblePosition.h
+++ b/Source/core/editing/VisiblePosition.h
@@ -73,10 +73,17 @@ class CORE_EXPORT VisiblePosition final {
DISALLOW_ALLOCATION();
public:
VisiblePosition() : m_affinity(VP_DEFAULT_AFFINITY) { }
+
+ // TODO(yosin) We should use |visiblePositionOf()| instead of constructor,
+ // and make constructors to have private accessibility, since constructors
+ // aren't simple, e.g. they update layout tree.
explicit VisiblePosition(const Position&, TextAffinity = VP_DEFAULT_AFFINITY);
- explicit VisiblePosition(const PositionInComposedTree&, TextAffinity = VP_DEFAULT_AFFINITY);
explicit VisiblePosition(const PositionWithAffinity&);
+ // Node: Other than |visiblePositionOf()|, we should not use
+ // |createWithoutCanonicalization()|.
+ static VisiblePosition createWithoutCanonicalization(const PositionWithAffinity& canonicalized);
+
// Intentionally delete |operator==()| and |operator!=()| for reducing
// compilation error message.
// TODO(yosin) We'll have |equals()| when we have use cases of checking
@@ -105,9 +112,8 @@ public:
#endif
private:
- template<typename Strategy>
- void init(const PositionAlgorithm<Strategy>&, TextAffinity);
-
+ // TODO(yosin) We should use |PositionWithAffinity| to make
+ // |toPositionWithAffinity()| simpler.
Position m_deepPosition;
TextAffinity m_affinity;
};
@@ -130,6 +136,7 @@ VisiblePosition rightPositionOf(const VisiblePosition&);
CORE_EXPORT Position canonicalPositionOf(const Position&);
CORE_EXPORT PositionInComposedTree canonicalPositionOf(const PositionInComposedTree&);
+
// TODO(yosin) We should move |characterAfter()| and |characterBefore()| to
// "VisibleUnits.cpp"
UChar32 characterAfter(const VisiblePosition&);
@@ -148,6 +155,9 @@ VisiblePosition nextPositionOf(const VisiblePosition&, EditingBoundaryCrossingRu
// TODO(yosin) We should move |previousPositionOf()| to "VisibleUnits.cpp"
VisiblePosition previousPositionOf(const VisiblePosition&, EditingBoundaryCrossingRule = CanCrossEditingBoundary);
+CORE_EXPORT VisiblePosition visiblePositionOf(const Position&, TextAffinity = VP_DEFAULT_AFFINITY);
+CORE_EXPORT VisiblePosition visiblePositionOf(const PositionInComposedTree&, TextAffinity = VP_DEFAULT_AFFINITY);
+
} // namespace blink
#ifndef NDEBUG
« no previous file with comments | « Source/core/editing/SelectionController.cpp ('k') | Source/core/editing/VisiblePosition.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698