OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_PUBLIC_BROWSER_DESKTOP_MEDIA_ID_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_DESKTOP_MEDIA_ID_H_ |
6 #define CONTENT_PUBLIC_BROWSER_DESKTOP_MEDIA_ID_H_ | 6 #define CONTENT_PUBLIC_BROWSER_DESKTOP_MEDIA_ID_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/strings/string_number_conversions.h" | 11 #include "base/strings/string_number_conversions.h" |
12 #include "base/strings/string_util.h" | 12 #include "base/strings/string_util.h" |
13 #include "content/common/content_export.h" | 13 #include "content/common/content_export.h" |
14 | 14 |
15 namespace aura { | 15 namespace aura { |
16 class Window; | 16 class Window; |
17 } // namespace aura | 17 } // namespace aura |
18 | 18 |
19 namespace content { | 19 namespace content { |
20 | 20 |
21 // Type used to identify desktop media sources. It's converted to string and | 21 // Type used to identify desktop media sources. It's converted to string and |
22 // stored in MediaStreamRequest::requested_video_device_id . | 22 // stored in MediaStreamRequest::requested_video_device_id . |
23 struct CONTENT_EXPORT DesktopMediaID { | 23 struct CONTENT_EXPORT DesktopMediaID { |
24 public: | 24 public: |
25 enum Type { | 25 enum Type { |
26 TYPE_NONE, | 26 TYPE_NONE, |
27 TYPE_SCREEN, | 27 TYPE_SCREEN, |
28 TYPE_WINDOW, | 28 TYPE_WINDOW, |
29 TYPE_AURA_WINDOW, | 29 TYPE_AURA_WINDOW, |
| 30 TYPE_AURA_VIRTUAL_SCREEN, |
30 }; | 31 }; |
31 typedef intptr_t Id; | 32 typedef intptr_t Id; |
32 | 33 |
33 #if defined(USE_AURA) | 34 #if defined(USE_AURA) |
34 // Assigns integer identifier to the |window| and returns DesktopMediaID of | 35 // Assigns integer identifier to the |window| and returns DesktopMediaID of |
35 // type TYPE_AURA_WINDOW that corresponds to that |window|. | 36 // type TYPE_AURA_WINDOW that corresponds to that |window|. |
36 static DesktopMediaID RegisterAuraWindow(aura::Window* window); | 37 static DesktopMediaID RegisterAuraWindow(aura::Window* window); |
37 | 38 |
| 39 // Register the |window| as the aura::Window backing the virtual screen. |
| 40 static void RegisterVirtualScreenAuraWindow(aura::Window* window); |
| 41 |
38 // For DesktopMediaID of type TYPE_AURA_WINDOW returns the |window| that was | 42 // For DesktopMediaID of type TYPE_AURA_WINDOW returns the |window| that was |
39 // previously registered using RegisterAuraWindow(). | 43 // previously registered using RegisterAuraWindow() and for |
| 44 // TYPE_AURA_VIRTUAL_SCREEN returns the |window| that was previously |
| 45 // registered using RegisterVirtualScreenAuraWindow(). |
40 static aura::Window* GetAuraWindowById(const DesktopMediaID& id); | 46 static aura::Window* GetAuraWindowById(const DesktopMediaID& id); |
41 #endif // defined(USE_AURA) | 47 #endif // defined(USE_AURA) |
42 | 48 |
43 static DesktopMediaID Parse(const std::string& str); | 49 static DesktopMediaID Parse(const std::string& str); |
44 | 50 |
45 DesktopMediaID() | 51 DesktopMediaID() |
46 : type(TYPE_NONE), | 52 : type(TYPE_NONE), |
47 id(0) { | 53 id(0) { |
48 } | 54 } |
49 DesktopMediaID(Type type, Id id) | 55 DesktopMediaID(Type type, Id id) |
(...skipping 13 matching lines...) Expand all Loading... |
63 | 69 |
64 std::string ToString(); | 70 std::string ToString(); |
65 | 71 |
66 Type type; | 72 Type type; |
67 Id id; | 73 Id id; |
68 }; | 74 }; |
69 | 75 |
70 } // namespace content | 76 } // namespace content |
71 | 77 |
72 #endif // CONTENT_PUBLIC_BROWSER_DESKTOP_MEDIA_ID_H_ | 78 #endif // CONTENT_PUBLIC_BROWSER_DESKTOP_MEDIA_ID_H_ |
OLD | NEW |