Define the metadata that needs to be stored for BackgroundFetch to resume fetches |
|||
Issue descriptionBackgroundFetch will be dispatching requests to the DownloadManager to handle the actual processing of the fetch. However, it needs to be able to resume monitoring those fetches after Chrome has been restarted. It needs to be able to do the following things: * Reconnect an observer to a fetch. * Check for status on (possibly) completed fetches. * Deliver an event to the service worker when the fetch eventually completes. * Display in-progress or completed notifications. * (Possibly) Re-issue parts of a batched request.
,
Mar 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/98c614330c5ea34ff43692394e63dcb2168fe54b commit 98c614330c5ea34ff43692394e63dcb2168fe54b Author: harkness <harkness@chromium.org> Date: Tue Mar 28 09:22:22 2017 Start aligning BackgroundFetchRequestInfo with the passed in request object. This CL makes two changes to BackgroundFetchRequestInfo. First, it adds a ServiceWorkerFetchRequest object which copies the value passed in from the Mojo call and will be serialized out as part of storing the request. As part of this, the old url_ member is removed, since it is replaced by the FetchRequest's url attribute. The second change is that the tag_ attribute on the RequestInfo isxi removed. It was a legacy from when a request tracked the entire job, and wasn't used. BUG= 692540 Review-Url: https://codereview.chromium.org/2778793002 Cr-Commit-Position: refs/heads/master@{#460048} [modify] https://crrev.com/98c614330c5ea34ff43692394e63dcb2168fe54b/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [modify] https://crrev.com/98c614330c5ea34ff43692394e63dcb2168fe54b/content/browser/background_fetch/background_fetch_job_controller.cc [modify] https://crrev.com/98c614330c5ea34ff43692394e63dcb2168fe54b/content/browser/background_fetch/background_fetch_job_controller_unittest.cc [modify] https://crrev.com/98c614330c5ea34ff43692394e63dcb2168fe54b/content/browser/background_fetch/background_fetch_job_response_data.cc [modify] https://crrev.com/98c614330c5ea34ff43692394e63dcb2168fe54b/content/browser/background_fetch/background_fetch_request_info.cc [modify] https://crrev.com/98c614330c5ea34ff43692394e63dcb2168fe54b/content/browser/background_fetch/background_fetch_request_info.h
,
Mar 29 2017
,
Mar 30 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/44302d356149f11edfd1e1708e4c171ee073f436 commit 44302d356149f11edfd1e1708e4c171ee073f436 Author: peter <peter@chromium.org> Date: Thu Mar 30 00:52:55 2017 Implement the new polling system in the BackgroundFetchJobController This CL changes how the BackgroundFetchJobController interacts with the requests that have to be made. It'll be given a sequence of requests when starting a fetch -currently set to a single request-, will fetch them and will then get the next request from the BackgroundFetchDataManager once completed. This significantly simplifies the state we have to maintain, since it only knows about the in-progress requests, deferring knowledge of which requests are pending to the DataManager. The tests have been updated to match this. In effect, Background Fetch requests made by the developer will now actually (sequentially) fetch the files. We still have to feed them back to the developer once all fetches have been completed. BUG= 692540 Review-Url: https://codereview.chromium.org/2782553007 Cr-Commit-Position: refs/heads/master@{#460605} [add] https://crrev.com/44302d356149f11edfd1e1708e4c171ee073f436/content/browser/background_fetch/background_fetch_constants.h [modify] https://crrev.com/44302d356149f11edfd1e1708e4c171ee073f436/content/browser/background_fetch/background_fetch_context.cc [modify] https://crrev.com/44302d356149f11edfd1e1708e4c171ee073f436/content/browser/background_fetch/background_fetch_context.h [modify] https://crrev.com/44302d356149f11edfd1e1708e4c171ee073f436/content/browser/background_fetch/background_fetch_data_manager.cc [modify] https://crrev.com/44302d356149f11edfd1e1708e4c171ee073f436/content/browser/background_fetch/background_fetch_data_manager.h [modify] https://crrev.com/44302d356149f11edfd1e1708e4c171ee073f436/content/browser/background_fetch/background_fetch_data_manager_unittest.cc [modify] https://crrev.com/44302d356149f11edfd1e1708e4c171ee073f436/content/browser/background_fetch/background_fetch_job_controller.cc [modify] https://crrev.com/44302d356149f11edfd1e1708e4c171ee073f436/content/browser/background_fetch/background_fetch_job_controller.h [modify] https://crrev.com/44302d356149f11edfd1e1708e4c171ee073f436/content/browser/background_fetch/background_fetch_job_controller_unittest.cc [modify] https://crrev.com/44302d356149f11edfd1e1708e4c171ee073f436/content/browser/background_fetch/background_fetch_request_info.cc [modify] https://crrev.com/44302d356149f11edfd1e1708e4c171ee073f436/content/browser/background_fetch/background_fetch_request_info.h [modify] https://crrev.com/44302d356149f11edfd1e1708e4c171ee073f436/content/browser/background_fetch/background_fetch_test_base.h
,
Aug 7
Closing since persistence is now in place. |
|||
►
Sign in to add a comment |
|||
Comment 1 by mlamouri@chromium.org
, Feb 22 2017