| Index: net/cronet/android/java/src/org/chromium/net/ChromiumUrlRequestFactory.java
|
| diff --git a/net/cronet/android/java/src/org/chromium/net/ChromiumUrlRequestFactory.java b/net/cronet/android/java/src/org/chromium/net/ChromiumUrlRequestFactory.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0b0e9c269a094adc0be9373a31a70f3661ae6fff
|
| --- /dev/null
|
| +++ b/net/cronet/android/java/src/org/chromium/net/ChromiumUrlRequestFactory.java
|
| @@ -0,0 +1,52 @@
|
| +// Copyright 2014 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.net;
|
| +
|
| +import android.content.Context;
|
| +import android.os.Build;
|
| +
|
| +import java.nio.channels.WritableByteChannel;
|
| +import java.util.Map;
|
| +
|
| +/**
|
| + * Network request factory using the native http stack implementation.
|
| + */
|
| +@UsedByReflection("HttpUrlRequestFactory.java")
|
| +class ChromiumUrlRequestFactory extends HttpUrlRequestFactory {
|
| + private static ChromiumUrlRequestContext sRequestContext;
|
| +
|
| + @UsedByReflection("HttpUrlRequestFactory.java")
|
| + public ChromiumUrlRequestFactory(Context context) {
|
| + if (sRequestContext == null && isEnabled()) {
|
| + System.loadLibrary("cronet");
|
| + sRequestContext = ChromiumUrlRequestContext.getInstance(context);
|
| + }
|
| + }
|
| +
|
| + @Override
|
| + protected boolean isEnabled() {
|
| + return Build.VERSION.SDK_INT >= 14;
|
| + }
|
| +
|
| + @Override
|
| + protected String getName() {
|
| + return "Chromium/" + UrlRequestContext.getVersion();
|
| + }
|
| +
|
| + @Override
|
| + protected HttpUrlRequest createRequest(String url, int requestPriority,
|
| + Map<String, String> headers, HttpUrlRequestListener listener) {
|
| + return new ChromiumUrlRequest(sRequestContext, url, requestPriority,
|
| + headers, listener);
|
| + }
|
| +
|
| + @Override
|
| + protected HttpUrlRequest createRequest(String url, int requestPriority,
|
| + Map<String, String> headers, WritableByteChannel channel,
|
| + HttpUrlRequestListener listener) {
|
| + return new ChromiumUrlRequest(sRequestContext, url, requestPriority,
|
| + headers, channel, listener);
|
| + }
|
| +}
|
|
|