summaryrefslogtreecommitdiff
path: root/chromium/proguard.flags
diff options
context:
space:
mode:
authorTorne (Richard Coles) <torne@google.com>2013-09-16 16:53:26 -0700
committerTorne (Richard Coles) <torne@google.com>2013-09-17 00:11:37 +0000
commit4bfa09dfeee67f4349a3833b615f3ad76c332e16 (patch)
tree019bd68638f7ed0c2579c9c773fb48b87ab5a3d0 /chromium/proguard.flags
parentdd46e76cbdf7cac216bb90ac5d6cade0b34d17a9 (diff)
downloadwebview-4bfa09dfeee67f4349a3833b615f3ad76c332e16.tar.gz
Keep @JavascriptInterface methods in proguard.
We need to keep methods that are tagged @JavascriptInterface as these are discovered by reflection at runtime and used to create JS bindings. Stripping these was breaking ChromeVox; works with this change. Bug: 10766751 Change-Id: I1c0b9a855d99c812bd4a3f05e6373c5b2fe045a4 (cherry picked from commit d32e258033d74fb551442b10547215de443be05c)
Diffstat (limited to 'chromium/proguard.flags')
-rw-r--r--chromium/proguard.flags8
1 files changed, 8 insertions, 0 deletions
diff --git a/chromium/proguard.flags b/chromium/proguard.flags
index d6fab25..21b67d2 100644
--- a/chromium/proguard.flags
+++ b/chromium/proguard.flags
@@ -40,6 +40,14 @@
native <methods>;
}
+# Keep methods which get bound to JS interfaces via reflection.
+-keepclasseswithmembers class org.chromium.** {
+ @**.JavascriptInterface <methods>;
+}
+-keepclasseswithmembers class com.android.org.chromium.** {
+ @**.JavascriptInterface <methods>;
+}
+
# Silence notes caused by use of @VisibleForTesting inside guava. This doesn't
# happen when using jarjar because @VisibleForTesting gets renamed as well.
-dontnote com.google.common.cache.LocalCache$ReferenceEntry