| Index: Source/core/html/HTMLElement.cpp
|
| diff --git a/Source/core/html/HTMLElement.cpp b/Source/core/html/HTMLElement.cpp
|
| index 79c7fa1955ea9e3cc27646c6989a28a0f7526df3..a4be1d4b9476077ceb7694ee0f42e4aa93d18c5f 100644
|
| --- a/Source/core/html/HTMLElement.cpp
|
| +++ b/Source/core/html/HTMLElement.cpp
|
| @@ -929,6 +929,26 @@ void HTMLElement::defaultEventHandler(Event* event)
|
| Element::defaultEventHandler(event);
|
| }
|
|
|
| +bool HTMLElement::matchesReadOnlyPseudoClass() const
|
| +{
|
| + return !matchesReadWritePseudoClass();
|
| +}
|
| +
|
| +bool HTMLElement::matchesReadWritePseudoClass() const
|
| +{
|
| + if (fastHasAttribute(contenteditableAttr)) {
|
| + const AtomicString& value = fastGetAttribute(contenteditableAttr);
|
| +
|
| + if (value.isEmpty() || equalIgnoringCase(value, "true") || equalIgnoringCase(value, "plaintext-only"))
|
| + return true;
|
| + if (equalIgnoringCase(value, "false"))
|
| + return false;
|
| + // All other values should be treated as "inherit".
|
| + }
|
| +
|
| + return parentElement() && parentElement()->rendererIsEditable();
|
| +}
|
| +
|
| void HTMLElement::handleKeypressEvent(KeyboardEvent* event)
|
| {
|
| if (!document().settings() || !document().settings()->spatialNavigationEnabled() || !supportsFocus())
|
|
|