| OLD | NEW |
| (Empty) |
| 1 # Most of the flags in this file are duplicated to refer to both the pre- and | |
| 2 # post-jarjar remapping versions of the class names. This enables the same | |
| 3 # config file to be used whether jarjar is enabled or not. | |
| 4 | |
| 5 | |
| 6 # Keep the factory and its public members; it's the main entry point used by the | |
| 7 # framework. | |
| 8 -keep class com.android.webview.chromium.WebViewChromiumFactoryProvider { | |
| 9 public *; | |
| 10 } | |
| 11 | |
| 12 # Keep the native methods bound to plat_support. | |
| 13 -keepclasseswithmembers class com.android.webview.chromium.** { | |
| 14 native <methods>; | |
| 15 } | |
| 16 | |
| 17 # Keep everything related to the org.chromium JNI interface. | |
| 18 -keepclasseswithmembers class com.android.org.chromium.** { | |
| 19 @**.AccessedByNative <fields>; | |
| 20 } | |
| 21 -keepclasseswithmembers class com.android.org.chromium.** { | |
| 22 @**.CalledByNative <methods>; | |
| 23 } | |
| 24 -keepclasseswithmembers class com.android.org.chromium.** { | |
| 25 @**.CalledByNativeUnchecked <methods>; | |
| 26 } | |
| 27 -keepclasseswithmembers class com.android.org.chromium.** { | |
| 28 native <methods>; | |
| 29 } | |
| 30 | |
| 31 # Keep methods which get bound to JS interfaces via reflection. | |
| 32 -keepclasseswithmembers class com.android.org.chromium.** { | |
| 33 @**.JavascriptInterface <methods>; | |
| 34 } | |
| 35 | |
| 36 # Silence notes caused by use of @VisibleForTesting inside guava. This doesn't | |
| 37 # happen when using jarjar because @VisibleForTesting gets renamed as well. | |
| 38 -dontnote com.google.common.annotations.VisibleForTesting | |
| 39 | |
| 40 # MediaPlayerBridge uses reflection to access internal metadata. | |
| 41 -dontnote com.android.org.chromium.media.MediaPlayerBridge | |
| 42 | |
| 43 # AndroidKeyStore uses reflection to access internal OpenSSL state. | |
| 44 -dontnote com.android.org.chromium.net.AndroidKeyStore | |
| 45 | |
| 46 # TraceEvent uses reflection to access internal trace info. | |
| 47 -dontnote com.android.org.chromium.content.common.TraceEvent | |
| 48 | |
| 49 # ProxyChangeListener$ProxyReceiver uses reflection to access internal | |
| 50 # android.net.ProxyProperties. | |
| 51 -dontnote com.android.org.chromium.net.ProxyChangeListener$ProxyReceiver | |
| 52 | |
| 53 # com.android.org.chromium.content.app.Linker dynamically casts to $TestRunner | |
| 54 # when running tests. We don't run these tests in WebView. | |
| 55 -dontnote com.android.org.chromium.content.app.Linker$TestRunner | |
| 56 | |
| 57 # We need to keep these explicitly as they are parameters to methods which | |
| 58 # are entry points via @calledByNative. | |
| 59 -keep class com.android.org.chromium.ui.autofill.AutofillSuggestion | |
| 60 -keep class com.android.org.chromium.content.browser.ContentVideoViewClient | |
| 61 -keep class com.android.org.chromium.ui.ColorSuggestion | |
| 62 -keep class com.android.org.chromium.content.browser.input.DateTimeSuggestion | |
| 63 -keep class com.android.org.chromium.content.browser.ContentViewCore$JavaScriptC
allback | |
| 64 -keep class com.android.org.chromium.content_public.browser.NavigationController | |
| 65 | |
| 66 # Keep these classes as they are parameters to methods that are native entry poi
nts. | |
| 67 -keep class com.android.org.chromium.android_webview.AwBrowserContext | |
| 68 -keep class com.android.org.chromium.base.library_loader.Linker$LibInfo | |
| 69 | |
| 70 # Keep this class and members as accessed via reflection | |
| 71 -keep class com.android.webview.chromium.Drp { | |
| 72 public *; | |
| 73 } | |
| 74 | |
| 75 # Keep finalizer stuff from google-common used via reflection | |
| 76 -keepclassmembers class com.android.org.chromium.com.google.common.** { | |
| 77 *** finalizeReferent(); | |
| 78 } | |
| 79 -keepclassmembers class com.android.org.chromium.com.google.common.** { | |
| 80 *** startFinalizer(java.lang.Class,java.lang.Object); | |
| 81 } | |
| 82 | |
| 83 # Keep support framework support for SmartClip. | |
| 84 -keep class com.android.webview.chromium.WebViewChromium { | |
| 85 public void extractSmartClipData(int,int,int,int); | |
| 86 public void setSmartClipResultHandler(android.os.Handler); | |
| 87 } | |
| 88 | |
| 89 # We need to explicitly keep classes and constructors referenced only in | |
| 90 # layout resources. | |
| 91 -keep class com.android.org.chromium.ui.ColorPickerAdvanced { | |
| 92 <init>(...); | |
| 93 } | |
| 94 | |
| 95 -keep class com.android.org.chromium.ui.ColorPickerSimple { | |
| 96 <init>(...); | |
| 97 } | |
| 98 | |
| 99 -keep class com.android.org.chromium.ui.ColorPickerMoreButton { | |
| 100 <init>(...); | |
| 101 } | |
| OLD | NEW |