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

Unified Diff: sky/engine/core/editing/VisibleUnits.cpp

Issue 928393003: Remove the concept of document.documentElement (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 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
« no previous file with comments | « sky/engine/core/editing/VisibleSelection.cpp ('k') | sky/engine/core/editing/htmlediting.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/editing/VisibleUnits.cpp
diff --git a/sky/engine/core/editing/VisibleUnits.cpp b/sky/engine/core/editing/VisibleUnits.cpp
index c6917bd66acd5994b3b0517ef455b75b5ab1b160..847de7382976eed60c1409c21971db5bc02440c4 100644
--- a/sky/engine/core/editing/VisibleUnits.cpp
+++ b/sky/engine/core/editing/VisibleUnits.cpp
@@ -935,10 +935,12 @@ VisiblePosition previousLinePosition(const VisiblePosition &visiblePosition, int
// Could not find a previous line. This means we must already be on the first line.
// Move to the start of the content in this block, which effectively moves us
// to the start of the line we're on.
- Element* rootElement = node->hasEditableStyle(editableType) ? node->rootEditableElement(editableType) : node->document().documentElement();
- if (!rootElement)
+ ContainerNode* rootContainer = &node->document();
+ if (node->hasEditableStyle(editableType))
+ rootContainer = node->rootEditableElement(editableType);
+ if (!rootContainer)
return VisiblePosition();
- return VisiblePosition(firstPositionInNode(rootElement), DOWNSTREAM);
+ return VisiblePosition(firstPositionInNode(rootContainer), DOWNSTREAM);
}
VisiblePosition nextLinePosition(const VisiblePosition &visiblePosition, int lineDirectionPoint, EditableType editableType)
@@ -993,10 +995,12 @@ VisiblePosition nextLinePosition(const VisiblePosition &visiblePosition, int lin
// Could not find a next line. This means we must already be on the last line.
// Move to the end of the content in this block, which effectively moves us
// to the end of the line we're on.
- Element* rootElement = node->hasEditableStyle(editableType) ? node->rootEditableElement(editableType) : node->document().documentElement();
- if (!rootElement)
+ ContainerNode* rootContainer = &node->document();
+ if (node->hasEditableStyle(editableType))
+ rootContainer = node->rootEditableElement(editableType);
+ if (!rootContainer)
return VisiblePosition();
- return VisiblePosition(lastPositionInNode(rootElement), DOWNSTREAM);
+ return VisiblePosition(lastPositionInNode(rootContainer), DOWNSTREAM);
}
// ---------
@@ -1284,10 +1288,10 @@ bool isEndOfBlock(const VisiblePosition &pos)
VisiblePosition startOfDocument(const Node* node)
{
- if (!node || !node->document().documentElement())
+ if (!node)
return VisiblePosition();
- return VisiblePosition(firstPositionInNode(node->document().documentElement()), DOWNSTREAM);
+ return VisiblePosition(firstPositionInNode(&node->document()), DOWNSTREAM);
}
VisiblePosition startOfDocument(const VisiblePosition &c)
@@ -1297,11 +1301,10 @@ VisiblePosition startOfDocument(const VisiblePosition &c)
VisiblePosition endOfDocument(const Node* node)
{
- if (!node || !node->document().documentElement())
+ if (!node)
return VisiblePosition();
- Element* doc = node->document().documentElement();
- return VisiblePosition(lastPositionInNode(doc), DOWNSTREAM);
+ return VisiblePosition(lastPositionInNode(&node->document()), DOWNSTREAM);
}
VisiblePosition endOfDocument(const VisiblePosition &c)
« no previous file with comments | « sky/engine/core/editing/VisibleSelection.cpp ('k') | sky/engine/core/editing/htmlediting.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698