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

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

Issue 2745803003: autofill-try
Patch Set: autofill-try Created 3 years, 6 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.annotation.SuppressLint; 7 import android.annotation.SuppressLint;
8 import android.annotation.TargetApi; 8 import android.annotation.TargetApi;
9 import android.content.Context; 9 import android.content.Context;
10 import android.content.Intent; 10 import android.content.Intent;
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 import android.webkit.WebViewProvider; 50 import android.webkit.WebViewProvider;
51 import android.widget.TextView; 51 import android.widget.TextView;
52 52
53 import org.chromium.android_webview.AwContents; 53 import org.chromium.android_webview.AwContents;
54 import org.chromium.android_webview.AwContentsStatics; 54 import org.chromium.android_webview.AwContentsStatics;
55 import org.chromium.android_webview.AwPrintDocumentAdapter; 55 import org.chromium.android_webview.AwPrintDocumentAdapter;
56 import org.chromium.android_webview.AwSettings; 56 import org.chromium.android_webview.AwSettings;
57 import org.chromium.android_webview.ResourcesContextWrapperFactory; 57 import org.chromium.android_webview.ResourcesContextWrapperFactory;
58 import org.chromium.base.ThreadUtils; 58 import org.chromium.base.ThreadUtils;
59 import org.chromium.base.annotations.SuppressFBWarnings; 59 import org.chromium.base.annotations.SuppressFBWarnings;
60 import org.chromium.components.autofill.AutofillProvider;
60 import org.chromium.content.browser.SmartClipProvider; 61 import org.chromium.content.browser.SmartClipProvider;
61 import org.chromium.content_public.browser.NavigationHistory; 62 import org.chromium.content_public.browser.NavigationHistory;
62 63
63 import java.io.BufferedWriter; 64 import java.io.BufferedWriter;
64 import java.io.File; 65 import java.io.File;
65 import java.lang.reflect.Field; 66 import java.lang.reflect.Field;
66 import java.lang.reflect.Method; 67 import java.lang.reflect.Method;
67 import java.util.Map; 68 import java.util.Map;
68 import java.util.concurrent.Callable; 69 import java.util.concurrent.Callable;
69 70
(...skipping 24 matching lines...) Expand all
94 private ContentSettingsAdapter mWebSettings; 95 private ContentSettingsAdapter mWebSettings;
95 // The WebView wrapper for ContentViewCore and required browser compontents. 96 // The WebView wrapper for ContentViewCore and required browser compontents.
96 AwContents mAwContents; 97 AwContents mAwContents;
97 // Non-null if this webview is using the GL accelerated draw path. 98 // Non-null if this webview is using the GL accelerated draw path.
98 private DrawGLFunctor mGLfunctor; 99 private DrawGLFunctor mGLfunctor;
99 100
100 private final WebView.HitTestResult mHitTestResult; 101 private final WebView.HitTestResult mHitTestResult;
101 102
102 private final int mAppTargetSdkVersion; 103 private final int mAppTargetSdkVersion;
103 104
104 private WebViewChromiumFactoryProvider mFactory; 105 protected WebViewChromiumFactoryProvider mFactory;
105 106
106 private final boolean mShouldDisableThreadChecking; 107 private final boolean mShouldDisableThreadChecking;
107 108
108 private static boolean sRecordWholeDocumentEnabledByApi; 109 private static boolean sRecordWholeDocumentEnabledByApi;
109 static void enableSlowWholeDocumentDraw() { 110 static void enableSlowWholeDocumentDraw() {
110 sRecordWholeDocumentEnabledByApi = true; 111 sRecordWholeDocumentEnabledByApi = true;
111 } 112 }
112 113
113 // This does not touch any global / non-threadsafe state, but note that 114 // This does not touch any global / non-threadsafe state, but note that
114 // init is ofter called right after and is NOT threadsafe. 115 // init is ofter called right after and is NOT threadsafe.
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 Log.w(TAG, "Failed to disable thread checking."); 224 Log.w(TAG, "Failed to disable thread checking.");
224 } 225 }
225 } 226 }
226 227
227 private void initForReal() { 228 private void initForReal() {
228 AwContentsStatics.setRecordFullDocument(sRecordWholeDocumentEnabledByApi 229 AwContentsStatics.setRecordFullDocument(sRecordWholeDocumentEnabledByApi
229 || mAppTargetSdkVersion < Build.VERSION_CODES.LOLLIPOP); 230 || mAppTargetSdkVersion < Build.VERSION_CODES.LOLLIPOP);
230 231
231 mAwContents = new AwContents(mFactory.getBrowserContextOnUiThread(), mWe bView, mContext, 232 mAwContents = new AwContents(mFactory.getBrowserContextOnUiThread(), mWe bView, mContext,
232 new InternalAccessAdapter(), new WebViewNativeDrawGLFunctorFacto ry(), 233 new InternalAccessAdapter(), new WebViewNativeDrawGLFunctorFacto ry(),
233 mContentsClientAdapter, mWebSettings.getAwSettings()); 234 mContentsClientAdapter, mWebSettings.getAwSettings(),
235 new AwContents.DependencyFactory() {
236 @Override
237 public AutofillProvider createAutofillProvider(
238 Context context, ViewGroup containerView) {
239 return mFactory.createAutofillProvider(context, mWebView );
240 }
241 });
234 242
235 if (mAppTargetSdkVersion >= Build.VERSION_CODES.KITKAT) { 243 if (mAppTargetSdkVersion >= Build.VERSION_CODES.KITKAT) {
236 // On KK and above, favicons are automatically downloaded as the met hod 244 // On KK and above, favicons are automatically downloaded as the met hod
237 // old apps use to enable that behavior is deprecated. 245 // old apps use to enable that behavior is deprecated.
238 AwContents.setShouldDownloadFavicons(); 246 AwContents.setShouldDownloadFavicons();
239 } 247 }
240 248
241 if (mAppTargetSdkVersion < Build.VERSION_CODES.LOLLIPOP) { 249 if (mAppTargetSdkVersion < Build.VERSION_CODES.LOLLIPOP) {
242 // Prior to Lollipop, JavaScript objects injected via addJavascriptI nterface 250 // Prior to Lollipop, JavaScript objects injected via addJavascriptI nterface
243 // were not inspectable. 251 // were not inspectable.
244 mAwContents.disableJavascriptInterfacesInspection(); 252 mAwContents.disableJavascriptInterfacesInspection();
245 } 253 }
246 254
247 // TODO: This assumes AwContents ignores second Paint param. 255 // TODO: This assumes AwContents ignores second Paint param.
248 mAwContents.setLayerType(mWebView.getLayerType(), null); 256 mAwContents.setLayerType(mWebView.getLayerType(), null);
249 } 257 }
250 258
251 private RuntimeException createThreadException() { 259 private RuntimeException createThreadException() {
252 return new IllegalStateException( 260 return new IllegalStateException(
253 "Calling View methods on another thread than the UI thread."); 261 "Calling View methods on another thread than the UI thread.");
254 } 262 }
255 263
256 private boolean checkNeedsPost() { 264 protected boolean checkNeedsPost() {
257 boolean needsPost = !mFactory.hasStarted() || !ThreadUtils.runningOnUiTh read(); 265 boolean needsPost = !mFactory.hasStarted() || !ThreadUtils.runningOnUiTh read();
258 if (!needsPost && mAwContents == null) { 266 if (!needsPost && mAwContents == null) {
259 throw new IllegalStateException("AwContents must be created if we ar e not posting!"); 267 throw new IllegalStateException("AwContents must be created if we ar e not posting!");
260 } 268 }
261 return needsPost; 269 return needsPost;
262 } 270 }
263 271
264 // Intentionally not static, as no need to check thread on static methods 272 // Intentionally not static, as no need to check thread on static methods
265 private void checkThread() { 273 private void checkThread() {
266 if (!ThreadUtils.runningOnUiThread()) { 274 if (!ThreadUtils.runningOnUiThread()) {
(...skipping 2010 matching lines...) Expand 10 before | Expand all | Expand 10 after
2277 mAwContents.extractSmartClipData(x, y, width, height); 2285 mAwContents.extractSmartClipData(x, y, width, height);
2278 } 2286 }
2279 2287
2280 // Implements SmartClipProvider 2288 // Implements SmartClipProvider
2281 @Override 2289 @Override
2282 public void setSmartClipResultHandler(final Handler resultHandler) { 2290 public void setSmartClipResultHandler(final Handler resultHandler) {
2283 checkThread(); 2291 checkThread();
2284 mAwContents.setSmartClipResultHandler(resultHandler); 2292 mAwContents.setSmartClipResultHandler(resultHandler);
2285 } 2293 }
2286 } 2294 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698