// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CONTENT_PUBLIC_BROWSER_MEDIA_STREAM_REQUEST_H_ #define CONTENT_PUBLIC_BROWSER_MEDIA_STREAM_REQUEST_H_ #include <memory> #include "base/functional/callback_forward.h" #include "build/build_config.h" #include "content/common/content_export.h" #include "content/public/browser/desktop_media_id.h" #include "third_party/blink/public/common/mediastream/media_stream_request.h" #include "third_party/blink/public/mojom/mediastream/media_stream.mojom-shared.h" #include "ui/gfx/geometry/rect.h" #include "ui/gfx/native_widget_types.h" #include "url/gurl.h" namespace content { // Represents a request for media streams (audio/video). // TODO(vrk,justinlin,wjia): Figure out a way to share this code cleanly between // vanilla WebRTC, Tab Capture, and Pepper Video Capture. Right now there is // Tab-only stuff and Pepper-only stuff being passed around to all clients, // which is icky. struct CONTENT_EXPORT MediaStreamRequest { … }; // Interface used by the content layer to notify chrome about changes in the // state of a media stream. Instances of this class are passed to content layer // when MediaStream access is approved using MediaResponseCallback. class MediaStreamUI { … }; // Callback used return results of media access requests. MediaResponseCallback; } // namespace content #endif // CONTENT_PUBLIC_BROWSER_MEDIA_STREAM_REQUEST_H_