| Index: components/web_restrictions/browser/javatest/src/org/chromium/components/webrestrictions/MockWebRestrictionsClient.java
|
| diff --git a/components/web_restrictions/browser/javatest/src/org/chromium/components/webrestrictions/MockWebRestrictionsClient.java b/components/web_restrictions/browser/javatest/src/org/chromium/components/webrestrictions/MockWebRestrictionsClient.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c8c553f1564835a0cfffba027a8fedd68a11c043
|
| --- /dev/null
|
| +++ b/components/web_restrictions/browser/javatest/src/org/chromium/components/webrestrictions/MockWebRestrictionsClient.java
|
| @@ -0,0 +1,68 @@
|
| +// Copyright 2015 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.
|
| +
|
| +package org.chromium.components.webrestrictions;
|
| +
|
| +import org.chromium.base.annotations.CalledByNative;
|
| +
|
| +/**
|
| + * This is a dummy version of the real WebRestrictionsClient, to allow unit testing of the C++
|
| + * code.
|
| + */
|
| +public class MockWebRestrictionsClient extends WebRestrictionsClient {
|
| + private String mAuthority;
|
| +
|
| + @CalledByNative
|
| + static void registerAsMockForTesting() {
|
| + WebRestrictionsClient.registerMockForTesting(new MockWebRestrictionsClient());
|
| + }
|
| +
|
| + @CalledByNative
|
| + static void unregisterAsMockForTesting() {
|
| + WebRestrictionsClient.registerMockForTesting(null);
|
| + }
|
| + /**
|
| + * Start the web restriction provider and setup the content resolver.
|
| + */
|
| + private MockWebRestrictionsClient() {}
|
| +
|
| + @Override
|
| + void init(String authority, long nativeProvider) {
|
| + mAuthority = authority;
|
| + }
|
| +
|
| + /**
|
| + * @return whether the web restriction provider supports requesting access for a blocked url.
|
| + */
|
| + @Override
|
| + boolean supportsRequest() {
|
| + return mAuthority.contains("Good");
|
| + }
|
| +
|
| + /**
|
| + * Called when the ContentResolverWebRestrictionsProvider is about to be destroyed.
|
| + */
|
| + @Override
|
| + void onDestroy() {}
|
| +
|
| + /**
|
| + * Whether we can proceed with loading the {@code url}.
|
| + * In case the url is not to be loaded, the web restriction provider can return an optional
|
| + * error page to show instead.
|
| + */
|
| + @Override
|
| + ShouldProceedResult shouldProceed(final String url) {
|
| + return new ShouldProceedResult(mAuthority.contains("Good"), url);
|
| + }
|
| +
|
| + /**
|
| + * Request permission to load the {@code url}.
|
| + * The web restriction provider returns a {@code boolean} variable indicating whether it was
|
| + * able to forward the request to the appropriate authority who can approve it.
|
| + */
|
| + @Override
|
| + boolean requestPermission(final String url) {
|
| + return mAuthority.contains("Good");
|
| + }
|
| +}
|
|
|