Refactored extension privilege enumeration and implemented URLPattern comparisons. 
This will allow checks on per origin extension resource access. Added origin
check when loading extension resources. 

BUG=45876
TEST=ExtensionTest.IsPrivilegeIncrease 
TEST=ExtensionTest.EffectiveHostPermissions
TEST=ExtensionBrowserTest.OriginPrivileges

Review URL: http://codereview.chromium.org/2808051

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55103 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/common/extensions/extension.h b/chrome/common/extensions/extension.h
index 8a55d659..4c1b808 100644
--- a/chrome/common/extensions/extension.h
+++ b/chrome/common/extensions/extension.h
@@ -281,7 +281,7 @@
   // Returns the set of hosts that the extension effectively has access to. This
   // is used in the permissions UI and is a combination of the hosts accessible
   // through content scripts and the hosts accessible through XHR.
-  const std::set<std::string> GetEffectiveHostPermissions() const;
+  const ExtensionExtent GetEffectiveHostPermissions() const;
 
   // Whether or not the extension is allowed permission for a URL pattern from
   // the manifest.  http, https, and chrome://favicon/ is allowed for all