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

Side by Side Diff: android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java

Issue 2628863004: [Android WebView] Ensure we have user consent before uploading minidumps (Closed)
Patch Set: Commit message change. Created 3 years, 11 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 package com.android.webview.chromium; 5 package com.android.webview.chromium;
6 6
7 import android.Manifest; 7 import android.Manifest;
8 import android.app.ActivityManager; 8 import android.app.ActivityManager;
9 import android.content.ComponentCallbacks2; 9 import android.content.ComponentCallbacks2;
10 import android.content.Context; 10 import android.content.Context;
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 * implementation classes. 78 * implementation classes.
79 */ 79 */
80 @SuppressWarnings("deprecation") 80 @SuppressWarnings("deprecation")
81 public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { 81 public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider {
82 private static final String TAG = "WebViewChromiumFactoryProvider"; 82 private static final String TAG = "WebViewChromiumFactoryProvider";
83 83
84 private static final String CHROMIUM_PREFS_NAME = "WebViewChromiumPrefs"; 84 private static final String CHROMIUM_PREFS_NAME = "WebViewChromiumPrefs";
85 private static final String VERSION_CODE_PREF = "lastVersionCodeUsed"; 85 private static final String VERSION_CODE_PREF = "lastVersionCodeUsed";
86 private static final String COMMAND_LINE_FILE = "/data/local/tmp/webview-com mand-line"; 86 private static final String COMMAND_LINE_FILE = "/data/local/tmp/webview-com mand-line";
87 private static final String HTTP_AUTH_DATABASE_FILE = "http_auth.db"; 87 private static final String HTTP_AUTH_DATABASE_FILE = "http_auth.db";
88 // same switch as kEnableCrashReporterForTesting in //base/base_switches.h
89 public static final String CRASH_UPLOADS_ENABLED_FOR_TESTING_SWITCH =
90 "enable-crash-reporter-for-testing";
88 91
89 private class WebViewChromiumRunQueue { 92 private class WebViewChromiumRunQueue {
90 public WebViewChromiumRunQueue() { 93 public WebViewChromiumRunQueue() {
91 mQueue = new ConcurrentLinkedQueue<Runnable>(); 94 mQueue = new ConcurrentLinkedQueue<Runnable>();
92 } 95 }
93 96
94 public void addTask(Runnable task) { 97 public void addTask(Runnable task) {
95 mQueue.add(task); 98 mQueue.add(task);
96 if (WebViewChromiumFactoryProvider.this.hasStarted()) { 99 if (WebViewChromiumFactoryProvider.this.hasStarted()) {
97 ThreadUtils.runOnUiThread(new Runnable() { 100 ThreadUtils.runOnUiThread(new Runnable() {
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 402
400 // Make sure that ResourceProvider is initialized before starting the br owser process. 403 // Make sure that ResourceProvider is initialized before starting the br owser process.
401 final String webViewPackageName = WebViewFactory.getLoadedPackageInfo(). packageName; 404 final String webViewPackageName = WebViewFactory.getLoadedPackageInfo(). packageName;
402 final Context context = ContextUtils.getApplicationContext(); 405 final Context context = ContextUtils.getApplicationContext();
403 setUpResources(webViewPackageName, context); 406 setUpResources(webViewPackageName, context);
404 initPlatSupportLibrary(); 407 initPlatSupportLibrary();
405 initNetworkChangeNotifier(context); 408 initNetworkChangeNotifier(context);
406 final boolean isExternalService = true; 409 final boolean isExternalService = true;
407 AwBrowserProcess.configureChildProcessLauncher(webViewPackageName, isExt ernalService); 410 AwBrowserProcess.configureChildProcessLauncher(webViewPackageName, isExt ernalService);
408 AwBrowserProcess.start(); 411 AwBrowserProcess.start();
409 AwBrowserProcess.handleMinidumps(webViewPackageName);
410 412
413 final boolean enableMinidumpUploadingForTesting = CommandLine.getInstanc e().hasSwitch(
414 CRASH_UPLOADS_ENABLED_FOR_TESTING_SWITCH);
415 if (enableMinidumpUploadingForTesting) {
416 AwBrowserProcess.handleMinidumps(webViewPackageName, true /* enabled */);
417 }
418
419 // Actions conditioned on whether the Android Checkbox is toggled on
411 PlatformServiceBridge.getInstance(context) 420 PlatformServiceBridge.getInstance(context)
412 .queryMetricsSetting(new ValueCallback<Boolean>() { 421 .queryMetricsSetting(new ValueCallback<Boolean>() {
413 public void onReceiveValue(Boolean enabled) { 422 public void onReceiveValue(Boolean enabled) {
414 ThreadUtils.assertOnUiThread(); 423 ThreadUtils.assertOnUiThread();
415 AwMetricsServiceClient.setConsentSetting(context, enable d); 424 AwMetricsServiceClient.setConsentSetting(context, enable d);
425
426 if (!enableMinidumpUploadingForTesting) {
427 AwBrowserProcess.handleMinidumps(webViewPackageName, enabled);
428 }
416 } 429 }
417 }); 430 });
418 431
419 if (isBuildDebuggable()) { 432 if (isBuildDebuggable()) {
420 setWebContentsDebuggingEnabled(true); 433 setWebContentsDebuggingEnabled(true);
421 } 434 }
422 435
423 TraceEvent.setATraceEnabled(mWebViewDelegate.isTraceTagEnabled()); 436 TraceEvent.setATraceEnabled(mWebViewDelegate.isTraceTagEnabled());
424 mWebViewDelegate.setOnTraceEnabledChangeListener( 437 mWebViewDelegate.setOnTraceEnabledChangeListener(
425 new WebViewDelegate.OnTraceEnabledChangeListener() { 438 new WebViewDelegate.OnTraceEnabledChangeListener() {
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 WebViewDelegate getWebViewDelegate() { 682 WebViewDelegate getWebViewDelegate() {
670 return mWebViewDelegate; 683 return mWebViewDelegate;
671 } 684 }
672 685
673 // The method to support unreleased Android. 686 // The method to support unreleased Android.
674 WebViewContentsClientAdapter createWebViewContentsClientAdapter(WebView webV iew, 687 WebViewContentsClientAdapter createWebViewContentsClientAdapter(WebView webV iew,
675 Context context) { 688 Context context) {
676 return new WebViewContentsClientAdapter(webView, context, mWebViewDelega te); 689 return new WebViewContentsClientAdapter(webView, context, mWebViewDelega te);
677 } 690 }
678 } 691 }
OLDNEW
« no previous file with comments | « android_webview/BUILD.gn ('k') | android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698