// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chrome/browser/ui/media_utils.h" #include "chrome/browser/extensions/extension_service.h" #include "chrome/browser/extensions/extension_system.h" #include "chrome/browser/media/media_capture_devices_dispatcher.h" #include "extensions/common/constants.h" class Profile; namespace content { class WebContents; } void RequestMediaAccessPermission( content::WebContents* web_contents, Profile* profile, const content::MediaStreamRequest& request, const content::MediaResponseCallback& callback) { const extensions::Extension* extension = NULL; GURL origin(request.security_origin); if (origin.SchemeIs(extensions::kExtensionScheme)) { ExtensionService* extensions_service = extensions::ExtensionSystem::Get(profile)->extension_service(); extension = extensions_service->extensions()->GetByID(origin.host()); DCHECK(extension); } MediaCaptureDevicesDispatcher::GetInstance()->ProcessMediaAccessRequest( web_contents, request, callback, extension); }