Index: third_party/WebKit/Source/core/dom/Node.cpp |
diff --git a/third_party/WebKit/Source/core/dom/Node.cpp b/third_party/WebKit/Source/core/dom/Node.cpp |
index cbc5281a0e8e4324bd92f5e5cdd5b1e76f40b19c..b768c2955dc261efd120a484dea6c8f532dfe58b 100644 |
--- a/third_party/WebKit/Source/core/dom/Node.cpp |
+++ b/third_party/WebKit/Source/core/dom/Node.cpp |
@@ -771,6 +771,16 @@ bool Node::isInert() const |
const HTMLDialogElement* dialog = document().activeModalDialog(); |
if (dialog && this != document() && (!canParticipateInFlatTree() || !FlatTreeTraversal::containsIncludingPseudoElement(*dialog, *this))) |
return true; |
+ |
+ if (RuntimeEnabledFeatures::inertAttributeEnabled()) { |
+ const Node* node = this; |
+ do { |
+ if (node->isElementNode() && toElement(node)->hasAttribute(HTMLNames::inertAttr)) |
+ return true; |
+ node = node->parentOrShadowHostElement(); |
+ } while (node); |
+ } |
+ |
return document().localOwner() && document().localOwner()->isInert(); |
} |