Changeset 267995 in webkit
- Timestamp:
- Oct 5, 2020, 12:36:22 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 47 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r267994 r267995 1 2020-10-05 Rob Buis <rbuis@igalia.com> 2 3 WebKit doesn't parse "#" as delimiter for fragment identifier in data URIs 4 https://bugs.webkit.org/show_bug.cgi?id=68089 5 6 Reviewed by Alex Christensen, Ryosuke Niwa, and Darin Adler. 7 8 Adjusts tests thats use data URIs to escape the # character. 9 10 * accessibility/ios-simulator/iframe-access.html: 11 * accessibility/ios-simulator/unobscured-content-rect.html: 12 * accessibility/resources/iframe.html: 13 * accessibility/scroll-to-global-point-iframe.html: 14 * accessibility/scroll-to-make-visible-iframe-offscreen.html: 15 * accessibility/scroll-to-make-visible-iframe.html: 16 * css3/blending/background-blend-mode-crossfade-image.html: 17 * css3/blending/background-blend-mode-data-uri-svg-image.html: 18 * css3/blending/background-blend-mode-tiled-layers.html: 19 * css3/flexbox/flexitem.html: 20 * css3/shapes/shape-outside/shape-image/shape-image-002.html: 21 * css3/shapes/shape-outside/shape-image/shape-image-005.html: 22 * editing/pasteboard/data-transfer-set-data-sanitize-url-when-copying-in-null-origin.html: 23 * editing/pasteboard/data-transfer-set-data-sanitize-url-when-dragging-in-null-origin.html: 24 * fast/css-grid-layout/grid-item-display.html: 25 * fast/css/import-style-update.html: 26 * fast/css/link-media-attr.html: 27 * fast/dom/HTMLLinkElement/link-stylesheet-media-type.html: 28 * fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html: 29 * fast/events/attribute-listener-cloned-from-frameless-doc-context.html: 30 * fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html: 31 * fast/events/attribute-listener-extracted-from-frameless-doc-context.html: 32 * fast/hidpi/image-srcset-data-escaped-srcset.html: 33 * fast/html/link-rel-stylesheet.html: 34 * fast/loader/data-url-encoding-html.html: 35 * fast/loader/data-url-encoding-svg.html: 36 * fast/spatial-navigation/resources/iframe.html: 37 * http/tests/security/top-level-unique-origin.https.html: 38 * platform/ios/css3/flexbox/flexitem-expected.txt: 39 * platform/win/css3/flexbox/flexitem-expected.txt: 40 * security/contentSecurityPolicy/link-with-data-url-allowed-by-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html: 41 * svg/animations/css-animation-background-svg.html: 42 * svg/animations/css-animation-embedded-svg.html: 43 * svg/animations/css-animation-hover-svg.html: 44 * svg/as-image/svg-canvas-data-url-svg-with-feimage-not-tainted.html: 45 * svg/custom/object-data-href.html: 46 1 47 2020-10-05 Sergio Villar Senin <svillar@igalia.com> 2 48 -
trunk/LayoutTests/accessibility/ios-simulator/iframe-access.html
r187904 r267995 10 10 11 11 <div id="content"> 12 <iframe id="iframe" onload="startTest();" src="data:text/html,<body><button id='frame-button'>Click me</button><a href=' #' id='frame-link'>a</a></body>"></iframe>12 <iframe id="iframe" onload="startTest();" src="data:text/html,<body><button id='frame-button'>Click me</button><a href='%23' id='frame-link'>a</a></body>"></iframe> 13 13 </div> 14 14 -
trunk/LayoutTests/accessibility/ios-simulator/unobscured-content-rect.html
r231113 r267995 7 7 <button id="button">test</button> 8 8 9 <iframe id="iframe" onload="startTest();" width="200" height="200" src="data:text/html,<body><button id='frame-button'>Click me</button><a href=' #' id='frame-link'>a</a></body>"></iframe>9 <iframe id="iframe" onload="startTest();" width="200" height="200" src="data:text/html,<body><button id='frame-button'>Click me</button><a href='%23' id='frame-link'>a</a></body>"></iframe> 10 10 11 11 </div> -
trunk/LayoutTests/accessibility/resources/iframe.html
r231628 r267995 2 2 <body> 3 3 <div id="box" style='border: 1px solid #000; height: 1000px;'>1000-pixel box</div> 4 <iframe id="iframe" src="data:text/html,<body><div style='border: 1px solid #000; height: 5000px;'>5000-pixel box</div><button id='button'>Test Button</button></button></body>"></iframe>4 <iframe id="iframe" src="data:text/html,<body><div style='border: 1px solid %23000; height: 5000px;'>5000-pixel box</div><button id='button'>Test Button</button></button></body>"></iframe> 5 5 </body> 6 6 </html> -
trunk/LayoutTests/accessibility/scroll-to-global-point-iframe.html
r211573 r267995 12 12 <body> 13 13 <style>button { border: 0; }</style> 14 <div style='border: 1px solid #000; height: 5000px;'>5000-pixel box</div>14 <div style='border: 1px solid %23000; height: 5000px;'>5000-pixel box</div> 15 15 <button id='target'>Target</button> 16 <div style='border: 1px solid #000; height: 5000px;'>5000-pixel box</div>16 <div style='border: 1px solid %23000; height: 5000px;'>5000-pixel box</div> 17 17 </body>"></iframe> 18 18 -
trunk/LayoutTests/accessibility/scroll-to-make-visible-iframe-offscreen.html
r231628 r267995 9 9 <div style='border: 1px solid #000; height: 5000px;'>5000-pixel box</div> 10 10 11 <iframe id="frame" src="data:text/html,<body><button id='upper_target'>Upper Target</button><div style='border: 1px solid #000; height: 5000px;'>5000-pixel box</div><button id='lower_target'>Lower Target</button></body>"></iframe>11 <iframe id="frame" src="data:text/html,<body><button id='upper_target'>Upper Target</button><div style='border: 1px solid %23000; height: 5000px;'>5000-pixel box</div><button id='lower_target'>Lower Target</button></body>"></iframe> 12 12 13 13 <br> -
trunk/LayoutTests/accessibility/scroll-to-make-visible-iframe.html
r211573 r267995 7 7 <p id="description"></p> 8 8 9 <iframe id="frame" src="data:text/html,<body><button id='upper_target'>Upper Target</button><div style='border: 1px solid #000; height: 5000px;'>5000-pixel box</div><button id='lower_target'>Lower Target</button></body>"></iframe>9 <iframe id="frame" src="data:text/html,<body><button id='upper_target'>Upper Target</button><div style='border: 1px solid %23000; height: 5000px;'>5000-pixel box</div><button id='lower_target'>Lower Target</button></body>"></iframe> 10 10 11 11 <div id="console"></div> -
trunk/LayoutTests/css3/blending/background-blend-mode-crossfade-image.html
r171295 r267995 9 9 background-image: -webkit-cross-fade(url('data:image/svg+xml;utf8, \ 10 10 <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"> \ 11 <rect width="100" height="100" fill=" #F00"/> \11 <rect width="100" height="100" fill="%23F00"/> \ 12 12 </svg>' 13 13 ), url('data:image/svg+xml;utf8, \ 14 14 <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"> \ 15 <rect width="100" height="100" fill=" #F00"/> \15 <rect width="100" height="100" fill="%23F00"/> \ 16 16 </svg>' 17 17 ), 100%); -
trunk/LayoutTests/css3/blending/background-blend-mode-data-uri-svg-image.html
r171295 r267995 10 10 background: url('data:image/svg+xml;utf8, \ 11 11 <svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 100 100"> \ 12 <rect width="100" height="100" fill=" #F00"/> \12 <rect width="100" height="100" fill="%23F00"/> \ 13 13 </svg>' 14 14 ), #FF0; -
trunk/LayoutTests/css3/blending/background-blend-mode-tiled-layers.html
r171295 r267995 16 16 background: url('data:image/svg+xml;utf8, \ 17 17 <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"> \ 18 <rect width="100" height="100" fill=" #F00"/> \18 <rect width="100" height="100" fill="%23F00"/> \ 19 19 </svg>' 20 20 ) 0 0 /50% 50%, #FF0; … … 28 28 background: -webkit-cross-fade(url('data:image/svg+xml;utf8, \ 29 29 <svg xmlns="http://www.w3.org/2000/svg" width="100px" height="100px"> \ 30 <rect width="100" height="100" fill=" #F00"/> \30 <rect width="100" height="100" fill="%23F00"/> \ 31 31 </svg>' 32 32 ), url('data:image/svg+xml;utf8, \ 33 33 <svg xmlns="http://www.w3.org/2000/svg" width="100px" height="100px"> \ 34 <rect width="100" height="100" fill=" #F00"/> \34 <rect width="100" height="100" fill="%23F00"/> \ 35 35 </svg>' 36 36 ), 100%) 0 0 /50% 50%, #FF0; -
trunk/LayoutTests/css3/flexbox/flexitem.html
r213831 r267995 26 26 <button data-expected-display="block" data-expected-width="100" data-expected-height="200">button</button> 27 27 <canvas data-expected-display="block" data-expected-width="100" data-expected-height="200">canvas</canvas> 28 <iframe data-expected-display="block" data-expected-width="100" data-expected-height="200" src="data:text/html,<body bgcolor= #fff>iframe</body>"></iframe>28 <iframe data-expected-display="block" data-expected-width="100" data-expected-height="200" src="data:text/html,<body bgcolor=%23fff>iframe</body>"></iframe> 29 29 <object data-expected-display="block" data-expected-width="100" data-expected-height="200">object</object> 30 30 <select data-expected-display="block" data-expected-width="100" data-expected-height="200"> … … 85 85 86 86 <div class="flexbox" style="height:200px"> 87 <iframe data-expected-display="block" data-expected-height="200" src="data:text/html,<body bgcolor= #fff>iframe</body>"></iframe>88 <iframe seamless data-expected-display="block" data-expected-height="200" src="data:text/html,<body bgcolor= #fff>iframe</body>"></iframe>87 <iframe data-expected-display="block" data-expected-height="200" src="data:text/html,<body bgcolor=%23fff>iframe</body>"></iframe> 88 <iframe seamless data-expected-display="block" data-expected-height="200" src="data:text/html,<body bgcolor=%23fff>iframe</body>"></iframe> 89 89 </div> 90 90 91 91 <div class="flexbox" style="height:100px"> 92 <iframe data-expected-display="block" data-expected-height="100" src="data:text/html,<body bgcolor= #fff>iframe</body>"></iframe>93 <iframe seamless data-expected-display="block" data-expected-height="100" src="data:text/html,<body bgcolor= #fff>iframe</body>"></iframe>92 <iframe data-expected-display="block" data-expected-height="100" src="data:text/html,<body bgcolor=%23fff>iframe</body>"></iframe> 93 <iframe seamless data-expected-display="block" data-expected-height="100" src="data:text/html,<body bgcolor=%23fff>iframe</body>"></iframe> 94 94 </div> 95 95 96 96 <div class="flexbox column" style="width:100px"> 97 <iframe data-expected-display="block" data-expected-width="100" src="data:text/html,<body bgcolor= #fff>iframe</body>"></iframe>98 <iframe seamless data-expected-display="block" data-expected-width="100" src="data:text/html,<body bgcolor= #fff>iframe</body>"></iframe>97 <iframe data-expected-display="block" data-expected-width="100" src="data:text/html,<body bgcolor=%23fff>iframe</body>"></iframe> 98 <iframe seamless data-expected-display="block" data-expected-width="100" src="data:text/html,<body bgcolor=%23fff>iframe</body>"></iframe> 99 99 </div> 100 100 … … 102 102 <button data-expected-display="block" data-expected-width="600" data-expected-height="30">button</button> 103 103 <canvas data-expected-display="block" data-expected-width="600" data-expected-height="30" style="height:30px">canvas</canvas> 104 <iframe data-expected-display="block" data-expected-width="600" data-expected-height="30" style="height:30px" src="data:text/html,<body bgcolor= #fff>iframe</body>"></iframe>105 <iframe seamless data-expected-display="block" data-expected-width="600" data-expected-height="30" style="height:30px" src="data:text/html,<body bgcolor= #fff>iframe</body>"></iframe>104 <iframe data-expected-display="block" data-expected-width="600" data-expected-height="30" style="height:30px" src="data:text/html,<body bgcolor=%23fff>iframe</body>"></iframe> 105 <iframe seamless data-expected-display="block" data-expected-width="600" data-expected-height="30" style="height:30px" src="data:text/html,<body bgcolor=%23fff>iframe</body>"></iframe> 106 106 <object data-expected-display="block" data-expected-width="600" data-expected-height="30">object</object> 107 107 <select data-expected-display="block" data-expected-width="600" data-expected-height="30"> -
trunk/LayoutTests/css3/shapes/shape-outside/shape-image/shape-image-002.html
r175255 r267995 23 23 #image { 24 24 float: left; 25 -webkit-shape-outside: url('data:image/svg+xml;utf8,<svg width="100px" height="100px" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill=" #006400" d=" M 0.00 0.00 L 50.00 0.00 C 50.00 33.33 50.00 66.67 50.00 100.00 L 0.00 100.00 L 0.00 0.00 Z" /></svg>');25 -webkit-shape-outside: url('data:image/svg+xml;utf8,<svg width="100px" height="100px" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="%23006400" d=" M 0.00 0.00 L 50.00 0.00 C 50.00 33.33 50.00 66.67 50.00 100.00 L 0.00 100.00 L 0.00 0.00 Z" /></svg>'); 26 26 } 27 27 </style> … … 32 32 </p> 33 33 <div id="test" class="container"> 34 <img id="image" src='data:image/svg+xml;utf8,<svg width="100px" height="100px" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill=" #006400" d=" M 0.00 0.00 L 50.00 0.00 C 50.00 33.33 50.00 66.67 50.00 100.00 L 0.00 100.00 L 0.00 0.00 Z" /></svg>'/>34 <img id="image" src='data:image/svg+xml;utf8,<svg width="100px" height="100px" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="%23006400" d=" M 0.00 0.00 L 50.00 0.00 C 50.00 33.33 50.00 66.67 50.00 100.00 L 0.00 100.00 L 0.00 0.00 Z" /></svg>'/> 35 35 X 36 36 X -
trunk/LayoutTests/css3/shapes/shape-outside/shape-image/shape-image-005.html
r175255 r267995 23 23 #image { 24 24 float: left; 25 -webkit-shape-outside: url('data:image/svg+xml;utf8,<svg width="100px" height="100px" style="background-color: rgba(0,0,0,0.7)" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill=" #006400" d=" M 0.00 0.00 L 50.00 0.00 C 50.00 33.33 50.00 66.67 50.00 100.00 L 0.00 100.00 L 0.00 0.00 Z" /></svg>');25 -webkit-shape-outside: url('data:image/svg+xml;utf8,<svg width="100px" height="100px" style="background-color: rgba(0,0,0,0.7)" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="%23006400" d=" M 0.00 0.00 L 50.00 0.00 C 50.00 33.33 50.00 66.67 50.00 100.00 L 0.00 100.00 L 0.00 0.00 Z" /></svg>'); 26 26 -webkit-shape-image-threshold: 0.8; 27 27 } … … 33 33 </p> 34 34 <div id="test" class="container"> 35 <img id="image" src='data:image/svg+xml;utf8,<svg width="100px" height="100px" style="background-color: rgba(0,0,0,0.7)" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill=" #006400" d=" M 0.00 0.00 L 50.00 0.00 C 50.00 33.33 50.00 66.67 50.00 100.00 L 0.00 100.00 L 0.00 0.00 Z" /></svg>'/>35 <img id="image" src='data:image/svg+xml;utf8,<svg width="100px" height="100px" style="background-color: rgba(0,0,0,0.7)" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="%23006400" d=" M 0.00 0.00 L 50.00 0.00 C 50.00 33.33 50.00 66.67 50.00 100.00 L 0.00 100.00 L 0.00 0.00 Z" /></svg>'/> 36 36 X 37 37 X -
trunk/LayoutTests/editing/pasteboard/data-transfer-set-data-sanitize-url-when-copying-in-null-origin.html
r223278 r267995 16 16 <button onclick="runTest()">1. Copy</button> 17 17 <div><br></div> 18 <div id="source" oncopy="copy(event)" contenteditable>http://webkit.org/b/& #x1F914;?x=8 + 6<</div>18 <div id="source" oncopy="copy(event)" contenteditable>http://webkit.org/b/&%23x1F914;?x=8 + 6<</div> 19 19 <div id="destination" onpaste="paste(event)" contenteditable>2. Paste here</div> 20 20 <script> -
trunk/LayoutTests/editing/pasteboard/data-transfer-set-data-sanitize-url-when-dragging-in-null-origin.html
r223440 r267995 22 22 23 23 iframe.src = `data:text/html;charset=utf-8,<!DOCTYPE html> 24 <div id="source" draggable="true" data-value="http://webkit.org/b/& #x1F914;?x=8 + 6">1. Drag this</div>24 <div id="source" draggable="true" data-value="http://webkit.org/b/&%23x1F914;?x=8 + 6">1. Drag this</div> 25 25 <div id="destination" onpaste="paste(event)">2. Drop here</div> 26 26 <script> -
trunk/LayoutTests/fast/css-grid-layout/grid-item-display.html
r216466 r267995 44 44 <button data-expected-display="block" data-offset-x="50" data-offset-y="150"></button> 45 45 <canvas data-expected-display="block" data-offset-x="50" data-offset-y="150">canvas</canvas> 46 <iframe data-expected-display="block" data-offset-x="50" data-offset-y="150" src="data:text/html,<body bgcolor= #fff>iframe</body>"></iframe>47 <iframe seamless data-expected-display="block" data-offset-x="50" data-offset-y="150" src="data:text/html,<body bgcolor= #fff>iframe</body>"></iframe>46 <iframe data-expected-display="block" data-offset-x="50" data-offset-y="150" src="data:text/html,<body bgcolor=%23fff>iframe</body>"></iframe> 47 <iframe seamless data-expected-display="block" data-offset-x="50" data-offset-y="150" src="data:text/html,<body bgcolor=%23fff>iframe</body>"></iframe> 48 48 <object data-expected-display="block" data-offset-x="50" data-offset-y="150">object</object> 49 49 <select data-expected-display="block" data-offset-x="50" data-offset-y="150"> -
trunk/LayoutTests/fast/css/import-style-update.html
r120683 r267995 1 1 <head> 2 2 <style> 3 @import url("data:text/css, #test{display:none;}");3 @import url("data:text/css,%23test{display:none;}"); 4 4 </style> 5 5 <script> -
trunk/LayoutTests/fast/css/link-media-attr.html
r189060 r267995 3 3 <head> 4 4 <meta charset="utf-8"> 5 <link id="link" rel="stylesheet" href="data:text/css, #target{color:red}" media="print">5 <link id="link" rel="stylesheet" href="data:text/css,%23target{color:red}" media="print"> 6 6 <script src="../../resources/js-test-pre.js"></script> 7 7 </head> -
trunk/LayoutTests/fast/dom/HTMLLinkElement/link-stylesheet-media-type.html
r198004 r267995 1 1 <!DOCTYPE html> 2 <link rel=stylesheet href="data:text/css, #test { width: 100px }" media="screen">2 <link rel=stylesheet href="data:text/css,%23test { width: 100px }" media="screen"> 3 3 <div id=result></div> 4 4 <div id=test></div> -
trunk/LayoutTests/fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html
r120792 r267995 1 1 <html> 2 2 <body onload="test()"> 3 <iframe src='data:text/html,<a id="a" href=" #" onclick="document.write(window != top ? '<p>FAIL</p>' : '<p>PASS</p>'); return false">link</a>'></iframe>3 <iframe src='data:text/html,<a id="a" href="%23" onclick="document.write(window != top ? '<p>FAIL</p>' : '<p>PASS</p>'); return false">link</a>'></iframe> 4 4 <script> 5 5 if (window.testRunner) { -
trunk/LayoutTests/fast/events/attribute-listener-cloned-from-frameless-doc-context.html
r120792 r267995 1 1 <html> 2 2 <body onload="test()"> 3 <iframe src='data:text/html,<a id="a" href=" #" onclick="document.write(window != top ? '<p>FAIL</p>' : '<p>PASS</p>'); return false">link</a>'></iframe>3 <iframe src='data:text/html,<a id="a" href="%23" onclick="document.write(window != top ? '<p>FAIL</p>' : '<p>PASS</p>'); return false">link</a>'></iframe> 4 4 <script> 5 5 if (window.testRunner) { -
trunk/LayoutTests/fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html
r120792 r267995 1 1 <html> 2 2 <body onload="test()"> 3 <iframe src='data:text/html,<a id="a" href=" #" onclick="document.write(window != top ? '<p>FAIL</p>' : '<p>PASS</p>'); return false">link</a>'></iframe>3 <iframe src='data:text/html,<a id="a" href="%23" onclick="document.write(window != top ? '<p>FAIL</p>' : '<p>PASS</p>'); return false">link</a>'></iframe> 4 4 <script> 5 5 if (window.testRunner) { -
trunk/LayoutTests/fast/events/attribute-listener-extracted-from-frameless-doc-context.html
r120792 r267995 1 1 <html> 2 2 <body onload="test()"> 3 <iframe src='data:text/html,<a id="a" href=" #" onclick="document.write(window != top ? '<p>FAIL</p>' : '<p>PASS</p>'); return false">link</a>'></iframe>3 <iframe src='data:text/html,<a id="a" href="%23" onclick="document.write(window != top ? '<p>FAIL</p>' : '<p>PASS</p>'); return false">link</a>'></iframe> 4 4 <script> 5 5 if (window.testRunner) { -
trunk/LayoutTests/fast/hidpi/image-srcset-data-escaped-srcset.html
r163415 r267995 14 14 <body id="body"> 15 15 <div>This test passes if the image below is not empty. It ensures that the srcset attribute support data URI schemes with escaped characters.</div> 16 <img id="foo" src="" srcset="data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20width='100'%20height='100'><linearGradient%20id='gradient'><stop%20offset='10%'%20stop-color=' #F00'/><stop%20offset='90%'%20stop-color='#fcc'/></linearGradient><rect%20fill='url(#gradient)'%20x='0'%20y='0'%20width='100%'%20height='100%'/></svg> 2x">16 <img id="foo" src="" srcset="data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20width='100'%20height='100'><linearGradient%20id='gradient'><stop%20offset='10%'%20stop-color='%23F00'/><stop%20offset='90%'%20stop-color='%23fcc'/></linearGradient><rect%20fill='url(%23gradient)'%20x='0'%20y='0'%20width='100%'%20height='100%'/></svg> 2x"> 17 17 </body> 18 18 </html> -
trunk/LayoutTests/fast/html/link-rel-stylesheet.html
r30673 r267995 3 3 <head> 4 4 <title>Test for importing styles via incorrect link element</title> 5 <link type="text/css" href="data:text/css;charset=utf-8,p #one%20%7Bbackground-color%3A%20red%3B%7D%0D%0A"/>6 <link rel="stylesheet" href="data:text/css;charset=utf-8,p #two%20%7Bbackground-color%3A%20lime%3B%7D%0D%0A"/>7 <link href="data:text/css;charset=utf-8,p #three%20%7Bbackground-color%3A%20red%3B%7D%0D%0A"/>8 <link type="text/css" rel="stylesheet" href="data:text/css;charset=utf-8,p #four%20%7Bbackground-color%3A%20lime%3B%7D%0D%0A"/>5 <link type="text/css" href="data:text/css;charset=utf-8,p%23one%20%7Bbackground-color%3A%20red%3B%7D%0D%0A"/> 6 <link rel="stylesheet" href="data:text/css;charset=utf-8,p%23two%20%7Bbackground-color%3A%20lime%3B%7D%0D%0A"/> 7 <link href="data:text/css;charset=utf-8,p%23three%20%7Bbackground-color%3A%20red%3B%7D%0D%0A"/> 8 <link type="text/css" rel="stylesheet" href="data:text/css;charset=utf-8,p%23four%20%7Bbackground-color%3A%20lime%3B%7D%0D%0A"/> 9 9 </head> 10 10 <body> -
trunk/LayoutTests/fast/loader/data-url-encoding-html.html
r122687 r267995 14 14 </script> 15 15 <iframe src="data:text/html;charset=utf-8,<body>ðÒÏ×ÅÒËÁ</body>"></iframe> 16 <iframe src="data:text/html;charset=utf-8,<body foo=' #'>ðÒÏ×ÅÒËÁ</body>"></iframe>16 <iframe src="data:text/html;charset=utf-8,<body foo='%23'>ðÒÏ×ÅÒËÁ</body>"></iframe> 17 17 <iframe src="data:text/html;charset=utf-8,<body>%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0</body>"></iframe> 18 18 </body> -
trunk/LayoutTests/fast/loader/data-url-encoding-svg.html
r122687 r267995 18 18 <pre id=result></pre> 19 19 <iframe src="data:image/svg+xml;charset=utf-8,<svg xmlns=%22http://www.w3.org/2000/svg%22 test='ðÒÏ×ÅÒËÁ'></svg>"></iframe> 20 <iframe src="data:image/svg+xml;charset=utf-8,<svg xmlns=%22http://www.w3.org/2000/svg%22 foo=' #' test='ðÒÏ×ÅÒËÁ'></svg>"></iframe>21 <iframe src="data:image/svg+xml;charset=utf-8,<svg xmlns=%22http://www.w3.org/2000/svg%22 foo=' #' test='%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0'></svg>"></iframe>20 <iframe src="data:image/svg+xml;charset=utf-8,<svg xmlns=%22http://www.w3.org/2000/svg%22 foo='%23' test='ðÒÏ×ÅÒËÁ'></svg>"></iframe> 21 <iframe src="data:image/svg+xml;charset=utf-8,<svg xmlns=%22http://www.w3.org/2000/svg%22 foo='%23' test='%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0'></svg>"></iframe> 22 22 </body> -
trunk/LayoutTests/fast/spatial-navigation/resources/iframe.html
r72880 r267995 3 3 <iframe width='80%' height="70px" frameborder="0" src="data:text/html, 4 4 <body> 5 <a id='1' href=' #'>b</a>6 <a id='2' href=' #'>c</a>7 <a id='3' href=' #'>d</a>8 <a id='4' href=' #'>e</a>9 <a id='5' href=' #'>f</a>10 <a id='6' href=' #'>g</a>11 <a id='7' href=' #'>h</a>12 <a id='8' href=' #'>i</a>5 <a id='1' href='%23'>b</a> 6 <a id='2' href='%23'>c</a> 7 <a id='3' href='%23'>d</a> 8 <a id='4' href='%23'>e</a> 9 <a id='5' href='%23'>f</a> 10 <a id='6' href='%23'>g</a> 11 <a id='7' href='%23'>h</a> 12 <a id='8' href='%23'>i</a> 13 13 </body> 14 14 "></iframe> -
trunk/LayoutTests/http/tests/security/top-level-unique-origin.https.html
r253563 r267995 9 9 { 10 10 if (window.location.hash === "") { 11 window.location = "data:text/html,<"+ "script>window.location = '" + window.location.href + " #' + window.isSecureContext;<" + "/script>"11 window.location = "data:text/html,<"+ "script>window.location = '" + window.location.href + "%23' + window.isSecureContext;<" + "/script>" 12 12 return; 13 13 } -
trunk/LayoutTests/imported/w3c/ChangeLog
r267994 r267995 1 2020-10-05 Rob Buis <rbuis@igalia.com> 2 3 WebKit doesn't parse "#" as delimiter for fragment identifier in data URIs 4 https://bugs.webkit.org/show_bug.cgi?id=68089 5 6 Reviewed by Alex Christensen, Ryosuke Niwa, and Darin Adler. 7 8 Update improved test results. 9 10 * web-platform-tests/fetch/data-urls/processing.any-expected.txt: 11 * web-platform-tests/fetch/data-urls/processing.any.worker-expected.txt: 12 * web-platform-tests/url/data-uri-fragment-expected.txt: 13 1 14 2020-10-05 Sergio Villar Senin <svillar@igalia.com> 2 15 -
trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/data-urls/processing.any-expected.txt
r267730 r267995 8 8 PASS "data:text/html ;charset=x " 9 9 PASS "data:," 10 FAIL "data:,X#X" assert_array_equals: lengths differ, expected array [88] length 1, got object "88,35,88" length 3 10 PASS "data:,X#X" 11 11 PASS "data:,%FF" 12 12 PASS "data:text/plain,X" -
trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/data-urls/processing.any.worker-expected.txt
r267730 r267995 8 8 PASS "data:text/html ;charset=x " 9 9 PASS "data:," 10 FAIL "data:,X#X" assert_array_equals: lengths differ, expected array [88] length 1, got object "88,35,88" length 3 10 PASS "data:,X#X" 11 11 PASS "data:,%FF" 12 12 PASS "data:text/plain,X" -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/data-uri-fragment-expected.txt
r264197 r267995 1 1 2 2 3 FAIL Data URI parsing of fragments assert_equals: expected "<p id=\"foo\">This should be the only visible text.</p>" but got "<p id=\"foo\">This should be the only visible text.</p>#foo" 3 PASS Data URI parsing of fragments 4 4 -
trunk/LayoutTests/platform/ios/css3/flexbox/flexitem-expected.txt
r267644 r267995 32 32 <button data-expected-display="block" data-expected-width="100" data-expected-height="200">button</button> 33 33 <canvas data-expected-display="block" data-expected-width="100" data-expected-height="200">canvas</canvas> 34 <iframe data-expected-display="block" data-expected-width="100" data-expected-height="200" src="data:text/html,<body bgcolor= #fff>iframe</body>"></iframe>34 <iframe data-expected-display="block" data-expected-width="100" data-expected-height="200" src="data:text/html,<body bgcolor=%23fff>iframe</body>"></iframe> 35 35 <object data-expected-display="block" data-expected-width="100" data-expected-height="200">object</object> 36 36 <select data-expected-display="block" data-expected-width="100" data-expected-height="200"> -
trunk/LayoutTests/platform/win/css3/flexbox/flexitem-expected.txt
r267644 r267995 11 11 <button data-expected-display="block" data-expected-width="600" data-expected-height="30">button</button> 12 12 <canvas data-expected-display="block" data-expected-width="600" data-expected-height="30" style="height:30px">canvas</canvas> 13 <iframe data-expected-display="block" data-expected-width="600" data-expected-height="30" style="height:30px" src="data:text/html,<body bgcolor= #fff>iframe</body>"></iframe>14 <iframe seamless="" data-expected-display="block" data-expected-width="600" data-expected-height="30" style="height:30px" src="data:text/html,<body bgcolor= #fff>iframe</body>"></iframe>13 <iframe data-expected-display="block" data-expected-width="600" data-expected-height="30" style="height:30px" src="data:text/html,<body bgcolor=%23fff>iframe</body>"></iframe> 14 <iframe seamless="" data-expected-display="block" data-expected-width="600" data-expected-height="30" style="height:30px" src="data:text/html,<body bgcolor=%23fff>iframe</body>"></iframe> 15 15 <object data-expected-display="block" data-expected-width="600" data-expected-height="30">object</object> 16 16 <select data-expected-display="block" data-expected-width="600" data-expected-height="30"> … … 33 33 <button data-expected-display="block" data-expected-width="100" data-expected-height="200">button</button> 34 34 <canvas data-expected-display="block" data-expected-width="100" data-expected-height="200">canvas</canvas> 35 <iframe data-expected-display="block" data-expected-width="100" data-expected-height="200" src="data:text/html,<body bgcolor= #fff>iframe</body>"></iframe>35 <iframe data-expected-display="block" data-expected-width="100" data-expected-height="200" src="data:text/html,<body bgcolor=%23fff>iframe</body>"></iframe> 36 36 <object data-expected-display="block" data-expected-width="100" data-expected-height="200">object</object> 37 37 <select data-expected-display="block" data-expected-width="100" data-expected-height="200"> -
trunk/LayoutTests/security/contentSecurityPolicy/link-with-data-url-allowed-by-style-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html
r202150 r267995 14 14 internals.settings.setAllowContentSecurityPolicySourceStarToMatchAnyProtocol(true); 15 15 </script> 16 <link rel="stylesheet" href="data:text/css, #test { background-color: green !important; }">16 <link rel="stylesheet" href="data:text/css, %23test { background-color: green !important; }"> 17 17 </head> 18 18 <body> -
trunk/LayoutTests/svg/animations/css-animation-background-svg.html
r259830 r267995 10 10 to { opacity:1; } \ 11 11 } \ 12 #green { \12 %23green { \ 13 13 animation: fadein 16ms; \ 14 14 } \ -
trunk/LayoutTests/svg/animations/css-animation-embedded-svg.html
r259830 r267995 13 13 to { opacity:1; } 14 14 } 15 #green {15 %23green { 16 16 animation: fadein 16ms; 17 17 } -
trunk/LayoutTests/svg/animations/css-animation-hover-svg.html
r259830 r267995 13 13 to { opacity:1; } \ 14 14 } \ 15 #green { \15 %23green { \ 16 16 animation: fadein 16ms; \ 17 17 } \ -
trunk/LayoutTests/svg/as-image/svg-canvas-data-url-svg-with-feimage-not-tainted.html
r226599 r267995 24 24 + ' </filter>' 25 25 + ' </defs>' 26 + ' <rect width="100%" height="100%" style="filter:url( #image);"/>'26 + ' <rect width="100%" height="100%" style="filter:url(%23image);"/>' 27 27 + '</svg>'; 28 28 -
trunk/LayoutTests/svg/custom/object-data-href.html
r128702 r267995 8 8 <rect id='rect' width='100' height='100' fill='green'/> 9 9 </defs> 10 <use xlink:href=' #rect'/>10 <use xlink:href='%23rect'/> 11 11 </svg> 12 12 "></object> -
trunk/Source/WTF/ChangeLog
r267988 r267995 1 2020-10-05 Rob Buis <rbuis@igalia.com> 2 3 WebKit doesn't parse "#" as delimiter for fragment identifier in data URIs 4 https://bugs.webkit.org/show_bug.cgi?id=68089 5 6 Reviewed by Alex Christensen, Ryosuke Niwa, and Darin Adler. 7 8 * wtf/URL.h: 9 * wtf/spi/darwin/dyldSPI.h: 10 1 11 2020-10-05 Aditya Keerthi <akeerthi@apple.com> 2 12 -
trunk/Source/WTF/wtf/URL.h
r267837 r267995 108 108 WTF_EXPORT_PRIVATE StringView fragmentIdentifierWithLeadingNumberSign() const; 109 109 WTF_EXPORT_PRIVATE StringView stringWithoutQueryOrFragmentIdentifier() const; 110 StringView stringWithoutFragmentIdentifier() const;110 WTF_EXPORT_PRIVATE StringView stringWithoutFragmentIdentifier() const; 111 111 112 112 WTF_EXPORT_PRIVATE String protocolHostAndPort() const; -
trunk/Source/WTF/wtf/spi/darwin/dyldSPI.h
r266836 r267995 62 62 #endif 63 63 64 #ifndef DYLD_IOS_VERSION_14_5 65 #define DYLD_IOS_VERSION_14_5 0x000E0500 66 #endif 67 64 68 #ifndef DYLD_MACOSX_VERSION_10_13 65 69 #define DYLD_MACOSX_VERSION_10_13 0x000A0D00 … … 86 90 #endif 87 91 92 #ifndef DYLD_MACOSX_VERSION_11_3 93 #define DYLD_MACOSX_VERSION_11_3 0x000B0300 94 #endif 95 88 96 #else 89 97 … … 103 111 #define DYLD_IOS_VERSION_13_4 0x000D0400 104 112 #define DYLD_IOS_VERSION_14_0 0x000E0000 113 #define DYLD_IOS_VERSION_14_5 0x000E0500 105 114 106 115 #define DYLD_MACOSX_VERSION_10_11 0x000A0B00 … … 112 121 #define DYLD_MACOSX_VERSION_10_15_4 0x000A0F04 113 122 #define DYLD_MACOSX_VERSION_10_16 0x000A1000 123 #define DYLD_MACOSX_VERSION_11_3 0x000B0300 114 124 115 125 #endif -
trunk/Source/WebCore/ChangeLog
r267988 r267995 1 2020-10-05 Rob Buis <rbuis@igalia.com> 2 3 WebKit doesn't parse "#" as delimiter for fragment identifier in data URIs 4 https://bugs.webkit.org/show_bug.cgi?id=68089 5 6 Reviewed by Alex Christensen, Ryosuke Niwa, and Darin Adler. 7 8 To maintain compatibility with existing iOS and macOS apps, we only do this for apps linked 9 with the SDK after the change. 10 11 Covered by newly passing web platform tests (which Chrome and Firefox already passed). 12 13 * loader/ResourceLoader.cpp: 14 (WebCore::shouldStripFragmentIdentifier): 15 (WebCore::ResourceLoader::loadDataURL): 16 * platform/cocoa/VersionChecks.h: 17 1 18 2020-10-05 Aditya Keerthi <akeerthi@apple.com> 2 19 -
trunk/Source/WebCore/loader/ResourceLoader.cpp
r266705 r267995 55 55 #include <wtf/Ref.h> 56 56 57 #if PLATFORM(COCOA) 58 #include "VersionChecks.h" 59 #endif 60 57 61 #if ENABLE(CONTENT_EXTENSIONS) 58 62 #include "UserContentController.h" … … 249 253 } 250 254 255 static bool shouldStripFragmentIdentifier() 256 { 257 #if PLATFORM(COCOA) 258 return linkedOnOrAfter(SDKVersion::FirstWithDataURLFragmentRemoval); 259 #else 260 return true; 261 #endif 262 } 263 251 264 void ResourceLoader::loadDataURL() 252 265 { … … 262 275 if (m_request.requester() == ResourceRequest::Requester::Fetch) 263 276 mode = DataURLDecoder::Mode::ForgivingBase64; 277 if (shouldStripFragmentIdentifier()) 278 url.removeFragmentIdentifier(); 264 279 DataURLDecoder::decode(url, scheduleContext, mode, [this, protectedThis = makeRef(*this), url](auto decodeResult) mutable { 265 280 if (this->reachedTerminalState()) -
trunk/Source/WebCore/platform/cocoa/VersionChecks.h
r267966 r267995 65 65 FirstWithWKWebsiteDataStoreInitReturningNil = DYLD_IOS_VERSION_14_0, 66 66 FirstVersionWithiOSAppsOnMacOS = DYLD_IOS_VERSION_FIRST_WITH_IOS_APPS_ON_MACOS, 67 FirstWithDataURLFragmentRemoval = DYLD_IOS_VERSION_14_5, 67 68 #elif PLATFORM(MAC) 68 69 FirstWithNetworkCache = DYLD_MACOSX_VERSION_10_11, … … 80 81 FirstWithInitializeWebKit2MainThreadAssertion = DYLD_MACOSX_VERSION_10_16, 81 82 FirstWithWKWebsiteDataStoreInitReturningNil = DYLD_MACOSX_VERSION_10_16, 83 FirstWithDataURLFragmentRemoval = DYLD_MACOSX_VERSION_11_3, 82 84 #endif 83 85 };
Note:
See TracChangeset
for help on using the changeset viewer.