// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "net/cookies/cookie_store_test_callbacks.h" #include "base/location.h" #include "base/task/single_thread_task_runner.h" #include "base/threading/thread.h" #include "net/cookies/cookie_util.h" #include "testing/gtest/include/gtest/gtest.h" namespace net { CookieCallback::CookieCallback(base::Thread* run_in_thread) : run_in_thread_(run_in_thread) {} CookieCallback::CookieCallback() : run_in_thread_(nullptr), run_in_task_runner_(base::SingleThreadTaskRunner::GetCurrentDefault()) {} CookieCallback::~CookieCallback() = default; void CookieCallback::ValidateThread() const { scoped_refptr expected_task_runner; if (run_in_thread_) { DCHECK(!run_in_task_runner_); expected_task_runner = run_in_thread_->task_runner(); } else if (run_in_task_runner_) { expected_task_runner = run_in_task_runner_; } ASSERT_TRUE(expected_task_runner); EXPECT_TRUE(expected_task_runner->BelongsToCurrentThread()); } void CookieCallback::CallbackEpilogue() { ValidateThread(); was_run_ = true; loop_to_quit_.Quit(); } void CookieCallback::WaitUntilDone() { loop_to_quit_.Run(); } bool CookieCallback::was_run() const { ValidateThread(); return was_run_; } NoResultCookieCallback::NoResultCookieCallback() = default; NoResultCookieCallback::NoResultCookieCallback(base::Thread* run_in_thread) : CookieCallback(run_in_thread) {} GetCookieListCallback::GetCookieListCallback() = default; GetCookieListCallback::GetCookieListCallback(base::Thread* run_in_thread) : CookieCallback(run_in_thread) {} GetCookieListCallback::~GetCookieListCallback() = default; void GetCookieListCallback::Run( const CookieAccessResultList& cookies, const CookieAccessResultList& excluded_cookies) { cookies_with_access_results_ = cookies; cookies_ = cookie_util::StripAccessResults(cookies); excluded_cookies_ = excluded_cookies; CallbackEpilogue(); } GetAllCookiesCallback::GetAllCookiesCallback() = default; GetAllCookiesCallback::GetAllCookiesCallback(base::Thread* run_in_thread) : CookieCallback(run_in_thread) {} GetAllCookiesCallback::~GetAllCookiesCallback() = default; void GetAllCookiesCallback::Run(const CookieList& cookies) { cookies_ = cookies; CallbackEpilogue(); } GetAllCookiesWithAccessSemanticsCallback:: GetAllCookiesWithAccessSemanticsCallback() = default; GetAllCookiesWithAccessSemanticsCallback:: GetAllCookiesWithAccessSemanticsCallback(base::Thread* run_in_thread) : CookieCallback(run_in_thread) {} GetAllCookiesWithAccessSemanticsCallback:: ~GetAllCookiesWithAccessSemanticsCallback() = default; void GetAllCookiesWithAccessSemanticsCallback::Run( const CookieList& cookies, const std::vector& access_semantics_list) { cookies_ = cookies; access_semantics_list_ = access_semantics_list; CallbackEpilogue(); } } // namespace net