blob: d1b0cd1089cf65e9049b08958198f98bec242538 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module content;
import "content/public/common/background_sync.mojom";
import "content/public/common/permission_status.mojom";
import "content/public/common/service_worker_event_status.mojom";
enum BackgroundSyncError {
NONE,
STORAGE,
NOT_FOUND,
NO_SERVICE_WORKER,
NOT_ALLOWED,
MAX=NOT_ALLOWED
};
enum BackgroundSyncState {
PENDING,
FIRING,
UNREGISTERED_WHILE_FIRING,
REREGISTERED_WHILE_FIRING,
FAILED,
SUCCESS,
UNREGISTERED
};
enum BackgroundSyncEventLastChance {
IS_NOT_LAST_CHANCE,
IS_LAST_CHANCE
};
interface BackgroundSyncService {
Register(SyncRegistration options, int64 service_worker_registration_id,
bool requested_from_service_worker)
=> (BackgroundSyncError err, SyncRegistration options);
GetRegistration(BackgroundSyncPeriodicity periodicity, string tag,
int64 service_worker_registration_id)
=> (BackgroundSyncError err, SyncRegistration? registration);
GetRegistrations(BackgroundSyncPeriodicity periodicity,
int64 service_worker_registration_id)
=> (BackgroundSyncError err, array<SyncRegistration> registrations);
Unregister(int64 handle_id, int64 service_worker_registration_id)
=> (BackgroundSyncError err);
GetPermissionStatus(BackgroundSyncPeriodicity periodicity,
int64 service_worker_registration_id)
=> (BackgroundSyncError err, PermissionStatus status);
DuplicateRegistrationHandle(int64 handle_id)
=> (BackgroundSyncError err, SyncRegistration? registration);
ReleaseRegistration(int64 handle_id);
NotifyWhenFinished(int64 handle_id) => (BackgroundSyncError err, BackgroundSyncState final_status);
};
interface BackgroundSyncServiceClient {
Sync(int64 handle_id, BackgroundSyncEventLastChance last_chance)
=> (ServiceWorkerEventStatus status);
};