| Index: content/renderer/background_sync/background_sync_client_impl.cc
|
| diff --git a/content/renderer/background_sync/background_sync_client_impl.cc b/content/renderer/background_sync/background_sync_client_impl.cc
|
| index bd420c0860c7f5afb2493e27bb96354a03276d42..195451273902d0d30d0c2cc94ad8d30a0d045fe3 100644
|
| --- a/content/renderer/background_sync/background_sync_client_impl.cc
|
| +++ b/content/renderer/background_sync/background_sync_client_impl.cc
|
| @@ -27,53 +27,13 @@ BackgroundSyncClientImpl::~BackgroundSyncClientImpl() {}
|
|
|
| BackgroundSyncClientImpl::BackgroundSyncClientImpl(
|
| mojo::InterfaceRequest<BackgroundSyncServiceClient> request)
|
| - : binding_(this, std::move(request)), callback_seq_num_(0) {}
|
| + : binding_(this, std::move(request)) {}
|
|
|
| void BackgroundSyncClientImpl::Sync(
|
| - int64_t handle_id,
|
| + const mojo::String& tag,
|
| content::BackgroundSyncEventLastChance last_chance,
|
| const SyncCallback& callback) {
|
| DCHECK(!blink::Platform::current()->mainThread()->isCurrentThread());
|
| - // Get a registration for the given handle_id from the provider. This way
|
| - // the provider knows about the handle and can delete it once Blink releases
|
| - // it.
|
| - // TODO(jkarlin): Change the WebSyncPlatform to support
|
| - // DuplicateRegistrationHandle and then this cast can go.
|
| - BackgroundSyncProvider* provider = static_cast<BackgroundSyncProvider*>(
|
| - blink::Platform::current()->backgroundSyncProvider());
|
| -
|
| - if (provider == nullptr) {
|
| - // This can happen if the renderer is shutting down when sync fires. See
|
| - // crbug.com/543898. No need to fire the callback as the browser will
|
| - // automatically fail all pending sync events when the mojo connection
|
| - // closes.
|
| - return;
|
| - }
|
| -
|
| - // TODO(jkarlin): Find a way to claim the handle safely without requiring a
|
| - // round-trip IPC.
|
| - int64_t id = ++callback_seq_num_;
|
| - sync_callbacks_[id] = callback;
|
| - provider->DuplicateRegistrationHandle(
|
| - handle_id, base::Bind(&BackgroundSyncClientImpl::SyncDidGetRegistration,
|
| - base::Unretained(this), id, last_chance));
|
| -}
|
| -
|
| -void BackgroundSyncClientImpl::SyncDidGetRegistration(
|
| - int64_t callback_id,
|
| - content::BackgroundSyncEventLastChance last_chance,
|
| - BackgroundSyncError error,
|
| - SyncRegistrationPtr registration) {
|
| - SyncCallback callback;
|
| - auto it = sync_callbacks_.find(callback_id);
|
| - DCHECK(it != sync_callbacks_.end());
|
| - callback = it->second;
|
| - sync_callbacks_.erase(it);
|
| -
|
| - if (error != BackgroundSyncError::NONE) {
|
| - callback.Run(ServiceWorkerEventStatus::ABORTED);
|
| - return;
|
| - }
|
|
|
| ServiceWorkerContextClient* client =
|
| ServiceWorkerContextClient::ThreadSpecificInstance();
|
| @@ -82,14 +42,11 @@ void BackgroundSyncClientImpl::SyncDidGetRegistration(
|
| return;
|
| }
|
|
|
| - scoped_ptr<blink::WebSyncRegistration> web_registration =
|
| - mojo::ConvertTo<scoped_ptr<blink::WebSyncRegistration>>(registration);
|
| -
|
| blink::WebServiceWorkerContextProxy::LastChanceOption web_last_chance =
|
| mojo::ConvertTo<blink::WebServiceWorkerContextProxy::LastChanceOption>(
|
| last_chance);
|
|
|
| - client->DispatchSyncEvent(*web_registration, web_last_chance, callback);
|
| + client->DispatchSyncEvent(tag, web_last_chance, callback);
|
| }
|
|
|
| } // namespace content
|
|
|