Security and Privacy UI
- new panel for site specific settings
- hooked up favicon to site settings
- new images for security icons
- revamped settings panels to match the new
ui layouts
Change-Id: I1e872ce353e66f78e2b0530901fcbb7de69e28b4
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 2f8db52..3f5319a 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -88,14 +88,14 @@
import org.codeaurora.swe.CookieSyncManager;
import org.codeaurora.swe.Engine;
import org.codeaurora.swe.HttpAuthHandler;
+import org.codeaurora.swe.PermissionsServiceFactory;
import org.codeaurora.swe.SslErrorHandler;
+import org.codeaurora.swe.WebRefiner;
import org.codeaurora.swe.WebSettings;
import org.codeaurora.swe.WebView;
import org.codeaurora.swe.WebBackForwardList;
import org.codeaurora.swe.WebHistoryItem;
-import com.android.browser.AppAdapter;
-import com.android.browser.R;
import com.android.browser.IntentHandler.UrlData;
import com.android.browser.UI.ComboViews;
import com.android.browser.mdm.EditBookmarksRestriction;
@@ -127,6 +127,7 @@
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import java.util.Set;
/**
* Controller for browser
@@ -296,6 +297,45 @@
mNetworkHandler = new NetworkStateHandler(mActivity, this);
mHomepageHandler = new HomepageHandler(browser, this);
mAppMenuHandler = new AppMenuHandler(browser, this, R.menu.browser);
+
+ final WebRefiner refiner = WebRefiner.getInstance();
+ if (refiner != null) {
+ refiner.setRulesEnabled(WebRefiner.CATEGORY_ALL,
+ !PermissionsServiceFactory.getDefaultPermissions(
+ PermissionsServiceFactory.PermissionType.WEBREFINER));
+
+ PermissionsServiceFactory.getPermissionsService(
+ new ValueCallback<PermissionsServiceFactory.PermissionsService>() {
+ @Override
+ public void onReceiveValue(
+ PermissionsServiceFactory.PermissionsService value) {
+ Set<String> origins = value.getOrigins();
+ ArrayList<String> allowList = new ArrayList<>();
+ ArrayList<String> blockList = new ArrayList<>();
+ for (String origin : origins) {
+ PermissionsServiceFactory.PermissionsService.OriginInfo
+ info = value.getOriginInfo(origin);
+ int perm = info.getPermission(
+ PermissionsServiceFactory.PermissionType.WEBREFINER);
+ if (perm == PermissionsServiceFactory.Permission.ALLOW) {
+ allowList.add(origin);
+ } else if (perm == PermissionsServiceFactory.Permission.BLOCK) {
+ blockList.add(origin);
+ }
+ }
+ if (!allowList.isEmpty()) {
+ refiner.enableRulesForDomains(WebRefiner.CATEGORY_ALL,
+ allowList.toArray(new String[allowList.size()]));
+ }
+
+ if (!blockList.isEmpty()) {
+ refiner.disableRulesForDomains(WebRefiner.CATEGORY_ALL,
+ blockList.toArray(new String[blockList.size()]));
+ }
+ }
+ }
+ );
+ }
}
@Override