<!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 <input> and <textarea>. 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 <benjamin@webkit.org>
+
+ 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 <input> and <textarea>. The definition for
+ other editable content is ignored for now.
+
</ins><span class="cx"> 2014-09-05 Carlos Alberto Lopez Perez <clopez@igalia.com>
</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>+<!doctype html>
+<html>
+<head>
+<style>
+div {
+ float: left;
+ border: 1px solid red;
+}
+input {
+ background-color: white;
+ color: black;
+}
+input:read-only {
+ background-color: lime;
+}
+input:read-write {
+ color: red;
+}
+</style>
+</head>
+<body>
+ <p>Test the basic styling of the &lt;input&gt; types with the selectors :read-only and :read-write.</p>
+ <div>
+ <input type="hidden" value="hidden">
+ <input type="hidden" value="hidden" readonly>
+ <input type="hidden" value="hidden" disabled>
+ <input type="hidden" value="hidden" readonly disabled>
+ </div>
+ <div>
+ <input type="text" value="text">
+ <input type="text" value="text" readonly>
+ <input type="text" value="text" disabled>
+ <input type="text" value="text" readonly disabled>
+ </div>
+ <div>
+ <input type="search" value="search">
+ <input type="search" value="search" readonly>
+ <input type="search" value="search" disabled>
+ <input type="search" value="search" readonly disabled>
+ </div>
+ <div>
+ <input type="tel" value="tel">
+ <input type="tel" value="tel" readonly>
+ <input type="tel" value="tel" disabled>
+ <input type="tel" value="tel" readonly disabled>
+ </div>
+ <div>
+ <input type="url" value="url">
+ <input type="url" value="url" readonly>
+ <input type="url" value="url" disabled>
+ <input type="url" value="url" readonly disabled>
+ </div>
+ <div>
+ <input type="email" value="email">
+ <input type="email" value="email" readonly>
+ <input type="email" value="email" disabled>
+ <input type="email" value="email" readonly disabled>
+ </div>
+ <div>
+ <input type="password" value="password">
+ <input type="password" value="password" readonly>
+ <input type="password" value="password" disabled>
+ <input type="password" value="password" readonly disabled>
+ </div>
+ <div>
+ <input type="datetime" value="datetime">
+ <input type="datetime" value="datetime" readonly>
+ <input type="datetime" value="datetime" disabled>
+ <input type="datetime" value="datetime" readonly disabled>
+ </div>
+ <div>
+ <input type="date" value="date">
+ <input type="date" value="date" readonly>
+ <input type="date" value="date" disabled>
+ <input type="date" value="date" readonly disabled>
+ </div>
+ <div>
+ <input type="month" value="month">
+ <input type="month" value="month" readonly>
+ <input type="month" value="month" disabled>
+ <input type="month" value="month" readonly disabled>
+ </div>
+ <div>
+ <input type="week" value="week">
+ <input type="week" value="week" readonly>
+ <input type="week" value="week" disabled>
+ <input type="week" value="week" readonly disabled>
+ </div>
+ <div>
+ <input type="time" value="time">
+ <input type="time" value="time" readonly>
+ <input type="time" value="time" disabled>
+ <input type="time" value="time" readonly disabled>
+ </div>
+ <div>
+ <input type="datetime-local" value="datetime-local">
+ <input type="datetime-local" value="datetime-local" readonly>
+ <input type="datetime-local" value="datetime-local" disabled>
+ <input type="datetime-local" value="datetime-local" readonly disabled>
+ </div>
+ <div>
+ <input type="number" value="number">
+ <input type="number" value="number" readonly>
+ <input type="number" value="number" disabled>
+ <input type="number" value="number" readonly disabled>
+ </div>
+ <div>
+ <input type="range" value="range">
+ <input type="range" value="range" readonly>
+ <input type="range" value="range" disabled>
+ <input type="range" value="range" readonly disabled>
+ </div>
+ <div>
+ <input type="color" value="color">
+ <input type="color" value="color" readonly>
+ <input type="color" value="color" disabled>
+ <input type="color" value="color" readonly disabled>
+ </div>
+ <div>
+ <input type="checkbox" value="checkbox">
+ <input type="checkbox" value="checkbox" readonly>
+ <input type="checkbox" value="checkbox" disabled>
+ <input type="checkbox" value="checkbox" readonly disabled>
+ </div>
+ <div>
+ <input type="radio" value="radio">
+ <input type="radio" value="radio" readonly>
+ <input type="radio" value="radio" disabled>
+ <input type="radio" value="radio" readonly disabled>
+ </div>
+ <div>
+ <input type="file" value="file">
+ <input type="file" value="file" readonly>
+ <input type="file" value="file" disabled>
+ <input type="file" value="file" readonly disabled>
+ </div>
+ <div>
+ <input type="submit" value="submit">
+ <input type="submit" value="submit" readonly>
+ <input type="submit" value="submit" disabled>
+ <input type="submit" value="submit" readonly disabled>
+ </div>
+ <div>
+ <input type="image" value="image">
+ <input type="image" value="image" readonly>
+ <input type="image" value="image" disabled>
+ <input type="image" value="image" readonly disabled>
+ </div>
+ <div>
+ <input type="reset" value="reset">
+ <input type="reset" value="reset" readonly>
+ <input type="reset" value="reset" disabled>
+ <input type="reset" value="reset" readonly disabled>
+ </div>
+ <div>
+ <input type="button" value="button">
+ <input type="button" value="button" readonly>
+ <input type="button" value="button" disabled>
+ <input type="button" value="button" readonly disabled>
+ </div>
+
+</body>
+</html>
</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>+<!doctype html>
+<html>
+<head>
+<style>
+div {
+ float: left;
+ border: 1px solid red;
+}
+input {
+ background-color: white;
+ color: black;
+}
+.read-only {
+ background-color: lime;
+}
+.read-write {
+ color: red;
+}
+</style>
+</head>
+<body>
+ <p>Test the basic styling of the &lt;input&gt; types with the selectors :read-only and :read-write.</p>
+ <div>
+ <input type="hidden" value="hidden" class="read-only">
+ <input type="hidden" value="hidden" readonly class="read-only">
+ <input type="hidden" value="hidden" disabled class="read-only">
+ <input type="hidden" value="hidden" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="text" value="text" class="read-write">
+ <input type="text" value="text" readonly class="read-only">
+ <input type="text" value="text" disabled class="read-only">
+ <input type="text" value="text" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="search" value="search" class="read-write">
+ <input type="search" value="search" readonly class="read-only">
+ <input type="search" value="search" disabled class="read-only">
+ <input type="search" value="search" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="tel" value="tel" class="read-write">
+ <input type="tel" value="tel" readonly class="read-only">
+ <input type="tel" value="tel" disabled class="read-only">
+ <input type="tel" value="tel" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="url" value="url" class="read-write">
+ <input type="url" value="url" readonly class="read-only">
+ <input type="url" value="url" disabled class="read-only">
+ <input type="url" value="url" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="email" value="email" class="read-write">
+ <input type="email" value="email" readonly class="read-only">
+ <input type="email" value="email" disabled class="read-only">
+ <input type="email" value="email" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="password" value="password" class="read-write">
+ <input type="password" value="password" readonly class="read-only">
+ <input type="password" value="password" disabled class="read-only">
+ <input type="password" value="password" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="datetime" value="datetime" class="read-write">
+ <input type="datetime" value="datetime" readonly class="read-only">
+ <input type="datetime" value="datetime" disabled class="read-only">
+ <input type="datetime" value="datetime" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="date" value="date" class="read-write">
+ <input type="date" value="date" readonly class="read-only">
+ <input type="date" value="date" disabled class="read-only">
+ <input type="date" value="date" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="month" value="month" class="read-write">
+ <input type="month" value="month" readonly class="read-only">
+ <input type="month" value="month" disabled class="read-only">
+ <input type="month" value="month" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="week" value="week" class="read-write">
+ <input type="week" value="week" readonly class="read-only">
+ <input type="week" value="week" disabled class="read-only">
+ <input type="week" value="week" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="time" value="time" class="read-write">
+ <input type="time" value="time" readonly class="read-only">
+ <input type="time" value="time" disabled class="read-only">
+ <input type="time" value="time" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="datetime-local" value="datetime-local" class="read-write">
+ <input type="datetime-local" value="datetime-local" readonly class="read-only">
+ <input type="datetime-local" value="datetime-local" disabled class="read-only">
+ <input type="datetime-local" value="datetime-local" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="number" value="number" class="read-write">
+ <input type="number" value="number" readonly class="read-only">
+ <input type="number" value="number" disabled class="read-only">
+ <input type="number" value="number" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="range" value="range" class="read-only">
+ <input type="range" value="range" readonly class="read-only">
+ <input type="range" value="range" disabled class="read-only">
+ <input type="range" value="range" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="color" value="color" class="read-only">
+ <input type="color" value="color" readonly class="read-only">
+ <input type="color" value="color" disabled class="read-only">
+ <input type="color" value="color" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="checkbox" value="checkbox" class="read-only">
+ <input type="checkbox" value="checkbox" readonly class="read-only">
+ <input type="checkbox" value="checkbox" disabled class="read-only">
+ <input type="checkbox" value="checkbox" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="radio" value="radio" class="read-only">
+ <input type="radio" value="radio" readonly class="read-only">
+ <input type="radio" value="radio" disabled class="read-only">
+ <input type="radio" value="radio" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="file" value="file" class="read-only">
+ <input type="file" value="file" readonly class="read-only">
+ <input type="file" value="file" disabled class="read-only">
+ <input type="file" value="file" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="submit" value="submit" class="read-only">
+ <input type="submit" value="submit" readonly class="read-only">
+ <input type="submit" value="submit" disabled class="read-only">
+ <input type="submit" value="submit" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="image" value="image" class="read-only">
+ <input type="image" value="image" readonly class="read-only">
+ <input type="image" value="image" disabled class="read-only">
+ <input type="image" value="image" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="reset" value="reset" class="read-only">
+ <input type="reset" value="reset" readonly class="read-only">
+ <input type="reset" value="reset" disabled class="read-only">
+ <input type="reset" value="reset" readonly disabled class="read-only">
+ </div>
+ <div>
+ <input type="button" value="button" class="read-only">
+ <input type="button" value="button" readonly class="read-only">
+ <input type="button" value="button" disabled class="read-only">
+ <input type="button" value="button" readonly disabled class="read-only">
+ </div>
+
+</body>
+</html>
</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>+<!doctype html>
+<html>
+<head>
+<style>
+textarea {
+ background-color: white;
+ color: black;
+ float: left;
+}
+</style>
+</head>
+<body>
+ <p>Test the basic styling of &lt;textarea&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.</p>
+ <textarea style="color: red;">Ouch,</textarea>
+
+ <textarea style="background-color: lime;" readonly>WebKit</textarea>
+ <textarea style="background-color: lime;" readonly>seems</textarea>
+ <textarea style="background-color: lime;" readonly>to</textarea>
+
+ <textarea style="background-color: lime;" readonly>be</textarea>
+ <textarea style="background-color: lime;" readonly>the</textarea>
+ <textarea style="background-color: lime;" readonly>only</textarea>
+
+ <textarea style="background-color: lime;" disabled>engine</textarea>
+ <textarea style="background-color: lime;" disabled>testing</textarea>
+ <textarea style="background-color: lime;" disabled>css</textarea>
+
+ <textarea style="background-color: lime;" disabled>selectors</textarea>
+ <textarea style="background-color: lime;" disabled>properly.</textarea>
+ <textarea style="background-color: lime;" disabled>That</textarea>
+
+ <textarea style="background-color: lime;" readonly disabled>is</textarea>
+ <textarea style="background-color: lime;" readonly disabled>sad.</textarea>
+</body>
+</html>
</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>+<!doctype html>
+<html>
+<head>
+<style>
+textarea {
+ background-color: white;
+ color: black;
+ float: left;
+}
+textarea:read-only {
+ background-color: lime;
+}
+textarea:read-write {
+ color: red;
+}
+</style>
+</head>
+<body>
+ <p>Test the basic styling of &lt;textarea&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.</p>
+ <textarea>Ouch,</textarea>
+
+ <textarea readonly>WebKit</textarea>
+ <textarea readonly="">seems</textarea>
+ <textarea readonly="readonly">to</textarea>
+
+ <textarea readonly="true">be</textarea>
+ <textarea readonly="false">the</textarea>
+ <textarea readonly="disabled">only</textarea>
+
+ <textarea disabled>engine</textarea>
+ <textarea disabled="">testing</textarea>
+ <textarea disabled="disabled">css</textarea>
+
+ <textarea disabled="true">selectors</textarea>
+ <textarea disabled="false">properly.</textarea>
+ <textarea disabled="readonly">That</textarea>
+
+ <textarea readonly disabled>is</textarea>
+ <textarea readonly="" disabled="">sad.</textarea>
+</body>
+</html>
</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 ":read-only", ":read-write" on the <input> element. The definion is that ":read-write" is matches for "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)"
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Testing hidden
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing text
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing search
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing tel
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing url
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing email
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing password
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing datetime
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing date
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing month
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing week
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing time
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing datetime-local
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing number
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing range
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing color
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing checkbox
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing radio
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing file
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing submit
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing image
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing reset
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing button
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing webkit
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing foobar
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+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>+<!doctype html>
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+<style>
+input {
+ background-color: white;
+ color: black;
+}
+input:read-only {
+ background-color: rgb(1, 2, 3);
+}
+input:read-write {
+ color: rgb(4, 5, 6);
+}
+</style>
+</head>
+<body>
+ <div style="display:none">
+ <input id="testcase">
+ </div>
+</body>
+<script>
+description('Test the basic features of ":read-only", ":read-write" on the &ltinput&gt; element. The definion is that ":read-write" is matches for "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)"');
+
+// List of [input type, supports readonly attribute].
+var inputTypes = [
+ // Input types defined in the HTML Living Standard. http://www.whatwg.org/html/
+ ["hidden", false],
+ ["text", true],
+ ["search", true],
+ ["tel", true],
+ ["url", true],
+ ["email", true],
+ ["password", true],
+ ["datetime", true],
+ ["date", true],
+ ["month", true],
+ ["week", true],
+ ["time", true],
+ ["datetime-local", true],
+ ["number", true],
+ ["range", false],
+ ["color", false],
+ ["checkbox", false],
+ ["radio", false],
+ ["file", false],
+ ["submit", false],
+ ["image", false],
+ ["reset", false],
+ ["button", false],
+
+ // Made up ones.
+ ["", true],
+ ["webkit", true],
+ ["foobar", true],
+];
+
+function testProperties(isReadOnly) {
+ shouldBe('document.querySelectorAll("input:read-write").length', isReadOnly ? "0" : "1");
+ shouldBe('document.querySelector("input:read-write")', isReadOnly ? "null" : "document.getElementById(\"testcase\")");
+ shouldBe('document.querySelectorAll("input:read-only").length', isReadOnly ? "1" : "0");
+ shouldBe('document.querySelector("input:read-only")', isReadOnly ? "document.getElementById(\"testcase\")" : "null");
+ shouldBeEqualToString("getComputedStyle(document.getElementById(\"testcase\")).color", isReadOnly ? "rgb(0, 0, 0)" : "rgb(4, 5, 6)");
+ shouldBeEqualToString("getComputedStyle(document.getElementById(\"testcase\")).backgroundColor", isReadOnly ? "rgb(1, 2, 3)" : "rgb(255, 255, 255)");
+}
+
+function testInputType(inputType, supportsReadonly) {
+ var testCase = document.getElementById("testcase");
+ 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("readonly");
+ testProperties(true);
+
+ testCase.removeAttribute("readonly");
+ testProperties(!supportsReadonly);
+
+ // Setting disabled through API.
+ testCase.disabled = true;
+ testProperties(true);
+
+ testCase.disabled = false;
+ testProperties(!supportsReadonly);
+
+ // Setting disabled through attributes.
+ testCase.setAttribute("disabled");
+ testProperties(true);
+
+ testCase.removeAttribute("disabled");
+ testProperties(!supportsReadonly);
+
+ // Setting both.
+ testCase.readOnly = true;
+ testCase.disabled = true;
+ testProperties(true);
+
+ // Remove them one by one.
+ testCase.removeAttribute("disabled");
+ testProperties(true);
+ testCase.removeAttribute("readonly");
+ testProperties(!supportsReadonly);
+}
+
+for (var i = 0; i < inputTypes.length; ++i) {
+ debug("Testing " + inputTypes[i][0]);
+ testInputType(inputTypes[i][0], inputTypes[i][1]);
+}
+</script>
+<script src="../../resources/js-test-post.js"></script>
+</html>
</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 ":read-only", ":read-write" on the <input> 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 "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS document.querySelectorAll("input:read-write").length is 4
+PASS document.querySelectorAll("input:read-write")[0].id is "input1"
+PASS document.querySelectorAll("input:read-write")[1].id is "input2"
+PASS document.querySelectorAll("input:read-write")[2].id is "input3"
+PASS document.querySelectorAll("input:read-write")[3].id is "input5"
+PASS document.querySelectorAll("input:read-only").length is 2
+PASS document.querySelectorAll("input:read-only")[0].id is "input4"
+PASS document.querySelectorAll("input:read-only")[1].id is "input6"
+PASS getComputedStyle(document.getElementById('input1')).backgroundColor is "rgb(255, 255, 255)"
+PASS getComputedStyle(document.getElementById('input1')).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById('input2')).backgroundColor is "rgb(255, 255, 255)"
+PASS getComputedStyle(document.getElementById('input2')).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById('input3')).backgroundColor is "rgb(255, 255, 255)"
+PASS getComputedStyle(document.getElementById('input3')).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById('input4')).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById('input4')).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById('input5')).backgroundColor is "rgb(255, 255, 255)"
+PASS getComputedStyle(document.getElementById('input5')).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById('input6')).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById('input6')).color is "rgb(0, 0, 0)"
+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>+<!doctype html>
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+<style>
+input {
+ background-color: white;
+ color: black;
+}
+input:read-only {
+ background-color: rgb(1, 2, 3);
+}
+input:read-write {
+ color: rgb(4, 5, 6);
+}
+</style>
+</head>
+<body>
+ <div style="display:none">
+ <fieldset>
+ <legend>Legend!<input type="text" id="input1"></legend>
+ <input type="text" id="input2">
+ </fieldset>
+
+ <fieldset disabled>
+ <legend>Legend!<input type="text" id="input3"></legend>
+ <input type="text" id="input4">
+ </fieldset>
+
+ <fieldset id="disabled-dynamically">
+ <legend>Legend!<input type="text" id="input5"></legend>
+ <input type="text" id="input6">
+ </fieldset>
+ </div>
+</body>
+<script>
+description('Test the basic features of ":read-only", ":read-write" on the &ltinput&gt; element. In a fieldset, all elements that are not part of the legend are disabled if the fieldset is disabled.');
+
+document.getElementById("disabled-dynamically").disabled = true;
+
+shouldBe("document.querySelectorAll(\"input:read-write\").length", "4");
+shouldBeEqualToString("document.querySelectorAll(\"input:read-write\")[0].id", "input1");
+shouldBeEqualToString("document.querySelectorAll(\"input:read-write\")[1].id", "input2");
+shouldBeEqualToString("document.querySelectorAll(\"input:read-write\")[2].id", "input3");
+shouldBeEqualToString("document.querySelectorAll(\"input:read-write\")[3].id", "input5");
+
+shouldBe("document.querySelectorAll(\"input:read-only\").length", "2");
+shouldBeEqualToString("document.querySelectorAll(\"input:read-only\")[0].id", "input4");
+shouldBeEqualToString("document.querySelectorAll(\"input:read-only\")[1].id", "input6");
+
+shouldBeEqualToString("getComputedStyle(document.getElementById('input1')).backgroundColor", "rgb(255, 255, 255)");
+shouldBeEqualToString("getComputedStyle(document.getElementById('input1')).color", "rgb(4, 5, 6)");
+
+shouldBeEqualToString("getComputedStyle(document.getElementById('input2')).backgroundColor", "rgb(255, 255, 255)");
+shouldBeEqualToString("getComputedStyle(document.getElementById('input2')).color", "rgb(4, 5, 6)");
+
+shouldBeEqualToString("getComputedStyle(document.getElementById('input3')).backgroundColor", "rgb(255, 255, 255)");
+shouldBeEqualToString("getComputedStyle(document.getElementById('input3')).color", "rgb(4, 5, 6)");
+
+shouldBeEqualToString("getComputedStyle(document.getElementById('input4')).backgroundColor", "rgb(1, 2, 3)");
+shouldBeEqualToString("getComputedStyle(document.getElementById('input4')).color", "rgb(0, 0, 0)");
+
+shouldBeEqualToString("getComputedStyle(document.getElementById('input5')).backgroundColor", "rgb(255, 255, 255)");
+shouldBeEqualToString("getComputedStyle(document.getElementById('input5')).color", "rgb(4, 5, 6)");
+
+shouldBeEqualToString("getComputedStyle(document.getElementById('input6')).backgroundColor", "rgb(1, 2, 3)");
+shouldBeEqualToString("getComputedStyle(document.getElementById('input6')).color", "rgb(0, 0, 0)");
+
+</script>
+<script src="../../resources/js-test-post.js"></script>
+</html>
</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 ":read-only", ":read-write" on the <textarea> element. The definition is that ":read-write" is matches for "textarea elements that do not have a readonly attribute, and that are not disabled"
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS document.querySelectorAll("textarea:read-write").length is 1
+PASS document.querySelectorAll("textarea:read-write")[0].id is "initial-state"
+PASS document.querySelectorAll("textarea:read-only").length is 14
+PASS document.querySelectorAll("textarea:read-only")[0].id is "readonly-defined"
+PASS document.querySelectorAll("textarea:read-only")[1].id is "readonly-set-empty"
+PASS document.querySelectorAll("textarea:read-only")[2].id is "readonly-set-readonly"
+PASS document.querySelectorAll("textarea:read-only")[3].id is "readonly-set-true"
+PASS document.querySelectorAll("textarea:read-only")[4].id is "readonly-set-false"
+PASS document.querySelectorAll("textarea:read-only")[5].id is "readonly-set-disabled"
+PASS document.querySelectorAll("textarea:read-only")[6].id is "disabled-defined"
+PASS document.querySelectorAll("textarea:read-only")[7].id is "disabled-set-empty"
+PASS document.querySelectorAll("textarea:read-only")[8].id is "disabled-set-disabled"
+PASS document.querySelectorAll("textarea:read-only")[9].id is "disabled-set-true"
+PASS document.querySelectorAll("textarea:read-only")[10].id is "disabled-set-false"
+PASS document.querySelectorAll("textarea:read-only")[11].id is "disabled-set-readonly"
+PASS document.querySelectorAll("textarea:read-only")[12].id is "readonly-and-disabled-defined"
+PASS document.querySelectorAll("textarea:read-only")[13].id is "readonly-and-disabled-set-empty"
+PASS getComputedStyle(document.getElementById("initial-state")).backgroundColor is "rgb(255, 255, 255)"
+PASS getComputedStyle(document.getElementById("initial-state")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("readonly-defined")).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById("readonly-defined")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("readonly-set-empty")).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById("readonly-set-empty")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("readonly-set-readonly")).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById("readonly-set-readonly")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("readonly-set-true")).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById("readonly-set-true")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("readonly-set-false")).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById("readonly-set-false")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("readonly-set-disabled")).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById("readonly-set-disabled")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("disabled-defined")).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById("disabled-defined")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("disabled-set-empty")).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById("disabled-set-empty")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("disabled-set-disabled")).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById("disabled-set-disabled")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("disabled-set-true")).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById("disabled-set-true")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("disabled-set-false")).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById("disabled-set-false")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("disabled-set-readonly")).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById("disabled-set-readonly")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("readonly-and-disabled-defined")).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById("readonly-and-disabled-defined")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("readonly-and-disabled-set-empty")).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById("readonly-and-disabled-set-empty")).color is "rgb(0, 0, 0)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+PASS testBlock.querySelectorAll(":read-write").length is 0
+PASS testBlock.querySelector(":read-write") is null
+PASS testBlock.querySelectorAll(":read-only").length is 1
+PASS testBlock.querySelector(":read-only") is newTextArea
+PASS getComputedStyle(newTextArea).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(1, 2, 3)"
+PASS testBlock.querySelectorAll(":read-write").length is 1
+PASS testBlock.querySelector(":read-write") is newTextArea
+PASS testBlock.querySelectorAll(":read-only").length is 0
+PASS testBlock.querySelector(":read-only") is null
+PASS getComputedStyle(newTextArea).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(newTextArea).backgroundColor is "rgb(255, 255, 255)"
+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>+<!doctype html>
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+<style>
+textarea {
+ background-color: white;
+ color: black;
+}
+textarea:read-only {
+ background-color: rgb(1, 2, 3);
+}
+textarea:read-write {
+ color: rgb(4, 5, 6);
+}
+</style>
+</head>
+<body>
+ <div style="display:none" id="test-block">
+ <textarea id="initial-state"></textarea>
+
+ <textarea id="readonly-defined" readonly></textarea>
+ <textarea id="readonly-set-empty" readonly=""></textarea>
+ <textarea id="readonly-set-readonly" readonly="readonly"></textarea>
+
+ <textarea id="readonly-set-true" readonly="true"></textarea>
+ <textarea id="readonly-set-false" readonly="false"></textarea>
+ <textarea id="readonly-set-disabled" readonly="disabled"></textarea>
+
+ <textarea id="disabled-defined" disabled></textarea>
+ <textarea id="disabled-set-empty" disabled=""></textarea>
+ <textarea id="disabled-set-disabled" disabled="disabled"></textarea>
+
+ <textarea id="disabled-set-true" disabled="true"></textarea>
+ <textarea id="disabled-set-false" disabled="false"></textarea>
+ <textarea id="disabled-set-readonly" disabled="readonly"></textarea>
+
+ <textarea id="readonly-and-disabled-defined" readonly disabled></textarea>
+ <textarea id="readonly-and-disabled-set-empty" readonly="" disabled=""></textarea>
+ </div>
+</body>
+<script>
+description('Test the basic features of ":read-only", ":read-write" on the &lttextarea&gt; element. The definition is that ":read-write" is matches for "textarea elements that do not have a readonly attribute, and that are not disabled"');
+
+// First, let's test the static initialization of the parameters.
+function testQuerySelector(selector, expectedMatch) {
+ shouldBe("document.querySelectorAll(\"" + selector + "\").length", "" + expectedMatch.length);
+
+ for (var i = 0; i < expectedMatch.length; ++i)
+ shouldBeEqualToString("document.querySelectorAll(\"" + selector + "\")[" + i + "].id", expectedMatch[i]);
+}
+
+function testStyle(isReadOnly, expectedMatch) {
+ for (var i = 0; i < expectedMatch.length; ++i) {
+ shouldBeEqualToString("getComputedStyle(document.getElementById(\"" + expectedMatch[i] + "\")).backgroundColor", isReadOnly ? "rgb(1, 2, 3)" : "rgb(255, 255, 255)");
+ shouldBeEqualToString("getComputedStyle(document.getElementById(\"" + expectedMatch[i] + "\")).color", isReadOnly ? "rgb(0, 0, 0)" : "rgb(4, 5, 6)");
+ }
+}
+
+var elementsMatchingReadWrite = ["initial-state"];
+var elementsMatchingReadOnly = ["readonly-defined", "readonly-set-empty", "readonly-set-readonly", "readonly-set-true", "readonly-set-false", "readonly-set-disabled", "disabled-defined", "disabled-set-empty", "disabled-set-disabled", "disabled-set-true", "disabled-set-false", "disabled-set-readonly", "readonly-and-disabled-defined", "readonly-and-disabled-set-empty"];
+
+testQuerySelector("textarea:read-write", elementsMatchingReadWrite);
+testQuerySelector("textarea:read-only", elementsMatchingReadOnly);
+testStyle(false, elementsMatchingReadWrite);
+testStyle(true, elementsMatchingReadOnly);
+
+
+// Same Jazz, but updating through JavaScript instead.
+var testBlock = document.getElementById("test-block");
+testBlock.innerHTML = "";
+
+var newTextArea = document.createElement("textarea");
+testBlock.appendChild(newTextArea);
+
+function testProperties(isReadOnly) {
+ shouldBe('testBlock.querySelectorAll(":read-write").length', isReadOnly ? "0" : "1");
+ shouldBe('testBlock.querySelector(":read-write")', isReadOnly ? "null" : "newTextArea");
+ shouldBe('testBlock.querySelectorAll(":read-only").length', isReadOnly ? "1" : "0");
+ shouldBe('testBlock.querySelector(":read-only")', isReadOnly ? "newTextArea" : "null");
+ shouldBeEqualToString("getComputedStyle(newTextArea).color", isReadOnly ? "rgb(0, 0, 0)" : "rgb(4, 5, 6)");
+ shouldBeEqualToString("getComputedStyle(newTextArea).backgroundColor", isReadOnly ? "rgb(1, 2, 3)" : "rgb(255, 255, 255)");
+}
+
+// Initially the text area is read-write.
+testProperties(false);
+
+// Setting read only through the API. Anything that evaluates to "true" makes the text area read only.
+newTextArea.readOnly = true;
+testProperties(true);
+
+newTextArea.readOnly = false;
+testProperties(false);
+
+newTextArea.readOnly = "foobar";
+testProperties(true);
+
+newTextArea.readOnly = "";
+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 = "foobar";
+testProperties(true);
+
+newTextArea.disabled = "";
+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("readonly");
+testProperties(true);
+newTextArea.removeAttribute("readonly");
+testProperties(false);
+
+testAttribute("readonly", "");
+testAttribute("readonly", "true");
+testAttribute("readonly", "false");
+testAttribute("readonly", "foobar");
+
+newTextArea.setAttribute("disabled");
+testProperties(true);
+newTextArea.removeAttribute("disabled");
+testProperties(false);
+
+testAttribute("disabled", "");
+testAttribute("disabled", "true");
+testAttribute("disabled", "false");
+testAttribute("disabled", "foobar");
+
+</script>
+<script src="../../resources/js-test-post.js"></script>
+</html>
</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 ":read-only", ":read-write" on the <textarea> element. The definition is that ":read-write" is matches for "textarea elements that do not have a readonly attribute, and that are not disabled". 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 "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS document.querySelectorAll("textarea:read-write").length is 4
+PASS document.querySelectorAll("textarea:read-write")[0].id is "textarea1"
+PASS document.querySelectorAll("textarea:read-write")[1].id is "textarea2"
+PASS document.querySelectorAll("textarea:read-write")[2].id is "textarea3"
+PASS document.querySelectorAll("textarea:read-write")[3].id is "textarea5"
+PASS document.querySelectorAll("textarea:read-only").length is 2
+PASS document.querySelectorAll("textarea:read-only")[0].id is "textarea4"
+PASS document.querySelectorAll("textarea:read-only")[1].id is "textarea6"
+PASS getComputedStyle(document.getElementById('textarea1')).backgroundColor is "rgb(255, 255, 255)"
+PASS getComputedStyle(document.getElementById('textarea1')).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById('textarea2')).backgroundColor is "rgb(255, 255, 255)"
+PASS getComputedStyle(document.getElementById('textarea2')).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById('textarea3')).backgroundColor is "rgb(255, 255, 255)"
+PASS getComputedStyle(document.getElementById('textarea3')).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById('textarea4')).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById('textarea4')).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById('textarea5')).backgroundColor is "rgb(255, 255, 255)"
+PASS getComputedStyle(document.getElementById('textarea5')).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById('textarea6')).backgroundColor is "rgb(1, 2, 3)"
+PASS getComputedStyle(document.getElementById('textarea6')).color is "rgb(0, 0, 0)"
+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>+<!doctype html>
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+<style>
+textarea {
+ background-color: white;
+ color: black;
+}
+textarea:read-only {
+ background-color: rgb(1, 2, 3);
+}
+textarea:read-write {
+ color: rgb(4, 5, 6);
+}
+</style>
+</head>
+<body>
+ <div style="display:none">
+ <fieldset>
+ <legend>Legend!<textarea id="textarea1"></textarea></legend>
+ <textarea id="textarea2"></textarea>
+ </fieldset>
+
+ <fieldset disabled>
+ <legend>Legend!<textarea id="textarea3"></textarea></legend>
+ <textarea id="textarea4"></textarea>
+ </fieldset>
+
+ <fieldset id="disabled-dynamically">
+ <legend>Legend!<textarea id="textarea5"></textarea></legend>
+ <textarea id="textarea6"></textarea>
+ </fieldset>
+ </div>
+</body>
+<script>
+description('Test the basic features of ":read-only", ":read-write" on the &lttextarea&gt; element. The definition is that ":read-write" is matches for "textarea elements that do not have a readonly attribute, and that are not disabled". In a fieldset, all elements that are not part of the legend are disabled if the fieldset is disabled.');
+
+document.getElementById("disabled-dynamically").disabled = true;
+
+shouldBe("document.querySelectorAll(\"textarea:read-write\").length", "4");
+shouldBeEqualToString("document.querySelectorAll(\"textarea:read-write\")[0].id", "textarea1");
+shouldBeEqualToString("document.querySelectorAll(\"textarea:read-write\")[1].id", "textarea2");
+shouldBeEqualToString("document.querySelectorAll(\"textarea:read-write\")[2].id", "textarea3");
+shouldBeEqualToString("document.querySelectorAll(\"textarea:read-write\")[3].id", "textarea5");
+
+shouldBe("document.querySelectorAll(\"textarea:read-only\").length", "2");
+shouldBeEqualToString("document.querySelectorAll(\"textarea:read-only\")[0].id", "textarea4");
+shouldBeEqualToString("document.querySelectorAll(\"textarea:read-only\")[1].id", "textarea6");
+
+shouldBeEqualToString("getComputedStyle(document.getElementById('textarea1')).backgroundColor", "rgb(255, 255, 255)");
+shouldBeEqualToString("getComputedStyle(document.getElementById('textarea1')).color", "rgb(4, 5, 6)");
+
+shouldBeEqualToString("getComputedStyle(document.getElementById('textarea2')).backgroundColor", "rgb(255, 255, 255)");
+shouldBeEqualToString("getComputedStyle(document.getElementById('textarea2')).color", "rgb(4, 5, 6)");
+
+shouldBeEqualToString("getComputedStyle(document.getElementById('textarea3')).backgroundColor", "rgb(255, 255, 255)");
+shouldBeEqualToString("getComputedStyle(document.getElementById('textarea3')).color", "rgb(4, 5, 6)");
+
+shouldBeEqualToString("getComputedStyle(document.getElementById('textarea4')).backgroundColor", "rgb(1, 2, 3)");
+shouldBeEqualToString("getComputedStyle(document.getElementById('textarea4')).color", "rgb(0, 0, 0)");
+
+shouldBeEqualToString("getComputedStyle(document.getElementById('textarea5')).backgroundColor", "rgb(255, 255, 255)");
+shouldBeEqualToString("getComputedStyle(document.getElementById('textarea5')).color", "rgb(4, 5, 6)");
+
+shouldBeEqualToString("getComputedStyle(document.getElementById('textarea6')).backgroundColor", "rgb(1, 2, 3)");
+shouldBeEqualToString("getComputedStyle(document.getElementById('textarea6')).color", "rgb(0, 0, 0)");
+
+</script>
+<script src="../../resources/js-test-post.js"></script>
+</html>
</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 <benjamin@webkit.org>
+
+ 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 <akling@apple.com>
</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->matchesReadOnlyPseudoClass();
</del><ins>+ return !element->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& selectors, ExceptionCode&);
</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->supportsRequired() && isRequired();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool HTMLInputElement::matchesReadOnlyPseudoClass() const
-{
- return m_inputType->supportsReadOnly() && isReadOnly();
-}
-
</del><span class="cx"> bool HTMLInputElement::matchesReadWritePseudoClass() const
</span><span class="cx"> {
</span><span class="cx"> return m_inputType->supportsReadOnly() && !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<FileChooserFileInfo> filesFromFileInputFormControlState(const FormControlState&);
</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& replacement, ExceptionCode&) override;
</span><span class="cx"> virtual void setRangeText(const String& replacement, unsigned start, unsigned end, const String& selectionMode, ExceptionCode&) 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& value) const { return isRequiredFormControl() && !isDisabledOrReadOnly() && 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->isDisabledFormControl();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool SliderThumbElement::matchesReadOnlyPseudoClass() const
-{
- HTMLInputElement* input = hostInput();
- return input && input->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<RenderElement> createElementRenderer(PassRef<RenderStyle>) override;
</span><span class="cx"> virtual PassRefPtr<Element> 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()->matchesReadOnlyPseudoClass();
-}
-
</del><span class="cx"> bool SpinButtonElement::matchesReadWritePseudoClass() const
</span><span class="cx"> {
</span><span class="cx"> return shadowHost()->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() && shadowHost()->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->isElementNode())
</span><span class="cx"> return false;
</span><del>- return toElement(node)->matchesReadOnlyPseudoClass();
</del><ins>+ return !toElement(node)->matchesReadWritePseudoClass();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool RenderTheme::isHovered(const RenderObject& o) const
</span></span></pre>
</div>
</div>
</body>
</html>