blob: 5e32abe067fbd3fcdec67cd39481a3595c785928 [file] [log] [blame]
// Copyright 2018 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 blink.mojom;
import "services/network/public/mojom/restricted_cookie_manager.mojom";
import "url/mojom/url.mojom";
struct CookieChangeSubscription {
url.mojom.Url url;
network.mojom.CookieMatchType match_type;
string name;
};
// Tracks ServiceWorker subscriptions to cookie changes.
//
// Most code should access the cookie store via the RestrictedCookieManager
// interface in //services/network. This interface manages service worker
// subscriptions to cookie changes, which currently fall outside the network
// service's scope. The implementation lives in the browser process, because it
// has the ability to wake up service workers in order to dispatch events to
// them.
interface CookieStore {
// Adds the given subscriptions to the registration's subscription list.
AppendSubscriptions(
int64 service_worker_registration_id,
array<CookieChangeSubscription> subscriptions) => (bool success);
// Returns all cookie change subscriptions for a service worker registration.
GetSubscriptions(int64 service_worker_registration_id)
=> (array<CookieChangeSubscription> subscriptions, bool success);
};