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)
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