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 #ifndef SERVICES_NETWORK_TEST_TEST_COOKIE_MANAGER_H_ 6 #define SERVICES_NETWORK_TEST_TEST_COOKIE_MANAGER_H_ 7 8 #include <string> 9 #include <vector> 10 11 #include "base/callback_forward.h" 12 #include "base/macros.h" 13 #include "mojo/public/cpp/bindings/remote.h" 14 #include "services/network/public/mojom/cookie_manager.mojom.h" 15 16 namespace network { 17 18 // Stubbed out implementation of network::mojom::CookieManager for 19 // tests. 20 class TestCookieManager : public network::mojom::CookieManager { 21 public: 22 TestCookieManager(); 23 ~TestCookieManager() override; 24 25 void SetCanonicalCookie(const net::CanonicalCookie& cookie, 26 const GURL& source_url, 27 const net::CookieOptions& cookie_options, 28 SetCanonicalCookieCallback callback) override; GetAllCookies(GetAllCookiesCallback callback)29 void GetAllCookies(GetAllCookiesCallback callback) override {} GetAllCookiesWithAccessSemantics(GetAllCookiesWithAccessSemanticsCallback callback)30 void GetAllCookiesWithAccessSemantics( 31 GetAllCookiesWithAccessSemanticsCallback callback) override {} GetCookieList(const GURL & url,const net::CookieOptions & cookie_options,GetCookieListCallback callback)32 void GetCookieList(const GURL& url, 33 const net::CookieOptions& cookie_options, 34 GetCookieListCallback callback) override {} DeleteCanonicalCookie(const net::CanonicalCookie & cookie,DeleteCanonicalCookieCallback callback)35 void DeleteCanonicalCookie(const net::CanonicalCookie& cookie, 36 DeleteCanonicalCookieCallback callback) override {} DeleteCookies(network::mojom::CookieDeletionFilterPtr filter,DeleteCookiesCallback callback)37 void DeleteCookies(network::mojom::CookieDeletionFilterPtr filter, 38 DeleteCookiesCallback callback) override {} 39 void AddCookieChangeListener( 40 const GURL& url, 41 const base::Optional<std::string>& name, 42 mojo::PendingRemote<network::mojom::CookieChangeListener> listener) 43 override; AddGlobalChangeListener(mojo::PendingRemote<network::mojom::CookieChangeListener> notification_pointer)44 void AddGlobalChangeListener( 45 mojo::PendingRemote<network::mojom::CookieChangeListener> 46 notification_pointer) override {} CloneInterface(mojo::PendingReceiver<network::mojom::CookieManager> new_interface)47 void CloneInterface(mojo::PendingReceiver<network::mojom::CookieManager> 48 new_interface) override {} FlushCookieStore(FlushCookieStoreCallback callback)49 void FlushCookieStore(FlushCookieStoreCallback callback) override {} AllowFileSchemeCookies(bool allow,AllowFileSchemeCookiesCallback callback)50 void AllowFileSchemeCookies( 51 bool allow, 52 AllowFileSchemeCookiesCallback callback) override {} SetContentSettings(const std::vector<::ContentSettingPatternSource> & settings)53 void SetContentSettings( 54 const std::vector<::ContentSettingPatternSource>& settings) override {} SetForceKeepSessionState()55 void SetForceKeepSessionState() override {} BlockThirdPartyCookies(bool block)56 void BlockThirdPartyCookies(bool block) override {} SetContentSettingsForLegacyCookieAccess(const std::vector<::ContentSettingPatternSource> & settings)57 void SetContentSettingsForLegacyCookieAccess( 58 const std::vector<::ContentSettingPatternSource>& settings) override {} SetStorageAccessGrantSettings(const std::vector<::ContentSettingPatternSource> & settings,SetStorageAccessGrantSettingsCallback callback)59 void SetStorageAccessGrantSettings( 60 const std::vector<::ContentSettingPatternSource>& settings, 61 SetStorageAccessGrantSettingsCallback callback) override {} 62 63 void DispatchCookieChange(const net::CookieChangeInfo& change); 64 65 private: 66 // List of observers receiving cookie change notifications. 67 std::vector<mojo::Remote<network::mojom::CookieChangeListener>> 68 cookie_change_listeners_; 69 }; 70 71 } // namespace network 72 #endif // SERVICES_NETWORK_TEST_TEST_COOKIE_MANAGER_H_ 73