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

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

Issue 2833893002: [Android WebView] Trigger minidump uploading on renderer crash. (Closed)
Patch Set: Created 3 years, 8 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.UserManager; 19 import android.os.UserManager;
20 import android.provider.Settings; 20 import android.provider.Settings;
21 import android.util.Log; 21 import android.util.Log;
22 import android.webkit.CookieManager; 22 import android.webkit.CookieManager;
23 import android.webkit.GeolocationPermissions; 23 import android.webkit.GeolocationPermissions;
24 import android.webkit.ServiceWorkerController; 24 import android.webkit.ServiceWorkerController;
25 import android.webkit.TokenBindingService; 25 import android.webkit.TokenBindingService;
26 import android.webkit.ValueCallback;
27 import android.webkit.WebStorage; 26 import android.webkit.WebStorage;
28 import android.webkit.WebView; 27 import android.webkit.WebView;
29 import android.webkit.WebViewDatabase; 28 import android.webkit.WebViewDatabase;
30 import android.webkit.WebViewFactory; 29 import android.webkit.WebViewFactory;
31 import android.webkit.WebViewFactoryProvider; 30 import android.webkit.WebViewFactoryProvider;
32 import android.webkit.WebViewProvider; 31 import android.webkit.WebViewProvider;
33 32
34 import com.android.webview.chromium.WebViewDelegateFactory.WebViewDelegate; 33 import com.android.webview.chromium.WebViewDelegateFactory.WebViewDelegate;
35 34
36 import org.chromium.android_webview.AwBrowserContext; 35 import org.chromium.android_webview.AwBrowserContext;
37 import org.chromium.android_webview.AwBrowserProcess; 36 import org.chromium.android_webview.AwBrowserProcess;
38 import org.chromium.android_webview.AwContents; 37 import org.chromium.android_webview.AwContents;
39 import org.chromium.android_webview.AwContentsClient; 38 import org.chromium.android_webview.AwContentsClient;
40 import org.chromium.android_webview.AwContentsStatics; 39 import org.chromium.android_webview.AwContentsStatics;
41 import org.chromium.android_webview.AwCookieManager; 40 import org.chromium.android_webview.AwCookieManager;
42 import org.chromium.android_webview.AwDevToolsServer; 41 import org.chromium.android_webview.AwDevToolsServer;
43 import org.chromium.android_webview.AwMetricsServiceClient;
44 import org.chromium.android_webview.AwNetworkChangeNotifierRegistrationPolicy; 42 import org.chromium.android_webview.AwNetworkChangeNotifierRegistrationPolicy;
45 import org.chromium.android_webview.AwQuotaManagerBridge; 43 import org.chromium.android_webview.AwQuotaManagerBridge;
46 import org.chromium.android_webview.AwResource; 44 import org.chromium.android_webview.AwResource;
47 import org.chromium.android_webview.AwSettings; 45 import org.chromium.android_webview.AwSettings;
48 import org.chromium.android_webview.HttpAuthDatabase; 46 import org.chromium.android_webview.HttpAuthDatabase;
49 import org.chromium.android_webview.PlatformServiceBridge; 47 import org.chromium.android_webview.PlatformServiceBridge;
50 import org.chromium.android_webview.ResourcesContextWrapperFactory; 48 import org.chromium.android_webview.ResourcesContextWrapperFactory;
51 import org.chromium.android_webview.command_line.CommandLineUtil; 49 import org.chromium.android_webview.command_line.CommandLineUtil;
52 import org.chromium.base.BuildConfig; 50 import org.chromium.base.BuildConfig;
53 import org.chromium.base.BuildInfo; 51 import org.chromium.base.BuildInfo;
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 405
408 // Make sure that ResourceProvider is initialized before starting the br owser process. 406 // Make sure that ResourceProvider is initialized before starting the br owser process.
409 final PackageInfo webViewPackageInfo = WebViewFactory.getLoadedPackageIn fo(); 407 final PackageInfo webViewPackageInfo = WebViewFactory.getLoadedPackageIn fo();
410 final String webViewPackageName = webViewPackageInfo.packageName; 408 final String webViewPackageName = webViewPackageInfo.packageName;
411 setUpResources(webViewPackageInfo, context); 409 setUpResources(webViewPackageInfo, context);
412 initPlatSupportLibrary(); 410 initPlatSupportLibrary();
413 doNetworkInitializations(context); 411 doNetworkInitializations(context);
414 final boolean isExternalService = true; 412 final boolean isExternalService = true;
415 AwBrowserProcess.configureChildProcessLauncher(webViewPackageName, isExt ernalService); 413 AwBrowserProcess.configureChildProcessLauncher(webViewPackageName, isExt ernalService);
416 AwBrowserProcess.start(); 414 AwBrowserProcess.start();
417 415 AwBrowserProcess.setWebViewPackageName(webViewPackageName);
gsennton 2017/04/20 20:32:46 AwBrowserProcess.setWebViewPackageName must be cal
gsennton 2017/04/24 12:39:54 Done, the render process is set up in configureChi
418 final boolean enableMinidumpUploadingForTesting = CommandLine.getInstanc e().hasSwitch( 416 AwBrowserProcess.handleMinidumpsAndSetMetricsConsent(
419 CommandLineUtil.CRASH_UPLOADS_ENABLED_FOR_TESTING_SWITCH); 417 webViewPackageName, true /* updateMetricsConsent */);
420 if (enableMinidumpUploadingForTesting) {
421 AwBrowserProcess.handleMinidumps(webViewPackageName, true /* enabled */);
422 }
423
424 PlatformServiceBridge.getInstance().queryMetricsSetting(new ValueCallbac k<Boolean>() {
425 // Actions conditioned on whether the Android Checkbox is toggled on
426 public void onReceiveValue(Boolean enabled) {
427 ThreadUtils.assertOnUiThread();
428 AwMetricsServiceClient.setConsentSetting(context, enabled);
429
430 if (!enableMinidumpUploadingForTesting) {
431 AwBrowserProcess.handleMinidumps(webViewPackageName, enabled );
432 }
433 }
434 });
435 418
436 if (CommandLineUtil.isBuildDebuggable()) { 419 if (CommandLineUtil.isBuildDebuggable()) {
437 setWebContentsDebuggingEnabled(true); 420 setWebContentsDebuggingEnabled(true);
438 } 421 }
439 422
440 TraceEvent.setATraceEnabled(mWebViewDelegate.isTraceTagEnabled()); 423 TraceEvent.setATraceEnabled(mWebViewDelegate.isTraceTagEnabled());
441 mWebViewDelegate.setOnTraceEnabledChangeListener( 424 mWebViewDelegate.setOnTraceEnabledChangeListener(
442 new WebViewDelegate.OnTraceEnabledChangeListener() { 425 new WebViewDelegate.OnTraceEnabledChangeListener() {
443 @Override 426 @Override
444 public void onTraceEnabledChange(boolean enabled) { 427 public void onTraceEnabledChange(boolean enabled) {
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
692 WebViewDelegate getWebViewDelegate() { 675 WebViewDelegate getWebViewDelegate() {
693 return mWebViewDelegate; 676 return mWebViewDelegate;
694 } 677 }
695 678
696 // The method to support unreleased Android. 679 // The method to support unreleased Android.
697 WebViewContentsClientAdapter createWebViewContentsClientAdapter(WebView webV iew, 680 WebViewContentsClientAdapter createWebViewContentsClientAdapter(WebView webV iew,
698 Context context) { 681 Context context) {
699 return new WebViewContentsClientAdapter(webView, context, mWebViewDelega te); 682 return new WebViewContentsClientAdapter(webView, context, mWebViewDelega te);
700 } 683 }
701 } 684 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698