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

Side by Side Diff: chrome/browser/extensions/api/desktop_capture/desktop_capture_api.cc

Issue 89683003: Rename DesktopMediaPickerModel[Impl]->[Native]DesktopMediaList (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/desktop_streams_registry.h" 10 #include "chrome/browser/media/desktop_streams_registry.h"
11 #include "chrome/browser/media/media_capture_devices_dispatcher.h" 11 #include "chrome/browser/media/media_capture_devices_dispatcher.h"
12 #include "chrome/browser/media/native_desktop_media_list.h"
12 #include "chrome/common/extensions/api/tabs.h" 13 #include "chrome/common/extensions/api/tabs.h"
13 #include "content/public/browser/browser_thread.h" 14 #include "content/public/browser/browser_thread.h"
14 #include "content/public/browser/render_process_host.h" 15 #include "content/public/browser/render_process_host.h"
15 #include "content/public/browser/render_view_host.h" 16 #include "content/public/browser/render_view_host.h"
16 #include "content/public/browser/web_contents.h" 17 #include "content/public/browser/web_contents.h"
17 #include "content/public/browser/web_contents_view.h" 18 #include "content/public/browser/web_contents_view.h"
18 #include "third_party/webrtc/modules/desktop_capture/screen_capturer.h" 19 #include "third_party/webrtc/modules/desktop_capture/screen_capturer.h"
19 #include "third_party/webrtc/modules/desktop_capture/window_capturer.h" 20 #include "third_party/webrtc/modules/desktop_capture/window_capturer.h"
20 21
21 namespace extensions { 22 namespace extensions {
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 error_ = kTabCaptureNotSupportedError; 154 error_ = kTabCaptureNotSupportedError;
154 return false; 155 return false;
155 } 156 }
156 } 157 }
157 158
158 if (!screen_capturer && !window_capturer) { 159 if (!screen_capturer && !window_capturer) {
159 error_ = kEmptySourcesListError; 160 error_ = kEmptySourcesListError;
160 return false; 161 return false;
161 } 162 }
162 163
163 scoped_ptr<DesktopMediaPickerModel> model; 164 scoped_ptr<DesktopMediaList> media_list;
164 if (g_picker_factory) { 165 if (g_picker_factory) {
165 model = g_picker_factory->CreateModel( 166 media_list = g_picker_factory->CreateModel(
166 screen_capturer.Pass(), window_capturer.Pass()); 167 screen_capturer.Pass(), window_capturer.Pass());
167 picker_ = g_picker_factory->CreatePicker(); 168 picker_ = g_picker_factory->CreatePicker();
168 } else { 169 } else {
169 // DesktopMediaPicker is implemented only for Windows, OSX and 170 // DesktopMediaPicker is implemented only for Windows, OSX and
170 // Aura Linux builds. 171 // Aura Linux builds.
171 #if (defined(TOOLKIT_VIEWS) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX) 172 #if (defined(TOOLKIT_VIEWS) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX)
172 model.reset(new DesktopMediaPickerModelImpl( 173 media_list.reset(new NativeDesktopMediaList(
173 screen_capturer.Pass(), window_capturer.Pass())); 174 screen_capturer.Pass(), window_capturer.Pass()));
174 picker_ = DesktopMediaPicker::Create(); 175 picker_ = DesktopMediaPicker::Create();
175 #else 176 #else
176 const char kNotImplementedError[] = 177 const char kNotImplementedError[] =
177 "Desktop Capture API is not yet implemented for this platform."; 178 "Desktop Capture API is not yet implemented for this platform.";
178 error_ = kNotImplementedError; 179 error_ = kNotImplementedError;
179 return false; 180 return false;
180 #endif 181 #endif
181 } 182 }
182 DesktopMediaPicker::DoneCallback callback = base::Bind( 183 DesktopMediaPicker::DoneCallback callback = base::Bind(
183 &DesktopCaptureChooseDesktopMediaFunction::OnPickerDialogResults, this); 184 &DesktopCaptureChooseDesktopMediaFunction::OnPickerDialogResults, this);
184 185
185 picker_->Show(parent_window, parent_window, 186 picker_->Show(parent_window, parent_window,
186 UTF8ToUTF16(GetExtension()->name()), 187 UTF8ToUTF16(GetExtension()->name()),
187 model.Pass(), callback); 188 media_list.Pass(), callback);
188 return true; 189 return true;
189 } 190 }
190 191
191 void DesktopCaptureChooseDesktopMediaFunction::OnPickerDialogResults( 192 void DesktopCaptureChooseDesktopMediaFunction::OnPickerDialogResults(
192 content::DesktopMediaID source) { 193 content::DesktopMediaID source) {
193 std::string result; 194 std::string result;
194 if (source.type != content::DesktopMediaID::TYPE_NONE) { 195 if (source.type != content::DesktopMediaID::TYPE_NONE) {
195 DesktopStreamsRegistry* registry = 196 DesktopStreamsRegistry* registry =
196 MediaCaptureDevicesDispatcher::GetInstance()-> 197 MediaCaptureDevicesDispatcher::GetInstance()->
197 GetDesktopStreamsRegistry(); 198 GetDesktopStreamsRegistry();
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 257
257 void DesktopCaptureRequestsRegistry::CancelRequest(int process_id, 258 void DesktopCaptureRequestsRegistry::CancelRequest(int process_id,
258 int request_id) { 259 int request_id) {
259 RequestsMap::iterator it = requests_.find(RequestId(process_id, request_id)); 260 RequestsMap::iterator it = requests_.find(RequestId(process_id, request_id));
260 if (it != requests_.end()) 261 if (it != requests_.end())
261 it->second->Cancel(); 262 it->second->Cancel();
262 } 263 }
263 264
264 265
265 } // namespace extensions 266 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698