When we find out that the service worker has been de-registered, or the service worker database has been corrupted, we should abort the fetch.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9de442989747113525ec0b18fd15b93dd9677a5a commit 9de442989747113525ec0b18fd15b93dd9677a5a Author: Mugdha Lakhani <nator@chromium.org> Date: Thu Jun 07 16:14:53 2018 [Background Fetch] Abandon fetches when service worker is unavailable. This change adds logic to BackgroundFetch Context to observe service worker events, specifically, unregistration, and wiping of SW database, and implements logic for the unregistration case. It also adds a small unit test to verify the appropriate error code is returned when the service worker is unregistered mid-fetch. Bug: 841385 Change-Id: I0a22489ce79bbffb7a5528c8646522c40e59a799 Reviewed-on: https://chromium-review.googlesource.com/1071651 Commit-Queue: Mugdha Lakhani <nator@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#565287} [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/content/browser/background_fetch/background_fetch_context.cc [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/content/browser/background_fetch/background_fetch_context.h [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/content/browser/background_fetch/background_fetch_data_manager.cc [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/content/browser/background_fetch/background_fetch_job_controller.cc [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/content/browser/background_fetch/background_fetch_job_controller.h [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/content/browser/background_fetch/background_fetch_job_controller_unittest.cc [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/content/browser/background_fetch/background_fetch_scheduler.cc [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/content/browser/background_fetch/background_fetch_scheduler.h [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/content/browser/background_fetch/background_fetch_service_impl.h [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/content/browser/background_fetch/background_fetch_service_unittest.cc [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/content/browser/background_fetch/background_fetch_test_base.cc [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/content/browser/background_fetch/background_fetch_test_base.h [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/content/browser/storage_partition_impl_map.cc [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/content/public/browser/background_fetch_delegate.h [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/third_party/blink/public/platform/modules/background_fetch/background_fetch.mojom [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/third_party/blink/renderer/modules/background_fetch/background_fetch_registration.cc [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/third_party/blink/renderer/modules/background_fetch/background_fetch_update_event.cc [modify] https://crrev.com/9de442989747113525ec0b18fd15b93dd9677a5a/third_party/blink/renderer/modules/background_fetch/background_fetched_event.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e205bc26ed0bd2468ee6dbe893115c57cb895eb6 commit e205bc26ed0bd2468ee6dbe893115c57cb895eb6 Author: Mugdha Lakhani <nator@chromium.org> Date: Mon Jun 11 17:19:20 2018 [Background Fetch] Respond to service worker database deletion. by abandoning all ongoing fetches for the storage partition. Bug: 841385 Change-Id: I6fc990304272832fe0e8d993281a0aa06d083e75 Reviewed-on: https://chromium-review.googlesource.com/1087065 Commit-Queue: Mugdha Lakhani <nator@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#566039} [modify] https://crrev.com/e205bc26ed0bd2468ee6dbe893115c57cb895eb6/content/browser/background_fetch/background_fetch_context.cc [modify] https://crrev.com/e205bc26ed0bd2468ee6dbe893115c57cb895eb6/content/browser/background_fetch/background_fetch_context.h [modify] https://crrev.com/e205bc26ed0bd2468ee6dbe893115c57cb895eb6/content/browser/background_fetch/background_fetch_job_controller_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ec97aa89a2df2dda56282558afdf211c09418410 commit ec97aa89a2df2dda56282558afdf211c09418410 Author: Mugdha Lakhani <nator@chromium.org> Date: Wed Jun 27 17:46:31 2018 [Background Fetch] Respond to service worker database corruption. This will abort all ongoing fetches, and mark their data for deletion. Bug: 841385 Change-Id: I19eba7a294dd348c0c0a5324f3b23b438b571c03 Change-Id: I19eba7a294dd348c0c0a5324f3b23b438b571c03 Reviewed-on: https://chromium-review.googlesource.com/1103559 Commit-Queue: Mugdha Lakhani <nator@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/master@{#570830} [modify] https://crrev.com/ec97aa89a2df2dda56282558afdf211c09418410/content/browser/background_fetch/background_fetch_context.cc [modify] https://crrev.com/ec97aa89a2df2dda56282558afdf211c09418410/content/browser/background_fetch/background_fetch_data_manager.cc [modify] https://crrev.com/ec97aa89a2df2dda56282558afdf211c09418410/content/browser/background_fetch/background_fetch_data_manager.h [modify] https://crrev.com/ec97aa89a2df2dda56282558afdf211c09418410/content/browser/background_fetch/background_fetch_test_data_manager.cc [modify] https://crrev.com/ec97aa89a2df2dda56282558afdf211c09418410/content/browser/background_fetch/storage/delete_registration_task.cc [modify] https://crrev.com/ec97aa89a2df2dda56282558afdf211c09418410/content/browser/background_fetch/storage/get_settled_fetches_task.cc [modify] https://crrev.com/ec97aa89a2df2dda56282558afdf211c09418410/content/browser/background_fetch/storage/mark_registration_for_deletion_task.cc [modify] https://crrev.com/ec97aa89a2df2dda56282558afdf211c09418410/content/browser/background_fetch/storage/start_next_pending_request_task.cc
Issue 692640 has been merged into this issue.
Comment 1 by na...@chromium.org
, May 15 2018