| OLD | NEW |
| 1 # Keep annotations used by chromium to keep members referenced by native code | 1 # Keep annotations used by chromium to keep members referenced by native code |
| 2 -keep class org.chromium.base.*Native* | 2 -keep class org.chromium.base.*Native* |
| 3 -keep class org.chromium.base.JNINamespace | 3 -keep class org.chromium.base.JNINamespace |
| 4 -keepclasseswithmembers class org.chromium.** { | 4 -keepclasseswithmembers class org.chromium.** { |
| 5 @org.chromium.base.AccessedByNative <fields>; | 5 @org.chromium.base.annotations.AccessedByNative <fields>; |
| 6 } | 6 } |
| 7 -keepclasseswithmembers class org.chromium.** { | 7 -keepclasseswithmembers class org.chromium.** { |
| 8 @org.chromium.base.*Native* <methods>; | 8 @org.chromium.base.*Native* <methods>; |
| 9 } | 9 } |
| 10 | 10 |
| 11 # TODO(mef) remove unnecessary classes from base, so we don't have to preserve | 11 # TODO(mef) remove unnecessary classes from base, so we don't have to preserve |
| 12 # their methods | 12 # their methods |
| 13 -keep class org.chromium.** { | 13 -keep class org.chromium.** { |
| 14 native <methods>; | 14 native <methods>; |
| 15 } | 15 } |
| 16 | 16 |
| 17 # Needed so that multiple optimization passes will detect annotations | 17 # Needed so that multiple optimization passes will detect annotations |
| 18 -keepattributes *Annotation* | 18 -keepattributes *Annotation* |
| 19 | 19 |
| 20 # Keep methods used by reflection and native code | 20 # Keep methods used by reflection and native code |
| 21 -keep class org.chromium.base.UsedBy* | 21 -keep class org.chromium.base.UsedBy* |
| 22 -keep @org.chromium.base.UsedBy* class * | 22 -keep @org.chromium.base.UsedBy* class * |
| 23 -keepclassmembers class * { | 23 -keepclassmembers class * { |
| 24 @org.chromium.base.UsedBy* *; | 24 @org.chromium.base.UsedBy* *; |
| 25 } | 25 } |
| 26 | 26 |
| 27 # Suppress unnecessary warnings. | 27 # Suppress unnecessary warnings. |
| 28 -dontnote org.chromium.net.ProxyChangeListener$ProxyReceiver | 28 -dontnote org.chromium.net.ProxyChangeListener$ProxyReceiver |
| 29 -dontnote org.chromium.net.AndroidKeyStore | 29 -dontnote org.chromium.net.AndroidKeyStore |
| 30 # Objects of this type are passed around by native code, but the class | 30 # Objects of this type are passed around by native code, but the class |
| 31 # is never used directly by native code. Since the class is not loaded, it does | 31 # is never used directly by native code. Since the class is not loaded, it does |
| 32 # not need to be preserved as an entry point. | 32 # not need to be preserved as an entry point. |
| 33 -dontnote org.chromium.net.UrlRequest$ResponseHeadersMap | 33 -dontnote org.chromium.net.UrlRequest$ResponseHeadersMap |
| 34 | 34 |
| OLD | NEW |