Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1251)

Unified Diff: net/cronet/android/java/src/org/chromium/net/ChromiumUrlRequestFactory.java

Issue 183333002: Cronet Java wrappers to fallback to HttpUrlConnection if Cronet is not available. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address formatting comments. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698