| Index: chrome/android/java/proguard.flags
|
| diff --git a/chrome/android/java/proguard.flags b/chrome/android/java/proguard.flags
|
| index 1b2aed8749fb46eb1e46ec04a657560806f37177..d0f19e3e4293f77be6fc3cb6340668a511961e39 100644
|
| --- a/chrome/android/java/proguard.flags
|
| +++ b/chrome/android/java/proguard.flags
|
| @@ -15,15 +15,62 @@
|
| !private static final java.lang.String *;
|
| }
|
|
|
| -# Keep code annotated with the following annotations.
|
| --keep class com.google.android.apps.chrome.**,org.chromium.** {
|
| +# Fragments are loaded using reflection via Fragment.instantiate(Context,String)
|
| +# This can be improved upon - see crbug.com/622023.
|
| +-keep public class com.google.android.apps.chrome** extends android.app.Fragment
|
| +-keep public class org.chromium** extends android.app.Fragment
|
| +
|
| +# Keeps for class level annotations.
|
| +-keep @**.UsedByReflection class *
|
| +-keep @**.VisibleForTesting class *
|
| +
|
| +# Keeps for method level annotations.
|
| +-keepclasseswithmembers class com.google.android.apps.chrome.** {
|
| @**.AccessedByNative <fields>;
|
| +}
|
| +-keepclasseswithmembers class com.google.android.apps.chrome.** {
|
| @**.CalledByNative <methods>;
|
| +}
|
| +-keepclasseswithmembers class com.google.android.apps.chrome.** {
|
| @**.CalledByNativeUnchecked <methods>;
|
| +}
|
| +-keepclasseswithmembers class com.google.android.apps.chrome.** {
|
| @**.JavascriptInterface <methods>;
|
| +}
|
| +-keepclasseswithmembers class com.google.android.apps.chrome.** {
|
| @**.NativeCall <methods>;
|
| +}
|
| +-keepclasseswithmembers class com.google.android.apps.chrome.** {
|
| @**.UsedByReflection <methods>;
|
| - @**.VisibleForTesting *;
|
| +}
|
| +-keepclasseswithmembers class com.google.android.apps.chrome.** {
|
| + @**.VisibleForTesting <methods>;
|
| +}
|
| +-keepclasseswithmembers class com.google.android.apps.chrome.** {
|
| + native <methods>;
|
| +}
|
| +-keepclasseswithmembers class org.chromium.** {
|
| + @**.AccessedByNative <fields>;
|
| +}
|
| +-keepclasseswithmembers class org.chromium.** {
|
| + @**.CalledByNative <methods>;
|
| +}
|
| +-keepclasseswithmembers class org.chromium.** {
|
| + @**.CalledByNativeUnchecked <methods>;
|
| +}
|
| +-keepclasseswithmembers class org.chromium.** {
|
| + @**.JavascriptInterface <methods>;
|
| +}
|
| +-keepclasseswithmembers class org.chromium.** {
|
| + @**.NativeCall <methods>;
|
| +}
|
| +-keepclasseswithmembers class org.chromium.** {
|
| + @**.UsedByReflection <methods>;
|
| +}
|
| +-keepclasseswithmembers class org.chromium.** {
|
| + @**.VisibleForTesting <methods>;
|
| +}
|
| +-keepclasseswithmembers class org.chromium.** {
|
| native <methods>;
|
| }
|
|
|
| @@ -172,3 +219,7 @@
|
| -keepnames class com.google.android.gms.common.GoogleApiAvailability {
|
| *;
|
| }
|
| +
|
| +# Needed for chrome_sync_shell_test_apk. Note - these do no affect chrome_apk's
|
| +# size.
|
| +-keep class org.chromium.sync.protocol.* { *; }
|
|
|