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

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: 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;
11 import android.content.Intent; 11 import android.content.Intent;
12 import android.content.SharedPreferences; 12 import android.content.SharedPreferences;
13 import android.content.pm.PackageInfo; 13 import android.content.pm.PackageInfo;
14 import android.content.pm.PackageManager; 14 import android.content.pm.PackageManager;
15 import android.net.Uri; 15 import android.net.Uri;
16 import android.os.Build; 16 import android.os.Build;
17 import android.os.Looper; 17 import android.os.Looper;
18 import android.os.Process; 18 import android.os.Process;
19 import android.os.StrictMode; 19 import android.os.StrictMode;
20 import android.os.UserManager; 20 import android.os.UserManager;
21 import android.provider.Settings; 21 import android.provider.Settings;
22 import android.util.Log; 22 import android.util.Log;
23 import android.webkit.CookieManager; 23 import android.webkit.CookieManager;
24 import android.webkit.GeolocationPermissions; 24 import android.webkit.GeolocationPermissions;
25 import android.webkit.ServiceWorkerController; 25 import android.webkit.ServiceWorkerController;
26 import android.webkit.TokenBindingService; 26 import android.webkit.TokenBindingService;
27 import android.webkit.ValueCallback;
27 import android.webkit.WebStorage; 28 import android.webkit.WebStorage;
28 import android.webkit.WebView; 29 import android.webkit.WebView;
29 import android.webkit.WebViewDatabase; 30 import android.webkit.WebViewDatabase;
30 import android.webkit.WebViewFactory; 31 import android.webkit.WebViewFactory;
31 import android.webkit.WebViewFactoryProvider; 32 import android.webkit.WebViewFactoryProvider;
32 import android.webkit.WebViewProvider; 33 import android.webkit.WebViewProvider;
33 34
34 import com.android.webview.chromium.WebViewDelegateFactory.WebViewDelegate; 35 import com.android.webview.chromium.WebViewDelegateFactory.WebViewDelegate;
35 36
36 import org.chromium.android_webview.AwBrowserContext; 37 import org.chromium.android_webview.AwBrowserContext;
37 import org.chromium.android_webview.AwBrowserProcess; 38 import org.chromium.android_webview.AwBrowserProcess;
38 import org.chromium.android_webview.AwContents; 39 import org.chromium.android_webview.AwContents;
39 import org.chromium.android_webview.AwContentsClient; 40 import org.chromium.android_webview.AwContentsClient;
40 import org.chromium.android_webview.AwContentsStatics; 41 import org.chromium.android_webview.AwContentsStatics;
41 import org.chromium.android_webview.AwCookieManager; 42 import org.chromium.android_webview.AwCookieManager;
42 import org.chromium.android_webview.AwDevToolsServer; 43 import org.chromium.android_webview.AwDevToolsServer;
43 import org.chromium.android_webview.AwNetworkChangeNotifierRegistrationPolicy; 44 import org.chromium.android_webview.AwNetworkChangeNotifierRegistrationPolicy;
44 import org.chromium.android_webview.AwQuotaManagerBridge; 45 import org.chromium.android_webview.AwQuotaManagerBridge;
45 import org.chromium.android_webview.AwResource; 46 import org.chromium.android_webview.AwResource;
46 import org.chromium.android_webview.AwSettings; 47 import org.chromium.android_webview.AwSettings;
47 import org.chromium.android_webview.HttpAuthDatabase; 48 import org.chromium.android_webview.HttpAuthDatabase;
49 import org.chromium.android_webview.PlatformServiceBridge;
48 import org.chromium.android_webview.ResourcesContextWrapperFactory; 50 import org.chromium.android_webview.ResourcesContextWrapperFactory;
49 import org.chromium.base.BuildConfig; 51 import org.chromium.base.BuildConfig;
50 import org.chromium.base.CommandLine; 52 import org.chromium.base.CommandLine;
51 import org.chromium.base.ContextUtils; 53 import org.chromium.base.ContextUtils;
52 import org.chromium.base.MemoryPressureListener; 54 import org.chromium.base.MemoryPressureListener;
53 import org.chromium.base.PackageUtils; 55 import org.chromium.base.PackageUtils;
54 import org.chromium.base.PathService; 56 import org.chromium.base.PathService;
55 import org.chromium.base.PathUtils; 57 import org.chromium.base.PathUtils;
56 import org.chromium.base.ThreadUtils; 58 import org.chromium.base.ThreadUtils;
57 import org.chromium.base.TraceEvent; 59 import org.chromium.base.TraceEvent;
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 398
397 // Make sure that ResourceProvider is initialized before starting the br owser process. 399 // Make sure that ResourceProvider is initialized before starting the br owser process.
398 final String webViewPackageName = WebViewFactory.getLoadedPackageInfo(). packageName; 400 final String webViewPackageName = WebViewFactory.getLoadedPackageInfo(). packageName;
399 Context context = ContextUtils.getApplicationContext(); 401 Context context = ContextUtils.getApplicationContext();
400 setUpResources(webViewPackageName, context); 402 setUpResources(webViewPackageName, context);
401 initPlatSupportLibrary(); 403 initPlatSupportLibrary();
402 initNetworkChangeNotifier(context); 404 initNetworkChangeNotifier(context);
403 final boolean isExternalService = true; 405 final boolean isExternalService = true;
404 AwBrowserProcess.configureChildProcessLauncher(webViewPackageName, isExt ernalService); 406 AwBrowserProcess.configureChildProcessLauncher(webViewPackageName, isExt ernalService);
405 AwBrowserProcess.start(); 407 AwBrowserProcess.start();
406 AwBrowserProcess.handleMinidumps(webViewPackageName); 408
409 // Copy minidumps if Android Checkbox is toggled on.
410 PlatformServiceBridge platformServiceBridge = PlatformServiceBridge.getI nstance(context);
411 if (platformServiceBridge.canUseGms()) { // TODO delete minidumps if can UseGms == false?
Tobias Sargeant 2017/01/12 13:56:54 Or maybe disable generating them in the first plac
gsennton 2017/01/23 17:50:39 Offline we reached the conclusion to just delete m
412 PlatformServiceBridge.getInstance(context).queryMetricsSetting(
413 new ValueCallback<Boolean>() {
414 @Override
415 public void onReceiveValue(Boolean enabled) {
416 AwBrowserProcess.handleMinidumps(webViewPackageName, enabled);
paulmiller 2017/01/12 22:32:48 Metrics also needs to query this on startup. I'm d
gsennton 2017/01/23 17:50:39 Let's do that for 58, rather than in this CL. Adde
417 }
418 });
419 }
407 420
408 if (isBuildDebuggable()) { 421 if (isBuildDebuggable()) {
409 setWebContentsDebuggingEnabled(true); 422 setWebContentsDebuggingEnabled(true);
410 } 423 }
411 424
412 TraceEvent.setATraceEnabled(mWebViewDelegate.isTraceTagEnabled()); 425 TraceEvent.setATraceEnabled(mWebViewDelegate.isTraceTagEnabled());
413 mWebViewDelegate.setOnTraceEnabledChangeListener( 426 mWebViewDelegate.setOnTraceEnabledChangeListener(
414 new WebViewDelegate.OnTraceEnabledChangeListener() { 427 new WebViewDelegate.OnTraceEnabledChangeListener() {
415 @Override 428 @Override
416 public void onTraceEnabledChange(boolean enabled) { 429 public void onTraceEnabledChange(boolean enabled) {
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 this, HttpAuthDatabase.newInstance(context, HTTP_AUTH_DA TABASE_FILE)); 665 this, HttpAuthDatabase.newInstance(context, HTTP_AUTH_DA TABASE_FILE));
653 } 666 }
654 } 667 }
655 return mWebViewDatabase; 668 return mWebViewDatabase;
656 } 669 }
657 670
658 WebViewDelegate getWebViewDelegate() { 671 WebViewDelegate getWebViewDelegate() {
659 return mWebViewDelegate; 672 return mWebViewDelegate;
660 } 673 }
661 } 674 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698