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 c4fd9c04fa9072c1e1cc67fcd884951b81944d23..938482c99be4adab23803faf9df6327df92a0e93 100644 |
--- a/third_party/WebKit/Source/core/editing/EditingUtilities.cpp |
+++ b/third_party/WebKit/Source/core/editing/EditingUtilities.cpp |
@@ -316,18 +316,18 @@ static bool hasEditableLevel(const Node& node, EditableLevel editableLevel) { |
// would fire in the middle of Document::setFocusedNode(). |
for (const Node& ancestor : NodeTraversal::inclusiveAncestorsOf(node)) { |
- if ((ancestor.isHTMLElement() || ancestor.isDocumentNode()) && |
- ancestor.layoutObject()) { |
- switch (ancestor.layoutObject()->style()->userModify()) { |
- case READ_ONLY: |
- return false; |
- case READ_WRITE: |
- return true; |
- case READ_WRITE_PLAINTEXT_ONLY: |
- return editableLevel != RichlyEditable; |
- } |
- NOTREACHED(); |
- return false; |
+ if (!ancestor.isHTMLElement() && !ancestor.isDocumentNode()) |
+ continue; |
+ const ComputedStyle* style = ancestor.computedStyle(); |
+ if (!style) |
+ continue; |
+ switch (style->userModify()) { |
+ case READ_ONLY: |
+ return false; |
+ case READ_WRITE: |
+ return true; |
+ case READ_WRITE_PLAINTEXT_ONLY: |
+ return editableLevel != RichlyEditable; |
} |
} |