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

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

Issue 2611883002: Prepare to call GMS APIs from WebView (Closed)
Patch Set: explicit destructor for style checker 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;
44 import org.chromium.android_webview.AwMetricsServiceClient;
43 import org.chromium.android_webview.AwNetworkChangeNotifierRegistrationPolicy; 45 import org.chromium.android_webview.AwNetworkChangeNotifierRegistrationPolicy;
44 import org.chromium.android_webview.AwQuotaManagerBridge; 46 import org.chromium.android_webview.AwQuotaManagerBridge;
45 import org.chromium.android_webview.AwResource; 47 import org.chromium.android_webview.AwResource;
46 import org.chromium.android_webview.AwSettings; 48 import org.chromium.android_webview.AwSettings;
47 import org.chromium.android_webview.HttpAuthDatabase; 49 import org.chromium.android_webview.HttpAuthDatabase;
50 import org.chromium.android_webview.PlatformServiceBridge;
48 import org.chromium.android_webview.ResourcesContextWrapperFactory; 51 import org.chromium.android_webview.ResourcesContextWrapperFactory;
49 import org.chromium.base.BuildConfig; 52 import org.chromium.base.BuildConfig;
50 import org.chromium.base.CommandLine; 53 import org.chromium.base.CommandLine;
51 import org.chromium.base.ContextUtils; 54 import org.chromium.base.ContextUtils;
52 import org.chromium.base.MemoryPressureListener; 55 import org.chromium.base.MemoryPressureListener;
53 import org.chromium.base.PackageUtils; 56 import org.chromium.base.PackageUtils;
54 import org.chromium.base.PathService; 57 import org.chromium.base.PathService;
55 import org.chromium.base.PathUtils; 58 import org.chromium.base.PathUtils;
56 import org.chromium.base.ThreadUtils; 59 import org.chromium.base.ThreadUtils;
57 import org.chromium.base.TraceEvent; 60 import org.chromium.base.TraceEvent;
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 LibraryLoader.get(LibraryProcessType.PROCESS_WEBVIEW).ensureInitiali zed(); 392 LibraryLoader.get(LibraryProcessType.PROCESS_WEBVIEW).ensureInitiali zed();
390 } catch (ProcessInitException e) { 393 } catch (ProcessInitException e) {
391 throw new RuntimeException("Error initializing WebView library", e); 394 throw new RuntimeException("Error initializing WebView library", e);
392 } 395 }
393 396
394 PathService.override(PathService.DIR_MODULE, "/system/lib/"); 397 PathService.override(PathService.DIR_MODULE, "/system/lib/");
395 PathService.override(DIR_RESOURCE_PAKS_ANDROID, "/system/framework/webvi ew/paks"); 398 PathService.override(DIR_RESOURCE_PAKS_ANDROID, "/system/framework/webvi ew/paks");
396 399
397 // Make sure that ResourceProvider is initialized before starting the br owser process. 400 // Make sure that ResourceProvider is initialized before starting the br owser process.
398 final String webViewPackageName = WebViewFactory.getLoadedPackageInfo(). packageName; 401 final String webViewPackageName = WebViewFactory.getLoadedPackageInfo(). packageName;
399 Context context = ContextUtils.getApplicationContext(); 402 final Context context = ContextUtils.getApplicationContext();
400 setUpResources(webViewPackageName, context); 403 setUpResources(webViewPackageName, context);
401 initPlatSupportLibrary(); 404 initPlatSupportLibrary();
402 initNetworkChangeNotifier(context); 405 initNetworkChangeNotifier(context);
403 final boolean isExternalService = true; 406 final boolean isExternalService = true;
404 AwBrowserProcess.configureChildProcessLauncher(webViewPackageName, isExt ernalService); 407 AwBrowserProcess.configureChildProcessLauncher(webViewPackageName, isExt ernalService);
405 AwBrowserProcess.start(); 408 AwBrowserProcess.start();
406 AwBrowserProcess.handleMinidumps(webViewPackageName); 409 AwBrowserProcess.handleMinidumps(webViewPackageName);
407 410
411 PlatformServiceBridge.getInstance(context)
412 .queryMetricsSetting(new ValueCallback<Boolean>() {
413 public void onReceiveValue(Boolean enabled) {
414 ThreadUtils.assertOnUiThread();
415 AwMetricsServiceClient.setConsentSetting(context, enable d);
416 }
417 });
418
408 if (isBuildDebuggable()) { 419 if (isBuildDebuggable()) {
409 setWebContentsDebuggingEnabled(true); 420 setWebContentsDebuggingEnabled(true);
410 } 421 }
411 422
412 TraceEvent.setATraceEnabled(mWebViewDelegate.isTraceTagEnabled()); 423 TraceEvent.setATraceEnabled(mWebViewDelegate.isTraceTagEnabled());
413 mWebViewDelegate.setOnTraceEnabledChangeListener( 424 mWebViewDelegate.setOnTraceEnabledChangeListener(
414 new WebViewDelegate.OnTraceEnabledChangeListener() { 425 new WebViewDelegate.OnTraceEnabledChangeListener() {
415 @Override 426 @Override
416 public void onTraceEnabledChange(boolean enabled) { 427 public void onTraceEnabledChange(boolean enabled) {
417 TraceEvent.setATraceEnabled(enabled); 428 TraceEvent.setATraceEnabled(enabled);
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 this, HttpAuthDatabase.newInstance(context, HTTP_AUTH_DA TABASE_FILE)); 663 this, HttpAuthDatabase.newInstance(context, HTTP_AUTH_DA TABASE_FILE));
653 } 664 }
654 } 665 }
655 return mWebViewDatabase; 666 return mWebViewDatabase;
656 } 667 }
657 668
658 WebViewDelegate getWebViewDelegate() { 669 WebViewDelegate getWebViewDelegate() {
659 return mWebViewDelegate; 670 return mWebViewDelegate;
660 } 671 }
661 } 672 }
OLDNEW
« no previous file with comments | « android_webview/glue/glue.gni ('k') | android_webview/java/src/org/chromium/android_webview/AwBrowserContext.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698