// 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 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); };