diff options
author | Primiano Tucci <primiano@google.com> | 2014-09-30 16:34:42 +0100 |
---|---|---|
committer | Primiano Tucci <primiano@google.com> | 2014-10-01 13:38:44 +0100 |
commit | 22fec495f2e36255d15ff35301ad96d5f7e35d20 (patch) | |
tree | b7d109703e8e7729b0502d89a0fb2891672cb707 /chromium/java/com/android/webview | |
parent | 5d016d9a6abb8d713bc094662190721a8b2d95ae (diff) | |
parent | 84e387193b55f94d61a9544ccfbe3c79e5e23f25 (diff) | |
download | webview-22fec495f2e36255d15ff35301ad96d5f7e35d20.tar.gz |
Merge master-chromium into master at 267aeeb8d85c
This commit was generated by merge_to_master.py.
Change-Id: I1126b4412fc30084b9345f7d0a6f307e49a4feb9
Diffstat (limited to 'chromium/java/com/android/webview')
6 files changed, 14 insertions, 93 deletions
diff --git a/chromium/java/com/android/webview/chromium/ResourceRewriter.java b/chromium/java/com/android/webview/chromium/ResourceRewriter.java index 3410044..99fa46f 100644 --- a/chromium/java/com/android/webview/chromium/ResourceRewriter.java +++ b/chromium/java/com/android/webview/chromium/ResourceRewriter.java @@ -34,102 +34,22 @@ class ResourceRewriter { // Rewrite the R 'constants' for all library apks. SparseArray<String> packageIdentifiers = ctx.getResources().getAssets() .getAssignedPackageIdentifiers(); + final int N = packageIdentifiers.size(); for (int i = 0; i < N; i++) { final int id = packageIdentifiers.keyAt(i); - final String name = packageIdentifiers.valueAt(i); if (id == 0x01 || id == 0x7f) { continue; } - // TODO(mkosiba): We should use jarjar to remove the redundant R classes here, but due + // TODO: We should use jarjar to remove the redundant R classes here, but due // to a bug in jarjar it's not possible to rename classes with '$' in their name. // See b/15684775. - rewriteRValues(com.android.webview.chromium.R.class, id); - rewriteRValues(org.chromium.content.R.class, id); - rewriteRValues(org.chromium.ui.R.class, id); + com.android.webview.chromium.R.onResourcesLoaded(id); + org.chromium.ui.R.onResourcesLoaded(id); + org.chromium.content.R.onResourcesLoaded(id); break; } - - } - - private static void rewriteIntField(Field field, int packageId) throws IllegalAccessException { - int requiredModifiers = Modifier.STATIC | Modifier.PUBLIC; - int bannedModifiers = Modifier.FINAL; - - int mod = field.getModifiers(); - if ((mod & requiredModifiers) != requiredModifiers || - (mod & bannedModifiers) != 0) { - throw new IllegalArgumentException("Field " + field.getName() + - " is not rewritable"); - } - - if (field.getType() != int.class && field.getType() != Integer.class) { - throw new IllegalArgumentException("Field " + field.getName() + - " is not an integer"); - } - - try { - int resId = field.getInt(null); - int newId = (resId & 0x00ffffff) | (packageId << 24); - field.setInt(null, newId); - } catch (IllegalAccessException e) { - // This should not occur (we check above if we can write to it) - throw new IllegalArgumentException(e); - } - } - - private static void rewriteIntArrayField(Field field, int packageId) { - int requiredModifiers = Modifier.STATIC | Modifier.PUBLIC; - - if ((field.getModifiers() & requiredModifiers) != requiredModifiers) { - throw new IllegalArgumentException("Field " + field.getName() + - " is not rewritable"); - } - - if (field.getType() != int[].class) { - throw new IllegalArgumentException("Field " + field.getName() + - " is not an integer array"); - } - - try { - int[] array = (int[]) field.get(null); - for (int i = 0; i < array.length; i++) { - array[i] = (array[i] & 0x00ffffff) | (packageId << 24); - } - } catch (IllegalAccessException e) { - // This should not occur (we check above if we can write to it) - throw new IllegalArgumentException(e); - } } - - private static void rewriteRValues(final Class<?> rClazz, int id) { - try { - Class<?>[] declaredClasses = rClazz.getDeclaredClasses(); - for (Class<?> clazz : declaredClasses) { - try { - if (clazz.getSimpleName().equals("styleable")) { - for (Field field : clazz.getDeclaredFields()) { - if (field.getType() == int[].class) { - rewriteIntArrayField(field, id); - } - } - - } else { - for (Field field : clazz.getDeclaredFields()) { - rewriteIntField(field, id); - } - } - } catch (Exception e) { - throw new IllegalArgumentException("Failed to rewrite R values for " + - clazz.getName(), e); - } - } - - } catch (Exception e) { - throw new IllegalArgumentException("Failed to rewrite R values", e); - } - } - } diff --git a/chromium/java/com/android/webview/chromium/WebBackForwardListChromium.java b/chromium/java/com/android/webview/chromium/WebBackForwardListChromium.java index ad2b64b..b584ee9 100644 --- a/chromium/java/com/android/webview/chromium/WebBackForwardListChromium.java +++ b/chromium/java/com/android/webview/chromium/WebBackForwardListChromium.java @@ -16,7 +16,7 @@ package com.android.webview.chromium; -import org.chromium.content.browser.NavigationHistory; +import org.chromium.content_public.browser.NavigationHistory; import android.webkit.WebBackForwardList; import android.webkit.WebHistoryItem; diff --git a/chromium/java/com/android/webview/chromium/WebHistoryItemChromium.java b/chromium/java/com/android/webview/chromium/WebHistoryItemChromium.java index 18ab645..e36384b 100644 --- a/chromium/java/com/android/webview/chromium/WebHistoryItemChromium.java +++ b/chromium/java/com/android/webview/chromium/WebHistoryItemChromium.java @@ -16,7 +16,7 @@ package com.android.webview.chromium; -import org.chromium.content.browser.NavigationEntry; +import org.chromium.content_public.browser.NavigationEntry; import android.graphics.Bitmap; import android.webkit.WebHistoryItem; diff --git a/chromium/java/com/android/webview/chromium/WebViewChromium.java b/chromium/java/com/android/webview/chromium/WebViewChromium.java index 08ad69a..e29c3d3 100644 --- a/chromium/java/com/android/webview/chromium/WebViewChromium.java +++ b/chromium/java/com/android/webview/chromium/WebViewChromium.java @@ -69,7 +69,7 @@ import org.chromium.android_webview.AwLayoutSizer; import org.chromium.android_webview.AwSettings; import org.chromium.android_webview.AwPrintDocumentAdapter; import org.chromium.base.ThreadUtils; -import org.chromium.content.browser.LoadUrlParams; +import org.chromium.content_public.browser.LoadUrlParams; import org.chromium.net.NetworkChangeNotifier; import java.io.BufferedWriter; diff --git a/chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java b/chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java index 9e718f1..5a947e8 100644 --- a/chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java +++ b/chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java @@ -28,6 +28,7 @@ import android.net.Uri; import android.os.Build; import android.os.FileUtils; import android.os.Looper; +import android.os.StrictMode; import android.os.SystemProperties; import android.os.Trace; import android.util.Log; @@ -56,13 +57,13 @@ import org.chromium.base.CommandLine; import org.chromium.base.MemoryPressureListener; import org.chromium.base.PathService; import org.chromium.base.PathUtils; +import org.chromium.base.ResourceExtractor; import org.chromium.base.ThreadUtils; import org.chromium.base.TraceEvent; import org.chromium.base.library_loader.LibraryLoader; import org.chromium.base.library_loader.ProcessInitException; import org.chromium.content.app.ContentMain; import org.chromium.content.browser.ContentViewStatics; -import org.chromium.content.browser.ResourceExtractor; import java.io.File; import java.lang.ref.WeakReference; @@ -101,7 +102,10 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { public WebViewChromiumFactoryProvider() { if (Build.IS_DEBUGGABLE) { + // Suppress the StrictMode violation as this codepath is only hit on debugglable builds. + StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads(); CommandLine.initFromFile(COMMAND_LINE_FILE); + StrictMode.setThreadPolicy(oldPolicy); } else { CommandLine.init(null); } diff --git a/chromium/java/com/android/webview/chromium/WebViewContentsClientAdapter.java b/chromium/java/com/android/webview/chromium/WebViewContentsClientAdapter.java index c2cc671..8d92630 100644 --- a/chromium/java/com/android/webview/chromium/WebViewContentsClientAdapter.java +++ b/chromium/java/com/android/webview/chromium/WebViewContentsClientAdapter.java @@ -287,10 +287,7 @@ public class WebViewContentsClientAdapter extends AwContentsClient { return mParams.isMainFrame; } - public boolean hasUserGestureInsecure() { - return mParams.hasUserGesture; - } - + @Override public boolean hasGesture() { return mParams.hasUserGesture; } |