Depends on new PrerenderManager support (https://bugs.chromium.org/p/chromium/issues/detail?id=599500)
Design references: http://go/chrome-background-loading # concerning intergration to PrerenderManager http://go/chrome-background-offlining # top-level design document
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/70ad75b5c1f8208569b642c62bc9e4ce90cb06e5 commit 70ad75b5c1f8208569b642c62bc9e4ce90cb06e5 Author: dougarnett <dougarnett@chromium.org> Date: Fri Apr 29 18:26:28 2016 Adds shells of classes (PrerenderingOffliner and PrerenderingLoader) to intergrate from Background Offliner core to Prerenderer for background loading. BUG= 601173 Review-Url: https://codereview.chromium.org/1915983008 Cr-Commit-Position: refs/heads/master@{#390704} [modify] https://crrev.com/70ad75b5c1f8208569b642c62bc9e4ce90cb06e5/chrome/browser/android/offline_pages/DEPS [add] https://crrev.com/70ad75b5c1f8208569b642c62bc9e4ce90cb06e5/chrome/browser/android/offline_pages/prerendering_loader.cc [add] https://crrev.com/70ad75b5c1f8208569b642c62bc9e4ce90cb06e5/chrome/browser/android/offline_pages/prerendering_loader.h [add] https://crrev.com/70ad75b5c1f8208569b642c62bc9e4ce90cb06e5/chrome/browser/android/offline_pages/prerendering_offliner.cc [add] https://crrev.com/70ad75b5c1f8208569b642c62bc9e4ce90cb06e5/chrome/browser/android/offline_pages/prerendering_offliner.h [modify] https://crrev.com/70ad75b5c1f8208569b642c62bc9e4ce90cb06e5/chrome/chrome_browser.gypi
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/30fe6bc61105ba5c555c735166b362e4986485b5 commit 30fe6bc61105ba5c555c735166b362e4986485b5 Author: dougarnett <dougarnett@chromium.org> Date: Tue May 10 18:14:06 2016 Updates to PrerenderingOffliner and PrerenderingLoader interfaces to push PrerenderManager knowledge down into Loader only. Also adds initial unit tests for Offliner with mocked Loader. This CL to be followed by a Loader CL that integrates to PrerenderManager. Fleshing out the Offliner logic more will come after that. BUG= 601173 Review-Url: https://codereview.chromium.org/1961083002 Cr-Commit-Position: refs/heads/master@{#392646} [modify] https://crrev.com/30fe6bc61105ba5c555c735166b362e4986485b5/chrome/browser/android/offline_pages/prerendering_loader.cc [modify] https://crrev.com/30fe6bc61105ba5c555c735166b362e4986485b5/chrome/browser/android/offline_pages/prerendering_loader.h [modify] https://crrev.com/30fe6bc61105ba5c555c735166b362e4986485b5/chrome/browser/android/offline_pages/prerendering_offliner.cc [modify] https://crrev.com/30fe6bc61105ba5c555c735166b362e4986485b5/chrome/browser/android/offline_pages/prerendering_offliner.h [modify] https://crrev.com/30fe6bc61105ba5c555c735166b362e4986485b5/chrome/browser/android/offline_pages/prerendering_offliner_factory.cc [add] https://crrev.com/30fe6bc61105ba5c555c735166b362e4986485b5/chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc [modify] https://crrev.com/30fe6bc61105ba5c555c735166b362e4986485b5/chrome/chrome_tests_unit.gypi [modify] https://crrev.com/30fe6bc61105ba5c555c735166b362e4986485b5/components/offline_pages/background/offliner.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce commit 8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce Author: dougarnett <dougarnett@chromium.org> Date: Tue May 24 00:39:20 2016 PrerenderingLoader initial integration with PrerenderManager/PrerenderHandle and make it unit-testable. It proved challenging to write unittests wrt mocking PrerenderManager and/or PrerenderHandler and be able to create a stub PrerenderHandler without touching the prerender stack code so this CL takes the approach of adding an adapter between the Loader and prerender stack calls so that they can be intercepted for testing. BTW, PrerenderingLoader is actually the "BackgroundLoader" of go/chrome-background-loading BUG= 601173 Review-Url: https://codereview.chromium.org/1968593002 Cr-Commit-Position: refs/heads/master@{#395485} [add] https://crrev.com/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce/chrome/browser/android/offline_pages/prerender_adapter.cc [add] https://crrev.com/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce/chrome/browser/android/offline_pages/prerender_adapter.h [modify] https://crrev.com/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce/chrome/browser/android/offline_pages/prerendering_loader.cc [modify] https://crrev.com/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce/chrome/browser/android/offline_pages/prerendering_loader.h [add] https://crrev.com/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce/chrome/browser/android/offline_pages/prerendering_loader_unittest.cc [modify] https://crrev.com/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce/chrome/browser/android/offline_pages/prerendering_offliner.cc [modify] https://crrev.com/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce/chrome/browser/android/offline_pages/prerendering_offliner.h [modify] https://crrev.com/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce/chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc [modify] https://crrev.com/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce/chrome/chrome_browser.gypi [modify] https://crrev.com/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce/chrome/chrome_tests_unit.gypi [modify] https://crrev.com/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce/components/offline_pages/background/offliner.h [modify] https://crrev.com/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce/components/offline_pages/background/request_coordinator.cc [modify] https://crrev.com/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce/components/offline_pages/background/request_coordinator.h [modify] https://crrev.com/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce/components/offline_pages/background/request_coordinator_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9c983d12e207d07c7cb0922eccc102e6c7475f31 commit 9c983d12e207d07c7cb0922eccc102e6c7475f31 Author: mvanouwerkerk <mvanouwerkerk@chromium.org> Date: Wed May 25 13:49:55 2016 Revert of PrerenderingLoader initial integration with PrerenderManager/PrerenderHandle (patchset #22 id:420001 of https://codereview.chromium.org/1968593002/ ) Reason for revert: The unit tests are failing on asan-clang-phone, I'm sorry. https://bugs.chromium.org/p/chromium/issues/detail?id=614699 Original issue's description: > PrerenderingLoader initial integration with PrerenderManager/PrerenderHandle and make it unit-testable. > > It proved challenging to write unittests wrt mocking PrerenderManager and/or PrerenderHandler and be able to create a stub PrerenderHandler without touching the prerender stack code so this CL takes the approach of adding an adapter between the Loader and prerender stack calls so that they can be intercepted for testing. > > BTW, PrerenderingLoader is actually the "BackgroundLoader" of go/chrome-background-loading > > BUG= 601173 > > Committed: https://crrev.com/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce > Cr-Commit-Position: refs/heads/master@{#395485} TBR=fgorski@chromium.org,pasko@chromium.org,petewil@chromium.org,gabadie@chromium.org,dougarnett@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= 601173 Review-Url: https://codereview.chromium.org/2011913002 Cr-Commit-Position: refs/heads/master@{#395882} [delete] https://crrev.com/bdc444ee2eebb0970f239cc6f651c4e794915c37/chrome/browser/android/offline_pages/prerender_adapter.cc [delete] https://crrev.com/bdc444ee2eebb0970f239cc6f651c4e794915c37/chrome/browser/android/offline_pages/prerender_adapter.h [modify] https://crrev.com/9c983d12e207d07c7cb0922eccc102e6c7475f31/chrome/browser/android/offline_pages/prerendering_loader.cc [modify] https://crrev.com/9c983d12e207d07c7cb0922eccc102e6c7475f31/chrome/browser/android/offline_pages/prerendering_loader.h [delete] https://crrev.com/bdc444ee2eebb0970f239cc6f651c4e794915c37/chrome/browser/android/offline_pages/prerendering_loader_unittest.cc [modify] https://crrev.com/9c983d12e207d07c7cb0922eccc102e6c7475f31/chrome/browser/android/offline_pages/prerendering_offliner.cc [modify] https://crrev.com/9c983d12e207d07c7cb0922eccc102e6c7475f31/chrome/browser/android/offline_pages/prerendering_offliner.h [modify] https://crrev.com/9c983d12e207d07c7cb0922eccc102e6c7475f31/chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc [modify] https://crrev.com/9c983d12e207d07c7cb0922eccc102e6c7475f31/chrome/chrome_browser.gypi [modify] https://crrev.com/9c983d12e207d07c7cb0922eccc102e6c7475f31/chrome/chrome_tests_unit.gypi [modify] https://crrev.com/9c983d12e207d07c7cb0922eccc102e6c7475f31/components/offline_pages/background/offliner.h [modify] https://crrev.com/9c983d12e207d07c7cb0922eccc102e6c7475f31/components/offline_pages/background/request_coordinator.cc [modify] https://crrev.com/9c983d12e207d07c7cb0922eccc102e6c7475f31/components/offline_pages/background/request_coordinator.h [modify] https://crrev.com/9c983d12e207d07c7cb0922eccc102e6c7475f31/components/offline_pages/background/request_coordinator_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bd2f237c4acbdd9e0f6495b688f2c3da86127cac commit bd2f237c4acbdd9e0f6495b688f2c3da86127cac Author: dougarnett <dougarnett@chromium.org> Date: Thu May 26 16:00:14 2016 PrerenderingLoader initial integration with PrerenderManager/PrerenderHandle and make it unit-testable. [Note: this CL landed and was reverted per test failure reported in issue 614699 .] It proved challenging to write unittests wrt mocking PrerenderManager and/or PrerenderHandler and be able to create a stub PrerenderHandler without touching the prerender stack code so this CL takes the approach of adding an adapter between the Loader and prerender stack calls so that they can be intercepted for testing. BTW, PrerenderingLoader is actually the "BackgroundLoader" of go/chrome-background-loading TBR=fgorski@chromium.org,petewil@chromium.org,pasko@chromium.org,gabadie@chromium.org BUG= 601173 , 614699 Committed: https://crrev.com/8ed74fd7c401a1ff9a5a57c270409e0f66f6d3ce Cr-Commit-Position: refs/heads/master@{#395485} patch from issue 1968593002 at patchset 420001 (http://crrev.com/1968593002#ps420001) Review-Url: https://codereview.chromium.org/2015603002 Cr-Commit-Position: refs/heads/master@{#396191} [add] https://crrev.com/bd2f237c4acbdd9e0f6495b688f2c3da86127cac/chrome/browser/android/offline_pages/prerender_adapter.cc [add] https://crrev.com/bd2f237c4acbdd9e0f6495b688f2c3da86127cac/chrome/browser/android/offline_pages/prerender_adapter.h [modify] https://crrev.com/bd2f237c4acbdd9e0f6495b688f2c3da86127cac/chrome/browser/android/offline_pages/prerendering_loader.cc [modify] https://crrev.com/bd2f237c4acbdd9e0f6495b688f2c3da86127cac/chrome/browser/android/offline_pages/prerendering_loader.h [add] https://crrev.com/bd2f237c4acbdd9e0f6495b688f2c3da86127cac/chrome/browser/android/offline_pages/prerendering_loader_unittest.cc [modify] https://crrev.com/bd2f237c4acbdd9e0f6495b688f2c3da86127cac/chrome/browser/android/offline_pages/prerendering_offliner.cc [modify] https://crrev.com/bd2f237c4acbdd9e0f6495b688f2c3da86127cac/chrome/browser/android/offline_pages/prerendering_offliner.h [modify] https://crrev.com/bd2f237c4acbdd9e0f6495b688f2c3da86127cac/chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc [modify] https://crrev.com/bd2f237c4acbdd9e0f6495b688f2c3da86127cac/chrome/chrome_browser.gypi [modify] https://crrev.com/bd2f237c4acbdd9e0f6495b688f2c3da86127cac/chrome/chrome_tests_unit.gypi [modify] https://crrev.com/bd2f237c4acbdd9e0f6495b688f2c3da86127cac/components/offline_pages/background/offliner.h [modify] https://crrev.com/bd2f237c4acbdd9e0f6495b688f2c3da86127cac/components/offline_pages/background/request_coordinator.cc [modify] https://crrev.com/bd2f237c4acbdd9e0f6495b688f2c3da86127cac/components/offline_pages/background/request_coordinator.h [modify] https://crrev.com/bd2f237c4acbdd9e0f6495b688f2c3da86127cac/components/offline_pages/background/request_coordinator_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f4a897e49edf2b11ba38119c706ce8e94309c39b commit f4a897e49edf2b11ba38119c706ce8e94309c39b Author: dougarnett <dougarnett@chromium.org> Date: Fri May 27 04:37:33 2016 Adds PrerenderingOffliner implementation for handling Loader callbacks and then performing SavePage request for successful loads. BUG= 601173 Review-Url: https://codereview.chromium.org/2007783002 Cr-Commit-Position: refs/heads/master@{#396386} [modify] https://crrev.com/f4a897e49edf2b11ba38119c706ce8e94309c39b/chrome/browser/android/offline_pages/prerendering_offliner.cc [modify] https://crrev.com/f4a897e49edf2b11ba38119c706ce8e94309c39b/chrome/browser/android/offline_pages/prerendering_offliner.h [modify] https://crrev.com/f4a897e49edf2b11ba38119c706ce8e94309c39b/chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc [modify] https://crrev.com/f4a897e49edf2b11ba38119c706ce8e94309c39b/components/offline_pages/background/offliner.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8c5b5db77e83c7ebb5878123358375771287cde7 commit 8c5b5db77e83c7ebb5878123358375771287cde7 Author: dougarnett <dougarnett@chromium.org> Date: Thu Jun 02 15:23:46 2016 Adds unit tests for Offliner SavePage implementation. BUG= 601173 Review-Url: https://codereview.chromium.org/2016313003 Cr-Commit-Position: refs/heads/master@{#397411} [modify] https://crrev.com/8c5b5db77e83c7ebb5878123358375771287cde7/chrome/browser/android/offline_pages/prerendering_offliner.cc [modify] https://crrev.com/8c5b5db77e83c7ebb5878123358375771287cde7/chrome/browser/android/offline_pages/prerendering_offliner.h [modify] https://crrev.com/8c5b5db77e83c7ebb5878123358375771287cde7/chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc [modify] https://crrev.com/8c5b5db77e83c7ebb5878123358375771287cde7/components/offline_pages.gypi [modify] https://crrev.com/8c5b5db77e83c7ebb5878123358375771287cde7/components/offline_pages/BUILD.gn [add] https://crrev.com/8c5b5db77e83c7ebb5878123358375771287cde7/components/offline_pages/stub_offline_page_model.cc [add] https://crrev.com/8c5b5db77e83c7ebb5878123358375771287cde7/components/offline_pages/stub_offline_page_model.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/856dc4052804930a76e22cf18463bb68640aa146 commit 856dc4052804930a76e22cf18463bb68640aa146 Author: dougarnett <dougarnett@chromium.org> Date: Wed Jun 08 20:59:58 2016 Fixes for turning on offliner request. BUG= 601173 Review-Url: https://codereview.chromium.org/2048923002 Cr-Commit-Position: refs/heads/master@{#398669} [modify] https://crrev.com/856dc4052804930a76e22cf18463bb68640aa146/chrome/browser/android/offline_pages/prerender_adapter.cc [modify] https://crrev.com/856dc4052804930a76e22cf18463bb68640aa146/chrome/browser/android/offline_pages/prerendering_offliner.cc [modify] https://crrev.com/856dc4052804930a76e22cf18463bb68640aa146/chrome/browser/android/offline_pages/prerendering_offliner.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d83899ec45e736c2a9289c1fe0b61572e31a112d commit d83899ec45e736c2a9289c1fe0b61572e31a112d Author: dougarnett <dougarnett@chromium.org> Date: Thu Jun 09 20:18:07 2016 Integrates the SnapshotController into the PrerenderingLoader to provide logic for determining when the right moment is to consider the page loaded and ready for snapshotting. BUG= 601173 Review-Url: https://codereview.chromium.org/2049743004 Cr-Commit-Position: refs/heads/master@{#398994} [modify] https://crrev.com/d83899ec45e736c2a9289c1fe0b61572e31a112d/chrome/browser/android/offline_pages/prerendering_loader.cc [modify] https://crrev.com/d83899ec45e736c2a9289c1fe0b61572e31a112d/chrome/browser/android/offline_pages/prerendering_loader.h [modify] https://crrev.com/d83899ec45e736c2a9289c1fe0b61572e31a112d/chrome/browser/android/offline_pages/prerendering_loader_unittest.cc
I have exercised this integration successfully so closing now.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/db13d18a0372ba0ddf03f7c1901dba898b713528 commit db13d18a0372ba0ddf03f7c1901dba898b713528 Author: dougarnett <dougarnett@chromium.org> Date: Thu Jun 16 17:19:36 2016 Adds unit tests for offline_pages::PrerenderAdapter calling PrerenderManager. BUG= 601173 Review-Url: https://codereview.chromium.org/2044613003 Cr-Commit-Position: refs/heads/master@{#400185} [add] https://crrev.com/db13d18a0372ba0ddf03f7c1901dba898b713528/chrome/browser/android/offline_pages/prerender_adapter_unittest.cc [modify] https://crrev.com/db13d18a0372ba0ddf03f7c1901dba898b713528/chrome/browser/prerender/prerender_browsertest.cc [modify] https://crrev.com/db13d18a0372ba0ddf03f7c1901dba898b713528/chrome/browser/prerender/prerender_manager.cc [modify] https://crrev.com/db13d18a0372ba0ddf03f7c1901dba898b713528/chrome/browser/prerender/prerender_manager.h [modify] https://crrev.com/db13d18a0372ba0ddf03f7c1901dba898b713528/chrome/browser/ui/search/instant_search_prerenderer_unittest.cc [modify] https://crrev.com/db13d18a0372ba0ddf03f7c1901dba898b713528/chrome/chrome_tests_unit.gypi
Comment 1 by dougarnett@chromium.org
, Apr 27 2016