Make background fetch metadata storage persistent. This will include: 1) Reads/Writes/Updates to the metadata write to disk 2) Minimize the cache to what is only strictly necessary 3) Full support for developer provided options
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d5166ee9ca9bcad2849512bf6095a05c99fdf648 commit d5166ee9ca9bcad2849512bf6095a05c99fdf648 Author: Rayan Kanso <rayankans@chromium.org> Date: Wed Mar 28 13:09:31 2018 [Background Fetch] Update Registration UI w/Persistent Storage UpdateRegistrationUI will update the background fetch metadata written to disk. BUG: 826257 Change-Id: Ic81232d0a0bb2f13fdba98eb46eb02c683768397 Reviewed-on: https://chromium-review.googlesource.com/980993 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#546466} [modify] https://crrev.com/d5166ee9ca9bcad2849512bf6095a05c99fdf648/content/browser/BUILD.gn [modify] https://crrev.com/d5166ee9ca9bcad2849512bf6095a05c99fdf648/content/browser/background_fetch/background_fetch.proto [modify] https://crrev.com/d5166ee9ca9bcad2849512bf6095a05c99fdf648/content/browser/background_fetch/background_fetch_context.cc [modify] https://crrev.com/d5166ee9ca9bcad2849512bf6095a05c99fdf648/content/browser/background_fetch/background_fetch_context.h [modify] https://crrev.com/d5166ee9ca9bcad2849512bf6095a05c99fdf648/content/browser/background_fetch/background_fetch_data_manager.cc [modify] https://crrev.com/d5166ee9ca9bcad2849512bf6095a05c99fdf648/content/browser/background_fetch/background_fetch_data_manager.h [modify] https://crrev.com/d5166ee9ca9bcad2849512bf6095a05c99fdf648/content/browser/background_fetch/background_fetch_service_impl.cc [modify] https://crrev.com/d5166ee9ca9bcad2849512bf6095a05c99fdf648/content/browser/background_fetch/background_fetch_service_impl.h [modify] https://crrev.com/d5166ee9ca9bcad2849512bf6095a05c99fdf648/content/browser/background_fetch/background_fetch_service_unittest.cc [modify] https://crrev.com/d5166ee9ca9bcad2849512bf6095a05c99fdf648/content/browser/background_fetch/storage/create_registration_task.cc [modify] https://crrev.com/d5166ee9ca9bcad2849512bf6095a05c99fdf648/content/browser/background_fetch/storage/create_registration_task.h [add] https://crrev.com/d5166ee9ca9bcad2849512bf6095a05c99fdf648/content/browser/background_fetch/storage/update_registration_ui_task.cc [add] https://crrev.com/d5166ee9ca9bcad2849512bf6095a05c99fdf648/content/browser/background_fetch/storage/update_registration_ui_task.h [modify] https://crrev.com/d5166ee9ca9bcad2849512bf6095a05c99fdf648/third_party/WebKit/Source/modules/background_fetch/BackgroundFetchBridge.cpp [modify] https://crrev.com/d5166ee9ca9bcad2849512bf6095a05c99fdf648/third_party/WebKit/public/platform/modules/background_fetch/background_fetch.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/78f882f3c6925783cd11d9e0978f9a5d55c75185 commit 78f882f3c6925783cd11d9e0978f9a5d55c75185 Author: Rayan Kanso <rayankans@chromium.org> Date: Tue Apr 03 11:25:45 2018 [Background Fetch] Create Metadata proto for persistent storage. The metadata will store additional developer-provided fields that will help retain & recover the state of the background fetch. Create/Get/Update registration database tasks are updated to support the new metadata proto. Bug: 826257 , 757760 Change-Id: I5b97638d3ab90e482911fb50479e5b8c312b4331 Reviewed-on: https://chromium-review.googlesource.com/984356 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#547669} [modify] https://crrev.com/78f882f3c6925783cd11d9e0978f9a5d55c75185/content/browser/background_fetch/background_fetch.proto [modify] https://crrev.com/78f882f3c6925783cd11d9e0978f9a5d55c75185/content/browser/background_fetch/storage/README.md [modify] https://crrev.com/78f882f3c6925783cd11d9e0978f9a5d55c75185/content/browser/background_fetch/storage/cleanup_task.cc [modify] https://crrev.com/78f882f3c6925783cd11d9e0978f9a5d55c75185/content/browser/background_fetch/storage/create_registration_task.cc [modify] https://crrev.com/78f882f3c6925783cd11d9e0978f9a5d55c75185/content/browser/background_fetch/storage/create_registration_task.h [modify] https://crrev.com/78f882f3c6925783cd11d9e0978f9a5d55c75185/content/browser/background_fetch/storage/delete_registration_task.cc [modify] https://crrev.com/78f882f3c6925783cd11d9e0978f9a5d55c75185/content/browser/background_fetch/storage/get_registration_task.cc [modify] https://crrev.com/78f882f3c6925783cd11d9e0978f9a5d55c75185/content/browser/background_fetch/storage/get_registration_task.h [modify] https://crrev.com/78f882f3c6925783cd11d9e0978f9a5d55c75185/content/browser/background_fetch/storage/mark_registration_for_deletion_task.cc [modify] https://crrev.com/78f882f3c6925783cd11d9e0978f9a5d55c75185/content/browser/background_fetch/storage/update_registration_ui_task.cc [modify] https://crrev.com/78f882f3c6925783cd11d9e0978f9a5d55c75185/content/browser/background_fetch/storage/update_registration_ui_task.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/080a36de7fb99a9a33a88f30d0d4e046e0ebf89e commit 080a36de7fb99a9a33a88f30d0d4e046e0ebf89e Author: Rayan Kanso <rayankans@chromium.org> Date: Tue Apr 10 09:53:23 2018 [Background Fetch] Pass RegistrationId in update workflow. Resolving post-merge nits in cr/980993. Bug: 826257 Change-Id: Ifd201f8ee98f71079d5377034ff593d731061308 Reviewed-on: https://chromium-review.googlesource.com/1000862 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#549470} [modify] https://crrev.com/080a36de7fb99a9a33a88f30d0d4e046e0ebf89e/content/browser/background_fetch/background_fetch_context.cc [modify] https://crrev.com/080a36de7fb99a9a33a88f30d0d4e046e0ebf89e/content/browser/background_fetch/background_fetch_context.h [modify] https://crrev.com/080a36de7fb99a9a33a88f30d0d4e046e0ebf89e/content/browser/background_fetch/background_fetch_data_manager.cc [modify] https://crrev.com/080a36de7fb99a9a33a88f30d0d4e046e0ebf89e/content/browser/background_fetch/background_fetch_data_manager.h [modify] https://crrev.com/080a36de7fb99a9a33a88f30d0d4e046e0ebf89e/content/browser/background_fetch/background_fetch_service_impl.cc [modify] https://crrev.com/080a36de7fb99a9a33a88f30d0d4e046e0ebf89e/content/browser/background_fetch/background_fetch_service_impl.h [modify] https://crrev.com/080a36de7fb99a9a33a88f30d0d4e046e0ebf89e/content/browser/background_fetch/background_fetch_service_unittest.cc [modify] https://crrev.com/080a36de7fb99a9a33a88f30d0d4e046e0ebf89e/content/browser/background_fetch/storage/update_registration_ui_task.cc [modify] https://crrev.com/080a36de7fb99a9a33a88f30d0d4e046e0ebf89e/content/browser/background_fetch/storage/update_registration_ui_task.h [modify] https://crrev.com/080a36de7fb99a9a33a88f30d0d4e046e0ebf89e/third_party/blink/public/platform/modules/background_fetch/background_fetch.mojom [modify] https://crrev.com/080a36de7fb99a9a33a88f30d0d4e046e0ebf89e/third_party/blink/renderer/modules/background_fetch/background_fetch_bridge.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4ca46f7bd3a0f865d8a3c00b2b3fc226e1a2b176 commit 4ca46f7bd3a0f865d8a3c00b2b3fc226e1a2b176 Author: Rayan Kanso <rayankans@chromium.org> Date: Tue Apr 10 21:16:53 2018 [Background Fetch] Update persistent storage tasks w/metadata. Update the database manager task wrappers to use the metadata proto directly. The following files were moved and slightly updated to make naming consistent throughout: * create_registration_task.(cc|h) -> create_metadata_task.(cc|h) * get_registration_task.(cc|h) -> get_metadata_task.(cc|h) The metadata to registration conversion logic was removed from get_registration_task.cc. Also added tests. Bug: 826257 Change-Id: I7a8cedf76df3b935ebeddf6536ba5cda639420db Reviewed-on: https://chromium-review.googlesource.com/993054 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Reviewed-by: Camille Lamy <clamy@chromium.org> Cr-Commit-Position: refs/heads/master@{#549645} [modify] https://crrev.com/4ca46f7bd3a0f865d8a3c00b2b3fc226e1a2b176/content/browser/BUILD.gn [modify] https://crrev.com/4ca46f7bd3a0f865d8a3c00b2b3fc226e1a2b176/content/browser/background_fetch/background_fetch_data_manager.cc [modify] https://crrev.com/4ca46f7bd3a0f865d8a3c00b2b3fc226e1a2b176/content/browser/background_fetch/background_fetch_data_manager.h [modify] https://crrev.com/4ca46f7bd3a0f865d8a3c00b2b3fc226e1a2b176/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [rename] https://crrev.com/4ca46f7bd3a0f865d8a3c00b2b3fc226e1a2b176/content/browser/background_fetch/storage/create_metadata_task.cc [add] https://crrev.com/4ca46f7bd3a0f865d8a3c00b2b3fc226e1a2b176/content/browser/background_fetch/storage/create_metadata_task.h [delete] https://crrev.com/c110a7e73a623fb57c2c915e8f8f2cd45e08629b/content/browser/background_fetch/storage/create_registration_task.h [add] https://crrev.com/4ca46f7bd3a0f865d8a3c00b2b3fc226e1a2b176/content/browser/background_fetch/storage/get_metadata_task.cc [add] https://crrev.com/4ca46f7bd3a0f865d8a3c00b2b3fc226e1a2b176/content/browser/background_fetch/storage/get_metadata_task.h [delete] https://crrev.com/c110a7e73a623fb57c2c915e8f8f2cd45e08629b/content/browser/background_fetch/storage/get_registration_task.cc [delete] https://crrev.com/c110a7e73a623fb57c2c915e8f8f2cd45e08629b/content/browser/background_fetch/storage/get_registration_task.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ef95594f6d0712329bbe3348707454a5d2ed47c9 commit ef95594f6d0712329bbe3348707454a5d2ed47c9 Author: Rayan Kanso <rayankans@chromium.org> Date: Tue Apr 24 13:26:17 2018 [Background Fetch] Update metadata stored upon registration. Serialize the ServiceWorkerFetchRequests and store them with the metadata. Store Pending Requests (all requests are pending initially), and add util functions to query pending/active requests. Design doc: https://docs.google.com/document/d/1zk6WSUb063I_07ct1EP8krOsDKXai1v4nJchvpQeAio/ Bug: 826257 , 757760 Change-Id: Ic3aa98106583e9273e5f93b53123b2e2f1067cd9 Reviewed-on: https://chromium-review.googlesource.com/1017101 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#553069} [modify] https://crrev.com/ef95594f6d0712329bbe3348707454a5d2ed47c9/content/browser/background_fetch/background_fetch.proto [modify] https://crrev.com/ef95594f6d0712329bbe3348707454a5d2ed47c9/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [modify] https://crrev.com/ef95594f6d0712329bbe3348707454a5d2ed47c9/content/browser/background_fetch/storage/README.md [modify] https://crrev.com/ef95594f6d0712329bbe3348707454a5d2ed47c9/content/browser/background_fetch/storage/create_metadata_task.cc [modify] https://crrev.com/ef95594f6d0712329bbe3348707454a5d2ed47c9/content/browser/background_fetch/storage/create_metadata_task.h [modify] https://crrev.com/ef95594f6d0712329bbe3348707454a5d2ed47c9/content/browser/background_fetch/storage/database_helpers.cc [modify] https://crrev.com/ef95594f6d0712329bbe3348707454a5d2ed47c9/content/browser/background_fetch/storage/database_helpers.h [modify] https://crrev.com/ef95594f6d0712329bbe3348707454a5d2ed47c9/content/browser/background_fetch/storage/delete_registration_task.cc [modify] https://crrev.com/ef95594f6d0712329bbe3348707454a5d2ed47c9/content/browser/background_fetch/storage/mark_registration_for_deletion_task.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/aa1821d84ec41ab333d3dd220de710a48d4c2cba commit aa1821d84ec41ab333d3dd220de710a48d4c2cba Author: Rayan Kanso <rayankans@chromium.org> Date: Wed May 02 16:38:49 2018 [Background Fetch] Persistent storage support for pending requests Design doc: https://docs.google.com/document/d/1zk6WSUb063I_07ct1EP8krOsDKXai1v4nJchvpQeAio/ TBR=avi@chromium.org Bug: 826257 Change-Id: If883c9380a79cad8922ef3a21f2daa4cc73778a6 Reviewed-on: https://chromium-review.googlesource.com/1021516 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#555423} [modify] https://crrev.com/aa1821d84ec41ab333d3dd220de710a48d4c2cba/content/browser/BUILD.gn [modify] https://crrev.com/aa1821d84ec41ab333d3dd220de710a48d4c2cba/content/browser/background_fetch/background_fetch_data_manager.cc [modify] https://crrev.com/aa1821d84ec41ab333d3dd220de710a48d4c2cba/content/browser/background_fetch/background_fetch_data_manager.h [modify] https://crrev.com/aa1821d84ec41ab333d3dd220de710a48d4c2cba/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [add] https://crrev.com/aa1821d84ec41ab333d3dd220de710a48d4c2cba/content/browser/background_fetch/storage/start_next_pending_request_task.cc [add] https://crrev.com/aa1821d84ec41ab333d3dd220de710a48d4c2cba/content/browser/background_fetch/storage/start_next_pending_request_task.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/731a7916b1a7f347a493015a4a91886bc5b1f48a commit 731a7916b1a7f347a493015a4a91886bc5b1f48a Author: Rayan Kanso <rayankans@chromium.org> Date: Wed May 02 21:00:40 2018 [Background Fetch] Persistant storage for completed requests. Design doc: https://docs.google.com/document/d/1zk6WSUb063I_07ct1EP8krOsDKXai1v4nJchvpQeAio/ TBR=avi@chromium.org Bug: 826257 Change-Id: Ib34d8640545beae4b6b0dfa38d634937215ae4ff Reviewed-on: https://chromium-review.googlesource.com/1026730 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Avi Drissman <avi@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#555512} [modify] https://crrev.com/731a7916b1a7f347a493015a4a91886bc5b1f48a/content/browser/BUILD.gn [modify] https://crrev.com/731a7916b1a7f347a493015a4a91886bc5b1f48a/content/browser/background_fetch/background_fetch.proto [modify] https://crrev.com/731a7916b1a7f347a493015a4a91886bc5b1f48a/content/browser/background_fetch/background_fetch_data_manager.cc [modify] https://crrev.com/731a7916b1a7f347a493015a4a91886bc5b1f48a/content/browser/background_fetch/background_fetch_data_manager.h [modify] https://crrev.com/731a7916b1a7f347a493015a4a91886bc5b1f48a/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [modify] https://crrev.com/731a7916b1a7f347a493015a4a91886bc5b1f48a/content/browser/background_fetch/storage/README.md [modify] https://crrev.com/731a7916b1a7f347a493015a4a91886bc5b1f48a/content/browser/background_fetch/storage/create_metadata_task.cc [modify] https://crrev.com/731a7916b1a7f347a493015a4a91886bc5b1f48a/content/browser/background_fetch/storage/create_metadata_task.h [modify] https://crrev.com/731a7916b1a7f347a493015a4a91886bc5b1f48a/content/browser/background_fetch/storage/database_helpers.cc [modify] https://crrev.com/731a7916b1a7f347a493015a4a91886bc5b1f48a/content/browser/background_fetch/storage/database_helpers.h [add] https://crrev.com/731a7916b1a7f347a493015a4a91886bc5b1f48a/content/browser/background_fetch/storage/mark_request_complete_task.cc [add] https://crrev.com/731a7916b1a7f347a493015a4a91886bc5b1f48a/content/browser/background_fetch/storage/mark_request_complete_task.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8bfa76f8e1f18e45cc7e11af7bb478eb8347b1af commit 8bfa76f8e1f18e45cc7e11af7bb478eb8347b1af Author: Rayan Kanso <rayankans@chromium.org> Date: Wed May 02 23:02:29 2018 [Background Fetch] Remove GetTotalNumberOfRequests from Data Manager. Getting this data will require a service worker storage query when we move to full persistent storage. It's easier to get the number by passing down the value to the controller object. Bug: 826257 Change-Id: I00962c1b31c8768baea276ea9d2845b84b2cc506 Reviewed-on: https://chromium-review.googlesource.com/1030632 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#555596} [modify] https://crrev.com/8bfa76f8e1f18e45cc7e11af7bb478eb8347b1af/content/browser/background_fetch/background_fetch_context.cc [modify] https://crrev.com/8bfa76f8e1f18e45cc7e11af7bb478eb8347b1af/content/browser/background_fetch/background_fetch_context.h [modify] https://crrev.com/8bfa76f8e1f18e45cc7e11af7bb478eb8347b1af/content/browser/background_fetch/background_fetch_data_manager.cc [modify] https://crrev.com/8bfa76f8e1f18e45cc7e11af7bb478eb8347b1af/content/browser/background_fetch/background_fetch_data_manager.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7a28724a5c043031f80ddf6582c629f0b3965bd4 commit 7a28724a5c043031f80ddf6582c629f0b3965bd4 Author: Rayan Kanso <rayankans@chromium.org> Date: Thu May 03 12:15:05 2018 [Background Fetch] Update metadata storage. Move UI Title to its own storage entry. Allows for faster title updates without having to load/store the entire metadata proto. Also add number of fetch requests to the metadata proto, since the only way to currently query that would require 3 storage accesses (num_pending + num_active + num_completed). Bug: 826257 Change-Id: Iafee5e71f5f5a6d626b626d888a6004a6c249370 Reviewed-on: https://chromium-review.googlesource.com/1030630 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#555700} [modify] https://crrev.com/7a28724a5c043031f80ddf6582c629f0b3965bd4/content/browser/background_fetch/background_fetch.proto [modify] https://crrev.com/7a28724a5c043031f80ddf6582c629f0b3965bd4/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [modify] https://crrev.com/7a28724a5c043031f80ddf6582c629f0b3965bd4/content/browser/background_fetch/storage/README.md [modify] https://crrev.com/7a28724a5c043031f80ddf6582c629f0b3965bd4/content/browser/background_fetch/storage/create_metadata_task.cc [modify] https://crrev.com/7a28724a5c043031f80ddf6582c629f0b3965bd4/content/browser/background_fetch/storage/database_helpers.cc [modify] https://crrev.com/7a28724a5c043031f80ddf6582c629f0b3965bd4/content/browser/background_fetch/storage/database_helpers.h [modify] https://crrev.com/7a28724a5c043031f80ddf6582c629f0b3965bd4/content/browser/background_fetch/storage/delete_registration_task.cc [modify] https://crrev.com/7a28724a5c043031f80ddf6582c629f0b3965bd4/content/browser/background_fetch/storage/update_registration_ui_task.cc [modify] https://crrev.com/7a28724a5c043031f80ddf6582c629f0b3965bd4/content/browser/background_fetch/storage/update_registration_ui_task.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fafcfe1a2caeff1525aa91979e13810aa481cf24 commit fafcfe1a2caeff1525aa91979e13810aa481cf24 Author: Rayan Kanso <rayankans@chromium.org> Date: Tue May 15 13:36:15 2018 Add Serialization/Deserialization logic to ServiceWorkerFetchRequest It would be useful to be able to store and reinitialize full fetch request data (not just the url). As a specific example, this is needed for background fetch to resume a fetch after a browser restart. TBR=avi@chromium.org Bug: 826257 Change-Id: I3dd388b94bac0d9fa37477967d556118304dd9c9 Reviewed-on: https://chromium-review.googlesource.com/1057271 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Matt Falkenhagen <falken@chromium.org> Cr-Commit-Position: refs/heads/master@{#558687} [modify] https://crrev.com/fafcfe1a2caeff1525aa91979e13810aa481cf24/content/common/BUILD.gn [add] https://crrev.com/fafcfe1a2caeff1525aa91979e13810aa481cf24/content/common/service_worker/BUILD.gn [modify] https://crrev.com/fafcfe1a2caeff1525aa91979e13810aa481cf24/content/common/service_worker/service_worker_types.cc [modify] https://crrev.com/fafcfe1a2caeff1525aa91979e13810aa481cf24/content/common/service_worker/service_worker_types.h [add] https://crrev.com/fafcfe1a2caeff1525aa91979e13810aa481cf24/content/common/service_worker/service_worker_types.proto [modify] https://crrev.com/fafcfe1a2caeff1525aa91979e13810aa481cf24/content/common/service_worker/service_worker_types_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/16c08245f5471ccf8384f318866c3d2331ef9d35 commit 16c08245f5471ccf8384f318866c3d2331ef9d35 Author: Rayan Kanso <rayankans@chromium.org> Date: Tue May 15 16:04:12 2018 [Background Fetch] Use ServiceWorkerFetchRequest Serialize/Deserialize Remove custom Serialization and Deserialization logic used in background fetch. Bug: 826257 Change-Id: If9e13dd6bbffa0a521209f7cabbe5ed0f3d08991 Reviewed-on: https://chromium-review.googlesource.com/1059658 Commit-Queue: Peter Beverloo <peter@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#558728} [modify] https://crrev.com/16c08245f5471ccf8384f318866c3d2331ef9d35/content/browser/background_fetch/background_fetch.proto [modify] https://crrev.com/16c08245f5471ccf8384f318866c3d2331ef9d35/content/browser/background_fetch/storage/create_metadata_task.cc [modify] https://crrev.com/16c08245f5471ccf8384f318866c3d2331ef9d35/content/browser/background_fetch/storage/database_helpers.cc [modify] https://crrev.com/16c08245f5471ccf8384f318866c3d2331ef9d35/content/browser/background_fetch/storage/database_helpers.h [modify] https://crrev.com/16c08245f5471ccf8384f318866c3d2331ef9d35/content/browser/background_fetch/storage/mark_request_complete_task.cc [modify] https://crrev.com/16c08245f5471ccf8384f318866c3d2331ef9d35/content/browser/background_fetch/storage/start_next_pending_request_task.cc [modify] https://crrev.com/16c08245f5471ccf8384f318866c3d2331ef9d35/content/browser/background_fetch/storage/start_next_pending_request_task.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f8eda312858be5cda42c062c6fdf15dde2d8b3b0 commit f8eda312858be5cda42c062c6fdf15dde2d8b3b0 Author: Rayan Kanso <rayankans@chromium.org> Date: Mon May 21 18:14:52 2018 [Background Fetch] Persistent storage for getting settled fetches Boilerplate for getting settled background fetches that have been persisted to disk. TBR=avi@chromium.org Bug: 826257 Change-Id: I8a49663df9841fc736af3edad3c946c84da8443c Reviewed-on: https://chromium-review.googlesource.com/1057623 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Avi Drissman <avi@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#560304} [modify] https://crrev.com/f8eda312858be5cda42c062c6fdf15dde2d8b3b0/content/browser/BUILD.gn [modify] https://crrev.com/f8eda312858be5cda42c062c6fdf15dde2d8b3b0/content/browser/background_fetch/background_fetch_data_manager.cc [modify] https://crrev.com/f8eda312858be5cda42c062c6fdf15dde2d8b3b0/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [add] https://crrev.com/f8eda312858be5cda42c062c6fdf15dde2d8b3b0/content/browser/background_fetch/storage/get_settled_fetches_task.cc [add] https://crrev.com/f8eda312858be5cda42c062c6fdf15dde2d8b3b0/content/browser/background_fetch/storage/get_settled_fetches_task.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/da53ad5d3936247d4b69cffef9e6e2bc90971ba1 commit da53ad5d3936247d4b69cffef9e6e2bc90971ba1 Author: Rayan Kanso <rayankans@chromium.org> Date: Wed May 23 12:44:25 2018 [Background Fetch] Create DatabaseTask to get num requests by type TBR=avi@chromium.org Bug: 826257 Change-Id: I91ea969e3de8630365a115802ff6ed93901a1d00 Reviewed-on: https://chromium-review.googlesource.com/1066132 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#561046} [modify] https://crrev.com/da53ad5d3936247d4b69cffef9e6e2bc90971ba1/content/browser/BUILD.gn [modify] https://crrev.com/da53ad5d3936247d4b69cffef9e6e2bc90971ba1/content/browser/background_fetch/background_fetch_data_manager.cc [modify] https://crrev.com/da53ad5d3936247d4b69cffef9e6e2bc90971ba1/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [add] https://crrev.com/da53ad5d3936247d4b69cffef9e6e2bc90971ba1/content/browser/background_fetch/storage/get_num_requests_task.cc [add] https://crrev.com/da53ad5d3936247d4b69cffef9e6e2bc90971ba1/content/browser/background_fetch/storage/get_num_requests_task.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ecd233150d8bcfe1ae6c4b1e71fe1360e53726e4 commit ecd233150d8bcfe1ae6c4b1e71fe1360e53726e4 Author: Rayan Kanso <rayankans@chromium.org> Date: Tue May 29 15:36:41 2018 [Background Fetch] Pass CacheStorageManager to relevant DatabaseTasks Bug: 826257 Change-Id: I18e2cfcc390119c528c600b49cbf3a7e78b7857f Reviewed-on: https://chromium-review.googlesource.com/1068870 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Avi Drissman <avi@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#562435} [modify] https://crrev.com/ecd233150d8bcfe1ae6c4b1e71fe1360e53726e4/content/browser/background_fetch/background_fetch_context.cc [modify] https://crrev.com/ecd233150d8bcfe1ae6c4b1e71fe1360e53726e4/content/browser/background_fetch/background_fetch_context.h [modify] https://crrev.com/ecd233150d8bcfe1ae6c4b1e71fe1360e53726e4/content/browser/background_fetch/background_fetch_data_manager.cc [modify] https://crrev.com/ecd233150d8bcfe1ae6c4b1e71fe1360e53726e4/content/browser/background_fetch/background_fetch_data_manager.h [modify] https://crrev.com/ecd233150d8bcfe1ae6c4b1e71fe1360e53726e4/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [modify] https://crrev.com/ecd233150d8bcfe1ae6c4b1e71fe1360e53726e4/content/browser/background_fetch/background_fetch_service_unittest.cc [modify] https://crrev.com/ecd233150d8bcfe1ae6c4b1e71fe1360e53726e4/content/browser/background_fetch/storage/get_settled_fetches_task.cc [modify] https://crrev.com/ecd233150d8bcfe1ae6c4b1e71fe1360e53726e4/content/browser/background_fetch/storage/get_settled_fetches_task.h [modify] https://crrev.com/ecd233150d8bcfe1ae6c4b1e71fe1360e53726e4/content/browser/background_fetch/storage/mark_request_complete_task.cc [modify] https://crrev.com/ecd233150d8bcfe1ae6c4b1e71fe1360e53726e4/content/browser/background_fetch/storage/mark_request_complete_task.h [modify] https://crrev.com/ecd233150d8bcfe1ae6c4b1e71fe1360e53726e4/content/browser/storage_partition_impl.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/07130ab9c37d16d1025ccdadf219f79534c1b305 commit 07130ab9c37d16d1025ccdadf219f79534c1b305 Author: Rayan Kanso <rayankans@chromium.org> Date: Thu May 31 11:42:32 2018 [Background Fetch] Store background fetch responses in cache storage Update the MarkRequestCompleteTask to store the response provided by the DownloadManager in CacheStorage. Bug: 826257 Change-Id: I51717323c1bd14d5da34c3ec1307fab6089d9fe7 Reviewed-on: https://chromium-review.googlesource.com/1072467 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#563193} [modify] https://crrev.com/07130ab9c37d16d1025ccdadf219f79534c1b305/content/browser/background_fetch/background_fetch_data_manager.h [modify] https://crrev.com/07130ab9c37d16d1025ccdadf219f79534c1b305/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [modify] https://crrev.com/07130ab9c37d16d1025ccdadf219f79534c1b305/content/browser/background_fetch/background_fetch_request_info.cc [modify] https://crrev.com/07130ab9c37d16d1025ccdadf219f79534c1b305/content/browser/background_fetch/background_fetch_request_info.h [modify] https://crrev.com/07130ab9c37d16d1025ccdadf219f79534c1b305/content/browser/background_fetch/storage/mark_request_complete_task.cc [modify] https://crrev.com/07130ab9c37d16d1025ccdadf219f79534c1b305/content/browser/background_fetch/storage/mark_request_complete_task.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/44e770e1ea08d266bf7d4ccdc798f08a180b3b1d commit 44e770e1ea08d266bf7d4ccdc798f08a180b3b1d Author: Rayan Kanso <rayankans@chromium.org> Date: Thu May 31 12:03:22 2018 [Background Fetch] Get settled fetches from Cache Storage. Bug: 826257 Change-Id: I60c7ce03d916279fe05736ed652bfc5a1d8bebe4 Reviewed-on: https://chromium-review.googlesource.com/1076630 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#563200} [modify] https://crrev.com/44e770e1ea08d266bf7d4ccdc798f08a180b3b1d/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [modify] https://crrev.com/44e770e1ea08d266bf7d4ccdc798f08a180b3b1d/content/browser/background_fetch/storage/get_settled_fetches_task.cc [modify] https://crrev.com/44e770e1ea08d266bf7d4ccdc798f08a180b3b1d/content/browser/background_fetch/storage/get_settled_fetches_task.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0a7325fd8ba1754298afe264433eeb4b6d9b2f05 commit 0a7325fd8ba1754298afe264433eeb4b6d9b2f05 Author: Sebastien Seguin-Gagnon <sebsg@chromium.org> Date: Thu May 31 18:41:21 2018 Revert "[Background Fetch] Get settled fetches from Cache Storage." This reverts commit 44e770e1ea08d266bf7d4ccdc798f08a180b3b1d. Reason for revert: Makes Persistent/BackgroundFetchDataManagerTest.GetSettledFetchesForRegistration/0 consistently fail on Windows: https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Win10%20Tests%20x64%20%28dbg%29/940 also 941 and 942 Original change's description: > [Background Fetch] Get settled fetches from Cache Storage. > > Bug: 826257 > Change-Id: I60c7ce03d916279fe05736ed652bfc5a1d8bebe4 > Reviewed-on: https://chromium-review.googlesource.com/1076630 > Commit-Queue: Rayan Kanso <rayankans@chromium.org> > Reviewed-by: Peter Beverloo <peter@chromium.org> > Cr-Commit-Position: refs/heads/master@{#563200} TBR=peter@chromium.org,nator@chromium.org,rayankans@chromium.org Change-Id: I18a49f2edf1ed9779ff2c8cd2d38a6f124597363 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 826257 Reviewed-on: https://chromium-review.googlesource.com/1081167 Reviewed-by: Sebastien Seguin-Gagnon <sebsg@chromium.org> Commit-Queue: Sebastien Seguin-Gagnon <sebsg@chromium.org> Cr-Commit-Position: refs/heads/master@{#563333} [modify] https://crrev.com/0a7325fd8ba1754298afe264433eeb4b6d9b2f05/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [modify] https://crrev.com/0a7325fd8ba1754298afe264433eeb4b6d9b2f05/content/browser/background_fetch/storage/get_settled_fetches_task.cc [modify] https://crrev.com/0a7325fd8ba1754298afe264433eeb4b6d9b2f05/content/browser/background_fetch/storage/get_settled_fetches_task.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d4ce833eeddc1c69fe3275af313f5030b22c23e4 commit d4ce833eeddc1c69fe3275af313f5030b22c23e4 Author: Rayan Kanso <rayankans@chromium.org> Date: Fri Jun 01 10:56:35 2018 [Background Fetch] Get settled fetches from Cache Storage. Resubmitting cl/1076630 after it got rolled-back. The only change is in get_settled_fetches_task.cc line 127, and the comments above explain why the change was necessary. Bug: 826257 Change-Id: I628e74efbeca7b877ea316876674df5ee7b94b48 Reviewed-on: https://chromium-review.googlesource.com/1080797 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#563584} [modify] https://crrev.com/d4ce833eeddc1c69fe3275af313f5030b22c23e4/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [modify] https://crrev.com/d4ce833eeddc1c69fe3275af313f5030b22c23e4/content/browser/background_fetch/storage/get_settled_fetches_task.cc [modify] https://crrev.com/d4ce833eeddc1c69fe3275af313f5030b22c23e4/content/browser/background_fetch/storage/get_settled_fetches_task.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ef853064d009a124a6a491f011d5768731f0ecfd commit ef853064d009a124a6a491f011d5768731f0ecfd Author: Rayan Kanso <rayankans@chromium.org> Date: Fri Jun 01 13:29:57 2018 [Background Fetch] Modify failed responses returned from DataManager The V8 responses being created crash if they do not have response_type set. Bug: 826257 Change-Id: If62f75220b49f1e3b5c692036175a7ed524888c8 Reviewed-on: https://chromium-review.googlesource.com/1080630 Commit-Queue: Peter Beverloo <peter@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#563607} [modify] https://crrev.com/ef853064d009a124a6a491f011d5768731f0ecfd/content/browser/background_fetch/storage/get_settled_fetches_task.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/61ccefe31908484621e26bbe4fbc402e625136a2 commit 61ccefe31908484621e26bbe4fbc402e625136a2 Author: Rayan Kanso <rayankans@chromium.org> Date: Mon Jun 04 19:32:18 2018 [Background Fetch] Minor fixes for persistent mode. Minor changes needed for the tests to pass when persistent mode is enabled. - Check whether next request to download is valid. - Set the value download total in the metadata. Bug: 826257 Change-Id: I33b96122600a8831709632072245f35ccc5aa0c7 Reviewed-on: https://chromium-review.googlesource.com/1085569 Reviewed-by: Peter Beverloo <peter@chromium.org> Commit-Queue: Rayan Kanso <rayankans@chromium.org> Cr-Commit-Position: refs/heads/master@{#564187} [modify] https://crrev.com/61ccefe31908484621e26bbe4fbc402e625136a2/content/browser/background_fetch/background_fetch_scheduler.cc [modify] https://crrev.com/61ccefe31908484621e26bbe4fbc402e625136a2/content/browser/background_fetch/storage/create_metadata_task.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4d15c063f39234d6e7ee52a62837b6bb4dbf2b0f commit 4d15c063f39234d6e7ee52a62837b6bb4dbf2b0f Author: Rayan Kanso <rayankans@chromium.org> Date: Mon Jun 04 19:43:00 2018 [Background Fetch] Use TestDataManager in tests. Bug: 826257 Change-Id: I1d607b7fe2ab220f779a22f50244147eb7fd4d7f Reviewed-on: https://chromium-review.googlesource.com/1082539 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#564191} [modify] https://crrev.com/4d15c063f39234d6e7ee52a62837b6bb4dbf2b0f/content/browser/background_fetch/background_fetch_context.cc [modify] https://crrev.com/4d15c063f39234d6e7ee52a62837b6bb4dbf2b0f/content/browser/background_fetch/background_fetch_context.h [modify] https://crrev.com/4d15c063f39234d6e7ee52a62837b6bb4dbf2b0f/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [modify] https://crrev.com/4d15c063f39234d6e7ee52a62837b6bb4dbf2b0f/content/browser/background_fetch/background_fetch_service_unittest.cc [modify] https://crrev.com/4d15c063f39234d6e7ee52a62837b6bb4dbf2b0f/content/browser/background_fetch/background_fetch_test_base.cc [modify] https://crrev.com/4d15c063f39234d6e7ee52a62837b6bb4dbf2b0f/content/browser/background_fetch/background_fetch_test_base.h [add] https://crrev.com/4d15c063f39234d6e7ee52a62837b6bb4dbf2b0f/content/browser/background_fetch/background_fetch_test_data_manager.cc [add] https://crrev.com/4d15c063f39234d6e7ee52a62837b6bb4dbf2b0f/content/browser/background_fetch/background_fetch_test_data_manager.h [modify] https://crrev.com/4d15c063f39234d6e7ee52a62837b6bb4dbf2b0f/content/test/BUILD.gn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/26545b8ce3799aead97938da3a198b3000bfc5cb commit 26545b8ce3799aead97938da3a198b3000bfc5cb Author: Rayan Kanso <rayankans@chromium.org> Date: Fri Jun 08 17:48:59 2018 [Background Fetch] Remove non-persistent code in DataManager. The switch will be deleted in a follow-up CL. Bug: 826257 Change-Id: I288e4bc5050714357c10b2d04e95586e23df44f4 Reviewed-on: https://chromium-review.googlesource.com/1089057 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#565676} [modify] https://crrev.com/26545b8ce3799aead97938da3a198b3000bfc5cb/content/browser/background_fetch/background_fetch_data_manager.cc [modify] https://crrev.com/26545b8ce3799aead97938da3a198b3000bfc5cb/content/browser/background_fetch/background_fetch_data_manager.h [modify] https://crrev.com/26545b8ce3799aead97938da3a198b3000bfc5cb/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [modify] https://crrev.com/26545b8ce3799aead97938da3a198b3000bfc5cb/content/browser/background_fetch/background_fetch_scheduler.cc [modify] https://crrev.com/26545b8ce3799aead97938da3a198b3000bfc5cb/content/browser/background_fetch/background_fetch_scheduler.h [modify] https://crrev.com/26545b8ce3799aead97938da3a198b3000bfc5cb/content/browser/background_fetch/background_fetch_service_unittest.cc [modify] https://crrev.com/26545b8ce3799aead97938da3a198b3000bfc5cb/content/browser/background_fetch/storage/get_settled_fetches_task.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e950eaedb17bbe6a0ddf1f2ebbdeb421a5011cc4 commit e950eaedb17bbe6a0ddf1f2ebbdeb421a5011cc4 Author: Rayan Kanso <rayankans@chromium.org> Date: Fri Jun 08 21:40:45 2018 [Background Fetch] Remove persistence switch. Bug: 826257 Change-Id: I8e4cc29d2c2bda04093820b1054a999e46738b9d Reviewed-on: https://chromium-review.googlesource.com/1092733 Commit-Queue: Rayan Kanso <rayankans@chromium.org> Reviewed-by: Avi Drissman <avi@chromium.org> Cr-Commit-Position: refs/heads/master@{#565750} [modify] https://crrev.com/e950eaedb17bbe6a0ddf1f2ebbdeb421a5011cc4/content/public/common/content_switches.cc [modify] https://crrev.com/e950eaedb17bbe6a0ddf1f2ebbdeb421a5011cc4/content/public/common/content_switches.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a8583d142387d4d28578f5056a30df8fdb148098 commit a8583d142387d4d28578f5056a30df8fdb148098 Author: Rayan Kanso <rayankans@chromium.org> Date: Thu Jun 21 19:23:26 2018 [Background Fetch] Update download total after fetch is complete. After a fetch is complete, the metadata in the ServiceWorker database is updated with the new total_downloaded value. Bug: 826257 Change-Id: I8167683cc89f0d8567ddc861e934b3a4f4a20bd7 Reviewed-on: https://chromium-review.googlesource.com/1080816 Reviewed-by: Peter Beverloo <peter@chromium.org> Commit-Queue: Rayan Kanso <rayankans@chromium.org> Cr-Commit-Position: refs/heads/master@{#569352} [modify] https://crrev.com/a8583d142387d4d28578f5056a30df8fdb148098/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [modify] https://crrev.com/a8583d142387d4d28578f5056a30df8fdb148098/content/browser/background_fetch/storage/mark_request_complete_task.cc [modify] https://crrev.com/a8583d142387d4d28578f5056a30df8fdb148098/content/browser/background_fetch/storage/mark_request_complete_task.h
Comment 1 by bugdroid1@chromium.org
, Mar 28 2018