<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[173328] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/173328">173328</a></dd>
<dt>Author</dt> <dd>benjamin@webkit.org</dd>
<dt>Date</dt> <dd>2014-09-05 13:04:39 -0700 (Fri, 05 Sep 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Update the current matching of :read-only and :read-write to the latest spec
https://bugs.webkit.org/show_bug.cgi?id=136566

Reviewed by Antti Koivisto.

Source/WebCore:

WebKit's implementation of :read-only and :read-write dated from 2008 and
it was based on the web form spec (http://www.w3.org/TR/web-forms-2/).
That spec is very dead now.

There are new definitions of :read-only and :read-write in three specs:
-the HTML living spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting.html#selector-read-only
-Selectors level 4: http://dev.w3.org/csswg/selectors4/#rw-pseudos
-CSS 3 UI: http://www.w3.org/TR/css3-ui/

All the definitions say about the same thing. The definitions of Selector Level 4 and
CSS 3 UI are very vague and poorly worded. I used the HTML when something was ambiguous.

In the new definitions, :read-only and :read-write are opposite. It is no longer possible to
match both selector simultaneously for the same element.
Consequently, I got rid of Element:matchesReadOnlyPseudoClass(). Matching :read-only is now equivalent
to :not(:read-write).

The existing definition of :read-write was matching the spec so I could reuse that.

There is one more part to the new spec that is not addressed here: the pseudo class :read-write should
now also match arbitrary editable HTMLElement (e.g. an element with contenteditable). This will be fixed
in a follow up.

Tests: fast/css/read-only-read-write-input-basics.html
       fast/css/read-only-read-write-textarea-basics.html
       fast/selectors/read-only-read-write-input-basics.html
       fast/selectors/read-only-read-write-input-in-fieldset.html
       fast/selectors/read-only-read-write-textarea-basics.html
       fast/selectors/read-only-read-write-textarea-in-fieldset.html

* css/SelectorCheckerTestFunctions.h:
(WebCore::matchesReadOnlyPseudoClass):
* dom/Element.cpp:
(WebCore::Element::matchesReadOnlyPseudoClass): Deleted.
* dom/Element.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::matchesReadOnlyPseudoClass): Deleted.
* html/HTMLInputElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::matchesReadOnlyPseudoClass): Deleted.
* html/HTMLTextAreaElement.h:
* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::matchesReadOnlyPseudoClass): Deleted.
* html/shadow/SliderThumbElement.h:
* html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::matchesReadOnlyPseudoClass): Deleted.
* html/shadow/SpinButtonElement.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::isReadOnlyControl):

LayoutTests:

* fast/css/readonly-pseudoclass-opera-005.html:
This was one of the original test.
With the new definition, input[type=radio] is always :read-only.

* fast/forms/input-live-pseudo-selectors-expected.txt:
* fast/forms/resources/input-live-pseudo-selectors.js:
* fast/forms/resources/live-pseudo-selectors.css:
(:read-only): Deleted.
* fast/forms/resources/select-live-pseudo-selectors.js:
* fast/forms/resources/textarea-live-pseudo-selectors.js:
* fast/forms/textarea-live-pseudo-selectors-expected.txt:
Those various tests were mostly testing form validation. The selectors
for :read-only and :read-write were in the way of testing.

They were only 3 cases tested and they are covered by the new tests.

* fast/css/read-only-read-write-input-basics-expected.html: Added.
* fast/css/read-only-read-write-input-basics.html: Added.
* fast/css/read-only-read-write-textarea-basics-expected.html: Added.
* fast/css/read-only-read-write-textarea-basics.html: Added.
* fast/selectors/read-only-read-write-input-basics-expected.txt: Added.
* fast/selectors/read-only-read-write-input-basics.html: Added.
* fast/selectors/read-only-read-write-input-in-fieldset-expected.txt: Added.
* fast/selectors/read-only-read-write-input-in-fieldset.html: Added.
* fast/selectors/read-only-read-write-textarea-basics-expected.txt: Added.
* fast/selectors/read-only-read-write-textarea-basics.html: Added.
* fast/selectors/read-only-read-write-textarea-in-fieldset-expected.txt: Added.
* fast/selectors/read-only-read-write-textarea-in-fieldset.html: Added.
New tests covering basic features for &lt;input&gt; and &lt;textarea&gt;. The definition for
other editable content is ignored for now.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfastcssreadonlypseudoclassopera005html">trunk/LayoutTests/fast/css/readonly-pseudoclass-opera-005.html</a></li>
<li><a href="#trunkLayoutTestsfastformsinputlivepseudoselectorsexpectedtxt">trunk/LayoutTests/fast/forms/input-live-pseudo-selectors-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastformsresourcesinputlivepseudoselectorsjs">trunk/LayoutTests/fast/forms/resources/input-live-pseudo-selectors.js</a></li>
<li><a href="#trunkLayoutTestsfastformsresourceslivepseudoselectorscss">trunk/LayoutTests/fast/forms/resources/live-pseudo-selectors.css</a></li>
<li><a href="#trunkLayoutTestsfastformsresourcesselectlivepseudoselectorsjs">trunk/LayoutTests/fast/forms/resources/select-live-pseudo-selectors.js</a></li>
<li><a href="#trunkLayoutTestsfastformsresourcestextarealivepseudoselectorsjs">trunk/LayoutTests/fast/forms/resources/textarea-live-pseudo-selectors.js</a></li>
<li><a href="#trunkLayoutTestsfastformstextarealivepseudoselectorsexpectedtxt">trunk/LayoutTests/fast/forms/textarea-live-pseudo-selectors-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorecssSelectorCheckerTestFunctionsh">trunk/Source/WebCore/css/SelectorCheckerTestFunctions.h</a></li>
<li><a href="#trunkSourceWebCoredomElementcpp">trunk/Source/WebCore/dom/Element.cpp</a></li>
<li><a href="#trunkSourceWebCoredomElementh">trunk/Source/WebCore/dom/Element.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLInputElementcpp">trunk/Source/WebCore/html/HTMLInputElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLInputElementh">trunk/Source/WebCore/html/HTMLInputElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTextAreaElementcpp">trunk/Source/WebCore/html/HTMLTextAreaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTextAreaElementh">trunk/Source/WebCore/html/HTMLTextAreaElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowSliderThumbElementcpp">trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowSliderThumbElementh">trunk/Source/WebCore/html/shadow/SliderThumbElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowSpinButtonElementcpp">trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowSpinButtonElementh">trunk/Source/WebCore/html/shadow/SpinButtonElement.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemecpp">trunk/Source/WebCore/rendering/RenderTheme.cpp</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfastcssreadonlyreadwriteinputbasicsexpectedhtml">trunk/LayoutTests/fast/css/read-only-read-write-input-basics-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastcssreadonlyreadwriteinputbasicshtml">trunk/LayoutTests/fast/css/read-only-read-write-input-basics.html</a></li>
<li><a href="#trunkLayoutTestsfastcssreadonlyreadwritetextareabasicsexpectedhtml">trunk/LayoutTests/fast/css/read-only-read-write-textarea-basics-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastcssreadonlyreadwritetextareabasicshtml">trunk/LayoutTests/fast/css/read-only-read-write-textarea-basics.html</a></li>
<li><a href="#trunkLayoutTestsfastselectorsreadonlyreadwriteinputbasicsexpectedtxt">trunk/LayoutTests/fast/selectors/read-only-read-write-input-basics-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastselectorsreadonlyreadwriteinputbasicshtml">trunk/LayoutTests/fast/selectors/read-only-read-write-input-basics.html</a></li>
<li><a href="#trunkLayoutTestsfastselectorsreadonlyreadwriteinputinfieldsetexpectedtxt">trunk/LayoutTests/fast/selectors/read-only-read-write-input-in-fieldset-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastselectorsreadonlyreadwriteinputinfieldsethtml">trunk/LayoutTests/fast/selectors/read-only-read-write-input-in-fieldset.html</a></li>
<li><a href="#trunkLayoutTestsfastselectorsreadonlyreadwritetextareabasicsexpectedtxt">trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-basics-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastselectorsreadonlyreadwritetextareabasicshtml">trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-basics.html</a></li>
<li><a href="#trunkLayoutTestsfastselectorsreadonlyreadwritetextareainfieldsetexpectedtxt">trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-in-fieldset-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastselectorsreadonlyreadwritetextareainfieldsethtml">trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-in-fieldset.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/LayoutTests/ChangeLog        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -1,3 +1,41 @@
</span><ins>+2014-09-05  Benjamin Poulain  &lt;benjamin@webkit.org&gt;
+
+        Update the current matching of :read-only and :read-write to the latest spec
+        https://bugs.webkit.org/show_bug.cgi?id=136566
+
+        Reviewed by Antti Koivisto.
+
+        * fast/css/readonly-pseudoclass-opera-005.html:
+        This was one of the original test.
+        With the new definition, input[type=radio] is always :read-only.
+
+        * fast/forms/input-live-pseudo-selectors-expected.txt:
+        * fast/forms/resources/input-live-pseudo-selectors.js:
+        * fast/forms/resources/live-pseudo-selectors.css:
+        (:read-only): Deleted.
+        * fast/forms/resources/select-live-pseudo-selectors.js:
+        * fast/forms/resources/textarea-live-pseudo-selectors.js:
+        * fast/forms/textarea-live-pseudo-selectors-expected.txt:
+        Those various tests were mostly testing form validation. The selectors
+        for :read-only and :read-write were in the way of testing.
+
+        They were only 3 cases tested and they are covered by the new tests.
+
+        * fast/css/read-only-read-write-input-basics-expected.html: Added.
+        * fast/css/read-only-read-write-input-basics.html: Added.
+        * fast/css/read-only-read-write-textarea-basics-expected.html: Added.
+        * fast/css/read-only-read-write-textarea-basics.html: Added.
+        * fast/selectors/read-only-read-write-input-basics-expected.txt: Added.
+        * fast/selectors/read-only-read-write-input-basics.html: Added.
+        * fast/selectors/read-only-read-write-input-in-fieldset-expected.txt: Added.
+        * fast/selectors/read-only-read-write-input-in-fieldset.html: Added.
+        * fast/selectors/read-only-read-write-textarea-basics-expected.txt: Added.
+        * fast/selectors/read-only-read-write-textarea-basics.html: Added.
+        * fast/selectors/read-only-read-write-textarea-in-fieldset-expected.txt: Added.
+        * fast/selectors/read-only-read-write-textarea-in-fieldset.html: Added.
+        New tests covering basic features for &lt;input&gt; and &lt;textarea&gt;. The definition for
+        other editable content is ignored for now.
+
</ins><span class="cx"> 2014-09-05  Carlos Alberto Lopez Perez  &lt;clopez@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [GTK] Unreviewed GTK gardening.
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssreadonlyreadwriteinputbasicsexpectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/read-only-read-write-input-basics-expected.html (0 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/read-only-read-write-input-basics-expected.html                                (rev 0)
+++ trunk/LayoutTests/fast/css/read-only-read-write-input-basics-expected.html        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -0,0 +1,163 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;style&gt;
+div {
+    float: left;
+    border: 1px solid red;
+}
+input {
+    background-color: white;
+    color: black;
+}
+input:read-only {
+    background-color: lime;
+}
+input:read-write {
+    color: red;
+}
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+    &lt;p&gt;Test the basic styling of the &amp;lt;input&amp;gt; types with the selectors :read-only and :read-write.&lt;/p&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;hidden&quot; value=&quot;hidden&quot;&gt;
+        &lt;input type=&quot;hidden&quot; value=&quot;hidden&quot; readonly&gt;
+        &lt;input type=&quot;hidden&quot; value=&quot;hidden&quot; disabled&gt;
+        &lt;input type=&quot;hidden&quot; value=&quot;hidden&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;text&quot; value=&quot;text&quot;&gt;
+        &lt;input type=&quot;text&quot; value=&quot;text&quot; readonly&gt;
+        &lt;input type=&quot;text&quot; value=&quot;text&quot; disabled&gt;
+        &lt;input type=&quot;text&quot; value=&quot;text&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;search&quot; value=&quot;search&quot;&gt;
+        &lt;input type=&quot;search&quot; value=&quot;search&quot; readonly&gt;
+        &lt;input type=&quot;search&quot; value=&quot;search&quot; disabled&gt;
+        &lt;input type=&quot;search&quot; value=&quot;search&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;tel&quot; value=&quot;tel&quot;&gt;
+        &lt;input type=&quot;tel&quot; value=&quot;tel&quot; readonly&gt;
+        &lt;input type=&quot;tel&quot; value=&quot;tel&quot; disabled&gt;
+        &lt;input type=&quot;tel&quot; value=&quot;tel&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;url&quot; value=&quot;url&quot;&gt;
+        &lt;input type=&quot;url&quot; value=&quot;url&quot; readonly&gt;
+        &lt;input type=&quot;url&quot; value=&quot;url&quot; disabled&gt;
+        &lt;input type=&quot;url&quot; value=&quot;url&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;email&quot; value=&quot;email&quot;&gt;
+        &lt;input type=&quot;email&quot; value=&quot;email&quot; readonly&gt;
+        &lt;input type=&quot;email&quot; value=&quot;email&quot; disabled&gt;
+        &lt;input type=&quot;email&quot; value=&quot;email&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;password&quot; value=&quot;password&quot;&gt;
+        &lt;input type=&quot;password&quot; value=&quot;password&quot; readonly&gt;
+        &lt;input type=&quot;password&quot; value=&quot;password&quot; disabled&gt;
+        &lt;input type=&quot;password&quot; value=&quot;password&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;datetime&quot; value=&quot;datetime&quot;&gt;
+        &lt;input type=&quot;datetime&quot; value=&quot;datetime&quot; readonly&gt;
+        &lt;input type=&quot;datetime&quot; value=&quot;datetime&quot; disabled&gt;
+        &lt;input type=&quot;datetime&quot; value=&quot;datetime&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;date&quot; value=&quot;date&quot;&gt;
+        &lt;input type=&quot;date&quot; value=&quot;date&quot; readonly&gt;
+        &lt;input type=&quot;date&quot; value=&quot;date&quot; disabled&gt;
+        &lt;input type=&quot;date&quot; value=&quot;date&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;month&quot; value=&quot;month&quot;&gt;
+        &lt;input type=&quot;month&quot; value=&quot;month&quot; readonly&gt;
+        &lt;input type=&quot;month&quot; value=&quot;month&quot; disabled&gt;
+        &lt;input type=&quot;month&quot; value=&quot;month&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;week&quot; value=&quot;week&quot;&gt;
+        &lt;input type=&quot;week&quot; value=&quot;week&quot; readonly&gt;
+        &lt;input type=&quot;week&quot; value=&quot;week&quot; disabled&gt;
+        &lt;input type=&quot;week&quot; value=&quot;week&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;time&quot; value=&quot;time&quot;&gt;
+        &lt;input type=&quot;time&quot; value=&quot;time&quot; readonly&gt;
+        &lt;input type=&quot;time&quot; value=&quot;time&quot; disabled&gt;
+        &lt;input type=&quot;time&quot; value=&quot;time&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;datetime-local&quot; value=&quot;datetime-local&quot;&gt;
+        &lt;input type=&quot;datetime-local&quot; value=&quot;datetime-local&quot; readonly&gt;
+        &lt;input type=&quot;datetime-local&quot; value=&quot;datetime-local&quot; disabled&gt;
+        &lt;input type=&quot;datetime-local&quot; value=&quot;datetime-local&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;number&quot; value=&quot;number&quot;&gt;
+        &lt;input type=&quot;number&quot; value=&quot;number&quot; readonly&gt;
+        &lt;input type=&quot;number&quot; value=&quot;number&quot; disabled&gt;
+        &lt;input type=&quot;number&quot; value=&quot;number&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;range&quot; value=&quot;range&quot;&gt;
+        &lt;input type=&quot;range&quot; value=&quot;range&quot; readonly&gt;
+        &lt;input type=&quot;range&quot; value=&quot;range&quot; disabled&gt;
+        &lt;input type=&quot;range&quot; value=&quot;range&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;color&quot; value=&quot;color&quot;&gt;
+        &lt;input type=&quot;color&quot; value=&quot;color&quot; readonly&gt;
+        &lt;input type=&quot;color&quot; value=&quot;color&quot; disabled&gt;
+        &lt;input type=&quot;color&quot; value=&quot;color&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;checkbox&quot; value=&quot;checkbox&quot;&gt;
+        &lt;input type=&quot;checkbox&quot; value=&quot;checkbox&quot; readonly&gt;
+        &lt;input type=&quot;checkbox&quot; value=&quot;checkbox&quot; disabled&gt;
+        &lt;input type=&quot;checkbox&quot; value=&quot;checkbox&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;radio&quot; value=&quot;radio&quot;&gt;
+        &lt;input type=&quot;radio&quot; value=&quot;radio&quot; readonly&gt;
+        &lt;input type=&quot;radio&quot; value=&quot;radio&quot; disabled&gt;
+        &lt;input type=&quot;radio&quot; value=&quot;radio&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;file&quot; value=&quot;file&quot;&gt;
+        &lt;input type=&quot;file&quot; value=&quot;file&quot; readonly&gt;
+        &lt;input type=&quot;file&quot; value=&quot;file&quot; disabled&gt;
+        &lt;input type=&quot;file&quot; value=&quot;file&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;submit&quot; value=&quot;submit&quot;&gt;
+        &lt;input type=&quot;submit&quot; value=&quot;submit&quot; readonly&gt;
+        &lt;input type=&quot;submit&quot; value=&quot;submit&quot; disabled&gt;
+        &lt;input type=&quot;submit&quot; value=&quot;submit&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;image&quot; value=&quot;image&quot;&gt;
+        &lt;input type=&quot;image&quot; value=&quot;image&quot; readonly&gt;
+        &lt;input type=&quot;image&quot; value=&quot;image&quot; disabled&gt;
+        &lt;input type=&quot;image&quot; value=&quot;image&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;reset&quot; value=&quot;reset&quot;&gt;
+        &lt;input type=&quot;reset&quot; value=&quot;reset&quot; readonly&gt;
+        &lt;input type=&quot;reset&quot; value=&quot;reset&quot; disabled&gt;
+        &lt;input type=&quot;reset&quot; value=&quot;reset&quot; readonly disabled&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;button&quot; value=&quot;button&quot;&gt;
+        &lt;input type=&quot;button&quot; value=&quot;button&quot; readonly&gt;
+        &lt;input type=&quot;button&quot; value=&quot;button&quot; disabled&gt;
+        &lt;input type=&quot;button&quot; value=&quot;button&quot; readonly disabled&gt;
+    &lt;/div&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssreadonlyreadwriteinputbasicshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/read-only-read-write-input-basics.html (0 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/read-only-read-write-input-basics.html                                (rev 0)
+++ trunk/LayoutTests/fast/css/read-only-read-write-input-basics.html        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -0,0 +1,163 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;style&gt;
+div {
+    float: left;
+    border: 1px solid red;
+}
+input {
+    background-color: white;
+    color: black;
+}
+.read-only {
+    background-color: lime;
+}
+.read-write {
+    color: red;
+}
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+    &lt;p&gt;Test the basic styling of the &amp;lt;input&amp;gt; types with the selectors :read-only and :read-write.&lt;/p&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;hidden&quot; value=&quot;hidden&quot; class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;hidden&quot; value=&quot;hidden&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;hidden&quot; value=&quot;hidden&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;hidden&quot; value=&quot;hidden&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;text&quot; value=&quot;text&quot; class=&quot;read-write&quot;&gt;
+        &lt;input type=&quot;text&quot; value=&quot;text&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;text&quot; value=&quot;text&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;text&quot; value=&quot;text&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;search&quot; value=&quot;search&quot; class=&quot;read-write&quot;&gt;
+        &lt;input type=&quot;search&quot; value=&quot;search&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;search&quot; value=&quot;search&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;search&quot; value=&quot;search&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;tel&quot; value=&quot;tel&quot; class=&quot;read-write&quot;&gt;
+        &lt;input type=&quot;tel&quot; value=&quot;tel&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;tel&quot; value=&quot;tel&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;tel&quot; value=&quot;tel&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;url&quot; value=&quot;url&quot; class=&quot;read-write&quot;&gt;
+        &lt;input type=&quot;url&quot; value=&quot;url&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;url&quot; value=&quot;url&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;url&quot; value=&quot;url&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;email&quot; value=&quot;email&quot; class=&quot;read-write&quot;&gt;
+        &lt;input type=&quot;email&quot; value=&quot;email&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;email&quot; value=&quot;email&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;email&quot; value=&quot;email&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;password&quot; value=&quot;password&quot; class=&quot;read-write&quot;&gt;
+        &lt;input type=&quot;password&quot; value=&quot;password&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;password&quot; value=&quot;password&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;password&quot; value=&quot;password&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;datetime&quot; value=&quot;datetime&quot; class=&quot;read-write&quot;&gt;
+        &lt;input type=&quot;datetime&quot; value=&quot;datetime&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;datetime&quot; value=&quot;datetime&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;datetime&quot; value=&quot;datetime&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;date&quot; value=&quot;date&quot; class=&quot;read-write&quot;&gt;
+        &lt;input type=&quot;date&quot; value=&quot;date&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;date&quot; value=&quot;date&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;date&quot; value=&quot;date&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;month&quot; value=&quot;month&quot; class=&quot;read-write&quot;&gt;
+        &lt;input type=&quot;month&quot; value=&quot;month&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;month&quot; value=&quot;month&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;month&quot; value=&quot;month&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;week&quot; value=&quot;week&quot; class=&quot;read-write&quot;&gt;
+        &lt;input type=&quot;week&quot; value=&quot;week&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;week&quot; value=&quot;week&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;week&quot; value=&quot;week&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;time&quot; value=&quot;time&quot; class=&quot;read-write&quot;&gt;
+        &lt;input type=&quot;time&quot; value=&quot;time&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;time&quot; value=&quot;time&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;time&quot; value=&quot;time&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;datetime-local&quot; value=&quot;datetime-local&quot; class=&quot;read-write&quot;&gt;
+        &lt;input type=&quot;datetime-local&quot; value=&quot;datetime-local&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;datetime-local&quot; value=&quot;datetime-local&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;datetime-local&quot; value=&quot;datetime-local&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;number&quot; value=&quot;number&quot; class=&quot;read-write&quot;&gt;
+        &lt;input type=&quot;number&quot; value=&quot;number&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;number&quot; value=&quot;number&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;number&quot; value=&quot;number&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;range&quot; value=&quot;range&quot; class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;range&quot; value=&quot;range&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;range&quot; value=&quot;range&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;range&quot; value=&quot;range&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;color&quot; value=&quot;color&quot; class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;color&quot; value=&quot;color&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;color&quot; value=&quot;color&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;color&quot; value=&quot;color&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;checkbox&quot; value=&quot;checkbox&quot; class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;checkbox&quot; value=&quot;checkbox&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;checkbox&quot; value=&quot;checkbox&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;checkbox&quot; value=&quot;checkbox&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;radio&quot; value=&quot;radio&quot; class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;radio&quot; value=&quot;radio&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;radio&quot; value=&quot;radio&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;radio&quot; value=&quot;radio&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;file&quot; value=&quot;file&quot; class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;file&quot; value=&quot;file&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;file&quot; value=&quot;file&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;file&quot; value=&quot;file&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;submit&quot; value=&quot;submit&quot; class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;submit&quot; value=&quot;submit&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;submit&quot; value=&quot;submit&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;submit&quot; value=&quot;submit&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;image&quot; value=&quot;image&quot; class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;image&quot; value=&quot;image&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;image&quot; value=&quot;image&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;image&quot; value=&quot;image&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;reset&quot; value=&quot;reset&quot; class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;reset&quot; value=&quot;reset&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;reset&quot; value=&quot;reset&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;reset&quot; value=&quot;reset&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+    &lt;div&gt;
+        &lt;input type=&quot;button&quot; value=&quot;button&quot; class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;button&quot; value=&quot;button&quot; readonly class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;button&quot; value=&quot;button&quot; disabled class=&quot;read-only&quot;&gt;
+        &lt;input type=&quot;button&quot; value=&quot;button&quot; readonly disabled class=&quot;read-only&quot;&gt;
+    &lt;/div&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssreadonlyreadwritetextareabasicsexpectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/read-only-read-write-textarea-basics-expected.html (0 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/read-only-read-write-textarea-basics-expected.html                                (rev 0)
+++ trunk/LayoutTests/fast/css/read-only-read-write-textarea-basics-expected.html        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;style&gt;
+textarea {
+    background-color: white;
+    color: black;
+    float: left;
+}
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+    &lt;p&gt;Test the basic styling of &amp;lt;textarea&amp;gt; with the selectors :read-only and :read-write. If the test succeed, the first text area should have red text over a white background. All the following text area should have black text over green background.&lt;/p&gt;
+    &lt;textarea style=&quot;color: red;&quot;&gt;Ouch,&lt;/textarea&gt;
+
+    &lt;textarea style=&quot;background-color: lime;&quot; readonly&gt;WebKit&lt;/textarea&gt;
+    &lt;textarea style=&quot;background-color: lime;&quot; readonly&gt;seems&lt;/textarea&gt;
+    &lt;textarea style=&quot;background-color: lime;&quot; readonly&gt;to&lt;/textarea&gt;
+
+    &lt;textarea style=&quot;background-color: lime;&quot; readonly&gt;be&lt;/textarea&gt;
+    &lt;textarea style=&quot;background-color: lime;&quot; readonly&gt;the&lt;/textarea&gt;
+    &lt;textarea style=&quot;background-color: lime;&quot; readonly&gt;only&lt;/textarea&gt;
+
+    &lt;textarea style=&quot;background-color: lime;&quot; disabled&gt;engine&lt;/textarea&gt;
+    &lt;textarea style=&quot;background-color: lime;&quot; disabled&gt;testing&lt;/textarea&gt;
+    &lt;textarea style=&quot;background-color: lime;&quot; disabled&gt;css&lt;/textarea&gt;
+
+    &lt;textarea style=&quot;background-color: lime;&quot; disabled&gt;selectors&lt;/textarea&gt;
+    &lt;textarea style=&quot;background-color: lime;&quot; disabled&gt;properly.&lt;/textarea&gt;
+    &lt;textarea style=&quot;background-color: lime;&quot; disabled&gt;That&lt;/textarea&gt;
+
+    &lt;textarea style=&quot;background-color: lime;&quot; readonly disabled&gt;is&lt;/textarea&gt;
+    &lt;textarea style=&quot;background-color: lime;&quot; readonly disabled&gt;sad.&lt;/textarea&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssreadonlyreadwritetextareabasicshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/read-only-read-write-textarea-basics.html (0 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/read-only-read-write-textarea-basics.html                                (rev 0)
+++ trunk/LayoutTests/fast/css/read-only-read-write-textarea-basics.html        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;style&gt;
+textarea {
+    background-color: white;
+    color: black;
+    float: left;
+}
+textarea:read-only {
+    background-color: lime;
+}
+textarea:read-write {
+    color: red;
+}
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+    &lt;p&gt;Test the basic styling of &amp;lt;textarea&amp;gt; with the selectors :read-only and :read-write. If the test succeed, the first text area should have red text over a white background. All the following text area should have black text over green background.&lt;/p&gt;
+    &lt;textarea&gt;Ouch,&lt;/textarea&gt;
+
+    &lt;textarea readonly&gt;WebKit&lt;/textarea&gt;
+    &lt;textarea readonly=&quot;&quot;&gt;seems&lt;/textarea&gt;
+    &lt;textarea readonly=&quot;readonly&quot;&gt;to&lt;/textarea&gt;
+
+    &lt;textarea readonly=&quot;true&quot;&gt;be&lt;/textarea&gt;
+    &lt;textarea readonly=&quot;false&quot;&gt;the&lt;/textarea&gt;
+    &lt;textarea readonly=&quot;disabled&quot;&gt;only&lt;/textarea&gt;
+
+    &lt;textarea disabled&gt;engine&lt;/textarea&gt;
+    &lt;textarea disabled=&quot;&quot;&gt;testing&lt;/textarea&gt;
+    &lt;textarea disabled=&quot;disabled&quot;&gt;css&lt;/textarea&gt;
+
+    &lt;textarea disabled=&quot;true&quot;&gt;selectors&lt;/textarea&gt;
+    &lt;textarea disabled=&quot;false&quot;&gt;properly.&lt;/textarea&gt;
+    &lt;textarea disabled=&quot;readonly&quot;&gt;That&lt;/textarea&gt;
+
+    &lt;textarea readonly disabled&gt;is&lt;/textarea&gt;
+    &lt;textarea readonly=&quot;&quot; disabled=&quot;&quot;&gt;sad.&lt;/textarea&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssreadonlypseudoclassopera005html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/readonly-pseudoclass-opera-005.html (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/readonly-pseudoclass-opera-005.html        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/LayoutTests/fast/css/readonly-pseudoclass-opera-005.html        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -5,7 +5,11 @@
</span><span class="cx">  input { background: red; }
</span><span class="cx">  #i1:read-write { background: lime; }
</span><span class="cx">  #i2 { background: lime; }
</span><del>- #i2:read-only { background: red; }
</del><ins>+
+ /* This definition was modified since the original opera test. In the latest definition (http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting.html#selector-read-only),
+    input[type=radio] is always read-only. */
+ #i2:read-write { background: red; }
+
</ins><span class="cx">  #i3:read-write { background: lime; }
</span><span class="cx">  #i4:read-only { background: lime; }
</span><span class="cx">  #i5:read-only { background: lime; }
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsinputlivepseudoselectorsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/input-live-pseudo-selectors-expected.txt (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/input-live-pseudo-selectors-expected.txt        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/LayoutTests/fast/forms/input-live-pseudo-selectors-expected.txt        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -12,7 +12,7 @@
</span><span class="cx"> PASS backgroundOf(el) is disabledColor
</span><span class="cx"> PASS backgroundOf(el) is invalidColor
</span><span class="cx"> Change readOnly:
</span><del>-PASS backgroundOf(el) is readOnlyColor
</del><ins>+PASS backgroundOf(el) is normalColor
</ins><span class="cx"> PASS backgroundOf(el) is invalidColor
</span><span class="cx"> Inside/outside of a form:
</span><span class="cx"> PASS backgroundOf(el) is invalidColor
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsresourcesinputlivepseudoselectorsjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/resources/input-live-pseudo-selectors.js (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/resources/input-live-pseudo-selectors.js        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/LayoutTests/fast/forms/resources/input-live-pseudo-selectors.js        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -23,7 +23,6 @@
</span><span class="cx"> var invalidColor = 'rgb(255, 0, 0)';
</span><span class="cx"> var normalColor = 'rgb(255, 255, 255)';
</span><span class="cx"> var disabledColor = 'rgb(0, 0, 0)';
</span><del>-var readOnlyColor = 'rgb(0, 255, 0)'
</del><span class="cx"> var validColor = 'rgb(0, 0, 255)';
</span><span class="cx"> 
</span><span class="cx"> // --------------------------------
</span><span class="lines">@@ -50,7 +49,7 @@
</span><span class="cx"> debug('Change readOnly:');
</span><span class="cx"> el = makeInvalid();
</span><span class="cx"> el.readOnly = true;
</span><del>-shouldBe(elBackground, 'readOnlyColor');
</del><ins>+shouldBe(elBackground, 'normalColor');
</ins><span class="cx"> el.readOnly = false;
</span><span class="cx"> shouldBe(elBackground, 'invalidColor');
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsresourceslivepseudoselectorscss"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/resources/live-pseudo-selectors.css (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/resources/live-pseudo-selectors.css        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/LayoutTests/fast/forms/resources/live-pseudo-selectors.css        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -1,6 +1,5 @@
</span><span class="cx"> :invalid { background: rgb(255, 0, 0); }
</span><span class="cx"> :valid { background: rgb(0, 0, 255); }
</span><span class="cx"> :disabled { background: black; }
</span><del>-:read-only { background: rgb(0, 255, 0); }
</del><span class="cx"> input { background: white; }
</span><span class="cx"> textarea { background: white; }
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsresourcesselectlivepseudoselectorsjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/resources/select-live-pseudo-selectors.js (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/resources/select-live-pseudo-selectors.js        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/LayoutTests/fast/forms/resources/select-live-pseudo-selectors.js        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -60,7 +60,6 @@
</span><span class="cx"> var invalidColor = 'rgb(255, 0, 0)';
</span><span class="cx"> var normalColor = 'rgb(255, 255, 255)';
</span><span class="cx"> var disabledColor = 'rgb(0, 0, 0)';
</span><del>-var readOnlyColor = 'rgb(0, 255, 0)'
</del><span class="cx"> var transparentColor = 'rgba(0, 0, 0, 0)';
</span><span class="cx"> var validColor = 'rgb(0, 0, 255)';
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsresourcestextarealivepseudoselectorsjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/resources/textarea-live-pseudo-selectors.js (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/resources/textarea-live-pseudo-selectors.js        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/LayoutTests/fast/forms/resources/textarea-live-pseudo-selectors.js        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -23,7 +23,6 @@
</span><span class="cx"> var invalidColor = 'rgb(255, 0, 0)';
</span><span class="cx"> var normalColor = 'rgb(255, 255, 255)';
</span><span class="cx"> var disabledColor = 'rgb(0, 0, 0)';
</span><del>-var readOnlyColor = 'rgb(0, 255, 0)'
</del><span class="cx"> var validColor = 'rgb(0, 0, 255)';
</span><span class="cx"> 
</span><span class="cx"> // --------------------------------
</span><span class="lines">@@ -50,7 +49,7 @@
</span><span class="cx"> debug('Change readOnly:');
</span><span class="cx"> el = makeInvalid();
</span><span class="cx"> el.readOnly = true;
</span><del>-shouldBe(elBackground, 'readOnlyColor');
</del><ins>+shouldBe(elBackground, 'normalColor');
</ins><span class="cx"> el.readOnly = false;
</span><span class="cx"> shouldBe(elBackground, 'invalidColor');
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastformstextarealivepseudoselectorsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/textarea-live-pseudo-selectors-expected.txt (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/textarea-live-pseudo-selectors-expected.txt        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/LayoutTests/fast/forms/textarea-live-pseudo-selectors-expected.txt        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -12,7 +12,7 @@
</span><span class="cx"> PASS backgroundOf(el) is disabledColor
</span><span class="cx"> PASS backgroundOf(el) is invalidColor
</span><span class="cx"> Change readOnly:
</span><del>-PASS backgroundOf(el) is readOnlyColor
</del><ins>+PASS backgroundOf(el) is normalColor
</ins><span class="cx"> PASS backgroundOf(el) is invalidColor
</span><span class="cx"> Inside/outside of a form:
</span><span class="cx"> PASS backgroundOf(el) is invalidColor
</span></span></pre></div>
<a id="trunkLayoutTestsfastselectorsreadonlyreadwriteinputbasicsexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/selectors/read-only-read-write-input-basics-expected.txt (0 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/selectors/read-only-read-write-input-basics-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/selectors/read-only-read-write-input-basics-expected.txt        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -0,0 +1,1907 @@
</span><ins>+Test the basic features of &quot;:read-only&quot;, &quot;:read-write&quot; on the &lt;input&gt; element. The definion is that &quot;:read-write&quot; is matches for &quot;input elements to which the readonly attribute applies, and that are mutable (i.e. that do not have the readonly attribute specified and that are not disabled)&quot;
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+Testing hidden
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+Testing text
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+Testing search
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+Testing tel
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+Testing url
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+Testing email
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+Testing password
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+Testing datetime
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+Testing date
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+Testing month
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+Testing week
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+Testing time
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+Testing datetime-local
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+Testing number
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+Testing range
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+Testing color
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+Testing checkbox
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+Testing radio
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+Testing file
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+Testing submit
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+Testing image
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+Testing reset
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+Testing button
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+Testing 
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+Testing webkit
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+Testing foobar
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 0
+PASS document.querySelector(&quot;input:read-write&quot;) is null
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 1
+PASS document.querySelector(&quot;input:read-only&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 1
+PASS document.querySelector(&quot;input:read-write&quot;) is document.getElementById(&quot;testcase&quot;)
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 0
+PASS document.querySelector(&quot;input:read-only&quot;) is null
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;testcase&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastselectorsreadonlyreadwriteinputbasicshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/selectors/read-only-read-write-input-basics.html (0 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/selectors/read-only-read-write-input-basics.html                                (rev 0)
+++ trunk/LayoutTests/fast/selectors/read-only-read-write-input-basics.html        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -0,0 +1,121 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style&gt;
+input {
+    background-color: white;
+    color: black;
+}
+input:read-only {
+    background-color: rgb(1, 2, 3);
+}
+input:read-write {
+    color: rgb(4, 5, 6);
+}
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+    &lt;div style=&quot;display:none&quot;&gt;
+        &lt;input id=&quot;testcase&quot;&gt;
+    &lt;/div&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Test the basic features of &quot;:read-only&quot;, &quot;:read-write&quot; on the &amp;ltinput&amp;gt; element. The definion is that &quot;:read-write&quot; is matches for &quot;input elements to which the readonly attribute applies, and that are mutable (i.e. that do not have the readonly attribute specified and that are not disabled)&quot;');
+
+// List of [input type, supports readonly attribute].
+var inputTypes = [
+    // Input types defined in the HTML Living Standard. http://www.whatwg.org/html/
+    [&quot;hidden&quot;, false],
+    [&quot;text&quot;, true],
+    [&quot;search&quot;, true],
+    [&quot;tel&quot;, true],
+    [&quot;url&quot;, true],
+    [&quot;email&quot;, true],
+    [&quot;password&quot;, true],
+    [&quot;datetime&quot;, true],
+    [&quot;date&quot;, true],
+    [&quot;month&quot;, true],
+    [&quot;week&quot;, true],
+    [&quot;time&quot;, true],
+    [&quot;datetime-local&quot;, true],
+    [&quot;number&quot;, true],
+    [&quot;range&quot;, false],
+    [&quot;color&quot;, false],
+    [&quot;checkbox&quot;, false],
+    [&quot;radio&quot;, false],
+    [&quot;file&quot;, false],
+    [&quot;submit&quot;, false],
+    [&quot;image&quot;, false],
+    [&quot;reset&quot;, false],
+    [&quot;button&quot;, false],
+
+    // Made up ones.
+    [&quot;&quot;, true],
+    [&quot;webkit&quot;, true],
+    [&quot;foobar&quot;, true],
+];
+
+function testProperties(isReadOnly) {
+    shouldBe('document.querySelectorAll(&quot;input:read-write&quot;).length', isReadOnly ? &quot;0&quot; : &quot;1&quot;);
+    shouldBe('document.querySelector(&quot;input:read-write&quot;)', isReadOnly ? &quot;null&quot; : &quot;document.getElementById(\&quot;testcase\&quot;)&quot;);
+    shouldBe('document.querySelectorAll(&quot;input:read-only&quot;).length', isReadOnly ? &quot;1&quot; : &quot;0&quot;);
+    shouldBe('document.querySelector(&quot;input:read-only&quot;)', isReadOnly ? &quot;document.getElementById(\&quot;testcase\&quot;)&quot; : &quot;null&quot;);
+    shouldBeEqualToString(&quot;getComputedStyle(document.getElementById(\&quot;testcase\&quot;)).color&quot;, isReadOnly ? &quot;rgb(0, 0, 0)&quot; : &quot;rgb(4, 5, 6)&quot;);
+    shouldBeEqualToString(&quot;getComputedStyle(document.getElementById(\&quot;testcase\&quot;)).backgroundColor&quot;, isReadOnly ? &quot;rgb(1, 2, 3)&quot; : &quot;rgb(255, 255, 255)&quot;);
+}
+
+function testInputType(inputType, supportsReadonly) {
+    var testCase = document.getElementById(&quot;testcase&quot;);
+    testCase.type = inputType;
+
+    // Initial state.
+    testProperties(!supportsReadonly);
+
+    // Setting readonly through API.
+    testCase.readOnly = true;
+    testProperties(true);
+
+    testCase.readOnly = false;
+    testProperties(!supportsReadonly);
+
+    // Setting readonly through attributes.
+    testCase.setAttribute(&quot;readonly&quot;);
+    testProperties(true);
+
+    testCase.removeAttribute(&quot;readonly&quot;);
+    testProperties(!supportsReadonly);
+
+    // Setting disabled through API.
+    testCase.disabled = true;
+    testProperties(true);
+
+    testCase.disabled = false;
+    testProperties(!supportsReadonly);
+
+    // Setting disabled through attributes.
+    testCase.setAttribute(&quot;disabled&quot;);
+    testProperties(true);
+
+    testCase.removeAttribute(&quot;disabled&quot;);
+    testProperties(!supportsReadonly);
+
+    // Setting both.
+    testCase.readOnly = true;
+    testCase.disabled = true;
+    testProperties(true);
+
+    // Remove them one by one.
+    testCase.removeAttribute(&quot;disabled&quot;);
+    testProperties(true);
+    testCase.removeAttribute(&quot;readonly&quot;);
+    testProperties(!supportsReadonly);
+}
+
+for (var i = 0; i &lt; inputTypes.length; ++i) {
+    debug(&quot;Testing &quot; + inputTypes[i][0]);
+    testInputType(inputTypes[i][0], inputTypes[i][1]);
+}
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastselectorsreadonlyreadwriteinputinfieldsetexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/selectors/read-only-read-write-input-in-fieldset-expected.txt (0 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/selectors/read-only-read-write-input-in-fieldset-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/selectors/read-only-read-write-input-in-fieldset-expected.txt        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+Test the basic features of &quot;:read-only&quot;, &quot;:read-write&quot; on the &lt;input&gt; element. In a fieldset, all elements that are not part of the legend are disabled if the fieldset is disabled.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+PASS document.querySelectorAll(&quot;input:read-write&quot;).length is 4
+PASS document.querySelectorAll(&quot;input:read-write&quot;)[0].id is &quot;input1&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;)[1].id is &quot;input2&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;)[2].id is &quot;input3&quot;
+PASS document.querySelectorAll(&quot;input:read-write&quot;)[3].id is &quot;input5&quot;
+PASS document.querySelectorAll(&quot;input:read-only&quot;).length is 2
+PASS document.querySelectorAll(&quot;input:read-only&quot;)[0].id is &quot;input4&quot;
+PASS document.querySelectorAll(&quot;input:read-only&quot;)[1].id is &quot;input6&quot;
+PASS getComputedStyle(document.getElementById('input1')).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS getComputedStyle(document.getElementById('input1')).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById('input2')).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS getComputedStyle(document.getElementById('input2')).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById('input3')).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS getComputedStyle(document.getElementById('input3')).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById('input4')).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById('input4')).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById('input5')).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS getComputedStyle(document.getElementById('input5')).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById('input6')).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById('input6')).color is &quot;rgb(0, 0, 0)&quot;
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastselectorsreadonlyreadwriteinputinfieldsethtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/selectors/read-only-read-write-input-in-fieldset.html (0 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/selectors/read-only-read-write-input-in-fieldset.html                                (rev 0)
+++ trunk/LayoutTests/fast/selectors/read-only-read-write-input-in-fieldset.html        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -0,0 +1,71 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style&gt;
+input {
+    background-color: white;
+    color: black;
+}
+input:read-only {
+    background-color: rgb(1, 2, 3);
+}
+input:read-write {
+    color: rgb(4, 5, 6);
+}
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+    &lt;div style=&quot;display:none&quot;&gt;
+        &lt;fieldset&gt;
+            &lt;legend&gt;Legend!&lt;input type=&quot;text&quot; id=&quot;input1&quot;&gt;&lt;/legend&gt;
+            &lt;input type=&quot;text&quot; id=&quot;input2&quot;&gt;
+        &lt;/fieldset&gt;
+
+        &lt;fieldset disabled&gt;
+            &lt;legend&gt;Legend!&lt;input type=&quot;text&quot; id=&quot;input3&quot;&gt;&lt;/legend&gt;
+            &lt;input type=&quot;text&quot; id=&quot;input4&quot;&gt;
+        &lt;/fieldset&gt;
+
+        &lt;fieldset id=&quot;disabled-dynamically&quot;&gt;
+            &lt;legend&gt;Legend!&lt;input type=&quot;text&quot; id=&quot;input5&quot;&gt;&lt;/legend&gt;
+            &lt;input type=&quot;text&quot; id=&quot;input6&quot;&gt;
+        &lt;/fieldset&gt;
+    &lt;/div&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Test the basic features of &quot;:read-only&quot;, &quot;:read-write&quot; on the &amp;ltinput&amp;gt; element. In a fieldset, all elements that are not part of the legend are disabled if the fieldset is disabled.');
+
+document.getElementById(&quot;disabled-dynamically&quot;).disabled = true;
+
+shouldBe(&quot;document.querySelectorAll(\&quot;input:read-write\&quot;).length&quot;, &quot;4&quot;);
+shouldBeEqualToString(&quot;document.querySelectorAll(\&quot;input:read-write\&quot;)[0].id&quot;, &quot;input1&quot;);
+shouldBeEqualToString(&quot;document.querySelectorAll(\&quot;input:read-write\&quot;)[1].id&quot;, &quot;input2&quot;);
+shouldBeEqualToString(&quot;document.querySelectorAll(\&quot;input:read-write\&quot;)[2].id&quot;, &quot;input3&quot;);
+shouldBeEqualToString(&quot;document.querySelectorAll(\&quot;input:read-write\&quot;)[3].id&quot;, &quot;input5&quot;);
+
+shouldBe(&quot;document.querySelectorAll(\&quot;input:read-only\&quot;).length&quot;, &quot;2&quot;);
+shouldBeEqualToString(&quot;document.querySelectorAll(\&quot;input:read-only\&quot;)[0].id&quot;, &quot;input4&quot;);
+shouldBeEqualToString(&quot;document.querySelectorAll(\&quot;input:read-only\&quot;)[1].id&quot;, &quot;input6&quot;);
+
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('input1')).backgroundColor&quot;, &quot;rgb(255, 255, 255)&quot;);
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('input1')).color&quot;, &quot;rgb(4, 5, 6)&quot;);
+
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('input2')).backgroundColor&quot;, &quot;rgb(255, 255, 255)&quot;);
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('input2')).color&quot;, &quot;rgb(4, 5, 6)&quot;);
+
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('input3')).backgroundColor&quot;, &quot;rgb(255, 255, 255)&quot;);
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('input3')).color&quot;, &quot;rgb(4, 5, 6)&quot;);
+
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('input4')).backgroundColor&quot;, &quot;rgb(1, 2, 3)&quot;);
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('input4')).color&quot;, &quot;rgb(0, 0, 0)&quot;);
+
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('input5')).backgroundColor&quot;, &quot;rgb(255, 255, 255)&quot;);
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('input5')).color&quot;, &quot;rgb(4, 5, 6)&quot;);
+
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('input6')).backgroundColor&quot;, &quot;rgb(1, 2, 3)&quot;);
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('input6')).color&quot;, &quot;rgb(0, 0, 0)&quot;);
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastselectorsreadonlyreadwritetextareabasicsexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-basics-expected.txt (0 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-basics-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-basics-expected.txt        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -0,0 +1,278 @@
</span><ins>+Test the basic features of &quot;:read-only&quot;, &quot;:read-write&quot; on the &lt;textarea&gt; element. The definition is that &quot;:read-write&quot; is matches for &quot;textarea elements that do not have a readonly attribute, and that are not disabled&quot;
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+PASS document.querySelectorAll(&quot;textarea:read-write&quot;).length is 1
+PASS document.querySelectorAll(&quot;textarea:read-write&quot;)[0].id is &quot;initial-state&quot;
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;).length is 14
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;)[0].id is &quot;readonly-defined&quot;
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;)[1].id is &quot;readonly-set-empty&quot;
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;)[2].id is &quot;readonly-set-readonly&quot;
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;)[3].id is &quot;readonly-set-true&quot;
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;)[4].id is &quot;readonly-set-false&quot;
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;)[5].id is &quot;readonly-set-disabled&quot;
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;)[6].id is &quot;disabled-defined&quot;
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;)[7].id is &quot;disabled-set-empty&quot;
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;)[8].id is &quot;disabled-set-disabled&quot;
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;)[9].id is &quot;disabled-set-true&quot;
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;)[10].id is &quot;disabled-set-false&quot;
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;)[11].id is &quot;disabled-set-readonly&quot;
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;)[12].id is &quot;readonly-and-disabled-defined&quot;
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;)[13].id is &quot;readonly-and-disabled-set-empty&quot;
+PASS getComputedStyle(document.getElementById(&quot;initial-state&quot;)).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS getComputedStyle(document.getElementById(&quot;initial-state&quot;)).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById(&quot;readonly-defined&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById(&quot;readonly-defined&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;readonly-set-empty&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById(&quot;readonly-set-empty&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;readonly-set-readonly&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById(&quot;readonly-set-readonly&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;readonly-set-true&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById(&quot;readonly-set-true&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;readonly-set-false&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById(&quot;readonly-set-false&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;readonly-set-disabled&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById(&quot;readonly-set-disabled&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;disabled-defined&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById(&quot;disabled-defined&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;disabled-set-empty&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById(&quot;disabled-set-empty&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;disabled-set-disabled&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById(&quot;disabled-set-disabled&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;disabled-set-true&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById(&quot;disabled-set-true&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;disabled-set-false&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById(&quot;disabled-set-false&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;disabled-set-readonly&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById(&quot;disabled-set-readonly&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;readonly-and-disabled-defined&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById(&quot;readonly-and-disabled-defined&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById(&quot;readonly-and-disabled-set-empty&quot;)).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById(&quot;readonly-and-disabled-set-empty&quot;)).color is &quot;rgb(0, 0, 0)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-write&quot;) is null
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-only&quot;) is newTextArea
+PASS getComputedStyle(newTextArea).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS testBlock.querySelectorAll(&quot;:read-write&quot;).length is 1
+PASS testBlock.querySelector(&quot;:read-write&quot;) is newTextArea
+PASS testBlock.querySelectorAll(&quot;:read-only&quot;).length is 0
+PASS testBlock.querySelector(&quot;:read-only&quot;) is null
+PASS getComputedStyle(newTextArea).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(newTextArea).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastselectorsreadonlyreadwritetextareabasicshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-basics.html (0 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-basics.html                                (rev 0)
+++ trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-basics.html        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -0,0 +1,168 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style&gt;
+textarea {
+    background-color: white;
+    color: black;
+}
+textarea:read-only {
+    background-color: rgb(1, 2, 3);
+}
+textarea:read-write {
+    color: rgb(4, 5, 6);
+}
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+    &lt;div style=&quot;display:none&quot; id=&quot;test-block&quot;&gt;
+        &lt;textarea id=&quot;initial-state&quot;&gt;&lt;/textarea&gt;
+
+        &lt;textarea id=&quot;readonly-defined&quot; readonly&gt;&lt;/textarea&gt;
+        &lt;textarea id=&quot;readonly-set-empty&quot; readonly=&quot;&quot;&gt;&lt;/textarea&gt;
+        &lt;textarea id=&quot;readonly-set-readonly&quot; readonly=&quot;readonly&quot;&gt;&lt;/textarea&gt;
+
+        &lt;textarea id=&quot;readonly-set-true&quot; readonly=&quot;true&quot;&gt;&lt;/textarea&gt;
+        &lt;textarea id=&quot;readonly-set-false&quot; readonly=&quot;false&quot;&gt;&lt;/textarea&gt;
+        &lt;textarea id=&quot;readonly-set-disabled&quot; readonly=&quot;disabled&quot;&gt;&lt;/textarea&gt;
+
+        &lt;textarea id=&quot;disabled-defined&quot; disabled&gt;&lt;/textarea&gt;
+        &lt;textarea id=&quot;disabled-set-empty&quot; disabled=&quot;&quot;&gt;&lt;/textarea&gt;
+        &lt;textarea id=&quot;disabled-set-disabled&quot; disabled=&quot;disabled&quot;&gt;&lt;/textarea&gt;
+
+        &lt;textarea id=&quot;disabled-set-true&quot; disabled=&quot;true&quot;&gt;&lt;/textarea&gt;
+        &lt;textarea id=&quot;disabled-set-false&quot; disabled=&quot;false&quot;&gt;&lt;/textarea&gt;
+        &lt;textarea id=&quot;disabled-set-readonly&quot; disabled=&quot;readonly&quot;&gt;&lt;/textarea&gt;
+
+        &lt;textarea id=&quot;readonly-and-disabled-defined&quot; readonly disabled&gt;&lt;/textarea&gt;
+        &lt;textarea id=&quot;readonly-and-disabled-set-empty&quot; readonly=&quot;&quot; disabled=&quot;&quot;&gt;&lt;/textarea&gt;
+    &lt;/div&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Test the basic features of &quot;:read-only&quot;, &quot;:read-write&quot; on the &amp;lttextarea&amp;gt; element. The definition is that &quot;:read-write&quot; is matches for &quot;textarea elements that do not have a readonly attribute, and that are not disabled&quot;');
+
+// First, let's test the static initialization of the parameters.
+function testQuerySelector(selector, expectedMatch) {
+    shouldBe(&quot;document.querySelectorAll(\&quot;&quot; + selector + &quot;\&quot;).length&quot;, &quot;&quot; + expectedMatch.length);
+
+    for (var i = 0; i &lt; expectedMatch.length; ++i)
+        shouldBeEqualToString(&quot;document.querySelectorAll(\&quot;&quot; + selector + &quot;\&quot;)[&quot; + i + &quot;].id&quot;, expectedMatch[i]);
+}
+
+function testStyle(isReadOnly, expectedMatch) {
+    for (var i = 0; i &lt; expectedMatch.length; ++i) {
+        shouldBeEqualToString(&quot;getComputedStyle(document.getElementById(\&quot;&quot; + expectedMatch[i] + &quot;\&quot;)).backgroundColor&quot;, isReadOnly ? &quot;rgb(1, 2, 3)&quot; : &quot;rgb(255, 255, 255)&quot;);
+        shouldBeEqualToString(&quot;getComputedStyle(document.getElementById(\&quot;&quot; + expectedMatch[i] + &quot;\&quot;)).color&quot;, isReadOnly ? &quot;rgb(0, 0, 0)&quot; : &quot;rgb(4, 5, 6)&quot;);
+    }
+}
+
+var elementsMatchingReadWrite = [&quot;initial-state&quot;];
+var elementsMatchingReadOnly = [&quot;readonly-defined&quot;, &quot;readonly-set-empty&quot;, &quot;readonly-set-readonly&quot;, &quot;readonly-set-true&quot;, &quot;readonly-set-false&quot;, &quot;readonly-set-disabled&quot;, &quot;disabled-defined&quot;, &quot;disabled-set-empty&quot;, &quot;disabled-set-disabled&quot;, &quot;disabled-set-true&quot;, &quot;disabled-set-false&quot;, &quot;disabled-set-readonly&quot;, &quot;readonly-and-disabled-defined&quot;, &quot;readonly-and-disabled-set-empty&quot;];
+
+testQuerySelector(&quot;textarea:read-write&quot;, elementsMatchingReadWrite);
+testQuerySelector(&quot;textarea:read-only&quot;, elementsMatchingReadOnly);
+testStyle(false, elementsMatchingReadWrite);
+testStyle(true, elementsMatchingReadOnly);
+
+
+// Same Jazz, but updating through JavaScript instead.
+var testBlock = document.getElementById(&quot;test-block&quot;);
+testBlock.innerHTML = &quot;&quot;;
+
+var newTextArea = document.createElement(&quot;textarea&quot;);
+testBlock.appendChild(newTextArea);
+
+function testProperties(isReadOnly) {
+    shouldBe('testBlock.querySelectorAll(&quot;:read-write&quot;).length', isReadOnly ? &quot;0&quot; : &quot;1&quot;);
+    shouldBe('testBlock.querySelector(&quot;:read-write&quot;)', isReadOnly ? &quot;null&quot; : &quot;newTextArea&quot;);
+    shouldBe('testBlock.querySelectorAll(&quot;:read-only&quot;).length', isReadOnly ? &quot;1&quot; : &quot;0&quot;);
+    shouldBe('testBlock.querySelector(&quot;:read-only&quot;)', isReadOnly ? &quot;newTextArea&quot; : &quot;null&quot;);
+    shouldBeEqualToString(&quot;getComputedStyle(newTextArea).color&quot;, isReadOnly ? &quot;rgb(0, 0, 0)&quot; : &quot;rgb(4, 5, 6)&quot;);
+    shouldBeEqualToString(&quot;getComputedStyle(newTextArea).backgroundColor&quot;, isReadOnly ? &quot;rgb(1, 2, 3)&quot; : &quot;rgb(255, 255, 255)&quot;);
+}
+
+// Initially the text area is read-write.
+testProperties(false);
+
+// Setting read only through the API. Anything that evaluates to &quot;true&quot; makes the text area read only.
+newTextArea.readOnly = true;
+testProperties(true);
+
+newTextArea.readOnly = false;
+testProperties(false);
+
+newTextArea.readOnly = &quot;foobar&quot;;
+testProperties(true);
+
+newTextArea.readOnly = &quot;&quot;;
+testProperties(false);
+
+newTextArea.readOnly = newTextArea;
+testProperties(true);
+
+newTextArea.readOnly = null;
+testProperties(false);
+
+newTextArea.readOnly = 69;
+testProperties(true);
+
+newTextArea.readOnly = undefined;
+testProperties(false);
+
+newTextArea.disabled = true;
+testProperties(true);
+
+newTextArea.disabled = false;
+testProperties(false);
+
+newTextArea.disabled = &quot;foobar&quot;;
+testProperties(true);
+
+newTextArea.disabled = &quot;&quot;;
+testProperties(false);
+
+newTextArea.disabled = newTextArea;
+testProperties(true);
+
+newTextArea.disabled = null;
+testProperties(false);
+
+newTextArea.disabled = 69;
+testProperties(true);
+
+newTextArea.disabled = undefined;
+testProperties(false);
+
+function testAttribute(attribute, value)
+{
+    newTextArea.setAttribute(attribute, value);
+    testProperties(true);
+    newTextArea.removeAttribute(attribute);
+    testProperties(false);
+}
+
+// Setting the value through attributes.
+newTextArea.setAttribute(&quot;readonly&quot;);
+testProperties(true);
+newTextArea.removeAttribute(&quot;readonly&quot;);
+testProperties(false);
+
+testAttribute(&quot;readonly&quot;, &quot;&quot;);
+testAttribute(&quot;readonly&quot;, &quot;true&quot;);
+testAttribute(&quot;readonly&quot;, &quot;false&quot;);
+testAttribute(&quot;readonly&quot;, &quot;foobar&quot;);
+
+newTextArea.setAttribute(&quot;disabled&quot;);
+testProperties(true);
+newTextArea.removeAttribute(&quot;disabled&quot;);
+testProperties(false);
+
+testAttribute(&quot;disabled&quot;, &quot;&quot;);
+testAttribute(&quot;disabled&quot;, &quot;true&quot;);
+testAttribute(&quot;disabled&quot;, &quot;false&quot;);
+testAttribute(&quot;disabled&quot;, &quot;foobar&quot;);
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastselectorsreadonlyreadwritetextareainfieldsetexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-in-fieldset-expected.txt (0 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-in-fieldset-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-in-fieldset-expected.txt        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+Test the basic features of &quot;:read-only&quot;, &quot;:read-write&quot; on the &lt;textarea&gt; element. The definition is that &quot;:read-write&quot; is matches for &quot;textarea elements that do not have a readonly attribute, and that are not disabled&quot;. In a fieldset, all elements that are not part of the legend are disabled if the fieldset is disabled.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+PASS document.querySelectorAll(&quot;textarea:read-write&quot;).length is 4
+PASS document.querySelectorAll(&quot;textarea:read-write&quot;)[0].id is &quot;textarea1&quot;
+PASS document.querySelectorAll(&quot;textarea:read-write&quot;)[1].id is &quot;textarea2&quot;
+PASS document.querySelectorAll(&quot;textarea:read-write&quot;)[2].id is &quot;textarea3&quot;
+PASS document.querySelectorAll(&quot;textarea:read-write&quot;)[3].id is &quot;textarea5&quot;
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;).length is 2
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;)[0].id is &quot;textarea4&quot;
+PASS document.querySelectorAll(&quot;textarea:read-only&quot;)[1].id is &quot;textarea6&quot;
+PASS getComputedStyle(document.getElementById('textarea1')).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS getComputedStyle(document.getElementById('textarea1')).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById('textarea2')).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS getComputedStyle(document.getElementById('textarea2')).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById('textarea3')).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS getComputedStyle(document.getElementById('textarea3')).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById('textarea4')).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById('textarea4')).color is &quot;rgb(0, 0, 0)&quot;
+PASS getComputedStyle(document.getElementById('textarea5')).backgroundColor is &quot;rgb(255, 255, 255)&quot;
+PASS getComputedStyle(document.getElementById('textarea5')).color is &quot;rgb(4, 5, 6)&quot;
+PASS getComputedStyle(document.getElementById('textarea6')).backgroundColor is &quot;rgb(1, 2, 3)&quot;
+PASS getComputedStyle(document.getElementById('textarea6')).color is &quot;rgb(0, 0, 0)&quot;
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastselectorsreadonlyreadwritetextareainfieldsethtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-in-fieldset.html (0 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-in-fieldset.html                                (rev 0)
+++ trunk/LayoutTests/fast/selectors/read-only-read-write-textarea-in-fieldset.html        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -0,0 +1,71 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style&gt;
+textarea {
+    background-color: white;
+    color: black;
+}
+textarea:read-only {
+    background-color: rgb(1, 2, 3);
+}
+textarea:read-write {
+    color: rgb(4, 5, 6);
+}
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+    &lt;div style=&quot;display:none&quot;&gt;
+        &lt;fieldset&gt;
+            &lt;legend&gt;Legend!&lt;textarea id=&quot;textarea1&quot;&gt;&lt;/textarea&gt;&lt;/legend&gt;
+            &lt;textarea id=&quot;textarea2&quot;&gt;&lt;/textarea&gt;
+        &lt;/fieldset&gt;
+
+        &lt;fieldset disabled&gt;
+            &lt;legend&gt;Legend!&lt;textarea id=&quot;textarea3&quot;&gt;&lt;/textarea&gt;&lt;/legend&gt;
+            &lt;textarea id=&quot;textarea4&quot;&gt;&lt;/textarea&gt;
+        &lt;/fieldset&gt;
+
+        &lt;fieldset id=&quot;disabled-dynamically&quot;&gt;
+            &lt;legend&gt;Legend!&lt;textarea id=&quot;textarea5&quot;&gt;&lt;/textarea&gt;&lt;/legend&gt;
+            &lt;textarea id=&quot;textarea6&quot;&gt;&lt;/textarea&gt;
+        &lt;/fieldset&gt;
+    &lt;/div&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Test the basic features of &quot;:read-only&quot;, &quot;:read-write&quot; on the &amp;lttextarea&amp;gt; element. The definition is that &quot;:read-write&quot; is matches for &quot;textarea elements that do not have a readonly attribute, and that are not disabled&quot;. In a fieldset, all elements that are not part of the legend are disabled if the fieldset is disabled.');
+
+document.getElementById(&quot;disabled-dynamically&quot;).disabled = true;
+
+shouldBe(&quot;document.querySelectorAll(\&quot;textarea:read-write\&quot;).length&quot;, &quot;4&quot;);
+shouldBeEqualToString(&quot;document.querySelectorAll(\&quot;textarea:read-write\&quot;)[0].id&quot;, &quot;textarea1&quot;);
+shouldBeEqualToString(&quot;document.querySelectorAll(\&quot;textarea:read-write\&quot;)[1].id&quot;, &quot;textarea2&quot;);
+shouldBeEqualToString(&quot;document.querySelectorAll(\&quot;textarea:read-write\&quot;)[2].id&quot;, &quot;textarea3&quot;);
+shouldBeEqualToString(&quot;document.querySelectorAll(\&quot;textarea:read-write\&quot;)[3].id&quot;, &quot;textarea5&quot;);
+
+shouldBe(&quot;document.querySelectorAll(\&quot;textarea:read-only\&quot;).length&quot;, &quot;2&quot;);
+shouldBeEqualToString(&quot;document.querySelectorAll(\&quot;textarea:read-only\&quot;)[0].id&quot;, &quot;textarea4&quot;);
+shouldBeEqualToString(&quot;document.querySelectorAll(\&quot;textarea:read-only\&quot;)[1].id&quot;, &quot;textarea6&quot;);
+
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('textarea1')).backgroundColor&quot;, &quot;rgb(255, 255, 255)&quot;);
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('textarea1')).color&quot;, &quot;rgb(4, 5, 6)&quot;);
+
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('textarea2')).backgroundColor&quot;, &quot;rgb(255, 255, 255)&quot;);
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('textarea2')).color&quot;, &quot;rgb(4, 5, 6)&quot;);
+
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('textarea3')).backgroundColor&quot;, &quot;rgb(255, 255, 255)&quot;);
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('textarea3')).color&quot;, &quot;rgb(4, 5, 6)&quot;);
+
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('textarea4')).backgroundColor&quot;, &quot;rgb(1, 2, 3)&quot;);
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('textarea4')).color&quot;, &quot;rgb(0, 0, 0)&quot;);
+
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('textarea5')).backgroundColor&quot;, &quot;rgb(255, 255, 255)&quot;);
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('textarea5')).color&quot;, &quot;rgb(4, 5, 6)&quot;);
+
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('textarea6')).backgroundColor&quot;, &quot;rgb(1, 2, 3)&quot;);
+shouldBeEqualToString(&quot;getComputedStyle(document.getElementById('textarea6')).color&quot;, &quot;rgb(0, 0, 0)&quot;);
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/Source/WebCore/ChangeLog        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -1,3 +1,60 @@
</span><ins>+2014-09-05  Benjamin Poulain  &lt;benjamin@webkit.org&gt;
+
+        Update the current matching of :read-only and :read-write to the latest spec
+        https://bugs.webkit.org/show_bug.cgi?id=136566
+
+        Reviewed by Antti Koivisto.
+
+        WebKit's implementation of :read-only and :read-write dated from 2008 and
+        it was based on the web form spec (http://www.w3.org/TR/web-forms-2/).
+        That spec is very dead now.
+
+        There are new definitions of :read-only and :read-write in three specs:
+        -the HTML living spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting.html#selector-read-only
+        -Selectors level 4: http://dev.w3.org/csswg/selectors4/#rw-pseudos
+        -CSS 3 UI: http://www.w3.org/TR/css3-ui/
+
+        All the definitions say about the same thing. The definitions of Selector Level 4 and
+        CSS 3 UI are very vague and poorly worded. I used the HTML when something was ambiguous.
+
+        In the new definitions, :read-only and :read-write are opposite. It is no longer possible to
+        match both selector simultaneously for the same element.
+        Consequently, I got rid of Element:matchesReadOnlyPseudoClass(). Matching :read-only is now equivalent
+        to :not(:read-write).
+
+        The existing definition of :read-write was matching the spec so I could reuse that.
+
+        There is one more part to the new spec that is not addressed here: the pseudo class :read-write should
+        now also match arbitrary editable HTMLElement (e.g. an element with contenteditable). This will be fixed
+        in a follow up.
+
+        Tests: fast/css/read-only-read-write-input-basics.html
+               fast/css/read-only-read-write-textarea-basics.html
+               fast/selectors/read-only-read-write-input-basics.html
+               fast/selectors/read-only-read-write-input-in-fieldset.html
+               fast/selectors/read-only-read-write-textarea-basics.html
+               fast/selectors/read-only-read-write-textarea-in-fieldset.html
+
+        * css/SelectorCheckerTestFunctions.h:
+        (WebCore::matchesReadOnlyPseudoClass):
+        * dom/Element.cpp:
+        (WebCore::Element::matchesReadOnlyPseudoClass): Deleted.
+        * dom/Element.h:
+        * html/HTMLInputElement.cpp:
+        (WebCore::HTMLInputElement::matchesReadOnlyPseudoClass): Deleted.
+        * html/HTMLInputElement.h:
+        * html/HTMLTextAreaElement.cpp:
+        (WebCore::HTMLTextAreaElement::matchesReadOnlyPseudoClass): Deleted.
+        * html/HTMLTextAreaElement.h:
+        * html/shadow/SliderThumbElement.cpp:
+        (WebCore::SliderThumbElement::matchesReadOnlyPseudoClass): Deleted.
+        * html/shadow/SliderThumbElement.h:
+        * html/shadow/SpinButtonElement.cpp:
+        (WebCore::SpinButtonElement::matchesReadOnlyPseudoClass): Deleted.
+        * html/shadow/SpinButtonElement.h:
+        * rendering/RenderTheme.cpp:
+        (WebCore::RenderTheme::isReadOnlyControl):
+
</ins><span class="cx"> 2014-09-05  Andreas Kling  &lt;akling@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         CTTE: SVGResourcesCache should only allow RenderElements.
</span></span></pre></div>
<a id="trunkSourceWebCorecssSelectorCheckerTestFunctionsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/SelectorCheckerTestFunctions.h (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/SelectorCheckerTestFunctions.h        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/Source/WebCore/css/SelectorCheckerTestFunctions.h        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx"> 
</span><span class="cx"> ALWAYS_INLINE bool matchesReadOnlyPseudoClass(const Element* element)
</span><span class="cx"> {
</span><del>-    return element-&gt;matchesReadOnlyPseudoClass();
</del><ins>+    return !element-&gt;matchesReadWritePseudoClass();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ALWAYS_INLINE bool matchesReadWritePseudoClass(const Element* element)
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.cpp (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.cpp        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/Source/WebCore/dom/Element.cpp        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -2304,11 +2304,6 @@
</span><span class="cx">     return count;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool Element::matchesReadOnlyPseudoClass() const
-{
-    return false;
-}
-
</del><span class="cx"> bool Element::matchesReadWritePseudoClass() const
</span><span class="cx"> {
</span><span class="cx">     return false;
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.h (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.h        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/Source/WebCore/dom/Element.h        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -450,7 +450,6 @@
</span><span class="cx">     Element* nextElementSibling() const;
</span><span class="cx">     unsigned childElementCount() const;
</span><span class="cx"> 
</span><del>-    virtual bool matchesReadOnlyPseudoClass() const;
</del><span class="cx">     virtual bool matchesReadWritePseudoClass() const;
</span><span class="cx">     bool matches(const String&amp; selectors, ExceptionCode&amp;);
</span><span class="cx">     virtual bool shouldAppearIndeterminate() const;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLInputElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLInputElement.cpp (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLInputElement.cpp        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/Source/WebCore/html/HTMLInputElement.cpp        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -1368,11 +1368,6 @@
</span><span class="cx">     return m_inputType-&gt;supportsRequired() &amp;&amp; isRequired();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool HTMLInputElement::matchesReadOnlyPseudoClass() const
-{
-    return m_inputType-&gt;supportsReadOnly() &amp;&amp; isReadOnly();
-}
-
</del><span class="cx"> bool HTMLInputElement::matchesReadWritePseudoClass() const
</span><span class="cx"> {
</span><span class="cx">     return m_inputType-&gt;supportsReadOnly() &amp;&amp; !isDisabledOrReadOnly();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLInputElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLInputElement.h (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLInputElement.h        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/Source/WebCore/html/HTMLInputElement.h        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -308,7 +308,6 @@
</span><span class="cx"> 
</span><span class="cx">     static Vector&lt;FileChooserFileInfo&gt; filesFromFileInputFormControlState(const FormControlState&amp;);
</span><span class="cx"> 
</span><del>-    virtual bool matchesReadOnlyPseudoClass() const override;
</del><span class="cx">     virtual bool matchesReadWritePseudoClass() const override;
</span><span class="cx">     virtual void setRangeText(const String&amp; replacement, ExceptionCode&amp;) override;
</span><span class="cx">     virtual void setRangeText(const String&amp; replacement, unsigned start, unsigned end, const String&amp; selectionMode, ExceptionCode&amp;) override;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTextAreaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTextAreaElement.cpp (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTextAreaElement.cpp        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/Source/WebCore/html/HTMLTextAreaElement.cpp        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -515,11 +515,6 @@
</span><span class="cx">     return m_placeholder;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool HTMLTextAreaElement::matchesReadOnlyPseudoClass() const
-{
-    return isReadOnly();
-}
-
</del><span class="cx"> bool HTMLTextAreaElement::matchesReadWritePseudoClass() const
</span><span class="cx"> {
</span><span class="cx">     return !isDisabledOrReadOnly();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTextAreaElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTextAreaElement.h (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTextAreaElement.h        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/Source/WebCore/html/HTMLTextAreaElement.h        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -112,7 +112,6 @@
</span><span class="cx">     virtual void accessKeyAction(bool sendMouseEvents) override;
</span><span class="cx"> 
</span><span class="cx">     virtual bool shouldUseInputMethod() override;
</span><del>-    virtual bool matchesReadOnlyPseudoClass() const override;
</del><span class="cx">     virtual bool matchesReadWritePseudoClass() const override;
</span><span class="cx"> 
</span><span class="cx">     bool valueMissing(const String&amp; value) const { return isRequiredFormControl() &amp;&amp; !isDisabledOrReadOnly() &amp;&amp; value.isEmpty(); }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowSliderThumbElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -225,12 +225,6 @@
</span><span class="cx">     return !input || input-&gt;isDisabledFormControl();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool SliderThumbElement::matchesReadOnlyPseudoClass() const
-{
-    HTMLInputElement* input = hostInput();
-    return input &amp;&amp; input-&gt;matchesReadOnlyPseudoClass();
-}
-
</del><span class="cx"> bool SliderThumbElement::matchesReadWritePseudoClass() const
</span><span class="cx"> {
</span><span class="cx">     HTMLInputElement* input = hostInput();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowSliderThumbElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/SliderThumbElement.h (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/SliderThumbElement.h        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/Source/WebCore/html/shadow/SliderThumbElement.h        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -64,7 +64,6 @@
</span><span class="cx">     virtual RenderPtr&lt;RenderElement&gt; createElementRenderer(PassRef&lt;RenderStyle&gt;) override;
</span><span class="cx">     virtual PassRefPtr&lt;Element&gt; cloneElementWithoutAttributesAndChildren() override;
</span><span class="cx">     virtual bool isDisabledFormControl() const override;
</span><del>-    virtual bool matchesReadOnlyPseudoClass() const override;
</del><span class="cx">     virtual bool matchesReadWritePseudoClass() const override;
</span><span class="cx">     virtual Element* focusDelegate() override;
</span><span class="cx"> #if !PLATFORM(IOS)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowSpinButtonElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -199,11 +199,6 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool SpinButtonElement::matchesReadOnlyPseudoClass() const
-{
-    return shadowHost()-&gt;matchesReadOnlyPseudoClass();
-}
-
</del><span class="cx"> bool SpinButtonElement::matchesReadWritePseudoClass() const
</span><span class="cx"> {
</span><span class="cx">     return shadowHost()-&gt;matchesReadWritePseudoClass();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowSpinButtonElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/SpinButtonElement.h (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/SpinButtonElement.h        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/Source/WebCore/html/shadow/SpinButtonElement.h        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -72,7 +72,6 @@
</span><span class="cx">     virtual void willDetachRenderers() override;
</span><span class="cx">     virtual bool isSpinButtonElement() const override { return true; }
</span><span class="cx">     virtual bool isDisabledFormControl() const override { return shadowHost() &amp;&amp; shadowHost()-&gt;isDisabledFormControl(); }
</span><del>-    virtual bool matchesReadOnlyPseudoClass() const override;
</del><span class="cx">     virtual bool matchesReadWritePseudoClass() const override;
</span><span class="cx">     virtual void defaultEventHandler(Event*) override;
</span><span class="cx">     virtual void willOpenPopup() override;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTheme.cpp (173327 => 173328)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTheme.cpp        2014-09-05 19:42:08 UTC (rev 173327)
+++ trunk/Source/WebCore/rendering/RenderTheme.cpp        2014-09-05 20:04:39 UTC (rev 173328)
</span><span class="lines">@@ -847,7 +847,7 @@
</span><span class="cx">     Node* node = o.node();
</span><span class="cx">     if (!node || !node-&gt;isElementNode())
</span><span class="cx">         return false;
</span><del>-    return toElement(node)-&gt;matchesReadOnlyPseudoClass();
</del><ins>+    return !toElement(node)-&gt;matchesReadWritePseudoClass();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool RenderTheme::isHovered(const RenderObject&amp; o) const
</span></span></pre>
</div>
</div>

</body>
</html>