// 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, scoped_ptr 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