Changeset 204052 in webkit
- Timestamp:
- Aug 2, 2016 4:43:30 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r204050 r204052 1 2016-08-02 Dean Jackson <dino@apple.com> 2 3 Reapply fixes for webkit.org/b/159450 and webkit.org/b/157569 4 https://bugs.webkit.org/show_bug.cgi?id=160474 5 <rdar://problem/27668170> 6 7 Reviewed by Simon Fraser. 8 9 The fixes are behaviour we want. They just caused a regression 10 on medium.com (reverted in http://trac.webkit.org/r203380). 11 12 Now that we've branched, revert the reversion (which itself 13 was a reversion), so we can fix the actual bug: 14 https://bugs.webkit.org/show_bug.cgi?id=160478 15 16 * animations/fill-mode-forwards-zero-duration.html: 17 * animations/play-state-start-paused.html: 18 * animations/script-tests/spring-parsing.js: 19 (testSpring): 20 * animations/spring-parsing-expected.txt: 21 * animations/unprefixed-properties-expected.txt: 22 * animations/unprefixed-properties.html: 23 * fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt: 24 * fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt: 25 1 26 2016-08-02 Eric Carlson <eric.carlson@apple.com> 2 27 -
trunk/LayoutTests/animations/fill-mode-forwards-zero-duration.html
r203380 r204052 10 10 width: 100px; 11 11 background-color: blue; 12 animation-fill-mode: forwards; 13 animation: anim1 0 2s linear; 12 animation: anim1 0 2s linear forwards; 14 13 } 15 14 @keyframes anim1 { -
trunk/LayoutTests/animations/play-state-start-paused.html
r203380 r204052 14 14 height: 100px; 15 15 background-color: green; 16 animation-delay: -0.5s;17 animation-play-state: paused;18 16 } 19 17 … … 24 22 25 23 .mover { 26 animation: move 1s linear ;24 animation: move 1s linear -0.5s paused; 27 25 } 28 26 29 27 .slider { 30 animation: slide 1s linear ;28 animation: slide 1s linear -0.5s paused; 31 29 } 32 30 -
trunk/LayoutTests/animations/script-tests/spring-parsing.js
r203380 r204052 30 30 } 31 31 32 shouldBe("declaration.length", " 2");32 shouldBe("declaration.length", "1"); 33 33 shouldBe("declaration.getPropertyValue('transition-timing-function')", "'" + expectedValue + "'"); 34 34 -
trunk/LayoutTests/animations/spring-parsing-expected.txt
r203380 r204052 10 10 Basic : spring(1 100 10 0) 11 11 PASS cssRule.type is 1 12 PASS declaration.length is 212 PASS declaration.length is 1 13 13 PASS declaration.getPropertyValue('transition-timing-function') is 'spring(1 100 10 0)' 14 14 PASS propertyValue.cssText is 'spring(1 100 10 0)' … … 16 16 Negative Velocity : spring(1 100 10 -10) 17 17 PASS cssRule.type is 1 18 PASS declaration.length is 218 PASS declaration.length is 1 19 19 PASS declaration.getPropertyValue('transition-timing-function') is 'spring(1 100 10 -10)' 20 20 PASS propertyValue.cssText is 'spring(1 100 10 -10)' … … 22 22 Positive Velocity : spring(1 100 10 10) 23 23 PASS cssRule.type is 1 24 PASS declaration.length is 224 PASS declaration.length is 1 25 25 PASS declaration.getPropertyValue('transition-timing-function') is 'spring(1 100 10 10)' 26 26 PASS propertyValue.cssText is 'spring(1 100 10 10)' … … 28 28 Zero Damping : spring(1 100 0 10) 29 29 PASS cssRule.type is 1 30 PASS declaration.length is 230 PASS declaration.length is 1 31 31 PASS declaration.getPropertyValue('transition-timing-function') is 'spring(1 100 0 10)' 32 32 PASS propertyValue.cssText is 'spring(1 100 0 10)' … … 34 34 Minimum Values : spring(1 1 0 -999999) 35 35 PASS cssRule.type is 1 36 PASS declaration.length is 236 PASS declaration.length is 1 37 37 PASS declaration.getPropertyValue('transition-timing-function') is 'spring(1 1 0 -999999)' 38 38 PASS propertyValue.cssText is 'spring(1 1 0 -999999)' … … 40 40 Floating Point Values : spring(1.5 2.3 3.7 -1.8) 41 41 PASS cssRule.type is 1 42 PASS declaration.length is 242 PASS declaration.length is 1 43 43 PASS declaration.getPropertyValue('transition-timing-function') is 'spring(1.5 2.3 3.7 -1.8)' 44 44 PASS propertyValue.cssText is 'spring(1.5 2.3 3.7 -1.8)' -
trunk/LayoutTests/animations/unprefixed-properties-expected.txt
r203380 r204052 7 7 Parsing - Basic animation-name : waldo 8 8 PASS cssRule.type is 1 9 PASS declaration.length is 29 PASS declaration.length is 1 10 10 PASS declaration.getPropertyValue('animation-name') is 'waldo' 11 11 PASS declaration.getPropertyValue('-webkit-animation-name') is 'waldo' … … 13 13 Parsing - Multiple animation-names : waldo, wally 14 14 PASS cssRule.type is 1 15 PASS declaration.length is 215 PASS declaration.length is 1 16 16 PASS declaration.getPropertyValue('animation-name') is 'waldo, wally' 17 17 PASS declaration.getPropertyValue('-webkit-animation-name') is 'waldo, wally' … … 21 21 Parsing - Basic animation-duration : 5s 22 22 PASS cssRule.type is 1 23 PASS declaration.length is 223 PASS declaration.length is 1 24 24 PASS declaration.getPropertyValue('animation-duration') is '5s' 25 25 PASS declaration.getPropertyValue('-webkit-animation-duration') is '5s' … … 27 27 Parsing - Multiple animation-durations : 10s, 20ms 28 28 PASS cssRule.type is 1 29 PASS declaration.length is 229 PASS declaration.length is 1 30 30 PASS declaration.getPropertyValue('animation-duration') is '10s, 20ms' 31 31 PASS declaration.getPropertyValue('-webkit-animation-duration') is '10s, 20ms' … … 35 35 Parsing - Basic animation-delay : 5s 36 36 PASS cssRule.type is 1 37 PASS declaration.length is 237 PASS declaration.length is 1 38 38 PASS declaration.getPropertyValue('animation-delay') is '5s' 39 39 PASS declaration.getPropertyValue('-webkit-animation-delay') is '5s' … … 41 41 Parsing - Multiple animation-delays : 10s, 20ms 42 42 PASS cssRule.type is 1 43 PASS declaration.length is 243 PASS declaration.length is 1 44 44 PASS declaration.getPropertyValue('animation-delay') is '10s, 20ms' 45 45 PASS declaration.getPropertyValue('-webkit-animation-delay') is '10s, 20ms' … … 49 49 Parsing - Basic animation-timing-function : ease-in-out 50 50 PASS cssRule.type is 1 51 PASS declaration.length is 251 PASS declaration.length is 1 52 52 PASS declaration.getPropertyValue('animation-timing-function') is 'ease-in-out' 53 53 PASS declaration.getPropertyValue('-webkit-animation-timing-function') is 'ease-in-out' … … 55 55 Parsing - animation-timing-function with bezier : cubic-bezier(0.2, 0.3, 0.4, 0.5) 56 56 PASS cssRule.type is 1 57 PASS declaration.length is 257 PASS declaration.length is 1 58 58 PASS declaration.getPropertyValue('animation-timing-function') is 'cubic-bezier(0.2, 0.3, 0.4, 0.5)' 59 59 PASS declaration.getPropertyValue('-webkit-animation-timing-function') is 'cubic-bezier(0.2, 0.3, 0.4, 0.5)' … … 61 61 Parsing - Multiple animation-timing-functions : ease-in, ease-out 62 62 PASS cssRule.type is 1 63 PASS declaration.length is 263 PASS declaration.length is 1 64 64 PASS declaration.getPropertyValue('animation-timing-function') is 'ease-in, ease-out' 65 65 PASS declaration.getPropertyValue('-webkit-animation-timing-function') is 'ease-in, ease-out' … … 69 69 Parsing - Basic animation-iteration-count : 4 70 70 PASS cssRule.type is 1 71 PASS declaration.length is 271 PASS declaration.length is 1 72 72 PASS declaration.getPropertyValue('animation-iteration-count') is '4' 73 73 PASS declaration.getPropertyValue('-webkit-animation-iteration-count') is '4' … … 75 75 Parsing - animation-iteration-count with keyword : infinite 76 76 PASS cssRule.type is 1 77 PASS declaration.length is 277 PASS declaration.length is 1 78 78 PASS declaration.getPropertyValue('animation-iteration-count') is 'infinite' 79 79 PASS declaration.getPropertyValue('-webkit-animation-iteration-count') is 'infinite' … … 81 81 Parsing - Multiple animation-iteration-counts : 2, infinite, 4 82 82 PASS cssRule.type is 1 83 PASS declaration.length is 283 PASS declaration.length is 1 84 84 PASS declaration.getPropertyValue('animation-iteration-count') is '2, infinite, 4' 85 85 PASS declaration.getPropertyValue('-webkit-animation-iteration-count') is '2, infinite, 4' … … 90 90 Parsing - Normal animation-direction : normal 91 91 PASS cssRule.type is 1 92 PASS declaration.length is 292 PASS declaration.length is 1 93 93 PASS declaration.getPropertyValue('animation-direction') is 'normal' 94 94 PASS declaration.getPropertyValue('-webkit-animation-direction') is 'normal' … … 96 96 Parsing - Alternate animation-direction : alternate 97 97 PASS cssRule.type is 1 98 PASS declaration.length is 298 PASS declaration.length is 1 99 99 PASS declaration.getPropertyValue('animation-direction') is 'alternate' 100 100 PASS declaration.getPropertyValue('-webkit-animation-direction') is 'alternate' … … 102 102 Parsing - Reverse animation-direction : reverse 103 103 PASS cssRule.type is 1 104 PASS declaration.length is 2104 PASS declaration.length is 1 105 105 PASS declaration.getPropertyValue('animation-direction') is 'reverse' 106 106 PASS declaration.getPropertyValue('-webkit-animation-direction') is 'reverse' … … 108 108 Parsing - Alternate Reverse animation-direction : alternate-reverse 109 109 PASS cssRule.type is 1 110 PASS declaration.length is 2110 PASS declaration.length is 1 111 111 PASS declaration.getPropertyValue('animation-direction') is 'alternate-reverse' 112 112 PASS declaration.getPropertyValue('-webkit-animation-direction') is 'alternate-reverse' … … 114 114 Parsing - Multiple animation-directions : alternate, alternate, normal 115 115 PASS cssRule.type is 1 116 PASS declaration.length is 2116 PASS declaration.length is 1 117 117 PASS declaration.getPropertyValue('animation-direction') is 'alternate, alternate, normal' 118 118 PASS declaration.getPropertyValue('-webkit-animation-direction') is 'alternate, alternate, normal' … … 123 123 Parsing - None animation-fill-mode : none 124 124 PASS cssRule.type is 1 125 PASS declaration.length is 2125 PASS declaration.length is 1 126 126 PASS declaration.getPropertyValue('animation-fill-mode') is 'none' 127 127 PASS declaration.getPropertyValue('-webkit-animation-fill-mode') is 'none' … … 129 129 Parsing - Forwards animation-fill-mode : forwards 130 130 PASS cssRule.type is 1 131 PASS declaration.length is 2131 PASS declaration.length is 1 132 132 PASS declaration.getPropertyValue('animation-fill-mode') is 'forwards' 133 133 PASS declaration.getPropertyValue('-webkit-animation-fill-mode') is 'forwards' … … 135 135 Parsing - Backwards animation-fill-mode : backwards 136 136 PASS cssRule.type is 1 137 PASS declaration.length is 2137 PASS declaration.length is 1 138 138 PASS declaration.getPropertyValue('animation-fill-mode') is 'backwards' 139 139 PASS declaration.getPropertyValue('-webkit-animation-fill-mode') is 'backwards' … … 141 141 Parsing - Both animation-fill-mode : both 142 142 PASS cssRule.type is 1 143 PASS declaration.length is 2143 PASS declaration.length is 1 144 144 PASS declaration.getPropertyValue('animation-fill-mode') is 'both' 145 145 PASS declaration.getPropertyValue('-webkit-animation-fill-mode') is 'both' … … 147 147 Parsing - Multiple animation-fill-modes : none, forwards, backwards, both 148 148 PASS cssRule.type is 1 149 PASS declaration.length is 2149 PASS declaration.length is 1 150 150 PASS declaration.getPropertyValue('animation-fill-mode') is 'none, forwards, backwards, both' 151 151 PASS declaration.getPropertyValue('-webkit-animation-fill-mode') is 'none, forwards, backwards, both' -
trunk/LayoutTests/animations/unprefixed-properties.html
r203380 r204052 28 28 29 29 declaration = cssRule.style; 30 shouldBe("declaration.length", " 2"); // We set both the prefixed and unprefixed version.30 shouldBe("declaration.length", "1"); 31 31 shouldBe("declaration.getPropertyValue('" + property + "')", "'" + value + "'"); 32 32 shouldBe("declaration.getPropertyValue('-webkit-" + property + "')", "'" + value + "'"); -
trunk/LayoutTests/fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt
r203380 r204052 17 17 PASS getComputedStyle(element).getPropertyCSSValue("transition-property") 18 18 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-transition-property") 19 FAIL expected element.style.cssText to be "transition-property: width;" but got "transition-property: width; -webkit-transition-property: width;" 19 PASS element.style.cssText 20 20 21 21 Setting "-webkit-transition-property" to "width" … … 32 32 PASS getComputedStyle(element).getPropertyCSSValue("transition-property") 33 33 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-transition-property") 34 FAIL expected element.style.cssText to be "-webkit-transition-property: width;" but got "-webkit-transition-property: width; transition-property: width;" 34 PASS element.style.cssText 35 35 36 36 Setting "transition-duration" to "1s" … … 47 47 PASS getComputedStyle(element).getPropertyCSSValue("transition-duration") 48 48 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-transition-duration") 49 FAIL expected element.style.cssText to be "transition-duration: 1s;" but got "transition-duration: 1s; -webkit-transition-duration: 1s;" 49 PASS element.style.cssText 50 50 51 51 Setting "-webkit-transition-duration" to "1s" … … 62 62 PASS getComputedStyle(element).getPropertyCSSValue("transition-duration") 63 63 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-transition-duration") 64 FAIL expected element.style.cssText to be "-webkit-transition-duration: 1s;" but got "-webkit-transition-duration: 1s; transition-duration: 1s;" 64 PASS element.style.cssText 65 65 66 66 Setting "transition-timing-function" to "linear" … … 77 77 PASS getComputedStyle(element).getPropertyCSSValue("transition-timing-function") 78 78 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-transition-timing-function") 79 FAIL expected element.style.cssText to be "transition-timing-function: linear;" but got "transition-timing-function: linear; -webkit-transition-timing-function: linear;" 79 PASS element.style.cssText 80 80 81 81 Setting "-webkit-transition-timing-function" to "linear" … … 92 92 PASS getComputedStyle(element).getPropertyCSSValue("transition-timing-function") 93 93 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-transition-timing-function") 94 FAIL expected element.style.cssText to be "-webkit-transition-timing-function: linear;" but got "-webkit-transition-timing-function: linear; transition-timing-function: linear;" 94 PASS element.style.cssText 95 95 96 96 Setting "transition-delay" to "0.5s" … … 107 107 PASS getComputedStyle(element).getPropertyCSSValue("transition-delay") 108 108 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-transition-delay") 109 FAIL expected element.style.cssText to be "transition-delay: 0.5s;" but got "transition-delay: 0.5s; -webkit-transition-delay: 0.5s;" 109 PASS element.style.cssText 110 110 111 111 Setting "-webkit-transition-delay" to "0.5s" … … 122 122 PASS getComputedStyle(element).getPropertyCSSValue("transition-delay") 123 123 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-transition-delay") 124 FAIL expected element.style.cssText to be "-webkit-transition-delay: 0.5s;" but got "-webkit-transition-delay: 0.5s; transition-delay: 0.5s;" 124 PASS element.style.cssText 125 125 126 126 Setting "animation-name" to "foo" … … 137 137 PASS getComputedStyle(element).getPropertyCSSValue("animation-name") 138 138 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-name") 139 FAIL expected element.style.cssText to be "animation-name: foo;" but got "animation-name: foo; -webkit-animation-name: foo;" 139 PASS element.style.cssText 140 140 141 141 Setting "-webkit-animation-name" to "foo" … … 152 152 PASS getComputedStyle(element).getPropertyCSSValue("animation-name") 153 153 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-name") 154 FAIL expected element.style.cssText to be "-webkit-animation-name: foo;" but got "-webkit-animation-name: foo; animation-name: foo;" 154 PASS element.style.cssText 155 155 156 156 Setting "animation-duration" to "1s" … … 167 167 PASS getComputedStyle(element).getPropertyCSSValue("animation-duration") 168 168 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-duration") 169 FAIL expected element.style.cssText to be "animation-duration: 1s;" but got "animation-duration: 1s; -webkit-animation-duration: 1s;" 169 PASS element.style.cssText 170 170 171 171 Setting "-webkit-animation-duration" to "1s" … … 182 182 PASS getComputedStyle(element).getPropertyCSSValue("animation-duration") 183 183 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-duration") 184 FAIL expected element.style.cssText to be "-webkit-animation-duration: 1s;" but got "-webkit-animation-duration: 1s; animation-duration: 1s;" 184 PASS element.style.cssText 185 185 186 186 Setting "animation-timing-function" to "linear" … … 197 197 PASS getComputedStyle(element).getPropertyCSSValue("animation-timing-function") 198 198 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-timing-function") 199 FAIL expected element.style.cssText to be "animation-timing-function: linear;" but got "animation-timing-function: linear; -webkit-animation-timing-function: linear;" 199 PASS element.style.cssText 200 200 201 201 Setting "-webkit-animation-timing-function" to "linear" … … 212 212 PASS getComputedStyle(element).getPropertyCSSValue("animation-timing-function") 213 213 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-timing-function") 214 FAIL expected element.style.cssText to be "-webkit-animation-timing-function: linear;" but got "-webkit-animation-timing-function: linear; animation-timing-function: linear;" 214 PASS element.style.cssText 215 215 216 216 Setting "animation-iteration-count" to "5" … … 227 227 PASS getComputedStyle(element).getPropertyCSSValue("animation-iteration-count") 228 228 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-iteration-count") 229 FAIL expected element.style.cssText to be "animation-iteration-count: 5;" but got "animation-iteration-count: 5; -webkit-animation-iteration-count: 5;" 229 PASS element.style.cssText 230 230 231 231 Setting "-webkit-animation-iteration-count" to "5" … … 242 242 PASS getComputedStyle(element).getPropertyCSSValue("animation-iteration-count") 243 243 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-iteration-count") 244 FAIL expected element.style.cssText to be "-webkit-animation-iteration-count: 5;" but got "-webkit-animation-iteration-count: 5; animation-iteration-count: 5;" 244 PASS element.style.cssText 245 245 246 246 Setting "animation-direction" to "reverse" … … 257 257 PASS getComputedStyle(element).getPropertyCSSValue("animation-direction") 258 258 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-direction") 259 FAIL expected element.style.cssText to be "animation-direction: reverse;" but got "animation-direction: reverse; -webkit-animation-direction: reverse;" 259 PASS element.style.cssText 260 260 261 261 Setting "-webkit-animation-direction" to "reverse" … … 272 272 PASS getComputedStyle(element).getPropertyCSSValue("animation-direction") 273 273 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-direction") 274 FAIL expected element.style.cssText to be "-webkit-animation-direction: reverse;" but got "-webkit-animation-direction: reverse; animation-direction: reverse;" 274 PASS element.style.cssText 275 275 276 276 Setting "animation-play-state" to "paused" … … 287 287 PASS getComputedStyle(element).getPropertyCSSValue("animation-play-state") 288 288 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-play-state") 289 FAIL expected element.style.cssText to be "animation-play-state: paused;" but got "animation-play-state: paused; -webkit-animation-play-state: paused;" 289 PASS element.style.cssText 290 290 291 291 Setting "-webkit-animation-play-state" to "paused" … … 302 302 PASS getComputedStyle(element).getPropertyCSSValue("animation-play-state") 303 303 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-play-state") 304 FAIL expected element.style.cssText to be "-webkit-animation-play-state: paused;" but got "-webkit-animation-play-state: paused; animation-play-state: paused;" 304 PASS element.style.cssText 305 305 306 306 Setting "animation-delay" to "0.5s" … … 317 317 PASS getComputedStyle(element).getPropertyCSSValue("animation-delay") 318 318 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-delay") 319 FAIL expected element.style.cssText to be "animation-delay: 0.5s;" but got "animation-delay: 0.5s; -webkit-animation-delay: 0.5s;" 319 PASS element.style.cssText 320 320 321 321 Setting "-webkit-animation-delay" to "0.5s" … … 332 332 PASS getComputedStyle(element).getPropertyCSSValue("animation-delay") 333 333 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-delay") 334 FAIL expected element.style.cssText to be "-webkit-animation-delay: 0.5s;" but got "-webkit-animation-delay: 0.5s; animation-delay: 0.5s;" 334 PASS element.style.cssText 335 335 336 336 Setting "animation-fill-mode" to "forwards" … … 347 347 PASS getComputedStyle(element).getPropertyCSSValue("animation-fill-mode") 348 348 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-fill-mode") 349 FAIL expected element.style.cssText to be "animation-fill-mode: forwards;" but got "animation-fill-mode: forwards; -webkit-animation-fill-mode: forwards;" 349 PASS element.style.cssText 350 350 351 351 Setting "-webkit-animation-fill-mode" to "forwards" … … 362 362 PASS getComputedStyle(element).getPropertyCSSValue("animation-fill-mode") 363 363 PASS getComputedStyle(element).getPropertyCSSValue("-webkit-animation-fill-mode") 364 FAIL expected element.style.cssText to be "-webkit-animation-fill-mode: forwards;" but got "-webkit-animation-fill-mode: forwards; animation-fill-mode: forwards;" 364 PASS element.style.cssText 365 365 366 366 PASS successfullyParsed is true -
trunk/LayoutTests/fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt
r203380 r204052 17 17 18 18 Animation properties 19 FAIL expected that setting "animation-name: foo; animation: 1s;" would compute animation-name to "none" but got "foo" 20 FAIL expected that setting "animation-duration: 1s; animation: none;" would compute animation-duration to "0s" but got "1s" 21 FAIL expected that setting "animation-timing-function: linear; animation: none;" would compute animation-timing-function to "ease" but got "linear" 22 FAIL expected that setting "animation-iteration-count: 5; animation: none;" would compute animation-iteration-count to "1" but got "5" 23 FAIL expected that setting "animation-direction: reverse; animation: none;" would compute animation-direction to "normal" but got "reverse" 24 FAIL expected that setting "animation-play-state: paused; animation: none;" would compute animation-play-state to "running" but got "paused" 25 FAIL expected that setting "animation-delay: 1s; animation: none;" would compute animation-delay to "0s" but got "1s" 26 FAIL expected that setting "animation-fill-mode: forwards; animation: none;" would compute animation-fill-mode to "none" but got "forwards" 19 PASS animation-name 20 PASS animation-duration 21 PASS animation-timing-function 22 PASS animation-iteration-count 23 PASS animation-direction 24 PASS animation-play-state 25 PASS animation-delay 26 PASS animation-fill-mode 27 27 28 28 Prefixed animation properties 29 29 PASS -webkit-animation-name 30 FAIL expected that setting "-webkit-animation-name: foo; animation: none;" would compute animation-name to "none" but got "foo" 30 PASS animation-name 31 31 PASS -webkit-animation-name 32 FAIL expected that setting "animation-name: foo; animation: none;" would compute animation-name to "none" but got "foo" 32 PASS animation-name 33 33 34 34 PASS successfullyParsed is true -
trunk/Source/WebCore/ChangeLog
r204050 r204052 1 2016-08-02 Dean Jackson <dino@apple.com> 2 3 Reapply fixes for webkit.org/b/159450 and webkit.org/b/157569 4 https://bugs.webkit.org/show_bug.cgi?id=160474 5 <rdar://problem/27668170> 6 7 Reviewed by Simon Fraser. 8 9 The fixes are behaviour we want. They just caused a regression 10 on medium.com (reverted in http://trac.webkit.org/r203380). 11 12 Now that we've branched, revert the reversion (which itself 13 was a reversion), so we can fix the actual bug: 14 https://bugs.webkit.org/show_bug.cgi?id=160478 15 16 * css/CSSParser.cpp: 17 (WebCore::CSSParser::parseValue): 18 (WebCore::CSSParser::parseAnimationShorthand): 19 (WebCore::CSSParser::addPropertyWithPrefixingVariant): 20 (WebCore::CSSParser::parseTransitionShorthand): 21 * css/CSSPropertyNames.in: 22 * css/PropertySetCSSStyleDeclaration.cpp: 23 (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue): 24 (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue): 25 (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal): 26 (WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal): 27 * css/StyleProperties.cpp: 28 (WebCore::MutableStyleProperties::removeShorthandProperty): 29 (WebCore::StyleProperties::asText): 30 (WebCore::MutableStyleProperties::removeProperty): Deleted. 31 (WebCore::MutableStyleProperties::removePrefixedOrUnprefixedProperty): Deleted. 32 (WebCore::MutableStyleProperties::setProperty): Deleted. 33 (WebCore::getIndexInShorthandVectorForPrefixingVariant): Deleted. 34 (WebCore::MutableStyleProperties::appendPrefixingVariantProperty): Deleted. 35 (WebCore::MutableStyleProperties::setPrefixingVariantProperty): Deleted. 36 * css/StyleProperties.h: 37 1 38 2016-08-02 Eric Carlson <eric.carlson@apple.com> 2 39 -
trunk/Source/WebCore/css/CSSParser.cpp
r204006 r204052 1606 1606 } 1607 1607 1608 void CSSParser::addPropertyWithPrefixingVariant(CSSPropertyID propId, RefPtr<CSSValue>&& value, bool important, bool implicit)1609 {1610 addProperty(propId, value.copyRef(), important, implicit);1611 1612 CSSPropertyID prefixingVariant = prefixingVariantForPropertyId(propId);1613 if (prefixingVariant == propId)1614 return;1615 1616 if (m_currentShorthand) {1617 // We can't use ShorthandScope here as we can already be inside one (e.g we are parsing CSSTransition).1618 m_currentShorthand = prefixingVariantForPropertyId(m_currentShorthand);1619 addProperty(prefixingVariant, WTFMove(value), important, implicit);1620 m_currentShorthand = prefixingVariantForPropertyId(m_currentShorthand);1621 } else1622 addProperty(prefixingVariant, WTFMove(value), important, implicit);1623 }1624 1625 1608 void CSSParser::addProperty(CSSPropertyID propId, RefPtr<CSSValue>&& value, bool important, bool implicit) 1626 1609 { … … 2740 2723 AnimationParseContext context; 2741 2724 if (parseAnimationProperty(propId, val, context)) { 2742 addProperty WithPrefixingVariant(propId, WTFMove(val), important);2725 addProperty(propId, WTFMove(val), important); 2743 2726 return true; 2744 2727 } … … 3834 3817 } 3835 3818 3819 // Fill in any remaining properties with the initial value. 3836 3820 for (i = 0; i < numProperties; ++i) { 3837 // If we didn't find the property, set an intial value.3838 3821 if (!parsedProperty[i]) 3839 3822 addAnimationValue(values[i], cssValuePool.createImplicitInitialValue()); 3840 3841 addProperty(shorthand.properties()[i], WTFMove(values[i]), important); 3842 } 3823 } 3824 3825 // Now add all of the properties we found. 3826 // In this case we have to explicitly set the variant form as well, 3827 // to make sure that a shorthand clears all existing prefixed and 3828 // unprefixed values. 3829 for (i = 0; i < numProperties; ++i) 3830 addPropertyWithPrefixingVariant(shorthand.properties()[i], WTFMove(values[i]), important); 3843 3831 3844 3832 return true; 3845 3833 } 3834 3835 void CSSParser::addPropertyWithPrefixingVariant(CSSPropertyID propId, RefPtr<CSSValue>&& value, bool important, bool implicit) 3836 { 3837 addProperty(propId, value.copyRef(), important, implicit); 3838 3839 CSSPropertyID prefixingVariant = prefixingVariantForPropertyId(propId); 3840 if (prefixingVariant == propId) 3841 return; 3842 3843 if (m_currentShorthand) { 3844 // We can't use ShorthandScope here as we can already be inside one (e.g we are parsing CSSTransition). 3845 m_currentShorthand = prefixingVariantForPropertyId(m_currentShorthand); 3846 addProperty(prefixingVariant, WTFMove(value), important, implicit); 3847 m_currentShorthand = prefixingVariantForPropertyId(m_currentShorthand); 3848 } else 3849 addProperty(prefixingVariant, WTFMove(value), important, implicit); 3850 } 3851 3846 3852 3847 3853 RefPtr<CSSPrimitiveValue> CSSParser::parseColumnWidth() … … 3972 3978 3973 3979 // Now add all of the properties we found. 3980 // In this case we have to explicitly set the variant form as well, 3981 // to make sure that a shorthand clears all existing prefixed and 3982 // unprefixed values. 3974 3983 for (i = 0; i < numProperties; ++i) 3975 3984 addPropertyWithPrefixingVariant(shorthand.properties()[i], WTFMove(values[i]), important); -
trunk/Source/WebCore/css/CSSPropertyNames.in
r203716 r204052 349 349 top [Initial=initialOffset, Converter=LengthOrAuto] 350 350 transition [Longhands=transition-property|transition-duration|transition-timing-function|transition-delay] 351 transition-delay [ SkipBuilder]352 transition-duration [ SkipBuilder]353 transition-property [ SkipBuilder]354 transition-timing-function [ SkipBuilder]351 transition-delay [AnimationProperty, NameForMethods=Delay] 352 transition-duration [AnimationProperty, NameForMethods=Duration] 353 transition-property [AnimationProperty, NameForMethods=Property] 354 transition-timing-function [AnimationProperty, NameForMethods=TimingFunction] 355 355 356 356 unicode-bidi -
trunk/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp
r203437 r204052 173 173 if (!propertyID) 174 174 return nullptr; 175 return cloneAndCacheForCSSOM( m_propertySet->getPropertyCSSValue(propertyID).get());175 return cloneAndCacheForCSSOM(getPropertyCSSValueInternal(propertyID).get()); 176 176 } 177 177 … … 184 184 if (!propertyID) 185 185 return String(); 186 return m_propertySet->getPropertyValue(propertyID);186 return getPropertyValueInternal(propertyID); 187 187 } 188 188 … … 268 268 RefPtr<CSSValue> PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal(CSSPropertyID propertyID) 269 269 { 270 return m_propertySet->getPropertyCSSValue(propertyID); 270 RefPtr<CSSValue> value = m_propertySet->getPropertyCSSValue(propertyID); 271 if (value) 272 return value; 273 274 CSSPropertyID prefixingVariant = prefixingVariantForPropertyId(propertyID); 275 if (prefixingVariant != propertyID) 276 return m_propertySet->getPropertyCSSValue(prefixingVariant); 277 278 return nullptr; 271 279 } 272 280 273 281 String PropertySetCSSStyleDeclaration::getPropertyValueInternal(CSSPropertyID propertyID) 274 { 275 return m_propertySet->getPropertyValue(propertyID); 282 { 283 String value = m_propertySet->getPropertyValue(propertyID); 284 if (!value.isEmpty()) 285 return value; 286 287 CSSPropertyID prefixingVariant = prefixingVariantForPropertyId(propertyID); 288 if (prefixingVariant != propertyID) 289 return m_propertySet->getPropertyValue(prefixingVariant); 290 291 return String(); 276 292 } 277 293 -
trunk/Source/WebCore/css/StyleProperties.cpp
r203460 r204052 641 641 return false; 642 642 643 bool ret= removePropertiesInSet(shorthand.properties(), shorthand.length());643 bool propertiesWereRemoved = removePropertiesInSet(shorthand.properties(), shorthand.length()); 644 644 645 645 CSSPropertyID prefixingVariant = prefixingVariantForPropertyId(propertyID); 646 646 if (prefixingVariant == propertyID) 647 return ret;647 return propertiesWereRemoved; 648 648 649 649 StylePropertyShorthand shorthandPrefixingVariant = shorthandForProperty(prefixingVariant); 650 return removePropertiesInSet(shorthandPrefixingVariant.properties(), shorthandPrefixingVariant.length()); 650 bool prefixedVariantPropertiesWereRemoved = removePropertiesInSet(shorthandPrefixingVariant.properties(), shorthandPrefixingVariant.length()); 651 return propertiesWereRemoved || prefixedVariantPropertiesWereRemoved; 651 652 } 652 653 … … 674 675 m_propertyVector.remove(foundPropertyIndex); 675 676 676 removePrefixedOrUnprefixedProperty(propertyID);677 678 677 return true; 679 678 } … … 696 695 697 696 return true; 698 }699 700 void MutableStyleProperties::removePrefixedOrUnprefixedProperty(CSSPropertyID propertyID)701 {702 int foundPropertyIndex = findPropertyIndex(prefixingVariantForPropertyId(propertyID));703 if (foundPropertyIndex == -1)704 return;705 m_propertyVector.remove(foundPropertyIndex);706 697 } 707 698 … … 802 793 803 794 *toReplace = property; 804 setPrefixingVariantProperty(property);805 795 return true; 806 796 } 807 797 } 808 798 809 return appendPrefixingVariantProperty(property);810 }811 812 static unsigned getIndexInShorthandVectorForPrefixingVariant(const CSSProperty& property, CSSPropertyID prefixingVariant)813 {814 if (!property.isSetFromShorthand())815 return 0;816 817 CSSPropertyID prefixedShorthand = prefixingVariantForPropertyId(property.shorthandID());818 return indexOfShorthandForLonghand(prefixedShorthand, matchingShorthandsForLonghand(prefixingVariant));819 }820 821 bool MutableStyleProperties::appendPrefixingVariantProperty(const CSSProperty& property)822 {823 799 m_propertyVector.append(property); 824 CSSPropertyID prefixingVariant = prefixingVariantForPropertyId(property.id());825 if (prefixingVariant == property.id())826 return true;827 828 m_propertyVector.append(CSSProperty(prefixingVariant, property.value(), property.isImportant(), property.isSetFromShorthand(), getIndexInShorthandVectorForPrefixingVariant(property, prefixingVariant), property.metadata().m_implicit));829 800 return true; 830 }831 832 void MutableStyleProperties::setPrefixingVariantProperty(const CSSProperty& property)833 {834 CSSPropertyID prefixingVariant = prefixingVariantForPropertyId(property.id());835 CSSProperty* toReplace = findCSSPropertyWithID(prefixingVariant);836 if (toReplace && prefixingVariant != property.id())837 *toReplace = CSSProperty(prefixingVariant, property.value(), property.isImportant(), property.isSetFromShorthand(), getIndexInShorthandVectorForPrefixingVariant(property, prefixingVariant), property.metadata().m_implicit);838 801 } 839 802 … … 921 884 case CSSPropertyAnimationDirection: 922 885 case CSSPropertyAnimationFillMode: 886 case CSSPropertyAnimationPlayState: 923 887 shorthandPropertyID = CSSPropertyAnimation; 924 888 break; … … 1020 984 case CSSPropertyWebkitAnimationDirection: 1021 985 case CSSPropertyWebkitAnimationFillMode: 986 case CSSPropertyWebkitAnimationPlayState: 1022 987 shorthandPropertyID = CSSPropertyWebkitAnimation; 1023 988 break; -
trunk/Source/WebCore/css/StyleProperties.h
r203380 r204052 208 208 bool setProperty(CSSPropertyID, CSSValueID identifier, bool important = false); 209 209 bool setProperty(CSSPropertyID, CSSPropertyID identifier, bool important = false); 210 bool appendPrefixingVariantProperty(const CSSProperty&);211 void setPrefixingVariantProperty(const CSSProperty&);212 210 bool setProperty(const CSSProperty&, CSSProperty* slot = nullptr); 213 211 214 212 bool removeProperty(CSSPropertyID, String* returnText = nullptr); 215 void removePrefixedOrUnprefixedProperty(CSSPropertyID);216 213 void removeBlockProperties(); 217 214 bool removePropertiesInSet(const CSSPropertyID* set, unsigned length);
Note: See TracChangeset
for help on using the changeset viewer.