| Index: chrome/browser/extensions/api/tab_capture/tab_capture_api.cc
|
| diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_api.cc b/chrome/browser/extensions/api/tab_capture/tab_capture_api.cc
|
| index ac0df0a4c59e45372400fac317638cdadc648857..4de21fe7288ef180e827b4c698ae04792d17f251 100644
|
| --- a/chrome/browser/extensions/api/tab_capture/tab_capture_api.cc
|
| +++ b/chrome/browser/extensions/api/tab_capture/tab_capture_api.cc
|
| @@ -13,13 +13,13 @@
|
| #include "chrome/browser/extensions/api/tab_capture/tab_capture_registry_factory.h"
|
| #include "chrome/browser/extensions/event_names.h"
|
| #include "chrome/browser/extensions/extension_renderer_state.h"
|
| -#include "chrome/browser/extensions/tab_helper.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/sessions/session_tab_helper.h"
|
| #include "chrome/browser/ui/browser.h"
|
| #include "chrome/browser/ui/browser_finder.h"
|
| #include "chrome/browser/ui/tabs/tab_strip_model.h"
|
| #include "chrome/common/chrome_switches.h"
|
| +#include "chrome/common/extensions/permissions/permissions_data.h"
|
| #include "content/public/browser/render_process_host.h"
|
| #include "content/public/browser/render_view_host.h"
|
| #include "extensions/common/features/feature.h"
|
| @@ -73,10 +73,12 @@ bool TabCaptureCaptureFunction::RunImpl() {
|
| const Extension* extension = GetExtension();
|
| const std::string& extension_id = extension->id();
|
|
|
| + const int tab_id = SessionID::IdForTab(target_contents);
|
| +
|
| // Make sure either we have been granted permission to capture through an
|
| // extension icon click or our extension is whitelisted.
|
| - if (!TabHelper::FromWebContents(target_contents)->
|
| - active_tab_permission_granter()->IsGranted(extension) &&
|
| + if (!PermissionsData::HasAPIPermissionForTab(
|
| + extension, tab_id, APIPermission::kTabCaptureForTab) &&
|
| CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
|
| switches::kWhitelistedExtensionID) != extension_id &&
|
| !FeatureProvider::GetByName("permission")->GetFeature("tabCapture")->
|
| @@ -88,8 +90,6 @@ bool TabCaptureCaptureFunction::RunImpl() {
|
| content::RenderViewHost* const rvh = target_contents->GetRenderViewHost();
|
| int render_process_id = rvh->GetProcess()->GetID();
|
| int routing_id = rvh->GetRoutingID();
|
| - int tab_id = SessionTabHelper::FromWebContents(target_contents)->
|
| - session_id().id();
|
|
|
| // Create a constraints vector. We will modify all the constraints in this
|
| // vector to append our chrome specific constraints.
|
|
|