Changeset 214419 in webkit
- Timestamp:
- Mar 27, 2017 10:50:33 AM (7 years ago)
- Location:
- trunk
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r214415 r214419 1 2017-03-27 Myles C. Maxfield <mmaxfield@apple.com> 2 3 font variation properties don't need to accept numbers 4 https://bugs.webkit.org/show_bug.cgi?id=169357 5 6 Reviewed by Antti Koivisto. 7 8 * fast/text/font-selection-font-face-parse-expected.txt: 9 * fast/text/font-selection-font-face-parse.html: 10 * fast/text/font-selection-font-loading-api-parse-expected.txt: 11 * fast/text/font-selection-font-loading-api-parse.html: 12 * fast/text/font-stretch-parse-expected.txt: 13 * fast/text/font-stretch-parse.html: 14 * fast/text/font-style-parse-expected.txt: 15 * fast/text/font-style-parse.html: 16 * fast/text/variations/font-selection-properties.html: 17 * platform/mac-elcapitan/fast/text/font-selection-font-face-parse-expected.txt: 18 1 19 2017-03-27 Myles C. Maxfield <mmaxfield@apple.com> 2 20 -
trunk/LayoutTests/fast/text/font-selection-font-face-parse-expected.txt
r214359 r214419 17 17 PASS weightTestSheet.cssRules[16].style.fontWeight is "300" 18 18 PASS weightTestSheet.cssRules[17].style.fontWeight is "200" 19 PASS weightTestSheet.cssRules[18].style.fontWeight is "100 /200"20 PASS weightTestSheet.cssRules[19].style.fontWeight is "100 /200"19 PASS weightTestSheet.cssRules[18].style.fontWeight is "100 200" 20 PASS weightTestSheet.cssRules[19].style.fontWeight is "100 200" 21 21 PASS weightTestSheet.cssRules[20].style.fontWeight is "" 22 22 PASS weightTestSheet.cssRules[21].style.fontWeight is "" … … 25 25 PASS weightTestSheet.cssRules[24].style.fontWeight is "" 26 26 PASS weightTestSheet.cssRules[25].style.fontWeight is "" 27 PASS weightTestSheet.cssRules[26].style.fontWeight is "1 /2"28 PASS weightTestSheet.cssRules[27].style.fontWeight is "-2 /-1"27 PASS weightTestSheet.cssRules[26].style.fontWeight is "1 2" 28 PASS weightTestSheet.cssRules[27].style.fontWeight is "-2 -1" 29 29 PASS weightTestSheet.cssRules[28].style.fontWeight is "" 30 PASS weightTestSheet.cssRules[29].style.fontWeight is "7 /8"31 PASS weightTestSheet.cssRules[30].style.fontWeight is "2 /7"30 PASS weightTestSheet.cssRules[29].style.fontWeight is "7 8" 31 PASS weightTestSheet.cssRules[30].style.fontWeight is "2 7" 32 32 PASS stretchTestSheet.cssRules[0].style.fontStretch is "1%" 33 PASS stretchTestSheet.cssRules[1].style.fontStretch is " 2"33 PASS stretchTestSheet.cssRules[1].style.fontStretch is "" 34 34 PASS stretchTestSheet.cssRules[2].style.fontStretch is "ultra-condensed" 35 35 PASS stretchTestSheet.cssRules[3].style.fontStretch is "extra-condensed" … … 43 43 PASS stretchTestSheet.cssRules[11].style.fontStretch is "" 44 44 PASS stretchTestSheet.cssRules[12].style.fontStretch is "" 45 PASS stretchTestSheet.cssRules[13].style.fontStretch is " 7"46 PASS stretchTestSheet.cssRules[14].style.fontStretch is " 100 / 200"47 PASS stretchTestSheet.cssRules[15].style.fontStretch is " 100 / 200"45 PASS stretchTestSheet.cssRules[13].style.fontStretch is "" 46 PASS stretchTestSheet.cssRules[14].style.fontStretch is "" 47 PASS stretchTestSheet.cssRules[15].style.fontStretch is "" 48 48 PASS stretchTestSheet.cssRules[16].style.fontStretch is "" 49 49 PASS stretchTestSheet.cssRules[17].style.fontStretch is "" … … 52 52 PASS stretchTestSheet.cssRules[20].style.fontStretch is "" 53 53 PASS stretchTestSheet.cssRules[21].style.fontStretch is "" 54 PASS stretchTestSheet.cssRules[22].style.fontStretch is " 1 / 2"55 PASS stretchTestSheet.cssRules[23].style.fontStretch is " -2 / -1"54 PASS stretchTestSheet.cssRules[22].style.fontStretch is "" 55 PASS stretchTestSheet.cssRules[23].style.fontStretch is "" 56 56 PASS stretchTestSheet.cssRules[24].style.fontStretch is "" 57 PASS stretchTestSheet.cssRules[25].style.fontStretch is "100% /200%"58 PASS stretchTestSheet.cssRules[26].style.fontStretch is "100% /200%"57 PASS stretchTestSheet.cssRules[25].style.fontStretch is "100% 200%" 58 PASS stretchTestSheet.cssRules[26].style.fontStretch is "100% 200%" 59 59 PASS stretchTestSheet.cssRules[27].style.fontStretch is "" 60 60 PASS stretchTestSheet.cssRules[28].style.fontStretch is "" … … 63 63 PASS stretchTestSheet.cssRules[31].style.fontStretch is "" 64 64 PASS stretchTestSheet.cssRules[32].style.fontStretch is "" 65 PASS stretchTestSheet.cssRules[33].style.fontStretch is "1% /2%"66 PASS stretchTestSheet.cssRules[34].style.fontStretch is "-2% /-1%"65 PASS stretchTestSheet.cssRules[33].style.fontStretch is "1% 2%" 66 PASS stretchTestSheet.cssRules[34].style.fontStretch is "-2% -1%" 67 67 PASS stretchTestSheet.cssRules[35].style.fontStretch is "" 68 68 PASS stretchTestSheet.cssRules[36].style.fontStretch is "" 69 69 PASS stretchTestSheet.cssRules[37].style.fontStretch is "" 70 PASS stretchTestSheet.cssRules[38].style.fontStretch is "7 / 8" 71 PASS stretchTestSheet.cssRules[39].style.fontStretch is "2 / 7" 70 PASS stretchTestSheet.cssRules[38].style.fontStretch is "" 71 PASS stretchTestSheet.cssRules[39].style.fontStretch is "" 72 PASS stretchTestSheet.cssRules[40].style.fontStretch is "calc(7%) 8%" 73 PASS stretchTestSheet.cssRules[41].style.fontStretch is "2% calc(7%)" 72 74 PASS styleTestSheet.cssRules[0].style.fontStyle is "oblique 1deg" 73 75 PASS styleTestSheet.cssRules[1].style.fontStyle is "oblique 200grad" 74 76 PASS styleTestSheet.cssRules[2].style.fontStyle is "oblique 6.28318rad" 75 77 PASS styleTestSheet.cssRules[3].style.fontStyle is "oblique 4turn" 76 PASS styleTestSheet.cssRules[4].style.fontStyle is " oblique 5"77 PASS styleTestSheet.cssRules[5].style.fontStyle is " oblique 20"78 PASS styleTestSheet.cssRules[4].style.fontStyle is "" 79 PASS styleTestSheet.cssRules[5].style.fontStyle is "" 78 80 PASS styleTestSheet.cssRules[6].style.fontStyle is "italic" 79 81 PASS styleTestSheet.cssRules[7].style.fontStyle is "oblique" … … 81 83 PASS styleTestSheet.cssRules[9].style.fontStyle is "" 82 84 PASS styleTestSheet.cssRules[10].style.fontStyle is "" 83 PASS styleTestSheet.cssRules[11].style.fontStyle is " oblique 7"85 PASS styleTestSheet.cssRules[11].style.fontStyle is "" 84 86 PASS styleTestSheet.cssRules[12].style.fontStyle is "oblique calc(1441deg)" 85 PASS styleTestSheet.cssRules[13].style.fontStyle is " oblique 100deg 200deg"86 PASS styleTestSheet.cssRules[14].style.fontStyle is " oblique 100deg 200deg"87 PASS styleTestSheet.cssRules[13].style.fontStyle is "" 88 PASS styleTestSheet.cssRules[14].style.fontStyle is "" 87 89 PASS styleTestSheet.cssRules[15].style.fontStyle is "" 88 90 PASS styleTestSheet.cssRules[16].style.fontStyle is "" … … 91 93 PASS styleTestSheet.cssRules[19].style.fontStyle is "" 92 94 PASS styleTestSheet.cssRules[20].style.fontStyle is "" 93 PASS styleTestSheet.cssRules[21].style.fontStyle is " oblique 1deg 2deg"94 PASS styleTestSheet.cssRules[22].style.fontStyle is " oblique -2deg -1deg"95 PASS styleTestSheet.cssRules[21].style.fontStyle is "" 96 PASS styleTestSheet.cssRules[22].style.fontStyle is "" 95 97 PASS styleTestSheet.cssRules[23].style.fontStyle is "" 96 98 PASS styleTestSheet.cssRules[24].style.fontStyle is "oblique 100deg 200deg" … … 108 110 PASS styleTestSheet.cssRules[36].style.fontStyle is "" 109 111 PASS styleTestSheet.cssRules[37].style.fontStyle is "oblique 2deg 1turn" 110 PASS styleTestSheet.cssRules[38].style.fontStyle is "oblique 7deg 8deg" 111 PASS styleTestSheet.cssRules[39].style.fontStyle is "oblique 2deg 7deg" 112 PASS styleTestSheet.cssRules[38].style.fontStyle is "" 113 PASS styleTestSheet.cssRules[39].style.fontStyle is "" 114 PASS styleTestSheet.cssRules[40].style.fontStyle is "oblique calc(7deg) 8deg" 115 PASS styleTestSheet.cssRules[41].style.fontStyle is "oblique 2deg calc(7deg)" 112 116 PASS successfullyParsed is true 113 117 -
trunk/LayoutTests/fast/text/font-selection-font-face-parse.html
r214359 r214419 58 58 } 59 59 @font-face { 60 font-weight: 100 /200;61 } 62 @font-face { 63 font-weight: 100 /200;64 } 65 @font-face { 66 font-weight: a 100 /200;67 } 68 @font-face { 69 font-weight: 100 /200 a;70 } 71 @font-face { 72 font-weight: 100 a /200;73 } 74 @font-face { 75 font-weight: 100 a/200;76 } 77 @font-face { 78 font-weight: 100 /a200;79 } 80 @font-face { 81 font-weight: 100 /a200;82 } 83 @font-face { 84 font-weight: 1 /2;85 } 86 @font-face { 87 font-weight: -2 /-1;88 } 89 @font-face { 90 font-weight: 2 /1;91 } 92 @font-face { 93 font-weight: calc(3 + 4) /8;94 } 95 @font-face { 96 font-weight: 2 /calc(3 + 4);60 font-weight: 100 200; 61 } 62 @font-face { 63 font-weight: 100 200; 64 } 65 @font-face { 66 font-weight: a 100 200; 67 } 68 @font-face { 69 font-weight: 100 200 a; 70 } 71 @font-face { 72 font-weight: 100 a 200; 73 } 74 @font-face { 75 font-weight: 100a 200; 76 } 77 @font-face { 78 font-weight: 100 a200; 79 } 80 @font-face { 81 font-weight: 100 a200; 82 } 83 @font-face { 84 font-weight: 1 2; 85 } 86 @font-face { 87 font-weight: -2 -1; 88 } 89 @font-face { 90 font-weight: 2 1; 91 } 92 @font-face { 93 font-weight: calc(3 + 4) 8; 94 } 95 @font-face { 96 font-weight: 2 calc(3 + 4); 97 97 } 98 98 </style> … … 142 142 } 143 143 @font-face { 144 font-stretch: 100/200; 145 } 146 @font-face { 147 font-stretch: 100 / 200; 148 } 149 @font-face { 150 font-stretch: a 100 / 200; 151 } 152 @font-face { 153 font-stretch: 100 / 200 a; 154 } 155 @font-face { 156 font-stretch: 100 a / 200; 157 } 158 @font-face { 159 font-stretch: 100 a/ 200; 160 } 161 @font-face { 162 font-stretch: 100 /a 200; 163 } 164 @font-face { 165 font-stretch: 100 / a200; 166 } 167 @font-face { 168 font-stretch: 1 / 2; 169 } 170 @font-face { 171 font-stretch: -2 / -1; 172 } 173 @font-face { 174 font-stretch: 2 / 1; 175 } 176 @font-face { 177 font-stretch: 100%/200%; 178 } 179 @font-face { 180 font-stretch: 100% / 200%; 181 } 182 @font-face { 183 font-stretch: a 100% / 200%; 184 } 185 @font-face { 186 font-stretch: 100% / 200% a; 187 } 188 @font-face { 189 font-stretch: 100% a / 200%; 190 } 191 @font-face { 192 font-stretch: 100% a/ 200%; 193 } 194 @font-face { 195 font-stretch: 100% /a 200%; 196 } 197 @font-face { 198 font-stretch: 100% / a200%; 199 } 200 @font-face { 201 font-stretch: 1% / 2%; 202 } 203 @font-face { 204 font-stretch: -2% / -1%; 205 } 206 @font-face { 207 font-stretch: 2% / 1%; 208 } 209 @font-face { 210 font-stretch: 1 / 2%; 211 } 212 @font-face { 213 font-stretch: 1% / 2; 214 } 215 @font-face { 216 font-stretch: calc(3 + 4) / 8; 217 } 218 @font-face { 219 font-stretch: 2 / calc(3 + 4); 144 font-stretch: 100 200; 145 } 146 @font-face { 147 font-stretch: 100 200; 148 } 149 @font-face { 150 font-stretch: a 100 200; 151 } 152 @font-face { 153 font-stretch: 100 200 a; 154 } 155 @font-face { 156 font-stretch: 100 a 200; 157 } 158 @font-face { 159 font-stretch: 100a 200; 160 } 161 @font-face { 162 font-stretch: 100 a200; 163 } 164 @font-face { 165 font-stretch: 100 a200; 166 } 167 @font-face { 168 font-stretch: 1 2; 169 } 170 @font-face { 171 font-stretch: -2 -1; 172 } 173 @font-face { 174 font-stretch: 2 1; 175 } 176 @font-face { 177 font-stretch: 100% 200%; 178 } 179 @font-face { 180 font-stretch: 100% 200%; 181 } 182 @font-face { 183 font-stretch: a 100% 200%; 184 } 185 @font-face { 186 font-stretch: 100% 200% a; 187 } 188 @font-face { 189 font-stretch: 100% a 200%; 190 } 191 @font-face { 192 font-stretch: 100%a 200%; 193 } 194 @font-face { 195 font-stretch: 100% a200%; 196 } 197 @font-face { 198 font-stretch: 100% a200%; 199 } 200 @font-face { 201 font-stretch: 1% 2%; 202 } 203 @font-face { 204 font-stretch: -2% -1%; 205 } 206 @font-face { 207 font-stretch: 2% 1%; 208 } 209 @font-face { 210 font-stretch: 1 2%; 211 } 212 @font-face { 213 font-stretch: 1% 2; 214 } 215 @font-face { 216 font-stretch: calc(3 + 4) 8; 217 } 218 @font-face { 219 font-stretch: 2 calc(3 + 4); 220 } 221 @font-face { 222 font-stretch: calc(3% + 4%) 8%; 223 } 224 @font-face { 225 font-stretch: 2% calc(3% + 4%); 220 226 } 221 227 </style> … … 341 347 @font-face { 342 348 font-style: oblique 2 calc(3 + 4); 349 } 350 @font-face { 351 font-style: oblique calc(3deg + 4deg) 8deg; 352 } 353 @font-face { 354 font-style: oblique 2deg calc(3deg + 4deg); 343 355 } 344 356 </style> … … 365 377 shouldBeEqualToString("weightTestSheet.cssRules[16].style.fontWeight", "300"); 366 378 shouldBeEqualToString("weightTestSheet.cssRules[17].style.fontWeight", "200"); 367 shouldBeEqualToString("weightTestSheet.cssRules[18].style.fontWeight", "100 /200");368 shouldBeEqualToString("weightTestSheet.cssRules[19].style.fontWeight", "100 /200");379 shouldBeEqualToString("weightTestSheet.cssRules[18].style.fontWeight", "100 200"); 380 shouldBeEqualToString("weightTestSheet.cssRules[19].style.fontWeight", "100 200"); 369 381 shouldBeEqualToString("weightTestSheet.cssRules[20].style.fontWeight", ""); 370 382 shouldBeEqualToString("weightTestSheet.cssRules[21].style.fontWeight", ""); … … 373 385 shouldBeEqualToString("weightTestSheet.cssRules[24].style.fontWeight", ""); 374 386 shouldBeEqualToString("weightTestSheet.cssRules[25].style.fontWeight", ""); 375 shouldBeEqualToString("weightTestSheet.cssRules[26].style.fontWeight", "1 /2");376 shouldBeEqualToString("weightTestSheet.cssRules[27].style.fontWeight", "-2 /-1");387 shouldBeEqualToString("weightTestSheet.cssRules[26].style.fontWeight", "1 2"); 388 shouldBeEqualToString("weightTestSheet.cssRules[27].style.fontWeight", "-2 -1"); 377 389 shouldBeEqualToString("weightTestSheet.cssRules[28].style.fontWeight", ""); 378 shouldBeEqualToString("weightTestSheet.cssRules[29].style.fontWeight", "7 /8");379 shouldBeEqualToString("weightTestSheet.cssRules[30].style.fontWeight", "2 /7");390 shouldBeEqualToString("weightTestSheet.cssRules[29].style.fontWeight", "7 8"); 391 shouldBeEqualToString("weightTestSheet.cssRules[30].style.fontWeight", "2 7"); 380 392 381 393 var stretchTestSheet = document.getElementById("stretchTest").sheet; 382 394 shouldBeEqualToString("stretchTestSheet.cssRules[0].style.fontStretch", "1%"); 383 shouldBeEqualToString("stretchTestSheet.cssRules[1].style.fontStretch", " 2");395 shouldBeEqualToString("stretchTestSheet.cssRules[1].style.fontStretch", ""); 384 396 shouldBeEqualToString("stretchTestSheet.cssRules[2].style.fontStretch", "ultra-condensed"); 385 397 shouldBeEqualToString("stretchTestSheet.cssRules[3].style.fontStretch", "extra-condensed"); … … 393 405 shouldBeEqualToString("stretchTestSheet.cssRules[11].style.fontStretch", ""); 394 406 shouldBeEqualToString("stretchTestSheet.cssRules[12].style.fontStretch", ""); 395 shouldBeEqualToString("stretchTestSheet.cssRules[13].style.fontStretch", " 7");396 shouldBeEqualToString("stretchTestSheet.cssRules[14].style.fontStretch", " 100 / 200");397 shouldBeEqualToString("stretchTestSheet.cssRules[15].style.fontStretch", " 100 / 200");407 shouldBeEqualToString("stretchTestSheet.cssRules[13].style.fontStretch", ""); 408 shouldBeEqualToString("stretchTestSheet.cssRules[14].style.fontStretch", ""); 409 shouldBeEqualToString("stretchTestSheet.cssRules[15].style.fontStretch", ""); 398 410 shouldBeEqualToString("stretchTestSheet.cssRules[16].style.fontStretch", ""); 399 411 shouldBeEqualToString("stretchTestSheet.cssRules[17].style.fontStretch", ""); … … 402 414 shouldBeEqualToString("stretchTestSheet.cssRules[20].style.fontStretch", ""); 403 415 shouldBeEqualToString("stretchTestSheet.cssRules[21].style.fontStretch", ""); 404 shouldBeEqualToString("stretchTestSheet.cssRules[22].style.fontStretch", " 1 / 2");405 shouldBeEqualToString("stretchTestSheet.cssRules[23].style.fontStretch", " -2 / -1");416 shouldBeEqualToString("stretchTestSheet.cssRules[22].style.fontStretch", ""); 417 shouldBeEqualToString("stretchTestSheet.cssRules[23].style.fontStretch", ""); 406 418 shouldBeEqualToString("stretchTestSheet.cssRules[24].style.fontStretch", ""); 407 shouldBeEqualToString("stretchTestSheet.cssRules[25].style.fontStretch", "100% /200%");408 shouldBeEqualToString("stretchTestSheet.cssRules[26].style.fontStretch", "100% /200%");419 shouldBeEqualToString("stretchTestSheet.cssRules[25].style.fontStretch", "100% 200%"); 420 shouldBeEqualToString("stretchTestSheet.cssRules[26].style.fontStretch", "100% 200%"); 409 421 shouldBeEqualToString("stretchTestSheet.cssRules[27].style.fontStretch", ""); 410 422 shouldBeEqualToString("stretchTestSheet.cssRules[28].style.fontStretch", ""); … … 413 425 shouldBeEqualToString("stretchTestSheet.cssRules[31].style.fontStretch", ""); 414 426 shouldBeEqualToString("stretchTestSheet.cssRules[32].style.fontStretch", ""); 415 shouldBeEqualToString("stretchTestSheet.cssRules[33].style.fontStretch", "1% /2%");416 shouldBeEqualToString("stretchTestSheet.cssRules[34].style.fontStretch", "-2% /-1%");427 shouldBeEqualToString("stretchTestSheet.cssRules[33].style.fontStretch", "1% 2%"); 428 shouldBeEqualToString("stretchTestSheet.cssRules[34].style.fontStretch", "-2% -1%"); 417 429 shouldBeEqualToString("stretchTestSheet.cssRules[35].style.fontStretch", ""); 418 430 shouldBeEqualToString("stretchTestSheet.cssRules[36].style.fontStretch", ""); 419 431 shouldBeEqualToString("stretchTestSheet.cssRules[37].style.fontStretch", ""); 420 shouldBeEqualToString("stretchTestSheet.cssRules[38].style.fontStretch", "7 / 8"); 421 shouldBeEqualToString("stretchTestSheet.cssRules[39].style.fontStretch", "2 / 7"); 432 shouldBeEqualToString("stretchTestSheet.cssRules[38].style.fontStretch", ""); 433 shouldBeEqualToString("stretchTestSheet.cssRules[39].style.fontStretch", ""); 434 shouldBeEqualToString("stretchTestSheet.cssRules[40].style.fontStretch", "calc(7%) 8%"); 435 shouldBeEqualToString("stretchTestSheet.cssRules[41].style.fontStretch", "2% calc(7%)"); 422 436 423 437 var styleTestSheet = document.getElementById("styleTest").sheet; … … 426 440 shouldBeEqualToString("styleTestSheet.cssRules[2].style.fontStyle", "oblique 6.28318rad"); 427 441 shouldBeEqualToString("styleTestSheet.cssRules[3].style.fontStyle", "oblique 4turn"); 428 shouldBeEqualToString("styleTestSheet.cssRules[4].style.fontStyle", " oblique 5");429 shouldBeEqualToString("styleTestSheet.cssRules[5].style.fontStyle", " oblique 20");442 shouldBeEqualToString("styleTestSheet.cssRules[4].style.fontStyle", ""); 443 shouldBeEqualToString("styleTestSheet.cssRules[5].style.fontStyle", ""); 430 444 shouldBeEqualToString("styleTestSheet.cssRules[6].style.fontStyle", "italic"); 431 445 shouldBeEqualToString("styleTestSheet.cssRules[7].style.fontStyle", "oblique"); … … 433 447 shouldBeEqualToString("styleTestSheet.cssRules[9].style.fontStyle", ""); 434 448 shouldBeEqualToString("styleTestSheet.cssRules[10].style.fontStyle", ""); 435 shouldBeEqualToString("styleTestSheet.cssRules[11].style.fontStyle", " oblique 7");449 shouldBeEqualToString("styleTestSheet.cssRules[11].style.fontStyle", ""); 436 450 shouldBeEqualToString("styleTestSheet.cssRules[12].style.fontStyle", "oblique calc(1441deg)"); 437 451 438 shouldBeEqualToString("styleTestSheet.cssRules[13].style.fontStyle", " oblique 100deg 200deg");439 shouldBeEqualToString("styleTestSheet.cssRules[14].style.fontStyle", " oblique 100deg 200deg");452 shouldBeEqualToString("styleTestSheet.cssRules[13].style.fontStyle", ""); 453 shouldBeEqualToString("styleTestSheet.cssRules[14].style.fontStyle", ""); 440 454 shouldBeEqualToString("styleTestSheet.cssRules[15].style.fontStyle", ""); 441 455 shouldBeEqualToString("styleTestSheet.cssRules[16].style.fontStyle", ""); … … 444 458 shouldBeEqualToString("styleTestSheet.cssRules[19].style.fontStyle", ""); 445 459 shouldBeEqualToString("styleTestSheet.cssRules[20].style.fontStyle", ""); 446 shouldBeEqualToString("styleTestSheet.cssRules[21].style.fontStyle", " oblique 1deg 2deg");447 shouldBeEqualToString("styleTestSheet.cssRules[22].style.fontStyle", " oblique -2deg -1deg");460 shouldBeEqualToString("styleTestSheet.cssRules[21].style.fontStyle", ""); 461 shouldBeEqualToString("styleTestSheet.cssRules[22].style.fontStyle", ""); 448 462 shouldBeEqualToString("styleTestSheet.cssRules[23].style.fontStyle", ""); 449 463 shouldBeEqualToString("styleTestSheet.cssRules[24].style.fontStyle", "oblique 100deg 200deg"); … … 461 475 shouldBeEqualToString("styleTestSheet.cssRules[36].style.fontStyle", ""); 462 476 shouldBeEqualToString("styleTestSheet.cssRules[37].style.fontStyle", "oblique 2deg 1turn"); 463 shouldBeEqualToString("styleTestSheet.cssRules[38].style.fontStyle", "oblique 7deg 8deg"); 464 shouldBeEqualToString("styleTestSheet.cssRules[39].style.fontStyle", "oblique 2deg 7deg"); 477 shouldBeEqualToString("styleTestSheet.cssRules[38].style.fontStyle", ""); 478 shouldBeEqualToString("styleTestSheet.cssRules[39].style.fontStyle", ""); 479 shouldBeEqualToString("styleTestSheet.cssRules[40].style.fontStyle", "oblique calc(7deg) 8deg"); 480 shouldBeEqualToString("styleTestSheet.cssRules[41].style.fontStyle", "oblique 2deg calc(7deg)"); 465 481 </script> 466 482 <script src="../../resources/js-test-post.js"></script> -
trunk/LayoutTests/fast/text/font-selection-font-loading-api-parse-expected.txt
r213464 r214419 17 17 PASS setFontFaceWeight(fontFace, 'calc(150 + 50)') is "200" 18 18 PASS setFontFaceStretch(fontFace, '1%') is "1%" 19 PASS setFontFaceStretch(fontFace, '2') is "2%"19 PASS setFontFaceStretch(fontFace, '2') threw exception SyntaxError (DOM Exception 12): The string did not match the expected pattern.. 20 20 PASS setFontFaceStretch(fontFace, 'ultra-condensed') is "ultra-condensed" 21 21 PASS setFontFaceStretch(fontFace, 'extra-condensed') is "extra-condensed" … … 29 29 PASS setFontFaceStretch(fontFace, 'garbage') threw exception SyntaxError (DOM Exception 12): The string did not match the expected pattern.. 30 30 PASS setFontFaceStretch(fontFace, 'initial') threw exception SyntaxError (DOM Exception 12): The string did not match the expected pattern.. 31 PASS setFontFaceStretch(fontFace, 'calc(3 + 4)') is "7%" 31 PASS setFontFaceStretch(fontFace, 'calc(3 + 4)') threw exception SyntaxError (DOM Exception 12): The string did not match the expected pattern.. 32 PASS setFontFaceStretch(fontFace, 'calc(3% + 4%)') is "7%" 32 33 PASS setFontFaceStyle(fontFace, 'oblique 1deg') is "oblique 1deg" 33 34 PASS setFontFaceStyle(fontFace, 'oblique 200grad') is "oblique 180deg" 34 PASS setFontFaceStyle(fontFace, 'oblique 6.28318rad') is "oblique 359.75 0000deg"35 PASS setFontFaceStyle(fontFace, 'oblique 6.28318rad') is "oblique 359.75deg" 35 36 PASS setFontFaceStyle(fontFace, 'oblique 4turn') is "oblique 1440deg" 36 PASS setFontFaceStyle(fontFace, 'oblique 5') is "oblique 5deg"37 PASS setFontFaceStyle(fontFace, 'oblique 20') is "italic"37 PASS setFontFaceStyle(fontFace, 'oblique 5') threw exception SyntaxError (DOM Exception 12): The string did not match the expected pattern.. 38 PASS setFontFaceStyle(fontFace, 'oblique 20') threw exception SyntaxError (DOM Exception 12): The string did not match the expected pattern.. 38 39 PASS setFontFaceStyle(fontFace, 'italic') is "italic" 39 40 PASS setFontFaceStyle(fontFace, 'oblique') is "italic" … … 41 42 PASS setFontFaceStyle(fontFace, 'garbage') threw exception SyntaxError (DOM Exception 12): The string did not match the expected pattern.. 42 43 PASS setFontFaceStyle(fontFace, 'initial') threw exception SyntaxError (DOM Exception 12): The string did not match the expected pattern.. 43 PASS setFontFaceStyle(fontFace, 'oblique calc(3 + 4)') is "oblique 7deg"44 PASS setFontFaceStyle(fontFace, 'oblique calc(3 + 4)') threw exception SyntaxError (DOM Exception 12): The string did not match the expected pattern.. 44 45 PASS setFontFaceStyle(fontFace, 'oblique calc(4turn + 1deg)') is "oblique 1441deg" 45 46 PASS successfullyParsed is true -
trunk/LayoutTests/fast/text/font-selection-font-loading-api-parse.html
r213464 r214419 41 41 42 42 shouldBeEqualToString("setFontFaceStretch(fontFace, '1%')", "1%"); 43 should BeEqualToString("setFontFaceStretch(fontFace, '2')", "2%");43 shouldThrow("setFontFaceStretch(fontFace, '2')"); 44 44 shouldBeEqualToString("setFontFaceStretch(fontFace, 'ultra-condensed')", "ultra-condensed"); 45 45 shouldBeEqualToString("setFontFaceStretch(fontFace, 'extra-condensed')", "extra-condensed"); … … 53 53 shouldThrow("setFontFaceStretch(fontFace, 'garbage')"); 54 54 shouldThrow("setFontFaceStretch(fontFace, 'initial')"); 55 shouldBeEqualToString("setFontFaceStretch(fontFace, 'calc(3 + 4)')", "7%"); 55 shouldThrow("setFontFaceStretch(fontFace, 'calc(3 + 4)')"); 56 shouldBeEqualToString("setFontFaceStretch(fontFace, 'calc(3% + 4%)')", "7%"); 56 57 57 58 shouldBeEqualToString("setFontFaceStyle(fontFace, 'oblique 1deg')", "oblique 1deg"); 58 59 shouldBeEqualToString("setFontFaceStyle(fontFace, 'oblique 200grad')", "oblique 180deg"); 59 shouldBeEqualToString("setFontFaceStyle(fontFace, 'oblique 6.28318rad')", "oblique 359.75 0000deg");60 shouldBeEqualToString("setFontFaceStyle(fontFace, 'oblique 6.28318rad')", "oblique 359.75deg"); 60 61 shouldBeEqualToString("setFontFaceStyle(fontFace, 'oblique 4turn')", "oblique 1440deg"); 61 should BeEqualToString("setFontFaceStyle(fontFace, 'oblique 5')", "oblique 5deg");62 should BeEqualToString("setFontFaceStyle(fontFace, 'oblique 20')", "italic");62 shouldThrow("setFontFaceStyle(fontFace, 'oblique 5')"); 63 shouldThrow("setFontFaceStyle(fontFace, 'oblique 20')"); 63 64 shouldBeEqualToString("setFontFaceStyle(fontFace, 'italic')", "italic"); 64 65 shouldBeEqualToString("setFontFaceStyle(fontFace, 'oblique')", "italic"); … … 66 67 shouldThrow("setFontFaceStyle(fontFace, 'garbage')"); 67 68 shouldThrow("setFontFaceStyle(fontFace, 'initial')"); 68 should BeEqualToString("setFontFaceStyle(fontFace, 'oblique calc(3 + 4)')", "oblique 7deg");69 shouldThrow("setFontFaceStyle(fontFace, 'oblique calc(3 + 4)')"); 69 70 shouldBeEqualToString("setFontFaceStyle(fontFace, 'oblique calc(4turn + 1deg)')", "oblique 1441deg"); 70 71 </script> -
trunk/LayoutTests/fast/text/font-stretch-parse-expected.txt
r213464 r214419 1 1 PASS window.getComputedStyle(document.getElementById('test1')).fontStretch is "normal" 2 2 PASS window.getComputedStyle(document.getElementById('test2')).fontStretch is "1%" 3 PASS window.getComputedStyle(document.getElementById('test3')).fontStretch is " 2%"3 PASS window.getComputedStyle(document.getElementById('test3')).fontStretch is "normal" 4 4 PASS window.getComputedStyle(document.getElementById('test4')).fontStretch is "ultra-condensed" 5 5 PASS window.getComputedStyle(document.getElementById('test5')).fontStretch is "extra-condensed" … … 13 13 PASS window.getComputedStyle(document.getElementById('test13')).fontStretch is "normal" 14 14 PASS window.getComputedStyle(document.getElementById('test14')).fontStretch is "normal" 15 PASS window.getComputedStyle(document.getElementById('test15')).fontStretch is " 7%"15 PASS window.getComputedStyle(document.getElementById('test15')).fontStretch is "normal" 16 16 PASS window.getComputedStyle(document.getElementById('test16')).fontStretch is "extra-condensed" 17 17 PASS window.getComputedStyle(document.getElementById('test17')).fontStretch is "extra-condensed" … … 19 19 PASS window.getComputedStyle(document.getElementById('test19')).fontStretch is "normal" 20 20 PASS window.getComputedStyle(document.getElementById('test20')).fontStretch is "extra-expanded" 21 PASS window.getComputedStyle(document.getElementById('test21')).fontStretch is "7%" 21 22 PASS window.getComputedStyle(document.getElementById('test1')).font is "normal normal normal normal 16px/18px Times" 22 23 PASS window.getComputedStyle(document.getElementById('test2')).font is "16px/18px Times" 23 PASS window.getComputedStyle(document.getElementById('test3')).font is " 16px/18px Times"24 PASS window.getComputedStyle(document.getElementById('test3')).font is "normal normal normal normal 16px/18px Times" 24 25 PASS window.getComputedStyle(document.getElementById('test4')).font is "normal normal normal ultra-condensed 16px/18px Times" 25 26 PASS window.getComputedStyle(document.getElementById('test5')).font is "normal normal normal extra-condensed 16px/18px Times" … … 33 34 PASS window.getComputedStyle(document.getElementById('test13')).font is "normal normal normal normal 16px/18px Times" 34 35 PASS window.getComputedStyle(document.getElementById('test14')).font is "normal normal normal normal 16px/18px Times" 35 PASS window.getComputedStyle(document.getElementById('test15')).font is " 16px/18px Times"36 PASS window.getComputedStyle(document.getElementById('test15')).font is "normal normal normal normal 16px/18px Times" 36 37 PASS window.getComputedStyle(document.getElementById('test16')).font is "normal normal 100 extra-condensed 48px/49px 'Helvetica Neue'" 37 38 PASS window.getComputedStyle(document.getElementById('test17')).font is "normal normal 100 extra-condensed 48px/49px 'Helvetica Neue'" … … 39 40 PASS window.getComputedStyle(document.getElementById('test19')).font is "normal normal 100 normal 48px/49px 'Helvetica Neue'" 40 41 PASS window.getComputedStyle(document.getElementById('test20')).font is "italic small-caps 100 extra-expanded 48px/49px 'Helvetica Neue'" 42 PASS window.getComputedStyle(document.getElementById('test21')).font is "16px/18px Times" 41 43 PASS document.getElementById('test1').style.font is "" 42 44 PASS document.getElementById('test16').style.font is "100 extra-condensed 48px/49px 'Helvetica Neue'" -
trunk/LayoutTests/fast/text/font-stretch-parse.html
r213464 r214419 26 26 <div style="font-stretch: extra-expanded;"><div id="test19" style="font: 100 48px/49px 'Helvetica Neue';"></div></div> 27 27 <div id="test20" style="font: italic small-caps 100 extra-expanded 48px/49px 'Helvetica Neue';"></div> 28 <div id="test21" style="font-stretch: calc(3% + 4%);"></div> 28 29 </div> 29 30 <script> 30 31 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test1')).fontStretch", "normal"); 31 32 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test2')).fontStretch", "1%"); 32 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test3')).fontStretch", " 2%");33 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test3')).fontStretch", "normal"); 33 34 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test4')).fontStretch", "ultra-condensed"); 34 35 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test5')).fontStretch", "extra-condensed"); … … 42 43 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test13')).fontStretch", "normal"); 43 44 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test14')).fontStretch", "normal"); 44 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test15')).fontStretch", " 7%");45 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test15')).fontStretch", "normal"); 45 46 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test16')).fontStretch", "extra-condensed"); 46 47 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test17')).fontStretch", "extra-condensed"); … … 48 49 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test19')).fontStretch", "normal"); 49 50 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test20')).fontStretch", "extra-expanded"); 51 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test21')).fontStretch", "7%"); 50 52 51 53 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test1')).font", "normal normal normal normal 16px/18px Times"); 52 54 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test2')).font", "16px/18px Times"); 53 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test3')).font", " 16px/18px Times");55 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test3')).font", "normal normal normal normal 16px/18px Times"); 54 56 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test4')).font", "normal normal normal ultra-condensed 16px/18px Times"); 55 57 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test5')).font", "normal normal normal extra-condensed 16px/18px Times"); … … 63 65 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test13')).font", "normal normal normal normal 16px/18px Times"); 64 66 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test14')).font", "normal normal normal normal 16px/18px Times"); 65 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test15')).font", " 16px/18px Times");67 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test15')).font", "normal normal normal normal 16px/18px Times"); 66 68 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test16')).font", "normal normal 100 extra-condensed 48px/49px 'Helvetica Neue'"); 67 69 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test17')).font", "normal normal 100 extra-condensed 48px/49px 'Helvetica Neue'"); … … 69 71 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test19')).font", "normal normal 100 normal 48px/49px 'Helvetica Neue'"); 70 72 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test20')).font", "italic small-caps 100 extra-expanded 48px/49px 'Helvetica Neue'"); 73 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test21')).font", "16px/18px Times"); 71 74 72 75 shouldBeEqualToString("document.getElementById('test1').style.font", ""); -
trunk/LayoutTests/fast/text/font-style-parse-expected.txt
r214359 r214419 4 4 PASS window.getComputedStyle(document.getElementById('test4')).fontStyle is "oblique 359.75deg" 5 5 PASS window.getComputedStyle(document.getElementById('test5')).fontStyle is "oblique 1440deg" 6 PASS window.getComputedStyle(document.getElementById('test6')).fontStyle is " oblique 5deg"7 PASS window.getComputedStyle(document.getElementById('test7')).fontStyle is " italic"6 PASS window.getComputedStyle(document.getElementById('test6')).fontStyle is "normal" 7 PASS window.getComputedStyle(document.getElementById('test7')).fontStyle is "normal" 8 8 PASS window.getComputedStyle(document.getElementById('test8')).fontStyle is "italic" 9 9 PASS window.getComputedStyle(document.getElementById('test9')).fontStyle is "italic" … … 11 11 PASS window.getComputedStyle(document.getElementById('test11')).fontStyle is "normal" 12 12 PASS window.getComputedStyle(document.getElementById('test12')).fontStyle is "normal" 13 PASS window.getComputedStyle(document.getElementById('test13')).fontStyle is " oblique 7deg"13 PASS window.getComputedStyle(document.getElementById('test13')).fontStyle is "normal" 14 14 PASS window.getComputedStyle(document.getElementById('test14')).fontStyle is "oblique 1441deg" 15 15 PASS window.getComputedStyle(document.getElementById('test15')).fontStyle is "italic" … … 25 25 PASS window.getComputedStyle(document.getElementById('test4')).font is "16px/18px Times" 26 26 PASS window.getComputedStyle(document.getElementById('test5')).font is "16px/18px Times" 27 PASS window.getComputedStyle(document.getElementById('test6')).font is " 16px/18px Times"28 PASS window.getComputedStyle(document.getElementById('test7')).font is " italicnormal normal normal 16px/18px Times"27 PASS window.getComputedStyle(document.getElementById('test6')).font is "normal normal normal normal 16px/18px Times" 28 PASS window.getComputedStyle(document.getElementById('test7')).font is "normal normal normal normal 16px/18px Times" 29 29 PASS window.getComputedStyle(document.getElementById('test8')).font is "italic normal normal normal 16px/18px Times" 30 30 PASS window.getComputedStyle(document.getElementById('test9')).font is "italic normal normal normal 16px/18px Times" … … 32 32 PASS window.getComputedStyle(document.getElementById('test11')).font is "normal normal normal normal 16px/18px Times" 33 33 PASS window.getComputedStyle(document.getElementById('test12')).font is "normal normal normal normal 16px/18px Times" 34 PASS window.getComputedStyle(document.getElementById('test13')).font is " 16px/18px Times"34 PASS window.getComputedStyle(document.getElementById('test13')).font is "normal normal normal normal 16px/18px Times" 35 35 PASS window.getComputedStyle(document.getElementById('test14')).font is "16px/18px Times" 36 36 PASS window.getComputedStyle(document.getElementById('test15')).font is "italic normal 100 normal 48px/49px 'Helvetica Neue'" -
trunk/LayoutTests/fast/text/font-style-parse.html
r214359 r214419 34 34 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test4')).fontStyle", "oblique 359.75deg"); 35 35 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test5')).fontStyle", "oblique 1440deg"); 36 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test6')).fontStyle", " oblique 5deg");37 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test7')).fontStyle", " italic");36 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test6')).fontStyle", "normal"); 37 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test7')).fontStyle", "normal"); 38 38 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test8')).fontStyle", "italic"); 39 39 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test9')).fontStyle", "italic"); … … 41 41 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test11')).fontStyle", "normal"); 42 42 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test12')).fontStyle", "normal"); 43 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test13')).fontStyle", " oblique 7deg");43 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test13')).fontStyle", "normal"); 44 44 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test14')).fontStyle", "oblique 1441deg"); 45 45 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test15')).fontStyle", "italic"); … … 56 56 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test4')).font", "16px/18px Times"); 57 57 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test5')).font", "16px/18px Times"); 58 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test6')).font", " 16px/18px Times");59 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test7')).font", " italicnormal normal normal 16px/18px Times");58 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test6')).font", "normal normal normal normal 16px/18px Times"); 59 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test7')).font", "normal normal normal normal 16px/18px Times"); 60 60 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test8')).font", "italic normal normal normal 16px/18px Times"); 61 61 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test9')).font", "italic normal normal normal 16px/18px Times"); … … 63 63 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test11')).font", "normal normal normal normal 16px/18px Times"); 64 64 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test12')).font", "normal normal normal normal 16px/18px Times"); 65 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test13')).font", " 16px/18px Times");65 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test13')).font", "normal normal normal normal 16px/18px Times"); 66 66 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test14')).font", "16px/18px Times"); 67 67 shouldBeEqualToString("window.getComputedStyle(document.getElementById('test15')).font", "italic normal 100 normal 48px/49px 'Helvetica Neue'"); -
trunk/LayoutTests/fast/text/variations/font-selection-properties.html
r213505 r214419 11 11 <body> 12 12 This test makes sure that the font selection properties affect font variations. 13 <div style="font-family: Boxis; font-stretch: 900 ;">Hello</div>14 <div style="font-family: Boxis; font-stretch: 900 ; font-variation-settings: 'wdth' 100;">Hello</div>13 <div style="font-family: Boxis; font-stretch: 900%;">Hello</div> 14 <div style="font-family: Boxis; font-stretch: 900%; font-variation-settings: 'wdth' 100;">Hello</div> 15 15 </body> 16 16 </html> -
trunk/LayoutTests/platform/mac-elcapitan/fast/text/font-selection-font-face-parse-expected.txt
r214359 r214419 17 17 PASS weightTestSheet.cssRules[16].style.fontWeight is "300" 18 18 PASS weightTestSheet.cssRules[17].style.fontWeight is "200" 19 FAIL weightTestSheet.cssRules[18].style.fontWeight should be 100 /200. Was .20 FAIL weightTestSheet.cssRules[19].style.fontWeight should be 100 /200. Was .19 FAIL weightTestSheet.cssRules[18].style.fontWeight should be 100 200. Was . 20 FAIL weightTestSheet.cssRules[19].style.fontWeight should be 100 200. Was . 21 21 PASS weightTestSheet.cssRules[20].style.fontWeight is "" 22 22 PASS weightTestSheet.cssRules[21].style.fontWeight is "" … … 25 25 PASS weightTestSheet.cssRules[24].style.fontWeight is "" 26 26 PASS weightTestSheet.cssRules[25].style.fontWeight is "" 27 FAIL weightTestSheet.cssRules[26].style.fontWeight should be 1 /2. Was .28 FAIL weightTestSheet.cssRules[27].style.fontWeight should be -2 /-1. Was .27 FAIL weightTestSheet.cssRules[26].style.fontWeight should be 1 2. Was . 28 FAIL weightTestSheet.cssRules[27].style.fontWeight should be -2 -1. Was . 29 29 PASS weightTestSheet.cssRules[28].style.fontWeight is "" 30 FAIL weightTestSheet.cssRules[29].style.fontWeight should be 7 /8. Was .31 FAIL weightTestSheet.cssRules[30].style.fontWeight should be 2 /7. Was .30 FAIL weightTestSheet.cssRules[29].style.fontWeight should be 7 8. Was . 31 FAIL weightTestSheet.cssRules[30].style.fontWeight should be 2 7. Was . 32 32 PASS stretchTestSheet.cssRules[0].style.fontStretch is "1%" 33 PASS stretchTestSheet.cssRules[1].style.fontStretch is " 2"33 PASS stretchTestSheet.cssRules[1].style.fontStretch is "" 34 34 PASS stretchTestSheet.cssRules[2].style.fontStretch is "ultra-condensed" 35 35 PASS stretchTestSheet.cssRules[3].style.fontStretch is "extra-condensed" … … 43 43 PASS stretchTestSheet.cssRules[11].style.fontStretch is "" 44 44 PASS stretchTestSheet.cssRules[12].style.fontStretch is "" 45 PASS stretchTestSheet.cssRules[13].style.fontStretch is " 7"46 FAIL stretchTestSheet.cssRules[14].style.fontStretch should be 100 / 200. Was . 47 FAIL stretchTestSheet.cssRules[15].style.fontStretch should be 100 / 200. Was . 45 PASS stretchTestSheet.cssRules[13].style.fontStretch is "" 46 PASS stretchTestSheet.cssRules[14].style.fontStretch is "" 47 PASS stretchTestSheet.cssRules[15].style.fontStretch is "" 48 48 PASS stretchTestSheet.cssRules[16].style.fontStretch is "" 49 49 PASS stretchTestSheet.cssRules[17].style.fontStretch is "" … … 52 52 PASS stretchTestSheet.cssRules[20].style.fontStretch is "" 53 53 PASS stretchTestSheet.cssRules[21].style.fontStretch is "" 54 FAIL stretchTestSheet.cssRules[22].style.fontStretch should be 1 / 2. Was . 55 FAIL stretchTestSheet.cssRules[23].style.fontStretch should be -2 / -1. Was . 54 PASS stretchTestSheet.cssRules[22].style.fontStretch is "" 55 PASS stretchTestSheet.cssRules[23].style.fontStretch is "" 56 56 PASS stretchTestSheet.cssRules[24].style.fontStretch is "" 57 FAIL stretchTestSheet.cssRules[25].style.fontStretch should be 100% /200%. Was .58 FAIL stretchTestSheet.cssRules[26].style.fontStretch should be 100% /200%. Was .57 FAIL stretchTestSheet.cssRules[25].style.fontStretch should be 100% 200%. Was . 58 FAIL stretchTestSheet.cssRules[26].style.fontStretch should be 100% 200%. Was . 59 59 PASS stretchTestSheet.cssRules[27].style.fontStretch is "" 60 60 PASS stretchTestSheet.cssRules[28].style.fontStretch is "" … … 63 63 PASS stretchTestSheet.cssRules[31].style.fontStretch is "" 64 64 PASS stretchTestSheet.cssRules[32].style.fontStretch is "" 65 FAIL stretchTestSheet.cssRules[33].style.fontStretch should be 1% /2%. Was .66 FAIL stretchTestSheet.cssRules[34].style.fontStretch should be -2% /-1%. Was .65 FAIL stretchTestSheet.cssRules[33].style.fontStretch should be 1% 2%. Was . 66 FAIL stretchTestSheet.cssRules[34].style.fontStretch should be -2% -1%. Was . 67 67 PASS stretchTestSheet.cssRules[35].style.fontStretch is "" 68 68 PASS stretchTestSheet.cssRules[36].style.fontStretch is "" 69 69 PASS stretchTestSheet.cssRules[37].style.fontStretch is "" 70 FAIL stretchTestSheet.cssRules[38].style.fontStretch should be 7 / 8. Was . 71 FAIL stretchTestSheet.cssRules[39].style.fontStretch should be 2 / 7. Was . 70 PASS stretchTestSheet.cssRules[38].style.fontStretch is "" 71 PASS stretchTestSheet.cssRules[39].style.fontStretch is "" 72 FAIL stretchTestSheet.cssRules[40].style.fontStretch should be calc(7%) 8%. Was . 73 FAIL stretchTestSheet.cssRules[41].style.fontStretch should be 2% calc(7%). Was . 72 74 PASS styleTestSheet.cssRules[0].style.fontStyle is "oblique 1deg" 73 75 PASS styleTestSheet.cssRules[1].style.fontStyle is "oblique 200grad" 74 76 PASS styleTestSheet.cssRules[2].style.fontStyle is "oblique 6.28318rad" 75 77 PASS styleTestSheet.cssRules[3].style.fontStyle is "oblique 4turn" 76 FAIL styleTestSheet.cssRules[4].style.fontStyle should be oblique 5. Was oblique 5deg. 77 FAIL styleTestSheet.cssRules[5].style.fontStyle should be oblique 20. Was oblique 20deg. 78 PASS styleTestSheet.cssRules[4].style.fontStyle is "" 79 PASS styleTestSheet.cssRules[5].style.fontStyle is "" 78 80 PASS styleTestSheet.cssRules[6].style.fontStyle is "italic" 79 81 PASS styleTestSheet.cssRules[7].style.fontStyle is "oblique" … … 81 83 PASS styleTestSheet.cssRules[9].style.fontStyle is "" 82 84 PASS styleTestSheet.cssRules[10].style.fontStyle is "" 83 FAIL styleTestSheet.cssRules[11].style.fontStyle should be oblique 7. Was oblique 7deg. 85 PASS styleTestSheet.cssRules[11].style.fontStyle is "" 84 86 PASS styleTestSheet.cssRules[12].style.fontStyle is "oblique calc(1441deg)" 85 FAIL styleTestSheet.cssRules[13].style.fontStyle should be oblique 100deg 200deg. Was . 86 FAIL styleTestSheet.cssRules[14].style.fontStyle should be oblique 100deg 200deg. Was . 87 PASS styleTestSheet.cssRules[13].style.fontStyle is "" 88 PASS styleTestSheet.cssRules[14].style.fontStyle is "" 87 89 PASS styleTestSheet.cssRules[15].style.fontStyle is "" 88 90 PASS styleTestSheet.cssRules[16].style.fontStyle is "" … … 91 93 PASS styleTestSheet.cssRules[19].style.fontStyle is "" 92 94 PASS styleTestSheet.cssRules[20].style.fontStyle is "" 93 FAIL styleTestSheet.cssRules[21].style.fontStyle should be oblique 1deg 2deg. Was . 94 FAIL styleTestSheet.cssRules[22].style.fontStyle should be oblique -2deg -1deg. Was . 95 PASS styleTestSheet.cssRules[21].style.fontStyle is "" 96 PASS styleTestSheet.cssRules[22].style.fontStyle is "" 95 97 PASS styleTestSheet.cssRules[23].style.fontStyle is "" 96 98 FAIL styleTestSheet.cssRules[24].style.fontStyle should be oblique 100deg 200deg. Was . … … 108 110 PASS styleTestSheet.cssRules[36].style.fontStyle is "" 109 111 FAIL styleTestSheet.cssRules[37].style.fontStyle should be oblique 2deg 1turn. Was . 110 FAIL styleTestSheet.cssRules[38].style.fontStyle should be oblique 7deg 8deg. Was . 111 FAIL styleTestSheet.cssRules[39].style.fontStyle should be oblique 2deg 7deg. Was . 112 PASS styleTestSheet.cssRules[38].style.fontStyle is "" 113 PASS styleTestSheet.cssRules[39].style.fontStyle is "" 114 FAIL styleTestSheet.cssRules[40].style.fontStyle should be oblique calc(7deg) 8deg. Was . 115 FAIL styleTestSheet.cssRules[41].style.fontStyle should be oblique 2deg calc(7deg). Was . 112 116 PASS successfullyParsed is true 113 117 -
trunk/Source/WebCore/ChangeLog
r214418 r214419 1 2017-03-27 Myles C. Maxfield <mmaxfield@apple.com> 2 3 font variation properties don't need to accept numbers 4 https://bugs.webkit.org/show_bug.cgi?id=169357 5 6 Reviewed by Antti Koivisto. 7 8 The CSS Fonts level 4 spec stabilized the grammar accepted by font-weight, 9 font-style, and font-stretch. The changes are that font-style and 10 font-stretch no longer accept raw numbers, and the @font-face descriptor 11 ranges are now separated by spaces instead of slashes. 12 13 Tests: fast/text/font-selection-font-face-parse.html 14 fast/text/font-selection-font-loading-api-parse.html 15 fast/text/font-stretch-parse.html 16 fast/text/font-style-parse.html 17 fast/text/variations/font-selection-properties.html 18 19 * css/CSSComputedStyleDeclaration.cpp: 20 (WebCore::ComputedStyleExtractor::fontWeightFromStyleValue): 21 (WebCore::fontWeightFromStyle): 22 (WebCore::ComputedStyleExtractor::fontStretchFromStyleValue): 23 (WebCore::fontStretchFromStyle): 24 (WebCore::ComputedStyleExtractor::fontStyleFromStyleValue): 25 (WebCore::fontStyleFromStyle): 26 * css/CSSComputedStyleDeclaration.h: 27 * css/FontFace.cpp: 28 (WebCore::FontFace::style): 29 (WebCore::FontFace::weight): 30 (WebCore::FontFace::stretch): 31 (WebCore::rangeIsSingleValue): Deleted. 32 * css/StyleBuilderConverter.h: 33 (WebCore::StyleBuilderConverter::convertFontStretchFromValue): 34 * css/parser/CSSPropertyParser.cpp: 35 (WebCore::consumeFontWeightRange): 36 (WebCore::consumeFontStretch): 37 (WebCore::consumeFontStretchRange): 38 (WebCore::consumeFontStyle): 39 (WebCore::consumeFontStyleRange): 40 1 41 2017-03-27 Youenn Fablet <youenn@apple.com> 2 42 -
trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
r214394 r214419 1918 1918 } 1919 1919 1920 static Ref<CSSPrimitiveValue> fontWeightFromStyle(const RenderStyle& style) 1921 { 1922 auto weight = style.fontDescription().weight(); 1920 Ref<CSSPrimitiveValue> ComputedStyleExtractor::fontWeightFromStyleValue(FontSelectionValue weight) 1921 { 1923 1922 if (auto value = fontWeightKeyword(weight)) 1924 1923 return CSSValuePool::singleton().createIdentifierValue(value.value()); … … 1926 1925 } 1927 1926 1928 static Ref<CSSPrimitiveValue> fontStretchFromStyle(const RenderStyle& style) 1929 { 1930 auto stretch = style.fontDescription().stretch(); 1927 static Ref<CSSPrimitiveValue> fontWeightFromStyle(const RenderStyle& style) 1928 { 1929 return ComputedStyleExtractor::fontWeightFromStyleValue(style.fontDescription().weight()); 1930 } 1931 1932 Ref<CSSPrimitiveValue> ComputedStyleExtractor::fontStretchFromStyleValue(FontSelectionValue stretch) 1933 { 1931 1934 if (auto keyword = fontStretchKeyword(stretch)) 1932 1935 return CSSValuePool::singleton().createIdentifierValue(keyword.value()); … … 1934 1937 } 1935 1938 1939 static Ref<CSSPrimitiveValue> fontStretchFromStyle(const RenderStyle& style) 1940 { 1941 return ComputedStyleExtractor::fontStretchFromStyleValue(style.fontDescription().stretch()); 1942 } 1943 1944 Ref<CSSFontStyleValue> ComputedStyleExtractor::fontStyleFromStyleValue(FontSelectionValue italic) 1945 { 1946 if (auto keyword = fontStyleKeyword(italic)) 1947 return CSSFontStyleValue::create(CSSValuePool::singleton().createIdentifierValue(keyword.value())); 1948 return CSSFontStyleValue::create(CSSValuePool::singleton().createIdentifierValue(CSSValueOblique), CSSValuePool::singleton().createValue(static_cast<float>(italic), CSSPrimitiveValue::CSS_DEG)); 1949 } 1950 1936 1951 static Ref<CSSFontStyleValue> fontStyleFromStyle(const RenderStyle& style) 1937 1952 { 1938 FontSelectionValue italic = style.fontDescription().italic(); 1939 if (italic == normalItalicValue()) 1940 return CSSFontStyleValue::create(CSSValuePool::singleton().createIdentifierValue(CSSValueNormal)); 1941 if (italic == italicValue()) 1942 return CSSFontStyleValue::create(CSSValuePool::singleton().createIdentifierValue(CSSValueItalic)); 1943 return CSSFontStyleValue::create(CSSValuePool::singleton().createIdentifierValue(CSSValueOblique), CSSValuePool::singleton().createValue(static_cast<float>(italic), CSSPrimitiveValue::CSS_DEG)); 1953 return ComputedStyleExtractor::fontStyleFromStyleValue(style.fontDescription().italic()); 1944 1954 } 1945 1955 -
trunk/Source/WebCore/css/CSSComputedStyleDeclaration.h
r209969 r214419 29 29 namespace WebCore { 30 30 31 class CSSFontStyleValue; 31 32 class CSSPrimitiveValue; 32 33 class CSSValueList; … … 34 35 class Element; 35 36 class FilterOperations; 37 class FontSelectionValue; 36 38 class MutableStyleProperties; 37 39 class Node; … … 64 66 65 67 static Ref<CSSValue> valueForFilter(const RenderStyle&, const FilterOperations&, AdjustPixelValuesForComputedStyle = AdjustPixelValues); 68 69 static Ref<CSSPrimitiveValue> fontWeightFromStyleValue(FontSelectionValue); 70 static Ref<CSSPrimitiveValue> fontStretchFromStyleValue(FontSelectionValue); 71 static Ref<CSSFontStyleValue> fontStyleFromStyleValue(FontSelectionValue); 66 72 67 73 private: -
trunk/Source/WebCore/css/FontFace.cpp
r214359 r214419 27 27 #include "FontFace.h" 28 28 29 #include "CSSComputedStyleDeclaration.h" 29 30 #include "CSSFontFaceSource.h" 30 31 #include "CSSFontFeatureValue.h" 32 #include "CSSFontStyleValue.h" 31 33 #include "CSSParser.h" 32 34 #include "CSSUnicodeRangeValue.h" … … 40 42 #include <runtime/ArrayBufferView.h> 41 43 #include <runtime/JSCInlines.h> 44 #include <wtf/text/StringBuilder.h> 42 45 43 46 namespace WebCore { … … 281 284 } 282 285 283 static inline bool rangeIsSingleValue(FontSelectionRange range, FontSelectionValue value)284 {285 return range.minimum == value && range.maximum == value;286 };287 288 286 String FontFace::style() const 289 287 { … … 291 289 auto style = m_backing->italic(); 292 290 293 if (rangeIsSingleValue(style, italicValue())) 294 return ASCIILiteral("italic"); 295 if (rangeIsSingleValue(style, normalItalicValue())) 296 return ASCIILiteral("normal"); 297 298 if (style.minimum == style.maximum) { 299 auto value = static_cast<float>(style.minimum); 300 if (value >= 0) { 301 auto floored = std::floor(value); 302 if (floored == value) 303 return String::format("oblique %ddeg", static_cast<int>(floored)); 304 } 305 return String::format("oblique %fdeg", static_cast<float>(style.minimum)); 306 } 307 308 return String::format("oblique %fdeg %fdeg", static_cast<float>(style.minimum), static_cast<float>(style.maximum)); 291 auto minimum = ComputedStyleExtractor::fontStyleFromStyleValue(style.minimum); 292 auto maximum = ComputedStyleExtractor::fontStyleFromStyleValue(style.maximum); 293 294 if (minimum.get().equals(maximum.get())) 295 return minimum->cssText(); 296 297 ASSERT(minimum->fontStyleValue->valueID() == CSSValueOblique); 298 ASSERT(maximum->fontStyleValue->valueID() == CSSValueOblique); 299 300 StringBuilder builder; 301 builder.append(minimum->fontStyleValue->cssText()); 302 builder.append(' '); 303 if (minimum->obliqueValue.get() == maximum->obliqueValue.get()) 304 builder.append(minimum->obliqueValue->cssText()); 305 else { 306 builder.append(minimum->obliqueValue->cssText()); 307 builder.append(maximum->obliqueValue->cssText()); 308 } 309 return builder.toString(); 309 310 } 310 311 … … 314 315 auto weight = m_backing->weight(); 315 316 316 if (rangeIsSingleValue(weight, normalWeightValue())) 317 return ASCIILiteral("normal"); 318 if (rangeIsSingleValue(weight, boldWeightValue())) 319 return ASCIILiteral("bold"); 320 321 if (weight.minimum == weight.maximum) { 322 auto value = static_cast<float>(weight.minimum); 323 if (value >= 0) { 324 auto floored = std::floor(value); 325 if (floored == value) 326 return String::format("%d", static_cast<int>(floored)); 327 } 328 return String::format("%f", static_cast<float>(weight.minimum)); 329 } 330 331 return String::format("%f %f", static_cast<float>(weight.minimum), static_cast<float>(weight.maximum)); 317 auto minimum = ComputedStyleExtractor::fontWeightFromStyleValue(weight.minimum); 318 auto maximum = ComputedStyleExtractor::fontWeightFromStyleValue(weight.maximum); 319 320 if (minimum.get().equals(maximum.get())) 321 return minimum->cssText(); 322 323 StringBuilder builder; 324 builder.append(minimum->cssText()); 325 builder.append(' '); 326 builder.append(maximum->cssText()); 327 return builder.toString(); 332 328 } 333 329 … … 337 333 auto stretch = m_backing->stretch(); 338 334 339 if (rangeIsSingleValue(stretch, ultraCondensedStretchValue())) 340 return ASCIILiteral("ultra-condensed"); 341 if (rangeIsSingleValue(stretch, extraCondensedStretchValue())) 342 return ASCIILiteral("extra-condensed"); 343 if (rangeIsSingleValue(stretch, condensedStretchValue())) 344 return ASCIILiteral("condensed"); 345 if (rangeIsSingleValue(stretch, semiCondensedStretchValue())) 346 return ASCIILiteral("semi-condensed"); 347 if (rangeIsSingleValue(stretch, normalStretchValue())) 348 return ASCIILiteral("normal"); 349 if (rangeIsSingleValue(stretch, semiExpandedStretchValue())) 350 return ASCIILiteral("semi-expanded"); 351 if (rangeIsSingleValue(stretch, expandedStretchValue())) 352 return ASCIILiteral("expanded"); 353 if (rangeIsSingleValue(stretch, extraExpandedStretchValue())) 354 return ASCIILiteral("extra-expanded"); 355 if (rangeIsSingleValue(stretch, ultraExpandedStretchValue())) 356 return ASCIILiteral("ultra-expanded"); 357 358 if (stretch.minimum == stretch.maximum) { 359 auto value = static_cast<float>(stretch.minimum); 360 if (value >= 0) { 361 auto floored = std::floor(value); 362 if (floored == value) 363 return String::format("%d%%", static_cast<int>(floored)); 364 } 365 return String::format("%f%%", static_cast<float>(stretch.minimum)); 366 } 367 368 return String::format("%f%% %f%%", static_cast<float>(stretch.minimum), static_cast<float>(stretch.maximum)); 335 auto minimum = ComputedStyleExtractor::fontStretchFromStyleValue(stretch.minimum); 336 auto maximum = ComputedStyleExtractor::fontStretchFromStyleValue(stretch.maximum); 337 338 if (minimum.get().equals(maximum.get())) 339 return minimum->cssText(); 340 341 StringBuilder builder; 342 builder.append(minimum->cssText()); 343 builder.append(' '); 344 builder.append(maximum->cssText()); 345 return builder.toString(); 369 346 } 370 347 -
trunk/Source/WebCore/css/StyleBuilderConverter.h
r214359 r214419 1194 1194 const auto& primitiveValue = downcast<CSSPrimitiveValue>(value); 1195 1195 1196 if (primitiveValue.isPercentage() || primitiveValue.isNumber())1196 if (primitiveValue.isPercentage()) 1197 1197 return FontSelectionValue::clampFloat(primitiveValue.floatValue()); 1198 1198 -
trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp
r214359 r214419 889 889 if (range.atEnd()) 890 890 return firstNumber; 891 if (!consumeSlashIncludingWhitespace(range))892 return nullptr;893 891 auto secondNumber = consumeNumber(range, ValueRangeAll); 894 892 if (!secondNumber) … … 896 894 if (firstNumber->floatValue() > secondNumber->floatValue()) 897 895 return nullptr; 898 auto result = CSSValueList::createS lashSeparated();896 auto result = CSSValueList::createSpaceSeparated(); 899 897 result->append(firstNumber.releaseNonNull()); 900 898 result->append(secondNumber.releaseNonNull()); … … 912 910 if (auto result = consumeFontStretchKeywordValue(range)) 913 911 return result; 914 if (auto percent = consumePercent(range, ValueRangeAll)) 915 return percent; 916 return consumeNumber(range, ValueRangeAll); 912 return consumePercent(range, ValueRangeAll); 917 913 } 918 914 … … 922 918 if (auto result = consumeFontStretchKeywordValue(range)) 923 919 return result; 924 if (auto firstPercent = consumePercent(range, ValueRangeAll)) { 925 if (range.atEnd()) 926 return firstPercent; 927 if (!consumeSlashIncludingWhitespace(range)) 928 return nullptr; 929 auto secondPercent = consumePercent(range, ValueRangeAll); 930 if (!secondPercent) 931 return nullptr; 932 if (firstPercent->floatValue() > secondPercent->floatValue()) 933 return nullptr; 934 auto result = CSSValueList::createSlashSeparated(); 935 result->append(firstPercent.releaseNonNull()); 936 result->append(secondPercent.releaseNonNull()); 937 return RefPtr<CSSValue>(WTFMove(result)); 938 } 939 940 if (auto firstNumber = consumeNumber(range, ValueRangeAll)) { 941 if (range.atEnd()) 942 return firstNumber; 943 if (!consumeSlashIncludingWhitespace(range)) 944 return nullptr; 945 auto secondNumber = consumeNumber(range, ValueRangeAll); 946 if (!secondNumber) 947 return nullptr; 948 if (firstNumber->floatValue() > secondNumber->floatValue()) 949 return nullptr; 950 auto result = CSSValueList::createSlashSeparated(); 951 result->append(firstNumber.releaseNonNull()); 952 result->append(secondNumber.releaseNonNull()); 953 return RefPtr<CSSValue>(WTFMove(result)); 954 } 955 956 return nullptr; 920 auto firstPercent = consumePercent(range, ValueRangeAll); 921 if (!firstPercent) 922 return nullptr; 923 if (range.atEnd()) 924 return firstPercent; 925 auto secondPercent = consumePercent(range, ValueRangeAll); 926 if (!secondPercent) 927 return nullptr; 928 if (firstPercent->floatValue() > secondPercent->floatValue()) 929 return nullptr; 930 auto result = CSSValueList::createSpaceSeparated(); 931 result->append(firstPercent.releaseNonNull()); 932 result->append(secondPercent.releaseNonNull()); 933 return RefPtr<CSSValue>(WTFMove(result)); 957 934 } 958 935 #endif … … 978 955 if (auto angle = consumeAngle(range, cssParserMode)) 979 956 return CSSFontStyleValue::create(CSSValuePool::singleton().createIdentifierValue(CSSValueOblique), WTFMove(angle)); 980 if (auto number = consumeNumber(range, ValueRangeAll))981 return CSSFontStyleValue::create(CSSValuePool::singleton().createIdentifierValue(CSSValueOblique), CSSValuePool::singleton().createValue(number->value<double>(), CSSPrimitiveValue::CSS_DEG));982 957 return CSSFontStyleValue::create(CSSValuePool::singleton().createIdentifierValue(CSSValueOblique)); 983 958 } … … 1007 982 result->append(firstAngle.releaseNonNull()); 1008 983 result->append(secondAngle.releaseNonNull()); 1009 return CSSFontStyleRangeValue::create(keyword.releaseNonNull(), WTFMove(result));1010 }1011 1012 if (auto firstNumber = consumeNumber(range, ValueRangeAll)) {1013 if (range.atEnd()) {1014 auto result = CSSValueList::createSpaceSeparated();1015 result->append(firstNumber.releaseNonNull());1016 return CSSFontStyleRangeValue::create(keyword.releaseNonNull(), WTFMove(result));1017 }1018 auto secondNumber = consumeNumber(range, ValueRangeAll);1019 if (!secondNumber)1020 return nullptr;1021 if (firstNumber->floatValue() > secondNumber->floatValue())1022 return nullptr;1023 auto result = CSSValueList::createSpaceSeparated();1024 result->append(CSSValuePool::singleton().createValue(firstNumber->value<double>(), CSSPrimitiveValue::CSS_DEG));1025 result->append(CSSValuePool::singleton().createValue(secondNumber->value<double>(), CSSPrimitiveValue::CSS_DEG));1026 984 return CSSFontStyleRangeValue::create(keyword.releaseNonNull(), WTFMove(result)); 1027 985 }
Note: See TracChangeset
for help on using the changeset viewer.