Only commit cookie changes in prerenders after a prerender is shown
commit28c5d0b7a83b11685698c5cd2ffb04c91d75a0c6
authortburkard@chromium.org <tburkard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Tue, 13 May 2014 08:19:59 +0000 (13 08:19 +0000)
committertburkard@chromium.org <tburkard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Tue, 13 May 2014 08:19:59 +0000 (13 08:19 +0000)
tree949ca1fb18b48a01675ce6f62ecb0943a15bb292
parentf73e1ca075924a6ca1125d5d7f96e374532852c3
Only commit cookie changes in prerenders after a prerender is shown
Will create a PrerenderCookieStore for each prerender, retaining all cookie
operations of a prerender until the prerender is shown to the user.
Forces prerenders to be in a new render process by themselves for this to work.
This is a resubmission of https://codereview.chromium.org/233353003, which had
to be reverted due to build breaks. See LGTM's there.
BUG=371003
TBR=jam@chromium.org

Review URL: https://codereview.chromium.org/280403002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270049 0039d316-1c4b-4281-b951-d872f2087c98
43 files changed:
chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java
chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java
chrome/browser/chrome_content_browser_client.cc
chrome/browser/chrome_content_browser_client.h
chrome/browser/extensions/activity_log/activity_log_browsertest.cc
chrome/browser/extensions/activity_log/activity_log_unittest.cc
chrome/browser/net/chrome_network_delegate.cc
chrome/browser/net/chrome_network_delegate.h
chrome/browser/net/cookie_store_util.cc
chrome/browser/net/evicted_domain_cookie_counter.cc
chrome/browser/net/evicted_domain_cookie_counter.h
chrome/browser/net/evicted_domain_cookie_counter_unittest.cc
chrome/browser/prerender/external_prerender_handler_android.cc
chrome/browser/prerender/external_prerender_handler_android.h
chrome/browser/prerender/prerender_browsertest.cc
chrome/browser/prerender/prerender_contents.cc
chrome/browser/prerender/prerender_contents.h
chrome/browser/prerender/prerender_cookie_store.cc [new file with mode: 0644]
chrome/browser/prerender/prerender_cookie_store.h [new file with mode: 0644]
chrome/browser/prerender/prerender_final_status.cc
chrome/browser/prerender/prerender_final_status.h
chrome/browser/prerender/prerender_manager.cc
chrome/browser/prerender/prerender_manager.h
chrome/browser/prerender/prerender_tracker.cc
chrome/browser/prerender/prerender_tracker.h
chrome/browser/prerender/prerender_unittest.cc
chrome/browser/profiles/profile_io_data.cc
chrome/browser/profiles/profile_io_data.h
chrome/browser/ui/search/instant_search_prerenderer_unittest.cc
chrome/browser/ui/webui/net_internals/net_internals_ui_browsertest.cc
chrome/chrome_browser.gypi
chrome/test/data/android/prerender/homepage.html [new file with mode: 0644]
chrome/test/data/prerender/prerender_cookie.html [new file with mode: 0644]
content/browser/renderer_host/render_process_host_impl.cc
content/public/browser/content_browser_client.cc
content/public/browser/content_browser_client.h
net/cookies/canonical_cookie.cc
net/cookies/canonical_cookie.h
net/cookies/cookie_monster.cc
net/cookies/cookie_monster.h
net/cookies/cookie_monster_store_test.cc
net/cookies/cookie_monster_store_test.h
tools/metrics/histograms/histograms.xml