Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <html> | 1 <html> |
| 2 <head> | 2 <head> |
| 3 <title>Preloader</title> | 3 <title>Preloader</title> |
| 4 | 4 |
| 5 <script> | 5 <script> |
| 6 function ExtractGetParameterBadlyAndInsecurely(param, defaultValue) { | 6 function ExtractGetParameterBadlyAndInsecurely(param, defaultValue) { |
| 7 var re = RegExp('[&?]' + param + '=([^&?#]*)'); | 7 var re = RegExp('[&?]' + param + '=([^&?#]*)'); |
| 8 var result = re.exec(document.location); | 8 var result = re.exec(document.location); |
| 9 if (result) | 9 if (result) |
| 10 return result[1]; | 10 return result[1]; |
| 11 return defaultValue; | 11 return defaultValue; |
| 12 } | 12 } |
| 13 | 13 |
| 14 var linksToInsert = ExtractGetParameterBadlyAndInsecurely('links_to_insert', 1); | 14 var numLinksToInsert = |
| 15 var linksToRemove = ExtractGetParameterBadlyAndInsecurely('links_to_remove', 1); | 15 ExtractGetParameterBadlyAndInsecurely('links_to_insert', 1); |
|
mmenke
2012/12/17 20:47:53
nit: 4 space indent.
gavinp
2012/12/17 21:23:23
Done.
| |
| 16 | 16 |
| 17 function RemoveLinkElementsAndNavigate() { | 17 var receivedPrerenderStartEvents = []; |
| 18 for (var i = 1; i <= linksToRemove; ++i) { | 18 var receivedPrerenderStopEvents = []; |
| 19 var link = document.getElementById('prerenderElement' + i); | 19 |
| 20 link.parentElement.removeChild(link); | 20 function PrerenderStartHandlerForLink(index) { |
| 21 } | 21 receivedPrerenderStartEvents[index] = true; |
| 22 document.location = 'REPLACE_WITH_DESTINATION_URL'; | 22 } |
| 23 | |
| 24 function PrerenderStopHandlerForLink(index) { | |
| 25 receivedPrerenderStopEvents[index] = true; | |
| 26 } | |
| 27 | |
| 28 function RemoveLinkElement(index) { | |
| 29 var link = document.getElementById('prerenderElement' + index); | |
| 30 link.parentElement.removeChild(link); | |
| 23 } | 31 } |
| 24 </script> | 32 </script> |
| 25 | |
| 26 </head> | 33 </head> |
| 27 <body> | 34 <body> |
| 35 <p id=paragraph></p> | |
|
mmenke
2012/12/17 20:47:53
Is this needed? I don't mind, just don't see it b
gavinp
2012/12/17 21:23:23
No, that's leftover from a debug session. Now cut.
| |
| 28 <script> | 36 <script> |
| 29 for (var i = 1; i <= linksToInsert; ++i) { | 37 for (var i = 0; i < numLinksToInsert; ++i) { |
| 30 document.write( | 38 document.write( |
| 31 '<link id="prerenderElement' + i + | 39 '<link id="prerenderElement' + i + |
| 32 '" rel="prerender" href="REPLACE_WITH_PRERENDER_URL"/>'); | 40 '" rel="prerender" href="REPLACE_WITH_PRERENDER_URL"/>'); |
| 41 var link = document.getElementById('prerenderElement' + i); | |
| 42 link.addEventListener('webkitprerenderstart', | |
| 43 PrerenderStartHandlerForLink.bind(null, i), false); | |
| 44 link.addEventListener('webkitprerenderstop', | |
| 45 PrerenderStopHandlerForLink.bind(null, i), false); | |
|
mmenke
2012/12/17 20:47:53
nit: Replace tabs with spaces.
gavinp
2012/12/17 21:23:23
Done.
| |
| 33 } | 46 } |
| 34 </script> | 47 </script> |
| 35 <a href="REPLACE_WITH_DESTINATION_URL">Link To Click</a> | 48 <a id="toClick" href="REPLACE_WITH_DESTINATION_URL">Link To Click For First Prer ender</a> |
| 36 </body> | 49 </body> |
| 37 </html> | 50 </html> |
| OLD | NEW |