Ensure OfflinePageMetadataStoreSQL and PrefetchStore close their databases. This helps: * prevent the data loss, * temporarily unload the DB from memory.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/94dc6b4f8b4b24725802451d796f2f301c6c63e5 commit 94dc6b4f8b4b24725802451d796f2f301c6c63e5 Author: Filip Gorski <fgorski@chromium.org> Date: Tue Dec 05 07:09:13 2017 [Offline pages] Make OPMetadataStore self-closing Ensures that Metadata store closes itself after few seconds of inactivity. Updates tests for store, tasks and task-based model to use base::TestMockTimeTaskRunner Bug: 790566 Change-Id: I629835df8907320fcb86a54463f5b36e64fce9d1 Reviewed-on: https://chromium-review.googlesource.com/801330 Commit-Queue: Filip Gorski <fgorski@chromium.org> Reviewed-by: Steven Holte <holte@chromium.org> Reviewed-by: Carlos Knippschild <carlosk@chromium.org> Reviewed-by: Dmitry Titov <dimich@chromium.org> Cr-Commit-Position: refs/heads/master@{#521628} [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/model/add_page_task_unittest.cc [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/model/clear_digest_task_unittest.cc [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/model/clear_legacy_temporary_pages_task_unittest.cc [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/model/clear_storage_task_unittest.cc [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/model/delete_page_task_unittest.cc [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/model/get_pages_task_unittest.cc [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/model/mark_page_accessed_task_unittest.cc [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/model/offline_page_model_taskified.cc [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/model/offline_page_model_taskified.h [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/model/offline_page_model_taskified_unittest.cc [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/model/persistent_pages_consistency_check_task_unittest.cc [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/model/temporary_pages_consistency_check_task_unittest.cc [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/offline_page_metadata_store_sql.cc [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/offline_page_metadata_store_sql.h [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/offline_page_metadata_store_test_util.cc [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/offline_page_metadata_store_test_util.h [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/offline_page_metadata_store_unittest.cc [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/test_task_runner.cc [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/components/offline_pages/core/test_task_runner.h [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/tools/metrics/histograms/enums.xml [modify] https://crrev.com/94dc6b4f8b4b24725802451d796f2f301c6c63e5/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9aae51974703901924e56723978afcaa5d9bb5de commit 9aae51974703901924e56723978afcaa5d9bb5de Author: Filip Gorski <fgorski@chromium.org> Date: Fri Dec 08 00:01:13 2017 [Offline pages] Making PrefetchStore self closing This patch makes the PrefetchStore self closing, after 20 seconds delay. In order to make tests work, we need to switch our prefetch tests to TestMockTimeTaskRunner. Bug: 790566 Change-Id: Ia1dd7458f750312e5ef442071e44a0cb152caaca Reviewed-on: https://chromium-review.googlesource.com/809904 Commit-Queue: Filip Gorski <fgorski@chromium.org> Reviewed-by: Carlos Knippschild <carlosk@chromium.org> Reviewed-by: Mark Pearson <mpearson@chromium.org> Cr-Commit-Position: refs/heads/master@{#522626} [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/components/offline_pages/core/offline_page_metadata_store_sql.cc [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/components/offline_pages/core/offline_store_types.h [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/components/offline_pages/core/prefetch/download_completed_task_unittest.cc [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/components/offline_pages/core/prefetch/import_archives_task_unittest.cc [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/components/offline_pages/core/prefetch/prefetch_downloader_impl_unittest.cc [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/components/offline_pages/core/prefetch/prefetch_request_test_base.cc [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/components/offline_pages/core/prefetch/prefetch_request_test_base.h [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/components/offline_pages/core/prefetch/store/prefetch_downloader_quota_unittest.cc [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/components/offline_pages/core/prefetch/store/prefetch_store.cc [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/components/offline_pages/core/prefetch/store/prefetch_store.h [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/components/offline_pages/core/prefetch/store/prefetch_store_test_util.cc [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/components/offline_pages/core/prefetch/store/prefetch_store_test_util.h [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/components/offline_pages/core/prefetch/store/prefetch_store_unittest.cc [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/components/offline_pages/core/prefetch/task_test_base.cc [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/components/offline_pages/core/prefetch/task_test_base.h [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/tools/metrics/histograms/enums.xml [modify] https://crrev.com/9aae51974703901924e56723978afcaa5d9bb5de/tools/metrics/histograms/histograms.xml
Both stores are self closing now and there are no new crashes, after issue 792530 has been addressed.
Comment 1 by bugdroid1@chromium.org
, Dec 5 2017