| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "components/web_resource/resource_request_allowed_notifier_test_util.h" |
| |
| namespace web_resource { |
| |
| TestRequestAllowedNotifier::TestRequestAllowedNotifier(PrefService* local_state) |
| : ResourceRequestAllowedNotifier(local_state, nullptr), |
| override_requests_allowed_(false), |
| requests_allowed_(true) { |
| } |
| |
| TestRequestAllowedNotifier::~TestRequestAllowedNotifier() { |
| } |
| |
| void TestRequestAllowedNotifier::InitWithEulaAcceptNotifier( |
| Observer* observer, |
| std::unique_ptr<EulaAcceptedNotifier> eula_notifier) { |
| test_eula_notifier_.swap(eula_notifier); |
| Init(observer); |
| } |
| |
| void TestRequestAllowedNotifier::SetRequestsAllowedOverride(bool allowed) { |
| override_requests_allowed_ = true; |
| requests_allowed_ = allowed; |
| } |
| |
| void TestRequestAllowedNotifier::NotifyObserver() { |
| // Force the allowed state and requested state to true. This forces |
| // MaybeNotifyObserver to always notify observers, as MaybeNotifyObserver |
| // checks ResourceRequestsAllowed and requested state. |
| override_requests_allowed_ = true; |
| requests_allowed_ = true; |
| SetObserverRequestedForTesting(true); |
| MaybeNotifyObserver(); |
| } |
| |
| ResourceRequestAllowedNotifier::State |
| TestRequestAllowedNotifier::GetResourceRequestsAllowedState() { |
| if (override_requests_allowed_) |
| return requests_allowed_ ? ALLOWED : DISALLOWED_NETWORK_DOWN; |
| return ResourceRequestAllowedNotifier::GetResourceRequestsAllowedState(); |
| } |
| |
| EulaAcceptedNotifier* TestRequestAllowedNotifier::CreateEulaNotifier() { |
| return test_eula_notifier_.release(); |
| } |
| |
| } // namespace web_resource |