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

Side by Side Diff: android_webview/native/aw_contents_statics.cc

Issue 881893004: Hook SetKeyOnIO in Webview to DataReductionProxyIOData (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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
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 "android_webview/native/aw_contents_statics.h" 5 #include "android_webview/native/aw_contents_statics.h"
6 6
7 #include "android_webview/browser/aw_browser_context.h" 7 #include "android_webview/browser/aw_browser_context.h"
8 #include "android_webview/browser/net/aw_url_request_context_getter.h" 8 #include "android_webview/browser/net/aw_url_request_context_getter.h"
9 #include "android_webview/common/aw_crash_handler.h" 9 #include "android_webview/common/aw_crash_handler.h"
10 #include "base/android/jni_string.h" 10 #include "base/android/jni_string.h"
11 #include "base/android/scoped_java_ref.h" 11 #include "base/android/scoped_java_ref.h"
12 #include "base/callback.h" 12 #include "base/callback.h"
13 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_auth _request_handler.h"
14 #include "content/public/browser/android/synchronous_compositor.h" 13 #include "content/public/browser/android/synchronous_compositor.h"
15 #include "content/public/browser/browser_thread.h" 14 #include "content/public/browser/browser_thread.h"
16 #include "content/public/common/url_constants.h" 15 #include "content/public/common/url_constants.h"
17 #include "jni/AwContentsStatics_jni.h" 16 #include "jni/AwContentsStatics_jni.h"
18 #include "net/cert/cert_database.h" 17 #include "net/cert/cert_database.h"
19 18
20 using base::android::AttachCurrentThread; 19 using base::android::AttachCurrentThread;
21 using base::android::ConvertJavaStringToUTF8; 20 using base::android::ConvertJavaStringToUTF8;
22 using base::android::ScopedJavaGlobalRef; 21 using base::android::ScopedJavaGlobalRef;
23 using content::BrowserThread; 22 using content::BrowserThread;
24 using data_reduction_proxy::DataReductionProxyAuthRequestHandler;
25 23
26 namespace android_webview { 24 namespace android_webview {
27 25
28 namespace { 26 namespace {
29 27
30 void ClientCertificatesCleared(ScopedJavaGlobalRef<jobject>* callback) { 28 void ClientCertificatesCleared(ScopedJavaGlobalRef<jobject>* callback) {
31 DCHECK_CURRENTLY_ON(BrowserThread::UI); 29 DCHECK_CURRENTLY_ON(BrowserThread::UI);
32 JNIEnv* env = AttachCurrentThread(); 30 JNIEnv* env = AttachCurrentThread();
33 Java_AwContentsStatics_clientCertificatesCleared(env, callback->obj()); 31 Java_AwContentsStatics_clientCertificatesCleared(env, callback->obj());
34 } 32 }
(...skipping 17 matching lines...) Expand all
52 base::Bind(&ClientCertificatesCleared, base::Owned(j_callback))); 50 base::Bind(&ClientCertificatesCleared, base::Owned(j_callback)));
53 } 51 }
54 52
55 // static 53 // static
56 void SetDataReductionProxyKey(JNIEnv* env, jclass, jstring key) { 54 void SetDataReductionProxyKey(JNIEnv* env, jclass, jstring key) {
57 AwBrowserContext* browser_context = AwBrowserContext::GetDefault(); 55 AwBrowserContext* browser_context = AwBrowserContext::GetDefault();
58 DCHECK(browser_context); 56 DCHECK(browser_context);
59 DCHECK(browser_context->GetRequestContext()); 57 DCHECK(browser_context->GetRequestContext());
60 // The following call to GetRequestContext() could possibly be the first such 58 // The following call to GetRequestContext() could possibly be the first such
61 // call, which means AwURLRequestContextGetter::InitializeURLRequestContext 59 // call, which means AwURLRequestContextGetter::InitializeURLRequestContext
62 // will be called on IO thread as a result. InitializeURLRequestContext() 60 // will be called on IO thread as a result.
63 // will initialize DataReductionProxyAuthRequestHandler.
64 AwURLRequestContextGetter* aw_url_request_context_getter = 61 AwURLRequestContextGetter* aw_url_request_context_getter =
65 static_cast<AwURLRequestContextGetter*>( 62 static_cast<AwURLRequestContextGetter*>(
66 browser_context->GetRequestContext()); 63 browser_context->GetRequestContext());
67 64
68 // This PostTask has to be called after GetRequestContext, because SetKeyOnIO 65 // This PostTask has to be called after GetRequestContext, because SetKeyOnIO
69 // needs a valid DataReductionProxyAuthRequestHandler object. 66 // needs a valid DataReductionProxyAuthRequestHandler object.
70 BrowserThread::PostTask(BrowserThread::IO, 67 BrowserThread::PostTask(BrowserThread::IO,
71 FROM_HERE, 68 FROM_HERE,
72 base::Bind(&AwURLRequestContextGetter::SetKeyOnIO, 69 base::Bind(&AwURLRequestContextGetter::SetKeyOnIO,
73 aw_url_request_context_getter, 70 aw_url_request_context_getter,
(...skipping 25 matching lines...) Expand all
99 // static 96 // static
100 void SetLegacyCacheRemovalDelayForTest(JNIEnv*, jclass, jlong delay_ms) { 97 void SetLegacyCacheRemovalDelayForTest(JNIEnv*, jclass, jlong delay_ms) {
101 AwBrowserContext::SetLegacyCacheRemovalDelayForTest(delay_ms); 98 AwBrowserContext::SetLegacyCacheRemovalDelayForTest(delay_ms);
102 } 99 }
103 100
104 bool RegisterAwContentsStatics(JNIEnv* env) { 101 bool RegisterAwContentsStatics(JNIEnv* env) {
105 return RegisterNativesImpl(env); 102 return RegisterNativesImpl(env);
106 } 103 }
107 104
108 } // namespace android_webview 105 } // namespace android_webview
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698