blob: e2974520a9fa3dd208cb79c1a88f6ba6683c2c7e [file] [log] [blame]
// 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