OUTPUT element should not match to |:disabled| selector.

Specification:
https://html.spec.whatwg.org/multipage/forms.html#the-output-element
https://html.spec.whatwg.org/multipage/scripting.html#concept-element-disabled

The new behavior matches to Firefox.

BUG=591230
TEST=automated

Review URL: https://codereview.chromium.org/1752103003

Cr-Commit-Position: refs/heads/master@{#378688}
diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled-expected.txt b/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled-expected.txt
deleted file mode 100644
index edd25d6..0000000
--- a/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled-expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-This is a testharness.js-based test.
-FAIL ':disabled' should match only disabled elements assert_array_equals: lengths differ, expected 9 got 10
-FAIL ':disabled' should not match elements whose disabled attribute has been removed assert_array_equals: lengths differ, expected 8 got 9
-FAIL ':disabled' should also match elements whose disabled attribute has been set assert_array_equals: lengths differ, expected 9 got 10
-FAIL ':disabled' should also match elements whose disabled attribute has been set twice assert_array_equals: lengths differ, expected 9 got 10
-FAIL ':disabled' should also match disabled elements whose type has changed assert_array_equals: lengths differ, expected 9 got 10
-FAIL ':disabled' should not match elements not in the document assert_array_equals: lengths differ, expected 9 got 10
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/Source/core/html/HTMLOutputElement.cpp b/third_party/WebKit/Source/core/html/HTMLOutputElement.cpp
index 38895eb..600807e 100644
--- a/third_party/WebKit/Source/core/html/HTMLOutputElement.cpp
+++ b/third_party/WebKit/Source/core/html/HTMLOutputElement.cpp
@@ -61,6 +61,11 @@
     return output;
 }
 
+bool HTMLOutputElement::isDisabledFormControl() const
+{
+    return false;
+}
+
 bool HTMLOutputElement::supportsFocus() const
 {
     return HTMLElement::supportsFocus();
diff --git a/third_party/WebKit/Source/core/html/HTMLOutputElement.h b/third_party/WebKit/Source/core/html/HTMLOutputElement.h
index d61adf0..0936998 100644
--- a/third_party/WebKit/Source/core/html/HTMLOutputElement.h
+++ b/third_party/WebKit/Source/core/html/HTMLOutputElement.h
@@ -61,6 +61,7 @@
 
     void parseAttribute(const QualifiedName&, const AtomicString&, const AtomicString&) override;
     const AtomicString& formControlType() const override;
+    bool isDisabledFormControl() const override;
     bool isEnumeratable() const override { return true; }
     bool supportLabels() const override { return true; }
     bool supportsFocus() const override;