blob: 2be4ac5f35eea3f99e1fe6c01c158710c1193bdd [file] [log] [blame]
Giovanni Ortuño Urquidie0a77b42025-03-28 14:31:351// Copyright 2025 The Chromium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "content/browser/renderer_host/cookie_access_observers.h"
6
7#include "services/network/public/mojom/cookie_access_observer.mojom.h"
8
9namespace content {
10
11CookieAccessObservers::CookieAccessObservers(
12 NotifyCookiesAccessedCallback callback)
13 : callback_(std::move(callback)) {}
14
15CookieAccessObservers::~CookieAccessObservers() = default;
16
17void CookieAccessObservers::Add(
18 mojo::PendingReceiver<network::mojom::CookieAccessObserver> receiver,
19 CookieAccessDetails::Source source) {
20 cookie_observer_set_.Add(this, std::move(receiver), source);
21}
22
Giovanni Ortuño Urquidid2e5fab2025-04-02 20:44:0323CookieAccessObservers::PendingObserversWithContext
24CookieAccessObservers::TakeReceiversWithContext() {
25 return cookie_observer_set_.TakeReceiversWithContext();
Giovanni Ortuño Urquidie0a77b42025-03-28 14:31:3526}
27
28void CookieAccessObservers::OnCookiesAccessed(
29 std::vector<network::mojom::CookieAccessDetailsPtr> details_vector) {
30 callback_.Run(std::move(details_vector),
31 cookie_observer_set_.current_context());
32}
33
34void CookieAccessObservers::Clone(
35 mojo::PendingReceiver<network::mojom::CookieAccessObserver> observer) {
36 cookie_observer_set_.Add(this, std::move(observer),
37 cookie_observer_set_.current_context());
38}
39
40} // namespace content