@@ -278,6 +278,7 @@
|
||||
|
||||
-keep class org.chromium.components.browser_ui.site_settings.SingleCategorySettings {
|
||||
public <init>(...);
|
||||
*** onOptionsItemSelected(...);
|
||||
}
|
||||
|
||||
-keep class org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate {
|
||||
@@ -375,3 +376,31 @@
|
||||
-keep class org.chromium.chrome.browser.share.BraveShareDelegateImpl {
|
||||
public <init>(...);
|
||||
}
|
||||
|
||||
-keep class org.chromium.components.browser_ui.site_settings.ContentSettingsResources$ResourceItem {
|
||||
public <init>(...);
|
||||
}
|
||||
|
||||
-keep class org.chromium.components.browser_ui.site_settings.WebsitePermissionsFetcher {
|
||||
*** getPermissionsType(...);
|
||||
}
|
||||
|
||||
-keep class org.chromium.components.browser_ui.site_settings.SingleWebsiteSettings {
|
||||
public <init>(...);
|
||||
}
|
||||
|
||||
-keep class org.chromium.components.browser_ui.site_settings.BraveSingleWebsiteSettings {
|
||||
public <init>(...);
|
||||
}
|
||||
|
||||
-keep class org.chromium.components.browser_ui.site_settings.Website {
|
||||
public <init>(...);
|
||||
}
|
||||
|
||||
-keep class org.chromium.components.browser_ui.site_settings.BraveWebsite {
|
||||
public <init>(...);
|
||||
}
|
||||
|
||||
-keep class org.chromium.components.browser_ui.site_settings.BraveContentSettingsResources {
|
||||
*** getResourceItem(...);
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ package org.chromium.base;
|
||||
import org.chromium.base.Log;
|
||||
|
||||
import java.lang.Class;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
@@ -37,6 +38,7 @@ public class BraveReflectionUtil {
|
||||
}
|
||||
}
|
||||
Method toInvoke = methodOwner.getDeclaredMethod(method, parameterTypes);
|
||||
if (!toInvoke.isAccessible()) toInvoke.setAccessible(true);
|
||||
try {
|
||||
return toInvoke.invoke(obj, args);
|
||||
} catch (IllegalAccessException e) {
|
||||
@@ -53,6 +55,21 @@ public class BraveReflectionUtil {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Object getField(Class ownerClass, String fieldName, Object obj) {
|
||||
try {
|
||||
Field field = ownerClass.getDeclaredField(fieldName);
|
||||
if (!field.isAccessible()) field.setAccessible(true);
|
||||
return field.get(obj);
|
||||
} catch (NoSuchFieldException e) {
|
||||
Log.e(TAG, "Field not found: " + e);
|
||||
assert (false);
|
||||
} catch (SecurityException | IllegalArgumentException | IllegalAccessException e) {
|
||||
Log.e(TAG, "Get field failed: " + e);
|
||||
assert (false);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// Types should be compatible after bytecode patching
|
||||
@SuppressWarnings("EqualsIncompatibleType")
|
||||
public static Boolean EqualTypes(Class type1, Class type2) {
|
||||
|
||||
@@ -8,3 +8,28 @@
|
||||
-keep class org.chromium.chrome.browser.ChromeTabbedActivity {
|
||||
*** hideOverview(...);
|
||||
}
|
||||
|
||||
-keep class org.chromium.components.browser_ui.site_settings.ContentSettingsResources {
|
||||
*** getResourceItem(...);
|
||||
}
|
||||
|
||||
-keep class org.chromium.components.browser_ui.site_settings.SingleCategorySettings {
|
||||
*** mCategory;
|
||||
*** getAddExceptionDialogMessage(...);
|
||||
*** resetList(...);
|
||||
}
|
||||
|
||||
-keep class org.chromium.components.browser_ui.site_settings.SingleWebsiteSettings {
|
||||
*** mSite;
|
||||
*** getPreferenceKey(...);
|
||||
*** setupContentSettingsPreferences(...);
|
||||
*** setupContentSettingsPreference(...);
|
||||
}
|
||||
|
||||
-keep class org.chromium.components.browser_ui.site_settings.Website {
|
||||
*** getPermissionInfo(...);
|
||||
*** getContentSettingException(...);
|
||||
*** getAddress(...);
|
||||
*** setContentSettingException(...);
|
||||
*** setContentSetting(...);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user