DescriptionA fairly recent change introduced a history of page_ids for each RenderView, to validate that Navigation's go to legitimate pages.
In the prerender and instant cases, the history of page_id's was not accurate, because it was not offset to reflect the point in time when the page was swapped in. For example, if the history for the tab looks like
about:blank
http://www.launchprerender.com/
http://www.prerendered_page.com/first_page.html
http://www.prerendered_page.com/second_page.html
The history of page_id's in the prerender-page RenderView should look like
[-1, -1, 13, 14] - with the first two entries being -1 since they are not captured in this render view.
Before this fix, it would look like
[13, 14] - and when the back navigation was attempted, the length was not as long as expected.
BUG=89798
TEST=Go to prerender_test.appspot.com, do a prerender on dev.chromium.org, click on a link within dev.chromium.org, press back and see that it works instead of spinning forever. Also, browser_tests --gtest_filter=*BackToPrerenderedPage, which fails without the change.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=96109
Patch Set 1 #
Total comments: 1
Patch Set 2 : Regression test and clean up #Patch Set 3 : Regression test and clean up #Patch Set 4 : A few more touch-ups #Patch Set 5 : Add test page #
Total comments: 10
Patch Set 6 : prerender_loader quotes #Patch Set 7 : Add javascript function to determine if nav is to correct page #Patch Set 8 : Call javascript #
Total comments: 15
Patch Set 9 : Naming, comments, and logic #Patch Set 10 : Add a swap #
Total comments: 1
Patch Set 11 : Function and message name change #Patch Set 12 : Comment change #
Total comments: 15
Patch Set 13 : Some fixes for creis #Patch Set 14 : A few fixes for multiple history entries at swap in #
Total comments: 8
Patch Set 15 : More comments, some small fixes #Patch Set 16 : Rebase #Messages
Total messages: 26 (0 generated)
|