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

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

Issue 1085163002: Introduce EditingAlgorithm<Traversal> class (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: 2015-04-15T16:50:42 Rebase for Position.h updates Created 5 years, 8 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 | « no previous file | Source/core/editing/EditingStrategy.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/editing/EditingStrategy.h
diff --git a/Source/core/editing/EditingStrategy.h b/Source/core/editing/EditingStrategy.h
index ba2253a5f1c3aa142a2f3c9e07b93b0453b6c6b1..035b9115c83f2872bd4d754e4d1ff72817c80cfe 100644
--- a/Source/core/editing/EditingStrategy.h
+++ b/Source/core/editing/EditingStrategy.h
@@ -16,18 +16,27 @@ class PositionAlgorithm;
template <typename Strategy>
class PositionIteratorAlgorithm;
-class EditingStrategy : public NodeTraversal {
+// Editing algorithm defined on node traversal.
+template <typename Traversal>
+class EditingAlgorithm : public Traversal {
public:
- using PositionType = PositionAlgorithm<EditingStrategy>;
- using PositionIteratorType = PositionIteratorAlgorithm<EditingStrategy>;
-
// |disconnected| is optional output parameter having true if specified
// positions don't have common ancestor.
static short comparePositions(Node* containerA, int offsetA, Node* containerB, int offsetB, bool* disconnected = nullptr);
+ static bool isEmptyNonEditableNodeInEditable(const Node*);
static bool editingIgnoresContent(const Node*);
static int lastOffsetForEditing(const Node*);
};
+// DOM tree version of editing algorithm
+class EditingStrategy : public EditingAlgorithm<NodeTraversal> {
+public:
+ using PositionIteratorType = PositionIteratorAlgorithm<EditingStrategy>;
+ using PositionType = PositionAlgorithm<EditingStrategy>;
+};
+
+extern template class EditingAlgorithm<NodeTraversal>;
+
} // namespace blink
#endif // EditingStrategy_h
« no previous file with comments | « no previous file | Source/core/editing/EditingStrategy.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698