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

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

Issue 2786573002: Use EphemeralRange instead of Range in Range::isNodeFullyContainded (Closed)
Patch Set: update Created 3 years, 9 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/EditingUtilities.cpp
diff --git a/third_party/WebKit/Source/core/editing/EditingUtilities.cpp b/third_party/WebKit/Source/core/editing/EditingUtilities.cpp
index 8c1b3c10ec0da89f302771a119acb2a59edbc9c7..f7d4d3f7403b0dd9e64608471aaf3e00d8aadfaf 100644
--- a/third_party/WebKit/Source/core/editing/EditingUtilities.cpp
+++ b/third_party/WebKit/Source/core/editing/EditingUtilities.cpp
@@ -293,6 +293,18 @@ int comparePositions(const VisiblePosition& a, const VisiblePosition& b) {
return comparePositions(a.deepEquivalent(), b.deepEquivalent());
}
+bool isNodeFullyContained(const EphemeralRange& range, Node& node) {
+ if (range.isNull())
+ return false;
+
+ if (!NodeTraversal::commonAncestor(*range.startPosition().anchorNode(), node))
+ return false;
+
+ return comparePositions(range.startPosition(), Position::beforeNode(&node)) <=
yosin_UTC9 2017/03/29 07:18:42 nit: We can use Position::operator<=(), which is a
yoichio 2017/03/29 07:42:20 Done.
+ 0 &&
+ comparePositions(Position::afterNode(&node), range.endPosition()) <= 0;
+}
+
// TODO(editing-dev): We should implement real version which refers
// "user-select" CSS property.
// TODO(editing-dev): We should make |SelectionAdjuster| to use this funciton

Powered by Google App Engine
This is Rietveld 408576698