blob: af88e4da3ec86f344c2e4baf0c9223e10b05715b [file] [log] [blame]
[email protected]b0d7aa362012-02-03 18:19:151// Copyright (c) 2012 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
[email protected]63ee33bd2012-03-15 09:29:585#include "net/cookies/cookie_store_test_callbacks.h"
[email protected]b0d7aa362012-02-03 18:19:156
skyostil4891b25b2015-06-11 11:43:457#include "base/location.h"
Patrick Monette643cdf62021-10-15 19:13:428#include "base/task/single_thread_task_runner.h"
[email protected]b0d7aa362012-02-03 18:19:159#include "base/threading/thread.h"
Alexander Timin0439ffe2018-10-30 18:10:0010#include "base/threading/thread_task_runner_handle.h"
Lily Chenf068a762019-08-21 21:10:5011#include "net/cookies/cookie_util.h"
[email protected]b0d7aa362012-02-03 18:19:1512#include "testing/gtest/include/gtest/gtest.h"
13
14namespace net {
15
16CookieCallback::CookieCallback(base::Thread* run_in_thread)
Maks Orlovich36ebc4c2019-03-20 01:57:5617 : run_in_thread_(run_in_thread), was_run_(false) {}
[email protected]b0d7aa362012-02-03 18:19:1518
19CookieCallback::CookieCallback()
Raul Tambre94493c652019-03-11 17:18:3520 : run_in_thread_(nullptr),
Maks Orlovich36ebc4c2019-03-20 01:57:5621 run_in_task_runner_(base::ThreadTaskRunnerHandle::Get()),
22 was_run_(false) {}
xunjielib2bec812016-01-27 23:08:0923
Chris Watkins68b15032017-12-01 03:07:1324CookieCallback::~CookieCallback() = default;
[email protected]b0d7aa362012-02-03 18:19:1525
Maks Orlovich36ebc4c2019-03-20 01:57:5626void CookieCallback::ValidateThread() const {
Alexander Timin0439ffe2018-10-30 18:10:0027 scoped_refptr<base::SingleThreadTaskRunner> expected_task_runner;
[email protected]b0d7aa362012-02-03 18:19:1528 if (run_in_thread_) {
Alexander Timin0439ffe2018-10-30 18:10:0029 DCHECK(!run_in_task_runner_);
30 expected_task_runner = run_in_thread_->task_runner();
31 } else if (run_in_task_runner_) {
32 expected_task_runner = run_in_task_runner_;
[email protected]b0d7aa362012-02-03 18:19:1533 }
Alexander Timin0439ffe2018-10-30 18:10:0034 ASSERT_TRUE(expected_task_runner);
Alexander Timin0439ffe2018-10-30 18:10:0035 EXPECT_TRUE(expected_task_runner->BelongsToCurrentThread());
Maks Orlovich36ebc4c2019-03-20 01:57:5636}
37
38void CookieCallback::CallbackEpilogue() {
39 ValidateThread();
40 was_run_ = true;
xunjielib2bec812016-01-27 23:08:0941 loop_to_quit_.Quit();
42}
43
44void CookieCallback::WaitUntilDone() {
45 loop_to_quit_.Run();
[email protected]b0d7aa362012-02-03 18:19:1546}
47
Maks Orlovich36ebc4c2019-03-20 01:57:5648bool CookieCallback::was_run() const {
49 ValidateThread();
50 return was_run_;
51}
52
Chris Watkins68b15032017-12-01 03:07:1353NoResultCookieCallback::NoResultCookieCallback() = default;
[email protected]f6c588232013-05-22 12:43:4054NoResultCookieCallback::NoResultCookieCallback(base::Thread* run_in_thread)
[email protected]b0d7aa362012-02-03 18:19:1555 : CookieCallback(run_in_thread) {}
56
Chris Watkins68b15032017-12-01 03:07:1357GetCookieListCallback::GetCookieListCallback() = default;
mmenke9fa44f2d2016-01-22 23:36:3958GetCookieListCallback::GetCookieListCallback(base::Thread* run_in_thread)
59 : CookieCallback(run_in_thread) {}
60
Chris Watkins68b15032017-12-01 03:07:1361GetCookieListCallback::~GetCookieListCallback() = default;
mmenke9fa44f2d2016-01-22 23:36:3962
Ayu Ishiibc6fdb0a2020-06-08 22:59:1963void GetCookieListCallback::Run(
64 const CookieAccessResultList& cookies,
65 const CookieAccessResultList& excluded_cookies) {
66 cookies_with_access_results_ = cookies;
67 cookies_ = cookie_util::StripAccessResults(cookies);
Aaron Tagliaboschi29033b7f2019-01-31 19:58:2068 excluded_cookies_ = excluded_cookies;
mmenke9fa44f2d2016-01-22 23:36:3969 CallbackEpilogue();
70}
71
Lily Chenf068a762019-08-21 21:10:5072GetAllCookiesCallback::GetAllCookiesCallback() = default;
73GetAllCookiesCallback::GetAllCookiesCallback(base::Thread* run_in_thread)
74 : CookieCallback(run_in_thread) {}
75
76GetAllCookiesCallback::~GetAllCookiesCallback() = default;
77
78void GetAllCookiesCallback::Run(const CookieList& cookies) {
79 cookies_ = cookies;
80 CallbackEpilogue();
81}
82
Lily Chene2e9ae012019-10-09 20:02:5483GetAllCookiesWithAccessSemanticsCallback::
84 GetAllCookiesWithAccessSemanticsCallback() = default;
85GetAllCookiesWithAccessSemanticsCallback::
86 GetAllCookiesWithAccessSemanticsCallback(base::Thread* run_in_thread)
87 : CookieCallback(run_in_thread) {}
88
89GetAllCookiesWithAccessSemanticsCallback::
90 ~GetAllCookiesWithAccessSemanticsCallback() = default;
91
92void GetAllCookiesWithAccessSemanticsCallback::Run(
93 const CookieList& cookies,
94 const std::vector<CookieAccessSemantics>& access_semantics_list) {
95 cookies_ = cookies;
96 access_semantics_list_ = access_semantics_list;
97 CallbackEpilogue();
98}
99
[email protected]b0d7aa362012-02-03 18:19:15100} // namespace net