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