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 #include "chrome/browser/extensions/api/desktop_capture/desktop_capture_api.h" | 5 #include "chrome/browser/extensions/api/desktop_capture/desktop_capture_api.h" |
6 | 6 |
7 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "chrome/browser/extensions/extension_tab_util.h" | 9 #include "chrome/browser/extensions/extension_tab_util.h" |
| 10 #include "chrome/browser/media/ash_desktop_media_list.h" |
10 #include "chrome/browser/media/desktop_streams_registry.h" | 11 #include "chrome/browser/media/desktop_streams_registry.h" |
11 #include "chrome/browser/media/media_capture_devices_dispatcher.h" | 12 #include "chrome/browser/media/media_capture_devices_dispatcher.h" |
12 #include "chrome/browser/media/native_desktop_media_list.h" | 13 #include "chrome/browser/media/native_desktop_media_list.h" |
13 #include "chrome/common/extensions/api/tabs.h" | 14 #include "chrome/common/extensions/api/tabs.h" |
14 #include "content/public/browser/browser_thread.h" | 15 #include "content/public/browser/browser_thread.h" |
15 #include "content/public/browser/render_process_host.h" | 16 #include "content/public/browser/render_process_host.h" |
16 #include "content/public/browser/render_view_host.h" | 17 #include "content/public/browser/render_view_host.h" |
17 #include "content/public/browser/web_contents.h" | 18 #include "content/public/browser/web_contents.h" |
18 #include "content/public/browser/web_contents_view.h" | 19 #include "content/public/browser/web_contents_view.h" |
19 #include "third_party/webrtc/modules/desktop_capture/desktop_capture_options.h" | 20 #include "third_party/webrtc/modules/desktop_capture/desktop_capture_options.h" |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 } | 159 } |
159 | 160 |
160 scoped_ptr<DesktopMediaList> media_list; | 161 scoped_ptr<DesktopMediaList> media_list; |
161 if (g_picker_factory) { | 162 if (g_picker_factory) { |
162 media_list = g_picker_factory->CreateModel( | 163 media_list = g_picker_factory->CreateModel( |
163 show_screens, show_windows); | 164 show_screens, show_windows); |
164 picker_ = g_picker_factory->CreatePicker(); | 165 picker_ = g_picker_factory->CreatePicker(); |
165 } else { | 166 } else { |
166 // DesktopMediaPicker is implemented only for Windows, OSX and | 167 // DesktopMediaPicker is implemented only for Windows, OSX and |
167 // Aura Linux builds. | 168 // Aura Linux builds. |
168 #if (defined(TOOLKIT_VIEWS) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX) | 169 #if defined(USE_ASH) |
| 170 media_list.reset(new AshDesktopMediaList( |
| 171 (show_screens ? AshDesktopMediaList::SCREENS : 0) | |
| 172 (show_windows ? AshDesktopMediaList::WINDOWS : 0))); |
| 173 picker_ = DesktopMediaPicker::Create(); |
| 174 #elif defined(TOOLKIT_VIEWS) || defined(OS_MACOSX) |
169 webrtc::DesktopCaptureOptions options = | 175 webrtc::DesktopCaptureOptions options = |
170 webrtc::DesktopCaptureOptions::CreateDefault(); | 176 webrtc::DesktopCaptureOptions::CreateDefault(); |
171 options.set_disable_effects(false); | 177 options.set_disable_effects(false); |
172 scoped_ptr<webrtc::ScreenCapturer> screen_capturer( | 178 scoped_ptr<webrtc::ScreenCapturer> screen_capturer( |
173 show_screens ? webrtc::ScreenCapturer::Create(options) : NULL); | 179 show_screens ? webrtc::ScreenCapturer::Create(options) : NULL); |
174 scoped_ptr<webrtc::WindowCapturer> window_capturer( | 180 scoped_ptr<webrtc::WindowCapturer> window_capturer( |
175 show_windows ? webrtc::WindowCapturer::Create(options) : NULL); | 181 show_windows ? webrtc::WindowCapturer::Create(options) : NULL); |
176 | 182 |
177 media_list.reset(new NativeDesktopMediaList( | 183 media_list.reset(new NativeDesktopMediaList( |
178 screen_capturer.Pass(), window_capturer.Pass())); | 184 screen_capturer.Pass(), window_capturer.Pass())); |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 | 265 |
260 void DesktopCaptureRequestsRegistry::CancelRequest(int process_id, | 266 void DesktopCaptureRequestsRegistry::CancelRequest(int process_id, |
261 int request_id) { | 267 int request_id) { |
262 RequestsMap::iterator it = requests_.find(RequestId(process_id, request_id)); | 268 RequestsMap::iterator it = requests_.find(RequestId(process_id, request_id)); |
263 if (it != requests_.end()) | 269 if (it != requests_.end()) |
264 it->second->Cancel(); | 270 it->second->Cancel(); |
265 } | 271 } |
266 | 272 |
267 | 273 |
268 } // namespace extensions | 274 } // namespace extensions |
OLD | NEW |