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 |