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

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

Issue 1397083003: Remove never_lint from WebView (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: back to path Created 5 years, 2 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.TargetApi;
7 import android.app.Application; 8 import android.app.Application;
8 import android.content.Context; 9 import android.content.Context;
9 import android.content.ContextWrapper; 10 import android.content.ContextWrapper;
10 import android.content.pm.PackageInfo; 11 import android.content.pm.PackageInfo;
11 import android.content.res.AssetManager; 12 import android.content.res.AssetManager;
12 import android.content.res.Resources; 13 import android.content.res.Resources;
13 import android.graphics.Canvas; 14 import android.graphics.Canvas;
15 import android.os.Build;
14 import android.os.Trace; 16 import android.os.Trace;
15 import android.util.SparseArray; 17 import android.util.SparseArray;
16 import android.view.View; 18 import android.view.View;
17 19
18 import java.lang.reflect.Method; 20 import java.lang.reflect.Method;
19 21
20 /** 22 /**
21 * Factory class for {@link WebViewDelegate com.android.webview.chromium.WebView Delegate}s. 23 * Factory class for {@link WebViewDelegate com.android.webview.chromium.WebView Delegate}s.
22 * 24 *
23 * <p>{@link WebViewDelegate com.android.webview.chromium.WebViewDelegate}s prov ide the same 25 * <p>{@link WebViewDelegate com.android.webview.chromium.WebViewDelegate}s prov ide the same
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 * A {@link WebViewDelegate com.android.webview.chromium.WebViewDelegate} co mpatible with the 192 * A {@link WebViewDelegate com.android.webview.chromium.WebViewDelegate} co mpatible with the
191 * API 21 version of the framework in which 193 * API 21 version of the framework in which
192 * {@link android.webkit.WebViewDelegate android.webkit.WebViewDelegate} had not yet been 194 * {@link android.webkit.WebViewDelegate android.webkit.WebViewDelegate} had not yet been
193 * introduced. 195 * introduced.
194 * 196 *
195 * <p>This class implements the 197 * <p>This class implements the
196 * {@link WebViewDelegate com.android.webview.chromium.WebViewDelegate} func tionality by using 198 * {@link WebViewDelegate com.android.webview.chromium.WebViewDelegate} func tionality by using
197 * reflection to call into hidden frameworks APIs released in the API-21 ver sion of the 199 * reflection to call into hidden frameworks APIs released in the API-21 ver sion of the
198 * framework. 200 * framework.
199 */ 201 */
202 @TargetApi(Build.VERSION_CODES.LOLLIPOP)
200 private static class Api21CompatibilityDelegate implements WebViewDelegate { 203 private static class Api21CompatibilityDelegate implements WebViewDelegate {
201 /** Copy of Trace.TRACE_TAG_WEBVIEW */ 204 /** Copy of Trace.TRACE_TAG_WEBVIEW */
202 private static final long TRACE_TAG_WEBVIEW = 1L << 4; 205 private static final long TRACE_TAG_WEBVIEW = 1L << 4;
203 206
204 /** Hidden APIs released in the API 21 version of the framework */ 207 /** Hidden APIs released in the API 21 version of the framework */
205 private final Method mIsTagEnabledMethod; 208 private final Method mIsTagEnabledMethod;
206 private final Method mAddChangeCallbackMethod; 209 private final Method mAddChangeCallbackMethod;
207 private final Method mGetViewRootImplMethod; 210 private final Method mGetViewRootImplMethod;
208 private final Method mInvokeFunctorMethod; 211 private final Method mInvokeFunctorMethod;
209 private final Method mCallDrawGLFunctionMethod; 212 private final Method mCallDrawGLFunctionMethod;
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 // Avoid calling the ContextWrapper.getAssets() proxy 360 // Avoid calling the ContextWrapper.getAssets() proxy
358 // chain, which can return an unexpected AssetManager. 361 // chain, which can return an unexpected AssetManager.
359 mAddAssetPathMethod.invoke( 362 mAddAssetPathMethod.invoke(
360 context.getResources().getAssets(), info.applicationInfo .sourceDir); 363 context.getResources().getAssets(), info.applicationInfo .sourceDir);
361 } catch (Exception e) { 364 } catch (Exception e) {
362 throw new RuntimeException("Invalid reflection", e); 365 throw new RuntimeException("Invalid reflection", e);
363 } 366 }
364 } 367 }
365 } 368 }
366 } 369 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698