1 // Copyright 2019 The Chromium Authors. All rights reserved.
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 "services/network/test/test_cookie_manager.h"
6 
7 #include <utility>
8 
9 #include "base/callback.h"
10 #include "net/cookies/canonical_cookie.h"
11 #include "net/cookies/cookie_inclusion_status.h"
12 
13 namespace network {
14 
15 TestCookieManager::TestCookieManager() = default;
16 
17 TestCookieManager::~TestCookieManager() = default;
18 
SetCanonicalCookie(const net::CanonicalCookie & cookie,const GURL & source_url,const net::CookieOptions & cookie_options,SetCanonicalCookieCallback callback)19 void TestCookieManager::SetCanonicalCookie(
20     const net::CanonicalCookie& cookie,
21     const GURL& source_url,
22     const net::CookieOptions& cookie_options,
23     SetCanonicalCookieCallback callback) {
24   if (callback) {
25     std::move(callback).Run(net::CookieAccessResult(net::CookieInclusionStatus(
26         net::CookieInclusionStatus::EXCLUDE_UNKNOWN_ERROR)));
27   }
28 }
29 
AddCookieChangeListener(const GURL & url,const base::Optional<std::string> & name,mojo::PendingRemote<network::mojom::CookieChangeListener> listener)30 void TestCookieManager::AddCookieChangeListener(
31     const GURL& url,
32     const base::Optional<std::string>& name,
33     mojo::PendingRemote<network::mojom::CookieChangeListener> listener) {
34   mojo::Remote<network::mojom::CookieChangeListener> listener_remote(
35       std::move(listener));
36   cookie_change_listeners_.push_back(std::move(listener_remote));
37 }
38 
DispatchCookieChange(const net::CookieChangeInfo & change)39 void TestCookieManager::DispatchCookieChange(
40     const net::CookieChangeInfo& change) {
41   for (auto& cookie_change_listener_ : cookie_change_listeners_) {
42     cookie_change_listener_->OnCookieChange(change);
43   }
44 }
45 
46 }  // namespace network
47