| <!DOCTYPE html> |
| <script src="../../../resources/js-test.js"></script> |
| <script src="resources/currentSrcHelper.js"></script> |
| |
| <picture> |
| <source id="src" srcset="../../hidpi/resources/image-set-1x.png?1 1x"> |
| <img id="simple" src="resources/blue_rect.jpg?1"> |
| </picture> |
| |
| <script> |
| jsTestIsAsync = true; |
| |
| var iteration = 0; |
| |
| var simple = document.getElementById('simple'); |
| var src = document.getElementById('src'); |
| |
| simple.addEventListener('load', function() { |
| switch (iteration) { |
| case 0: |
| shouldBe('document.getElementById("simple").clientWidth', '400'); |
| shouldBe('currentSrcFileName("simple")', '"image-set-1x.png?1"'); |
| |
| src.srcset = 'resources/image-set-4x.png 1x'; |
| break; |
| case 1: |
| shouldBe('document.getElementById("simple").clientWidth', '1600'); |
| shouldBe('currentSrcFileName("simple")', '"image-set-4x.png"'); |
| |
| src.parentNode.removeChild(src); |
| break; |
| case 2: |
| shouldBe('document.getElementById("simple").clientWidth', '75'); |
| shouldBe('currentSrcFileName("simple")', '"blue_rect.jpg?1"'); |
| |
| src.srcset = '../../hidpi/resources/image-set-1x.png?2 1x'; |
| simple.parentNode.insertBefore(src, simple); |
| break; |
| case 3: |
| shouldBe('document.getElementById("simple").clientWidth', '400'); |
| shouldBe('currentSrcFileName("simple")', '"image-set-1x.png?2"'); |
| |
| |
| // When there is a <source>, changing the <src> should have no effect |
| simple.src = 'resources/blue_rect.jpg?2'; |
| shouldBe('currentSrcFileName("simple")', '"image-set-1x.png?2"'); |
| |
| finishJSTest(); |
| break; |
| }; |
| ++iteration; |
| }, false); |
| </script> |
| |