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 linksToInsert = ExtractGetParameterBadlyAndInsecurely('links_to_insert', 1); |
| 15 var linksToRemove = ExtractGetParameterBadlyAndInsecurely('links_to_remove', 1); | 15 var linksToRemove = ExtractGetParameterBadlyAndInsecurely('links_to_remove', 1); |
|
mmenke
2012/12/17 17:08:18
nit: While you're here, could you rename these "n
gavinp
2012/12/17 20:34:02
Done.
| |
| 16 | 16 |
| 17 function RemoveLinkElementsAndNavigate() { | 17 var receivedPrerenderStartEvents = Array(); |
| 18 var receivedPrerenderStopEvents = Array(); | |
| 19 | |
| 20 function MakePrerenderStartHandlerForLink(index) { | |
| 21 return function() { receivedPrerenderStartEvents[index] = true; }; | |
| 22 } | |
| 23 | |
| 24 function MakePrerenderStopHandlerForLink(index) { | |
| 25 return function() { receivedPrerenderStopEvents[index] = true; }; | |
| 26 } | |
| 27 | |
| 28 function RemoveLinkElements() { | |
|
mmenke
2012/12/17 17:08:18
optional: I think the C++ part of your unit tests
gavinp
2012/12/17 20:34:02
Done.
| |
| 18 for (var i = 1; i <= linksToRemove; ++i) { | 29 for (var i = 1; i <= linksToRemove; ++i) { |
| 19 var link = document.getElementById('prerenderElement' + i); | 30 var link = document.getElementById('prerenderElement' + i); |
| 20 link.parentElement.removeChild(link); | 31 link.parentElement.removeChild(link); |
| 21 } | 32 } |
| 22 document.location = 'REPLACE_WITH_DESTINATION_URL'; | |
| 23 } | 33 } |
| 34 | |
|
mmenke
2012/12/17 17:08:18
nit: While I don't really have any preference abo
gavinp
2012/12/17 20:34:02
Done.
| |
| 24 </script> | 35 </script> |
| 25 | 36 |
| 26 </head> | 37 </head> |
| 27 <body> | 38 <body> |
| 28 <script> | 39 <script> |
| 29 for (var i = 1; i <= linksToInsert; ++i) { | 40 for (var i = 1; i <= linksToInsert; ++i) { |
|
mmenke
2012/12/17 17:08:18
Is there a reason you go from 1 to linksToInsert,
gavinp
2012/12/17 20:34:02
Likely I was channeling PASCAL. Fixed.
| |
| 30 document.write( | 41 document.write( |
| 31 '<link id="prerenderElement' + i + | 42 '<link id="prerenderElement' + i + |
| 32 '" rel="prerender" href="REPLACE_WITH_PRERENDER_URL"/>'); | 43 '" rel="prerender" href="REPLACE_WITH_PRERENDER_URL"/>'); |
| 44 var link = document.getElementById('prerenderElement' + i); | |
| 45 link.addEventListener('webkitprerenderstart', | |
| 46 MakePrerenderStartHandlerForLink(i), false); | |
| 47 link.addEventListener('webkitprerenderstop', | |
| 48 MakePrerenderStopHandlerForLink(i), false); | |
|
mmenke
2012/12/17 17:08:18
optional: Maybe I just have a bias against funtio
gavinp
2012/12/17 20:34:02
You may have such a bias; it's also plausible that
| |
| 33 } | 49 } |
| 34 </script> | 50 </script> |
| 35 <a href="REPLACE_WITH_DESTINATION_URL">Link To Click</a> | 51 <a id="toClick" href="REPLACE_WITH_DESTINATION_URL">Link To Click For First Prer ender</a> |
| 36 </body> | 52 </body> |
| 37 </html> | 53 </html> |
| OLD | NEW |