Title: [164501] trunk/Source/WebCore
Revision
164501
Author
[email protected]
Date
2014-02-21 14:33:14 -0800 (Fri, 21 Feb 2014)

Log Message

Disallow the use of -webkit-user-modify on shadow pseudo elements
https://bugs.webkit.org/show_bug.cgi?id=129144

Reviewed by Geoffrey Garen.

Completely disallow -webkit-user-modify on user agent (builtin) pseudo elements.

We've already had rules to do this in html.css but just hard code it into the engine
in order to eliminate the all uses of -webkit-user-modify in html.css.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* css/html.css:
(input::-webkit-textfield-decoration-container):
(input::-webkit-clear-button):
(input[type="search"]::-webkit-search-cancel-button):
(input[type="search"]::-webkit-search-decoration):
(input[type="search"]::-webkit-search-results-decoration):
(input[type="search"]::-webkit-search-results-button):
(input::-webkit-inner-spin-button):
(input::-webkit-input-speech-button):
(input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
(input[type="file"]::-webkit-file-upload-button):
(input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container):
(input[type="range"]::-webkit-slider-runnable-track):
(input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
(input[type="color"]::-webkit-color-swatch-wrapper):
(input[type="color"]::-webkit-color-swatch):
(::-webkit-validation-bubble):
(::-webkit-validation-bubble-message):
(::-webkit-validation-bubble-text-block):
(::-webkit-validation-bubble-heading):
(::-webkit-validation-bubble-arrow):
(::-webkit-validation-bubble-arrow-clipper):
(meter::-webkit-meter-inner-element):
(meter::-webkit-meter-bar):
(meter::-webkit-meter-optimum-value):
(meter::-webkit-meter-suboptimum-value):
(meter::-webkit-meter-even-less-good-value):
(progress::-webkit-progress-inner-element):
(progress::-webkit-progress-bar):
(progress::-webkit-progress-value):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (164500 => 164501)


--- trunk/Source/WebCore/ChangeLog	2014-02-21 22:27:27 UTC (rev 164500)
+++ trunk/Source/WebCore/ChangeLog	2014-02-21 22:33:14 UTC (rev 164501)
@@ -1,3 +1,48 @@
+2014-02-21  Ryosuke Niwa  <[email protected]>
+
+        Disallow the use of -webkit-user-modify on shadow pseudo elements
+        https://bugs.webkit.org/show_bug.cgi?id=129144
+
+        Reviewed by Geoffrey Garen.
+
+        Completely disallow -webkit-user-modify on user agent (builtin) pseudo elements.
+
+        We've already had rules to do this in html.css but just hard code it into the engine
+        in order to eliminate the all uses of -webkit-user-modify in html.css.
+
+        * css/StyleResolver.cpp:
+        (WebCore::StyleResolver::adjustRenderStyle):
+        * css/html.css:
+        (input::-webkit-textfield-decoration-container):
+        (input::-webkit-clear-button):
+        (input[type="search"]::-webkit-search-cancel-button):
+        (input[type="search"]::-webkit-search-decoration):
+        (input[type="search"]::-webkit-search-results-decoration):
+        (input[type="search"]::-webkit-search-results-button):
+        (input::-webkit-inner-spin-button):
+        (input::-webkit-input-speech-button):
+        (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
+        (input[type="file"]::-webkit-file-upload-button):
+        (input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container):
+        (input[type="range"]::-webkit-slider-runnable-track):
+        (input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
+        (input[type="color"]::-webkit-color-swatch-wrapper):
+        (input[type="color"]::-webkit-color-swatch):
+        (::-webkit-validation-bubble):
+        (::-webkit-validation-bubble-message):
+        (::-webkit-validation-bubble-text-block):
+        (::-webkit-validation-bubble-heading):
+        (::-webkit-validation-bubble-arrow):
+        (::-webkit-validation-bubble-arrow-clipper):
+        (meter::-webkit-meter-inner-element):
+        (meter::-webkit-meter-bar):
+        (meter::-webkit-meter-optimum-value):
+        (meter::-webkit-meter-suboptimum-value):
+        (meter::-webkit-meter-even-less-good-value):
+        (progress::-webkit-progress-inner-element):
+        (progress::-webkit-progress-bar):
+        (progress::-webkit-progress-value):
+
 2014-02-21  Eric Carlson  <[email protected]>
 
         Fix TimeRanges layering violations

Modified: trunk/Source/WebCore/css/StyleResolver.cpp (164500 => 164501)


--- trunk/Source/WebCore/css/StyleResolver.cpp	2014-02-21 22:27:27 UTC (rev 164500)
+++ trunk/Source/WebCore/css/StyleResolver.cpp	2014-02-21 22:33:14 UTC (rev 164501)
@@ -1250,6 +1250,10 @@
         style.setOverflowY(style.overflowY() == OVISIBLE ? OAUTO : style.overflowY());
     }
 
+    // Disallow -webkit-user-modify on :pseudo and ::pseudo elements.
+    if (e && !e->shadowPseudoId().isNull())
+        style.setUserModify(READ_ONLY);
+
     if (doesNotInheritTextDecoration(style, e))
         style.setTextDecorationsInEffect(style.textDecoration());
     else

Modified: trunk/Source/WebCore/css/html.css (164500 => 164501)


--- trunk/Source/WebCore/css/html.css	2014-02-21 22:27:27 UTC (rev 164500)
+++ trunk/Source/WebCore/css/html.css	2014-02-21 22:33:14 UTC (rev 164501)
@@ -447,7 +447,6 @@
 input::-webkit-textfield-decoration-container {
     display: -webkit-flex;
     -webkit-align-items: center;
-    -webkit-user-modify: read-only !important;
     content: none !important;
 }
 
@@ -459,7 +458,6 @@
     -webkit-appearance: searchfield-cancel-button;
     display: inline-block;
     -webkit-flex: none;
-    -webkit-user-modify: read-only !important;
     margin-left: 2px;
 }
 
@@ -467,7 +465,6 @@
     -webkit-appearance: searchfield-cancel-button;
     display: block;
     -webkit-flex: none;
-    -webkit-user-modify: read-only !important;
     -webkit-align-self: flex-start;
     margin: auto 0;
 }
@@ -476,7 +473,6 @@
     -webkit-appearance: searchfield-decoration;
     display: block;
     -webkit-flex: none;
-    -webkit-user-modify: read-only !important;
     -webkit-align-self: flex-start;
     margin: auto 0;
 }
@@ -485,7 +481,6 @@
     -webkit-appearance: searchfield-results-decoration;
     display: block;
     -webkit-flex: none;
-    -webkit-user-modify: read-only !important;
     -webkit-align-self: flex-start;
     margin: auto 0;
 }
@@ -494,7 +489,6 @@
     -webkit-appearance: searchfield-results-button;
     display: block;
     -webkit-flex: none;
-    -webkit-user-modify: read-only !important;
 }
 
 #if defined(ENABLE_DATALIST_ELEMENT) && ENABLE_DATALIST_ELEMENT
@@ -589,7 +583,6 @@
     vertical-align: top;
     -webkit-flex: none;
     -webkit-user-select: none;
-    -webkit-user-modify: read-only !important;
 }
 
 #if defined(ENABLE_INPUT_SPEECH) && ENABLE_INPUT_SPEECH
@@ -598,7 +591,6 @@
     display: block;
     vertical-align: top;
     -webkit-flex: none;
-    -webkit-user-modify: read-only !important;
     -webkit-align-self: flex-start;
     margin: auto 0;
 }
@@ -642,7 +634,6 @@
     white-space: pre;
     word-wrap: normal;
     overflow: hidden;
-    -webkit-user-modify: read-only !important;
 }
 
 input[type="password"] {
@@ -691,7 +682,6 @@
 
 input[type="file"]::-webkit-file-upload-button {
     -webkit-appearance: push-button;
-    -webkit-user-modify: read-only !important;
     white-space: nowrap;
     margin: 0;
     font-size: inherit;
@@ -727,7 +717,6 @@
 input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container {
     -webkit-flex: 1;
     box-sizing: border-box;
-    -webkit-user-modify: read-only !important;
     display: -webkit-flex;
     -webkit-align-contents: center;
 }
@@ -737,14 +726,12 @@
     -webkit-align-self: center;
 
     box-sizing: border-box;
-    -webkit-user-modify: read-only !important;
     display: block;
 }
 
 input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb {
     -webkit-appearance: sliderthumb-horizontal;
     box-sizing: border-box;
-    -webkit-user-modify: read-only !important;
     display: block;
 #if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
     background-color: white;
@@ -853,7 +840,6 @@
     display:-webkit-flex;
     padding: 4px 2px;
     box-sizing: border-box;
-    -webkit-user-modify: read-only !important;
     width: 100%;
     height: 100%
 }
@@ -862,7 +848,6 @@
     background-color: #000000;
     border: 1px solid #777777;
     -webkit-flex: 1;
-    -webkit-user-modify: read-only !important;
 }
 
 #if defined(ENABLE_DATALIST_ELEMENT) && ENABLE_DATALIST_ELEMENT
@@ -954,7 +939,6 @@
     margin: 0;
     -webkit-text-security: none;
     -webkit-transition: opacity 05.5s ease;
-    -webkit-user-modify: read-only !important;
 }
 
 ::-webkit-validation-bubble-message {
@@ -972,7 +956,6 @@
     -webkit-box-shadow: 4px 4px 4px rgba(100,100,100,0.6),
         inset -2px -2px 1px #d0c4c4,
         inset 2px 2px 1px white;
-    -webkit-user-modify: read-only !important;
     line-height: normal;
     white-space: normal;
     z-index: 2147483644;
@@ -980,12 +963,10 @@
 
 ::-webkit-validation-bubble-text-block {
     -webkit-flex: 1;
-    -webkit-user-modify: read-only !important;
 }
 
 ::-webkit-validation-bubble-heading {
     font-weight: bold;
-    -webkit-user-modify: read-only !important;
 }
 
 ::-webkit-validation-bubble-arrow {
@@ -1001,7 +982,6 @@
     box-shadow: inset 2px 2px 1px white;
     -webkit-transform-origin: 0 0;
     -webkit-transform: rotate(45deg);
-    -webkit-user-modify: read-only !important;
     z-index: 2147483645;
 }
 
@@ -1009,7 +989,6 @@
     display: block;
     overflow: hidden;
     height: 16px;
-    -webkit-user-modify: read-only !important;
 }
 
 #if defined(ENABLE_METER_ELEMENT) && ENABLE_METER_ELEMENT
@@ -1027,7 +1006,6 @@
 meter::-webkit-meter-inner-element {
     -webkit-appearance: inherit;
     box-sizing: inherit;
-    -webkit-user-modify: read-only !important;
     height: 100%;
     width: 100%;
 }
@@ -1036,28 +1014,24 @@
     background: -webkit-gradient(linear, left top, left bottom, from(#ddd), to(#ddd), color-stop(0.20, #eee), color-stop(0.45, #ccc), color-stop(0.55, #ccc));
     height: 100%;
     width: 100%;
-    -webkit-user-modify: read-only !important;
     box-sizing: border-box;
 }
 
 meter::-webkit-meter-optimum-value {
     background: -webkit-gradient(linear, left top, left bottom, from(#ad7), to(#ad7), color-stop(0.20, #cea), color-stop(0.45, #7a3), color-stop(0.55, #7a3));
     height: 100%;
-    -webkit-user-modify: read-only !important;
     box-sizing: border-box;
 }
 
 meter::-webkit-meter-suboptimum-value {
     background: -webkit-gradient(linear, left top, left bottom, from(#fe7), to(#fe7), color-stop(0.20, #ffc), color-stop(0.45, #db3), color-stop(0.55, #db3));
     height: 100%;
-    -webkit-user-modify: read-only !important;
     box-sizing: border-box;
 }
 
 meter::-webkit-meter-even-less-good-value {
     background: -webkit-gradient(linear, left top, left bottom, from(#f77), to(#f77), color-stop(0.20, #fcc), color-stop(0.45, #d44), color-stop(0.55, #d44));
     height: 100%;
-    -webkit-user-modify: read-only !important;
     box-sizing: border-box;
 }
 #endif
@@ -1077,7 +1051,6 @@
 progress::-webkit-progress-inner-element {
     -webkit-appearance: inherit;
     box-sizing: inherit;
-    -webkit-user-modify: read-only;
     height: 100%;
     width: 100%;
 }
@@ -1086,7 +1059,6 @@
     background-color: gray;
     height: 100%;
     width: 100%;
-    -webkit-user-modify: read-only !important;
     box-sizing: border-box;
 }
 
@@ -1094,7 +1066,6 @@
     background-color: green;
     height: 100%;
     width: 50%; /* should be removed later */
-    -webkit-user-modify: read-only !important;
     box-sizing: border-box;
 }
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to