Index: third_party/WebKit/Source/core/editing/VisibleUnits.cpp |
diff --git a/third_party/WebKit/Source/core/editing/VisibleUnits.cpp b/third_party/WebKit/Source/core/editing/VisibleUnits.cpp |
index 150706e606f6151d00ddd38568493bacf6631963..0e62147626a93b29da7a6448491b0d3100df5b48 100644 |
--- a/third_party/WebKit/Source/core/editing/VisibleUnits.cpp |
+++ b/third_party/WebKit/Source/core/editing/VisibleUnits.cpp |
@@ -55,6 +55,7 @@ |
#include "core/layout/LayoutObject.h" |
#include "core/layout/LayoutTextFragment.h" |
#include "core/layout/LayoutView.h" |
+#include "core/layout/api/LayoutItem.h" |
#include "core/layout/api/LineLayoutAPIShim.h" |
#include "core/layout/api/LineLayoutItem.h" |
#include "core/layout/line/InlineIterator.h" |
@@ -1510,20 +1511,21 @@ VisiblePositionTemplate<Strategy> startOfParagraphAlgorithm(const VisiblePositio |
break; |
} |
LayoutObject* r = n->layoutObject(); |
- if (!r) { |
+ LayoutItem ri = LayoutItem(r); |
+ if (ri.isNull()) { |
n = Strategy::previousPostOrder(*n, startBlock); |
continue; |
} |
- const ComputedStyle& style = r->styleRef(); |
+ const ComputedStyle& style = ri.styleRef(); |
if (style.visibility() != VISIBLE) { |
n = Strategy::previousPostOrder(*n, startBlock); |
continue; |
} |
- if (r->isBR() || isEnclosingBlock(n)) |
+ if (ri.isBR() || isEnclosingBlock(n)) |
break; |
- if (r->isText() && toLayoutText(r)->resolvedTextLength()) { |
+ if (ri.isText() && toLayoutText(r)->resolvedTextLength()) { |
ASSERT_WITH_SECURITY_IMPLICATION(n->isTextNode()); |
type = PositionAnchorType::OffsetInAnchor; |
if (style.preserveNewline()) { |