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

Unified Diff: content/public/browser/web_contents_media_capture_id.h

Issue 1503563004: Desktop chrome tab capture-chooseDesktopMedia() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
« no previous file with comments | « content/public/browser/desktop_media_id.cc ('k') | content/public/browser/web_contents_media_capture_id.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/public/browser/web_contents_media_capture_id.h
diff --git a/content/public/browser/web_contents_media_capture_id.h b/content/public/browser/web_contents_media_capture_id.h
new file mode 100644
index 0000000000000000000000000000000000000000..84d91dbe7da4595ef63eed60a67af8bf504e93e2
--- /dev/null
+++ b/content/public/browser/web_contents_media_capture_id.h
@@ -0,0 +1,62 @@
+// Copyright 2016 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 CONTENT_PUBLIC_BROWSER_WEB_CONTENTS_MEDIA_CAPTURE_ID_H_
+#define CONTENT_PUBLIC_BROWSER_WEB_CONTENTS_MEDIA_CAPTURE_ID_H_
+
+#include <string>
+
+#include "content/common/content_export.h"
+#include "ipc/ipc_message.h"
+
+namespace content {
+
+struct CONTENT_EXPORT WebContentsMediaCaptureId {
+ public:
+ WebContentsMediaCaptureId() = default;
+ WebContentsMediaCaptureId(int render_process_id, int main_render_frame_id)
+ : render_process_id(render_process_id),
+ main_render_frame_id(main_render_frame_id) {}
+
+ WebContentsMediaCaptureId(int render_process_id,
+ int main_render_frame_id,
+ bool enable_auto_throttling)
+ : render_process_id(render_process_id),
+ main_render_frame_id(main_render_frame_id),
+ enable_auto_throttling(enable_auto_throttling) {}
+
+ bool operator<(const WebContentsMediaCaptureId& other) const;
+ bool operator==(const WebContentsMediaCaptureId& other) const;
+
+ // Return true if render_process_id or main_render_frame_id is invalid.
+ bool is_null() const;
+
+ std::string ToString() const;
+
+ // Tab video and audio capture need render process id and render frame id.
+ int render_process_id = MSG_ROUTING_NONE;
+ int main_render_frame_id = MSG_ROUTING_NONE;
+
+ bool enable_auto_throttling = false;
+
+ // Create WebContentsMediaCaptureId based on a string.
+ static WebContentsMediaCaptureId Parse(const std::string& str);
+
+ // Check whether the device id indicates that this is a web contents stream.
+ static bool IsWebContentsDeviceId(const std::string& device_id);
+
+ // Function to extract the target render frame id's from a media stream
+ // request's device id.
+ static bool ExtractTabCaptureTarget(const std::string& device_id,
+ int* render_process_id,
+ int* main_render_frame_id);
+
+ // Parses the media stream request |device_id| and returns true if both 1) the
+ // format is valid, and 2) the throttling option is set to auto.
+ static bool IsAutoThrottlingOptionSet(const std::string& device_id);
+};
+
+} // namespace content
+
+#endif // CONTENT_PUBLIC_BROWSER_WEB_CONTENTS_MEDIA_CAPTURE_ID_H_
« no previous file with comments | « content/public/browser/desktop_media_id.cc ('k') | content/public/browser/web_contents_media_capture_id.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698