Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1131)

Unified Diff: content/browser/background_fetch/background_fetch_service_impl.cc

Issue 2777183002: Hook up the other Background Fetch Mojo methods with the system (Closed)
Patch Set: Hook up the other Background Fetch Mojo methods with the system Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/background_fetch/background_fetch_service_impl.cc
diff --git a/content/browser/background_fetch/background_fetch_service_impl.cc b/content/browser/background_fetch/background_fetch_service_impl.cc
index c15a5de62d1857b9979b4ab3d726ff57004cab92..e89e0c248935305b4fccbd9b8975d264655f1ee7 100644
--- a/content/browser/background_fetch/background_fetch_service_impl.cc
+++ b/content/browser/background_fetch/background_fetch_service_impl.cc
@@ -8,6 +8,7 @@
#include "base/memory/ptr_util.h"
#include "base/optional.h"
#include "content/browser/background_fetch/background_fetch_context.h"
+#include "content/browser/background_fetch/background_fetch_job_controller.h"
#include "content/browser/background_fetch/background_fetch_registration_id.h"
#include "content/browser/bad_message.h"
#include "content/browser/service_worker/service_worker_context_wrapper.h"
@@ -93,10 +94,15 @@ void BackgroundFetchServiceImpl::UpdateUI(
return;
}
- // TODO(peter): Get the BackgroundFetchJobController for the
- // {service_worker_registration_id, tag} pair and call UpdateUI() on it.
+ BackgroundFetchJobController* controller =
+ background_fetch_context_->GetActiveFetch(BackgroundFetchRegistrationId(
+ service_worker_registration_id, origin, tag));
- callback.Run(blink::mojom::BackgroundFetchError::NONE);
+ if (controller)
+ controller->UpdateUI(title);
+
+ callback.Run(controller ? blink::mojom::BackgroundFetchError::NONE
+ : blink::mojom::BackgroundFetchError::INVALID_TAG);
}
void BackgroundFetchServiceImpl::Abort(int64_t service_worker_registration_id,
@@ -109,10 +115,15 @@ void BackgroundFetchServiceImpl::Abort(int64_t service_worker_registration_id,
return;
}
- // TODO(peter): Get the BackgroundFetchJobController for the
- // {service_worker_registration_id, tag} pair and call Abort() on it.
+ BackgroundFetchJobController* controller =
+ background_fetch_context_->GetActiveFetch(BackgroundFetchRegistrationId(
+ service_worker_registration_id, origin, tag));
+
+ if (controller)
+ controller->Abort();
- callback.Run(blink::mojom::BackgroundFetchError::NONE);
+ callback.Run(controller ? blink::mojom::BackgroundFetchError::NONE
+ : blink::mojom::BackgroundFetchError::INVALID_TAG);
}
void BackgroundFetchServiceImpl::GetRegistration(
@@ -127,23 +138,35 @@ void BackgroundFetchServiceImpl::GetRegistration(
return;
}
- // TODO(peter): Get the registration for {service_worker_registration_id, tag}
- // and construct a BackgroundFetchRegistrationPtr for it.
+ BackgroundFetchJobController* controller =
+ background_fetch_context_->GetActiveFetch(BackgroundFetchRegistrationId(
+ service_worker_registration_id, origin, tag));
- callback.Run(blink::mojom::BackgroundFetchError::NONE,
- base::nullopt /* registration */);
+ if (!controller) {
+ callback.Run(blink::mojom::BackgroundFetchError::INVALID_TAG,
+ base::nullopt /* registration */);
+ return;
+ }
+
+ // Compile the BackgroundFetchRegistration object that will be given to the
+ // developer, representing the data associated with the |controller|.
+ BackgroundFetchRegistration registration;
+ registration.tag = controller->registration_id().tag();
+ registration.icons = controller->options().icons;
+ registration.title = controller->options().title;
+ registration.total_download_size = controller->options().total_download_size;
+
+ callback.Run(blink::mojom::BackgroundFetchError::NONE, registration);
}
void BackgroundFetchServiceImpl::GetTags(int64_t service_worker_registration_id,
const url::Origin& origin,
const GetTagsCallback& callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
-
- // TODO(peter): Get the list of active Background Fetches associated with
- // service_worker_registration_id and share their tags.
-
- callback.Run(blink::mojom::BackgroundFetchError::NONE,
- std::vector<std::string>());
+ callback.Run(
+ blink::mojom::BackgroundFetchError::NONE,
+ background_fetch_context_->GetActiveTagsForServiceWorkerRegistration(
+ service_worker_registration_id, origin));
}
bool BackgroundFetchServiceImpl::ValidateTag(const std::string& tag) {

Powered by Google App Engine
This is Rietveld 408576698