blob: 71c232404823e9240cdbfdaeeccf5922c8e8e5c0 [file] [log] [blame]
<!doctype html PUBLIC "HTML 4.0.1 Strict" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html>
<head>
<!-- Bits cribbed from old bbc.co.uk front page, which shows various forms
of img tag in various contexts. Note different tag terminations,
orders for stuff like alt, mixtures of included and excluded
geometries, etc. Note also varying shapes of o.gif in different links,
and the fact that this image sometimes has a CGI suffix!
Also note the occurrences of images in <noscript> regions, which
presumably won't be fetched and shouldn't be optimized (in these cases
they're marker gifs, but in general they could be anything; do other
cases happen much?). Note also the inconsistent handling of marker
images: width="0" height="0" style="display:none" versus width="1"
height="1".
By the way, do we get bw/latency savings if we drop the quotes ""
around image geometries? For pages like bbc.co.uk with tons of
whitespace images that could put us under a packet threshold. But if
it doesn't make the gzip smaller it's not worth the bother.
-->
<title>Image test example</title>
</head>
<body><img src=xBikeCrashIcn.png.pagespeed.ic.0.jpg alt=Crumbs id=bbq-pits width=100 height=100 /><a href="/long/path/to/something.stm">
<!-- deliberately absent img -->
<img src=missing.gif align=left alt=Crash border=0 vspace=0 hspace=0 width=70 height=30>
Goofy Image Test Page
</a>
<td>
<img height=1 width=1 src=xPuzzle.jpg.pagespeed.ic.0.jpg alt="Attempt to prefetch & preoptimize Puzzle. Shouldn't be resized.">
<img src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAEBMgA7" alt="" id=extensionless />
<!-- img with long script url (gets truncated?) -->
<img alt="" id=livestats src="o.gif?Nonsensical~but~very~long/and~slashy~CGI~URL~"/>
</td><td valign=top class=gffffff width=14><img src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" width=14 height=1 alt="" border=0 vspace=0 hspace=0 id=o1></td>
<td class=image><img src=xPuzzle.jpg.pagespeed.ic.0.jpg align=left width=1023 height=766 alt="A lovely puzzle purchased at a wool-and-puzzle shop in New Zealand" border=0 vspace=0 hspace=0></td>
<td class=image><img src=256x192xPuzzle.jpg.pagespeed.ic.0.jpg align=left width=256 height=192 alt="The same, but smaller." border=0 vspace=0 hspace=0></td>
<td class=image><img src=xPuzzle-low-quality.jpg.pagespeed.ic.0.jpg align=left width=256 height=192 alt="The same, but smaller & poorer in quality." border=0 vspace=0 hspace=0></td>
<img src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" width=1 height=5 alt="" border=0 vspace=0 class="" hspace=0 id=o2><br/>
<img src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" align=left width=5 height=49 alt="" border=0 vspace=0 hspace=0 id=o3>
<noscript>
<div>
<img src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAID///8AAAACAkQBADs=" style="display: none;" alt=Emptiness />
</div>
</noscript>
<noscript>
<div>
<!-- img with filesize 0 -->
<img src="b2?lots=terrible&amp;obnoxious=1&amp;nasty=17&amp;ick=54/j/&amp;cgi=arguments" style=display:none width=0 height=0 alt=""/>
</div>
</noscript>
<img src="data:image/jpeg;base64,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" id=egress />
<img src=96x128xIronChef2.gif.pagespeed.ic.0.jpg width=95.5 height=128 id=ironchef2 />
<img src=xBikeCrashIcn.png.pagespeed.ic.0.jpg alt=Cheese id=bbq-pitss width=100 height=100 />
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEEAAABGCAAAAAC2maYhAAACyUlEQVRYw+3XXWjVdRzH8ffZXE5wK4T0SnFCzJYXSlghofiADwQmEyy6G01KSBEKDNMlgXMYyIaRj3SRESlOnIweoDJR1FLQkEQsrTnFqQg+rrkdz7uLc86F+j/n/H4EQbjvze/m/3vx//8ePl/++G+LQeFxED7vyI4dH3Wq2tWSjhOOMVvVsxW8r2oTh6OEzIvUq7oAvlDNjGN9lLAP3lM9nYKTqj/BO1HCy/CZ6mKoSqu+BR/GCL8DZ9RMNcxU9XlojxH2QLXqH0CDaroSDsUIrVB+V+0Cpqr2lcMnMUIn8L3qaBh6VbUOpsQI3cBi1TeAZtVV5DYldC9GwIh+9RtgzH21qwzejhEWAd9mDxJ0qs6FqtsRQgfQqLoSeFX1K+DLCOEiMFr1F+DJ/NKsiLkXwyD1t3oL4JJ6G1gWczfHAldVn4Bh93IvszPmHSqhRvU8MEN1G5RfjhD+ApbnF3BD7q4tjdnNjTD0ouo8qLunnoBRN2KEabBS9c8UqYOqDbAj5lRfKaO2T/XT3EnsqmB+VNKegt2q1lN7J/tVT/dECTeZlFF1PD+rup6tkWn/Qi5O5r2SHXc92x8pDORDvzs79nb/Vz1r+wcBtfpYEWE6IbWuiDA/SGje39qy5Vqy0EBwVTf3JgnvBgPlMD1JWBs0e8mPZ65nGuFogrApSDiiOlDDwgRhdwhQdlfV1UxMEH4LEWqzz37M5AShvyJAeD37bFu+Cz54qp8LEFryGfRmkvBa6EJ6EA4kCetKA0+lVS/XUZNJEs6WFupVLzwDm5Nv9+SSwibtaxsJSwrkQ2tJ4bv2pjHAnIECQs+QoGM5YUe6YEY1lZxdNbFhf7GUG3ip6PSpe3tK5uS5qiJXoi0oafdWFhQ2BGb10bGFgiE47W81Jn7CmvsR/aJ9+CPArF/jOs7XqYeA5dE96/gPD1bv4P/moPC/Ef4BwgJ0BoZbWwQAAAAASUVORK5CYII=" alt=Cuppa id=cuppa />
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAcCAMAAABIzV/hAAABPlBMVEX////9/f37+/v6+vr5+fn39/f09PTz8/Px8fHw8PDv7+/u7u7s7Ozr6+vp6enn5+fm5ubl5eXk5OTf39/e3t7b29vZ2dnY2NjV1dXS0tLQ0NDNzc3Ly8vKysrIyMjHx8fGxsbFxcXExMS/v7+8vLy7u7u2tra1tbWwsLCtra2srKyqqqqpqamoqKimpqalpaWioqKgoKCcnJyYmJiVlZWSkpKRkZGLi4uKioqJiYmHh4eGhoaDg4OBgYF/f39zc3Nvb29oaGhnZ2dmZmZkZGRiYmJgYGBZWVlTU1NRUVFNTU1MTExJSUlHR0dAQEA6Ojo5OTk2NjYzMzMwMDAvLy8uLi4tLS0rKysnJyckJCQjIyMiIiIgICAeHh4YGBgXFxcWFhYSEhIQEBAPDw8MDAwKCgoICAgFBQUDAwMAAADvv3S2AAAAaXRSTlMAAgQFBggLDA4PEBETFBYYGRobICEkJicqLS8yNDU3ODk6O0BDRElKT1JTVVZXWVpdX2Nnam1udHV2eHl8foCMkJeYmZudn6asrrKztri/xcbJzM/Q0dLU2Nvc3d/h5+jp7e/w8/X3+vzBhN6NAAAA8ElEQVQoz2NgoBlQlmAQtmZg0GfGkOEIVWRw82TgixXEkFJJ52BJtWXQjuLCkNLKFGBOcWHQSRLDkJJMM2bwSGLnTLHCkGIN92XQzNRj8AjEdKF/IKNCpgGDlw+GDE+MJYNFAg9voiqGlFIkO4O/EYO5CxOGlLgGA4MDE4MZN5oTpGXBQElWVh5IybAipESTM1GAqaEITEooDlXKzy1cEirFHY0ik8HGYGEHlWIMQJGKYGAwtYGZ6Igi5czAHyIDk1JDkTLRDbWH+44pDEkmJdhdHclniklwmXgFtHiWCoLKhMthBBSfqzcIOPEwDAQAAAHoSh43BrF2AAAAAElFTkSuQmCC" alt="Downsized transparent Cuppa" id=downsized />
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEEAAABGCAAAAAC2maYhAAACyUlEQVRYw+3XXWjVdRzH8ffZXE5wK4T0SnFCzJYXSlghofiADwQmEyy6G01KSBEKDNMlgXMYyIaRj3SRESlOnIweoDJR1FLQkEQsrTnFqQg+rrkdz7uLc86F+j/n/H4EQbjvze/m/3vx//8ePl/++G+LQeFxED7vyI4dH3Wq2tWSjhOOMVvVsxW8r2oTh6OEzIvUq7oAvlDNjGN9lLAP3lM9nYKTqj/BO1HCy/CZ6mKoSqu+BR/GCL8DZ9RMNcxU9XlojxH2QLXqH0CDaroSDsUIrVB+V+0Cpqr2lcMnMUIn8L3qaBh6VbUOpsQI3cBi1TeAZtVV5DYldC9GwIh+9RtgzH21qwzejhEWAd9mDxJ0qs6FqtsRQgfQqLoSeFX1K+DLCOEiMFr1F+DJ/NKsiLkXwyD1t3oL4JJ6G1gWczfHAldVn4Bh93IvszPmHSqhRvU8MEN1G5RfjhD+ApbnF3BD7q4tjdnNjTD0ouo8qLunnoBRN2KEabBS9c8UqYOqDbAj5lRfKaO2T/XT3EnsqmB+VNKegt2q1lN7J/tVT/dECTeZlFF1PD+rup6tkWn/Qi5O5r2SHXc92x8pDORDvzs79nb/Vz1r+wcBtfpYEWE6IbWuiDA/SGje39qy5Vqy0EBwVTf3JgnvBgPlMD1JWBs0e8mPZ65nGuFogrApSDiiOlDDwgRhdwhQdlfV1UxMEH4LEWqzz37M5AShvyJAeD37bFu+Cz54qp8LEFryGfRmkvBa6EJ6EA4kCetKA0+lVS/XUZNJEs6WFupVLzwDm5Nv9+SSwibtaxsJSwrkQ2tJ4bv2pjHAnIECQs+QoGM5YUe6YEY1lZxdNbFhf7GUG3ip6PSpe3tK5uS5qiJXoi0oafdWFhQ2BGb10bGFgiE47W81Jn7CmvsR/aJ9+CPArF/jOs7XqYeA5dE96/gPD1bv4P/moPC/Ef4BwgJ0BoZbWwQAAAAASUVORK5CYII=" alt="Downsized optimized Cuppa" id=optimized width=64 height=69 />
<img src=CradleAnimation.gif alt="Animated gif" id=animated width=200 height=150 />
<!-- This last reference to o.gif is exactly the same as an earlier
one, and is intended to capture in
img_tag_identification.log.gold the fact that we only will
compute the resizability once, but will find two places where we
decide not to rewrite it.
-->
<img src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" width=14 height=1 alt="" border=0 vspace=0 hspace=0 id=o4 />
<!-- And this tests the presence of unit-annotated width and height, which ought
to induce resizing just as with non-unit-annotated width and height.
-->
<img src=xBikeCrashIcn.png.pagespeed.ic.0.jpg alt=Crackers width=100px height=100px />
<!-- Whereas percentages should not resize. -->
<img src=xBikeCrashIcn.png.pagespeed.ic.0.jpg alt=Crackers width="100%" height="99.5%"/>
</body>
</html>