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

Side by Side Diff: components/cronet/android/org_chromium_net_UrlRequestContext.cc

Issue 344793006: Generate Cronet Version.java based on VERSION and LASTCHANGE files. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address Matt's comments. Created 6 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/cronet/android/org_chromium_net_UrlRequestContext.h" 5 #include "components/cronet/android/org_chromium_net_UrlRequestContext.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/android/jni_android.h" 9 #include "base/android/jni_android.h"
10 #include "base/android/jni_string.h" 10 #include "base/android/jni_string.h"
11 #include "base/json/json_reader.h" 11 #include "base/json/json_reader.h"
12 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
13 #include "base/metrics/statistics_recorder.h" 13 #include "base/metrics/statistics_recorder.h"
14 #include "base/values.h" 14 #include "base/values.h"
15 #include "components/cronet/android/org_chromium_net_UrlRequest.h" 15 #include "components/cronet/android/org_chromium_net_UrlRequest.h"
16 #include "components/cronet/android/url_request_context_peer.h" 16 #include "components/cronet/android/url_request_context_peer.h"
17 #include "components/cronet/android/url_request_peer.h" 17 #include "components/cronet/android/url_request_peer.h"
18 #include "components/cronet/url_request_context_config.h" 18 #include "components/cronet/url_request_context_config.h"
19 #include "jni/UrlRequestContext_jni.h" 19 #include "jni/UrlRequestContext_jni.h"
20 20
21 // Version of this build of Chromium NET.
22 #define CHROMIUM_NET_VERSION "1"
23
24 namespace { 21 namespace {
25 22
26 const char kVersion[] = CHROMIUM_VERSION "/" CHROMIUM_NET_VERSION;
27
28 // Delegate of URLRequestContextPeer that delivers callbacks to the Java layer. 23 // Delegate of URLRequestContextPeer that delivers callbacks to the Java layer.
29 class JniURLRequestContextPeerDelegate 24 class JniURLRequestContextPeerDelegate
30 : public cronet::URLRequestContextPeer::URLRequestContextPeerDelegate { 25 : public cronet::URLRequestContextPeer::URLRequestContextPeerDelegate {
31 public: 26 public:
32 JniURLRequestContextPeerDelegate(JNIEnv* env, jobject owner) 27 JniURLRequestContextPeerDelegate(JNIEnv* env, jobject owner)
33 : owner_(env->NewGlobalRef(owner)) { 28 : owner_(env->NewGlobalRef(owner)) {
34 } 29 }
35 30
36 virtual void OnContextInitialized( 31 virtual void OnContextInitialized(
37 cronet::URLRequestContextPeer* context) OVERRIDE { 32 cronet::URLRequestContextPeer* context) OVERRIDE {
(...skipping 15 matching lines...) Expand all
53 48
54 } // namespace 49 } // namespace
55 50
56 namespace cronet { 51 namespace cronet {
57 52
58 // Explicitly register static JNI functions. 53 // Explicitly register static JNI functions.
59 bool UrlRequestContextRegisterJni(JNIEnv* env) { 54 bool UrlRequestContextRegisterJni(JNIEnv* env) {
60 return RegisterNativesImpl(env); 55 return RegisterNativesImpl(env);
61 } 56 }
62 57
63 static jstring GetVersion(JNIEnv* env, jclass unused) {
64 return base::android::ConvertUTF8ToJavaString(env, kVersion).Release();
65 }
66
67 // Sets global user-agent to be used for all subsequent requests. 58 // Sets global user-agent to be used for all subsequent requests.
68 static jlong CreateRequestContextPeer(JNIEnv* env, 59 static jlong CreateRequestContextPeer(JNIEnv* env,
69 jobject object, 60 jobject object,
70 jobject context, 61 jobject context,
71 jstring user_agent, 62 jstring user_agent,
72 jint log_level, 63 jint log_level,
73 jstring config) { 64 jstring config) {
74 std::string user_agent_string = 65 std::string user_agent_string =
75 base::android::ConvertJavaStringToUTF8(env, user_agent); 66 base::android::ConvertJavaStringToUTF8(env, user_agent);
76 67
(...skipping 17 matching lines...) Expand all
94 // Set application context. 85 // Set application context.
95 base::android::ScopedJavaLocalRef<jobject> scoped_context(env, context); 86 base::android::ScopedJavaLocalRef<jobject> scoped_context(env, context);
96 base::android::InitApplicationContext(env, scoped_context); 87 base::android::InitApplicationContext(env, scoped_context);
97 88
98 int logging_level = log_level; 89 int logging_level = log_level;
99 90
100 // TODO(dplotnikov): set application context. 91 // TODO(dplotnikov): set application context.
101 URLRequestContextPeer* peer = new URLRequestContextPeer( 92 URLRequestContextPeer* peer = new URLRequestContextPeer(
102 new JniURLRequestContextPeerDelegate(env, object), 93 new JniURLRequestContextPeerDelegate(env, object),
103 user_agent_string, 94 user_agent_string,
104 logging_level, 95 logging_level);
105 kVersion);
106 peer->AddRef(); // Hold onto this ref-counted object. 96 peer->AddRef(); // Hold onto this ref-counted object.
107 peer->Initialize(context_config.Pass()); 97 peer->Initialize(context_config.Pass());
108 return reinterpret_cast<jlong>(peer); 98 return reinterpret_cast<jlong>(peer);
109 } 99 }
110 100
111 // Releases native objects. 101 // Releases native objects.
112 static void ReleaseRequestContextPeer(JNIEnv* env, 102 static void ReleaseRequestContextPeer(JNIEnv* env,
113 jobject object, 103 jobject object,
114 jlong urlRequestContextPeer) { 104 jlong urlRequestContextPeer) {
115 URLRequestContextPeer* peer = 105 URLRequestContextPeer* peer =
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 // Stops recording NetLog. 138 // Stops recording NetLog.
149 static void StopNetLog(JNIEnv* env, 139 static void StopNetLog(JNIEnv* env,
150 jobject jcaller, 140 jobject jcaller,
151 jlong urlRequestContextPeer) { 141 jlong urlRequestContextPeer) {
152 URLRequestContextPeer* peer = 142 URLRequestContextPeer* peer =
153 reinterpret_cast<URLRequestContextPeer*>(urlRequestContextPeer); 143 reinterpret_cast<URLRequestContextPeer*>(urlRequestContextPeer);
154 peer->StopNetLog(); 144 peer->StopNetLog();
155 } 145 }
156 146
157 } // namespace cronet 147 } // namespace cronet
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698