Move PermissionContextBase to //components/permissions

There is a slight difference in the code after refactoring:
PermissionContextBase::IsPermissionAvailableToOrigins() now uses
PermissionsClient::CanBypassEmbeddingOriginCheck() which checks both if
the requesting scheme was chrome-extension or if the embedding origin
was chrome://newtab. This is slightly different from the existing logic
which only checks for chrome-extension. I believe this should be fine,
since content::IsOriginSecure() returns true for chrome://newtab
anyway. This small change allows us to use
CanBypassEmbeddingOriginCheck() in
PermissionContextBase::DecidePermission() as well, and avoids adding
another method to PermissionsClient.

Bug: 1025609
Change-Id: I674f8ef5fb9f0d0eca1460c9756759cbe457327e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2063672
Commit-Queue: Clark DuVall <[email protected]>
Reviewed-by: John Abd-El-Malek <[email protected]>
Reviewed-by: Andy Paicu <[email protected]>
Reviewed-by: Ilya Sherman <[email protected]>
Cr-Commit-Position: refs/heads/master@{#743279}
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 1c33de8..f9f363c 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -88,7 +88,6 @@
 #include "chrome/browser/performance_manager/chrome_browser_main_extra_parts_performance_manager.h"
 #include "chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.h"
 #include "chrome/browser/permissions/attestation_permission_request.h"
-#include "chrome/browser/permissions/permission_context_base.h"
 #include "chrome/browser/platform_util.h"
 #include "chrome/browser/plugins/pdf_iframe_navigation_throttle.h"
 #include "chrome/browser/plugins/plugin_utils.h"
@@ -218,6 +217,7 @@
 #include "components/page_load_metrics/browser/metrics_web_contents_observer.h"
 #include "components/page_load_metrics/browser/page_load_metrics_util.h"
 #include "components/payments/content/payment_request_display_manager.h"
+#include "components/permissions/permission_context_base.h"
 #include "components/policy/content/policy_blacklist_navigation_throttle.h"
 #include "components/policy/content/policy_blacklist_service.h"
 #include "components/policy/core/common/policy_service.h"
@@ -2562,9 +2562,9 @@
   // base::CommandLine::ForCurrentProcess()->
   // HasSwitch(switches::kEnableWebBluetooth) is true.
   if (variations::GetVariationParamValue(
-          PermissionContextBase::kPermissionsKillSwitchFieldStudy,
+          permissions::PermissionContextBase::kPermissionsKillSwitchFieldStudy,
           "Bluetooth") ==
-      PermissionContextBase::kPermissionsKillSwitchBlockedValue) {
+      permissions::PermissionContextBase::kPermissionsKillSwitchBlockedValue) {
     // The kill switch is enabled for this permission. Block requests.
     return AllowWebBluetoothResult::BLOCK_GLOBALLY_DISABLED;
   }