| Index: android_webview/apk/java/proguard.flags
|
| diff --git a/android_webview/apk/java/proguard.flags b/android_webview/apk/java/proguard.flags
|
| index 3b3f2c6332c785919eb2762e8f1b48b528df1f42..3589ce9223dbc7bce601fd148fd6dafed6a9766c 100644
|
| --- a/android_webview/apk/java/proguard.flags
|
| +++ b/android_webview/apk/java/proguard.flags
|
| @@ -8,10 +8,14 @@
|
|
|
| # Keep all runtime visible annotations.
|
| -keepattributes RuntimeVisibleAnnotations
|
| -
|
| -# Disable optimization as this causes proguard to remove seemingly random stuff,
|
| -# including things explicitly kept in this configuration.
|
| --dontoptimize
|
| +# Keeping annotations - if we remove these keeps, ProGuard will eliminate the
|
| +# annotations themselves, which will prevent them from affecting ProGuard's
|
| +# optimization run.
|
| +-keep @interface **.AccessedByNative
|
| +-keep @interface **.CalledByNative
|
| +-keep @interface **.CalledByNativeUnchecked
|
| +-keep @interface **.RemovableInRelease
|
| +-keep @interface **.UsedByReflection
|
|
|
| # Keep the factory and its public members; it's the main entry point used by the
|
| # framework.
|
| @@ -39,11 +43,19 @@
|
| native <methods>;
|
| }
|
|
|
| -# Keep things explicitly marked as used by reflection
|
| +# Keep classes marked as used by reflection
|
| +-keep @**.UsedByReflection class com.android.webview.chromium.**,org.chromium.**
|
| +
|
| +# Keep members explicitly marked as used by reflection
|
| -keepclasseswithmembers class com.android.webview.chromium.**,org.chromium.** {
|
| @**.UsedByReflection *;
|
| }
|
|
|
| +# Remove methods annotated with this if their return value is unused
|
| +-assumenosideeffects class ** {
|
| + @org.chromium.base.annotations.RemovableInRelease <methods>;
|
| +}
|
| +
|
| # Linker dynamically casts to $TestRunner when running tests. We don't run these
|
| # tests in WebView.
|
| -dontnote org.chromium.base.library_loader.Linker$TestRunner
|
|
|