blob: d2034aaec32e6c289b3909a9410b2c5564065a76 [file] [log] [blame]
# Don't rename anything, it makes stack traces unintelligible. We only allow the
# obfuscation pass to run so that we can discard attributes like local variable
# tables. However, we don't want to lose out on optimizations, so although they
# can occasionally make the stack trace a bit stranger with inlining, it won't
# make a big difference for the users seeing the stacktraces. We can always use
# build/android/stacktrace/java_deobfuscate.py to fix the stacktrace up for us.
-keepnames,allowoptimization class *** { *; }
# Keep the factory and its public members; it's the main entry point used by the
# framework.
-keep class com.android.webview.chromium.WebViewChromiumFactoryProvider {
public *;
}
# This is the main entry point for APIs. It is kept to make developing with
# unreleased Android easier.
-keep class com.android.webview.chromium.WebViewChromium {
public *;
}
# Linker dynamically casts to $TestRunner when running tests. We don't run these
# tests in WebView.
-dontnote org.chromium.base.library_loader.Linker$TestRunner
# Don't note about the API 21 compatibility code which references various
# hidden APIs via reflection.
-dontnote com.android.webview.chromium.WebViewDelegateFactory$Api21CompatibilityDelegate
# DefaultAndroidKeyStore uses reflection to access internal OpenSSL state.
-dontnote org.chromium.net.DefaultAndroidKeyStore
# MediaPlayerBridge uses reflection to access internal metadata.
-dontnote org.chromium.media.MediaPlayerBridge
# ProxyChangeListener$ProxyReceiver uses reflection to access internal
# android.net.ProxyProperties.
-dontnote org.chromium.net.ProxyChangeListener$ProxyReceiver
# Silence warnings about reflection used to check for onShow/HideCustomView.
# This class is not really kept since it's in a library jar.
-keep class android.webkit.WebChromeClient {
void onShowCustomView(...);
void onHideCustomView();
}
# Accessed via reflection but not present in all builds
-keep class com.android.webview.chromium.PlatformServiceBridgeGoogle {
void setMetricsSettingListener(...);
PlatformServiceBridgeGoogle(...);
}
-dontnote com.android.webview.chromium.PlatformServiceBridgeGoogle
#TODO(hush): remove after N release. crbug.com/546762
-keep class com.android.webview.chromium.ContentSettingsAdapter {
public void setDisabledActionModeMenuItems(int);
public int getDisabledActionModeMenuItems();
}