Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3611)

Unified Diff: chrome/browser/media/media_capture_devices_dispatcher.h

Issue 1095393004: Refactor: Make MediaCaptureDevicesDispatcher have pluggable handlers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
index 3523d46e5b80e831c4c529322cbe387fb5630788..50170bc44e050a089ab8ce0391d7aade9690bbbc 100644
--- a/chrome/browser/media/media_capture_devices_dispatcher.h
+++ b/chrome/browser/media/media_capture_devices_dispatcher.h
@@ -13,6 +13,7 @@
#include "base/memory/scoped_ptr.h"
#include "base/memory/singleton.h"
#include "base/observer_list.h"
+#include "chrome/browser/media/media_access_handler.h"
#include "content/public/browser/media_observer.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
@@ -156,19 +157,6 @@ class MediaCaptureDevicesDispatcher : public content::MediaObserver,
private:
friend struct DefaultSingletonTraits<MediaCaptureDevicesDispatcher>;
- struct PendingAccessRequest {
- PendingAccessRequest(const content::MediaStreamRequest& request,
- const content::MediaResponseCallback& callback);
- ~PendingAccessRequest();
-
- // TODO(gbillock): make the MediaStreamDevicesController owned by
- // this object when we're using bubbles.
- content::MediaStreamRequest request;
- content::MediaResponseCallback callback;
- };
- typedef std::deque<PendingAccessRequest> RequestsQueue;
- typedef std::map<content::WebContents*, RequestsQueue> RequestsQueues;
-
MediaCaptureDevicesDispatcher();
~MediaCaptureDevicesDispatcher() override;
@@ -177,39 +165,6 @@ class MediaCaptureDevicesDispatcher : public content::MediaObserver,
const content::NotificationSource& source,
const content::NotificationDetails& details) override;
- // Helpers for ProcessMediaAccessRequest().
- void ProcessDesktopCaptureAccessRequest(
- content::WebContents* web_contents,
- const content::MediaStreamRequest& request,
- const content::MediaResponseCallback& callback,
- const extensions::Extension* extension);
- void ProcessScreenCaptureAccessRequest(
- content::WebContents* web_contents,
- const content::MediaStreamRequest& request,
- const content::MediaResponseCallback& callback,
- const extensions::Extension* extension);
- void ProcessTabCaptureAccessRequest(
- content::WebContents* web_contents,
- const content::MediaStreamRequest& request,
- const content::MediaResponseCallback& callback,
- const extensions::Extension* extension);
-#if defined(ENABLE_EXTENSIONS)
- void ProcessMediaAccessRequestFromPlatformAppOrExtension(
- content::WebContents* web_contents,
- const content::MediaStreamRequest& request,
- const content::MediaResponseCallback& callback,
- const extensions::Extension* extension);
-#endif
- void ProcessRegularMediaAccessRequest(
- content::WebContents* web_contents,
- const content::MediaStreamRequest& request,
- const content::MediaResponseCallback& callback);
- void ProcessQueuedAccessRequest(content::WebContents* web_contents);
- void OnAccessRequestResponse(content::WebContents* web_contents,
- const content::MediaStreamDevices& devices,
- content::MediaStreamRequestResult result,
- scoped_ptr<content::MediaStreamUI> ui);
-
// Called by the MediaObserver() functions, executed on UI thread.
void NotifyAudioDevicesChangedOnUIThread();
void NotifyVideoDevicesChangedOnUIThread();
@@ -254,6 +209,9 @@ class MediaCaptureDevicesDispatcher : public content::MediaObserver,
typedef std::list<DesktopCaptureSession> DesktopCaptureSessions;
DesktopCaptureSessions desktop_capture_sessions_;
+ // Handler for processing media access request.
+ scoped_ptr<MediaAccessHandler> media_access_handler_;
+
DISALLOW_COPY_AND_ASSIGN(MediaCaptureDevicesDispatcher);
};

Powered by Google App Engine
This is Rietveld 408576698