| Index: chrome/browser/media/media_capture_devices_dispatcher.h
|
| diff --git a/chrome/browser/media/media_capture_devices_dispatcher.h b/chrome/browser/media/media_capture_devices_dispatcher.h
|
| deleted file mode 100644
|
| index ab8796200f8cb12899e15ec64b17cbcc2ba8ca75..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/media/media_capture_devices_dispatcher.h
|
| +++ /dev/null
|
| @@ -1,206 +0,0 @@
|
| -// Copyright (c) 2012 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.
|
| -
|
| -#ifndef CHROME_BROWSER_MEDIA_MEDIA_CAPTURE_DEVICES_DISPATCHER_H_
|
| -#define CHROME_BROWSER_MEDIA_MEDIA_CAPTURE_DEVICES_DISPATCHER_H_
|
| -
|
| -#include <deque>
|
| -#include <list>
|
| -#include <map>
|
| -#include <memory>
|
| -
|
| -#include "base/callback.h"
|
| -#include "base/macros.h"
|
| -#include "base/memory/scoped_vector.h"
|
| -#include "base/memory/singleton.h"
|
| -#include "base/observer_list.h"
|
| -#include "content/public/browser/media_observer.h"
|
| -#include "content/public/browser/web_contents_delegate.h"
|
| -#include "content/public/common/media_stream_request.h"
|
| -
|
| -class DesktopStreamsRegistry;
|
| -class MediaAccessHandler;
|
| -class MediaStreamCaptureIndicator;
|
| -class Profile;
|
| -
|
| -namespace extensions {
|
| -class Extension;
|
| -}
|
| -
|
| -namespace user_prefs {
|
| -class PrefRegistrySyncable;
|
| -}
|
| -
|
| -// This singleton is used to receive updates about media events from the content
|
| -// layer.
|
| -class MediaCaptureDevicesDispatcher : public content::MediaObserver {
|
| - public:
|
| - class Observer {
|
| - public:
|
| - // Handle an information update consisting of a up-to-date audio capture
|
| - // device lists. This happens when a microphone is plugged in or unplugged.
|
| - virtual void OnUpdateAudioDevices(
|
| - const content::MediaStreamDevices& devices) {}
|
| -
|
| - // Handle an information update consisting of a up-to-date video capture
|
| - // device lists. This happens when a camera is plugged in or unplugged.
|
| - virtual void OnUpdateVideoDevices(
|
| - const content::MediaStreamDevices& devices) {}
|
| -
|
| - // Handle an information update related to a media stream request.
|
| - virtual void OnRequestUpdate(
|
| - int render_process_id,
|
| - int render_frame_id,
|
| - content::MediaStreamType stream_type,
|
| - const content::MediaRequestState state) {}
|
| -
|
| - // Handle an information update that a new stream is being created.
|
| - virtual void OnCreatingAudioStream(int render_process_id,
|
| - int render_frame_id) {}
|
| -
|
| - virtual ~Observer() {}
|
| - };
|
| -
|
| - static MediaCaptureDevicesDispatcher* GetInstance();
|
| -
|
| - // Registers the preferences related to Media Stream default devices.
|
| - static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
|
| -
|
| - // Returns true if the security origin is associated with casting.
|
| - static bool IsOriginForCasting(const GURL& origin);
|
| -
|
| - // Methods for observers. Called on UI thread.
|
| - // Observers should add themselves on construction and remove themselves
|
| - // on destruction.
|
| - void AddObserver(Observer* observer);
|
| - void RemoveObserver(Observer* observer);
|
| - const content::MediaStreamDevices& GetAudioCaptureDevices();
|
| - const content::MediaStreamDevices& GetVideoCaptureDevices();
|
| -
|
| - // Method called from WebCapturerDelegate implementations to process access
|
| - // requests. |extension| is set to NULL if request was made from a drive-by
|
| - // page.
|
| - void ProcessMediaAccessRequest(
|
| - content::WebContents* web_contents,
|
| - const content::MediaStreamRequest& request,
|
| - const content::MediaResponseCallback& callback,
|
| - const extensions::Extension* extension);
|
| -
|
| - // Method called from WebCapturerDelegate implementations to check media
|
| - // access permission. Note that this does not query the user.
|
| - bool CheckMediaAccessPermission(content::WebContents* web_contents,
|
| - const GURL& security_origin,
|
| - content::MediaStreamType type);
|
| -
|
| - // Same as above but for an |extension|, which may not be NULL.
|
| - bool CheckMediaAccessPermission(content::WebContents* web_contents,
|
| - const GURL& security_origin,
|
| - content::MediaStreamType type,
|
| - const extensions::Extension* extension);
|
| -
|
| - // Helper to get the default devices which can be used by the media request.
|
| - // Uses the first available devices if the default devices are not available.
|
| - // If the return list is empty, it means there is no available device on the
|
| - // OS.
|
| - // Called on the UI thread.
|
| - void GetDefaultDevicesForProfile(Profile* profile,
|
| - bool audio,
|
| - bool video,
|
| - content::MediaStreamDevices* devices);
|
| -
|
| - // Helpers for picking particular requested devices, identified by raw id.
|
| - // If the device requested is not available it will return NULL.
|
| - const content::MediaStreamDevice*
|
| - GetRequestedAudioDevice(const std::string& requested_audio_device_id);
|
| - const content::MediaStreamDevice*
|
| - GetRequestedVideoDevice(const std::string& requested_video_device_id);
|
| -
|
| - // Returns the first available audio or video device, or NULL if no devices
|
| - // are available.
|
| - const content::MediaStreamDevice* GetFirstAvailableAudioDevice();
|
| - const content::MediaStreamDevice* GetFirstAvailableVideoDevice();
|
| -
|
| - // Unittests that do not require actual device enumeration should call this
|
| - // API on the singleton. It is safe to call this multiple times on the
|
| - // signleton.
|
| - void DisableDeviceEnumerationForTesting();
|
| -
|
| - // Overridden from content::MediaObserver:
|
| - void OnAudioCaptureDevicesChanged() override;
|
| - void OnVideoCaptureDevicesChanged() override;
|
| - void OnMediaRequestStateChanged(int render_process_id,
|
| - int render_frame_id,
|
| - int page_request_id,
|
| - const GURL& security_origin,
|
| - content::MediaStreamType stream_type,
|
| - content::MediaRequestState state) override;
|
| - void OnCreatingAudioStream(int render_process_id,
|
| - int render_frame_id) override;
|
| - void OnSetCapturingLinkSecured(int render_process_id,
|
| - int render_frame_id,
|
| - int page_request_id,
|
| - content::MediaStreamType stream_type,
|
| - bool is_secure) override;
|
| -
|
| - scoped_refptr<MediaStreamCaptureIndicator> GetMediaStreamCaptureIndicator();
|
| -
|
| - DesktopStreamsRegistry* GetDesktopStreamsRegistry();
|
| -
|
| - // Return true if there is any ongoing insecured capturing. The capturing is
|
| - // deemed secure if all connected video sinks are reported secure and the
|
| - // extension is trusted.
|
| - bool IsInsecureCapturingInProgress(int render_process_id,
|
| - int render_frame_id);
|
| -
|
| - // Only for testing.
|
| - void SetTestAudioCaptureDevices(const content::MediaStreamDevices& devices);
|
| - void SetTestVideoCaptureDevices(const content::MediaStreamDevices& devices);
|
| -
|
| - private:
|
| - friend struct base::DefaultSingletonTraits<MediaCaptureDevicesDispatcher>;
|
| -
|
| - MediaCaptureDevicesDispatcher();
|
| - ~MediaCaptureDevicesDispatcher() override;
|
| -
|
| - // Called by the MediaObserver() functions, executed on UI thread.
|
| - void NotifyAudioDevicesChangedOnUIThread();
|
| - void NotifyVideoDevicesChangedOnUIThread();
|
| - void UpdateMediaRequestStateOnUIThread(
|
| - int render_process_id,
|
| - int render_frame_id,
|
| - int page_request_id,
|
| - const GURL& security_origin,
|
| - content::MediaStreamType stream_type,
|
| - content::MediaRequestState state);
|
| - void OnCreatingAudioStreamOnUIThread(int render_process_id,
|
| - int render_frame_id);
|
| - void UpdateCapturingLinkSecured(int render_process_id,
|
| - int render_frame_id,
|
| - int page_request_id,
|
| - content::MediaStreamType stream_type,
|
| - bool is_secure);
|
| -
|
| - // Only for testing, a list of cached audio capture devices.
|
| - content::MediaStreamDevices test_audio_devices_;
|
| -
|
| - // Only for testing, a list of cached video capture devices.
|
| - content::MediaStreamDevices test_video_devices_;
|
| -
|
| - // A list of observers for the device update notifications.
|
| - base::ObserverList<Observer> observers_;
|
| -
|
| - // Flag used by unittests to disable device enumeration.
|
| - bool is_device_enumeration_disabled_;
|
| -
|
| - scoped_refptr<MediaStreamCaptureIndicator> media_stream_capture_indicator_;
|
| -
|
| - std::unique_ptr<DesktopStreamsRegistry> desktop_streams_registry_;
|
| -
|
| - // Handlers for processing media access requests.
|
| - ScopedVector<MediaAccessHandler> media_access_handlers_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(MediaCaptureDevicesDispatcher);
|
| -};
|
| -
|
| -#endif // CHROME_BROWSER_MEDIA_MEDIA_CAPTURE_DEVICES_DISPATCHER_H_
|
|
|