Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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 } |
| OLD | NEW |