Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / api / web_request / web_request_permissions.cc
index 636db60..3a499a3 100644 (file)
@@ -6,13 +6,12 @@
 
 #include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
-#include "chrome/browser/extensions/extension_renderer_state.h"
-#include "chrome/common/extensions/extension_constants.h"
-#include "chrome/common/url_constants.h"
 #include "content/public/browser/resource_request_info.h"
+#include "extensions/browser/guest_view/web_view/web_view_renderer_state.h"
 #include "extensions/browser/info_map.h"
 #include "extensions/common/constants.h"
 #include "extensions/common/extension.h"
+#include "extensions/common/extension_urls.h"
 #include "extensions/common/permissions/permissions_data.h"
 #include "net/url_request/url_request.h"
 #include "url/gurl.h"
@@ -26,7 +25,7 @@ namespace {
 // to check for updates, extension blacklisting, etc.
 bool IsSensitiveURL(const GURL& url) {
   // TODO(battre) Merge this, CanExtensionAccessURL and
-  // PermissionsData::CanExecuteScriptOnPage into one function.
+  // PermissionsData::CanAccessPage into one function.
   bool sensitive_chrome_url = false;
   const std::string host = url.host();
   const char kGoogleCom[] = ".google.com";
@@ -68,12 +67,10 @@ bool IsSensitiveURL(const GURL& url) {
 // to. Extensions still need specific permissions for a given URL, which is
 // covered by CanExtensionAccessURL.
 bool HasWebRequestScheme(const GURL& url) {
-  return (url.SchemeIs(content::kAboutScheme) ||
-          url.SchemeIs(content::kFileScheme) ||
-          url.SchemeIs(content::kFileSystemScheme) ||
-          url.SchemeIs(content::kFtpScheme) ||
-          url.SchemeIs(content::kHttpScheme) ||
-          url.SchemeIs(content::kHttpsScheme) ||
+  return (url.SchemeIs(url::kAboutScheme) || url.SchemeIs(url::kFileScheme) ||
+          url.SchemeIs(url::kFileSystemScheme) ||
+          url.SchemeIs(url::kFtpScheme) || url.SchemeIs(url::kHttpScheme) ||
+          url.SchemeIs(url::kHttpsScheme) ||
           url.SchemeIs(extensions::kExtensionScheme));
 }
 
@@ -87,17 +84,14 @@ bool WebRequestPermissions::HideRequest(
   const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request);
   if (info) {
     int process_id = info->GetChildID();
-    int route_id = info->GetRouteID();
-    ExtensionRendererState::WebViewInfo webview_info;
     // Never hide requests from guest processes.
-    if (ExtensionRendererState::GetInstance()->GetWebViewInfo(
-        process_id, route_id, &webview_info)) {
+    if (extensions::WebViewRendererState::GetInstance()->IsGuest(process_id))
       return false;
-    }
+
     if (extension_info_map && (
         extension_info_map->IsSigninProcess(process_id) ||
         extension_info_map->process_map().Contains(
-            extension_misc::kWebStoreAppId, process_id))) {
+            extensions::kWebStoreAppId, process_id))) {
       return true;
     }
   }
@@ -132,14 +126,14 @@ bool WebRequestPermissions::CanExtensionAccessURL(
     case REQUIRE_HOST_PERMISSION:
       // about: URLs are not covered in host permissions, but are allowed
       // anyway.
-      if (!((url.SchemeIs(content::kAboutScheme) ||
-             extensions::PermissionsData::HasHostPermission(extension, url) ||
+      if (!((url.SchemeIs(url::kAboutScheme) ||
+             extension->permissions_data()->HasHostPermission(url) ||
              url.GetOrigin() == extension->url()))) {
         return false;
       }
       break;
     case REQUIRE_ALL_URLS:
-      if (!extensions::PermissionsData::HasEffectiveAccessToAllHosts(extension))
+      if (!extension->permissions_data()->HasEffectiveAccessToAllHosts())
         return false;
       break;
   }