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

Side by Side Diff: content/browser/media/capture/image_capture_impl.cc

Issue 2166713002: ImageCapture: replace Mojo String/Array with stl/wtf string/vector (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "content/browser/media/capture/image_capture_impl.h" 5 #include "content/browser/media/capture/image_capture_impl.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind_helpers.h" 9 #include "base/bind_helpers.h"
10 #include "content/browser/browser_main_loop.h" 10 #include "content/browser/browser_main_loop.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 } 44 }
45 45
46 void RunFailedSetOptionsCallback( 46 void RunFailedSetOptionsCallback(
47 const ImageCaptureImpl::SetOptionsCallback& cb) { 47 const ImageCaptureImpl::SetOptionsCallback& cb) {
48 DCHECK_CURRENTLY_ON(BrowserThread::UI); 48 DCHECK_CURRENTLY_ON(BrowserThread::UI);
49 cb.Run(false); 49 cb.Run(false);
50 } 50 }
51 51
52 void RunTakePhotoCallbackOnUIThread( 52 void RunTakePhotoCallbackOnUIThread(
53 const ImageCaptureImpl::TakePhotoCallback& callback, 53 const ImageCaptureImpl::TakePhotoCallback& callback,
54 mojo::String mime_type, 54 const std::string& mime_type,
55 mojo::Array<uint8_t> data) { 55 const std::vector<uint8_t>& data) {
56 BrowserThread::PostTask( 56 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
57 BrowserThread::UI, FROM_HERE, 57 base::Bind(callback, mime_type, data));
Wez 2016/07/20 18:52:07 |data| was previously move()'d, which was presumab
mcasas 2016/07/20 22:57:01 It's complicated due to the automatic generation o
yzshen1 2016/07/20 23:05:13 I don't know whether it is necessary, but if you w
Wez 2016/07/20 23:19:54 I mentioned this because |data| seems like it's so
yzshen1 2016/07/20 23:27:36 Agreed. Copy seems sad here. mcasas@ mentioned tha
58 base::Bind(callback, mime_type, base::Passed(std::move(data))));
59 } 58 }
60 59
61 void RunFailedTakePhotoCallback(const ImageCaptureImpl::TakePhotoCallback& cb) { 60 void RunFailedTakePhotoCallback(const ImageCaptureImpl::TakePhotoCallback& cb) {
62 DCHECK_CURRENTLY_ON(BrowserThread::UI); 61 DCHECK_CURRENTLY_ON(BrowserThread::UI);
63 cb.Run("", mojo::Array<uint8_t>()); 62 cb.Run("", std::vector<uint8_t>());
64 } 63 }
65 64
66 void GetCapabilitiesOnIOThread( 65 void GetCapabilitiesOnIOThread(
67 const mojo::String& source_id, 66 const std::string& source_id,
68 MediaStreamManager* media_stream_manager, 67 MediaStreamManager* media_stream_manager,
69 media::ScopedResultCallback<ImageCaptureImpl::GetCapabilitiesCallback> 68 media::ScopedResultCallback<ImageCaptureImpl::GetCapabilitiesCallback>
70 callback) { 69 callback) {
71 DCHECK_CURRENTLY_ON(BrowserThread::IO); 70 DCHECK_CURRENTLY_ON(BrowserThread::IO);
72 71
73 const int session_id = 72 const int session_id =
74 media_stream_manager->VideoDeviceIdToSessionId(source_id); 73 media_stream_manager->VideoDeviceIdToSessionId(source_id);
75 74
76 if (session_id == StreamDeviceInfo::kNoId) 75 if (session_id == StreamDeviceInfo::kNoId)
77 return; 76 return;
78 media_stream_manager->video_capture_manager()->GetPhotoCapabilities( 77 media_stream_manager->video_capture_manager()->GetPhotoCapabilities(
79 session_id, std::move(callback)); 78 session_id, std::move(callback));
80 } 79 }
81 80
82 void SetOptionsOnIOThread( 81 void SetOptionsOnIOThread(
83 const mojo::String& source_id, 82 const std::string& source_id,
84 MediaStreamManager* media_stream_manager, 83 MediaStreamManager* media_stream_manager,
85 media::mojom::PhotoSettingsPtr settings, 84 media::mojom::PhotoSettingsPtr settings,
86 media::ScopedResultCallback<ImageCaptureImpl::SetOptionsCallback> 85 media::ScopedResultCallback<ImageCaptureImpl::SetOptionsCallback>
87 callback) { 86 callback) {
88 DCHECK_CURRENTLY_ON(BrowserThread::IO); 87 DCHECK_CURRENTLY_ON(BrowserThread::IO);
89 88
90 const int session_id = 89 const int session_id =
91 media_stream_manager->VideoDeviceIdToSessionId(source_id); 90 media_stream_manager->VideoDeviceIdToSessionId(source_id);
92 91
93 if (session_id == StreamDeviceInfo::kNoId) 92 if (session_id == StreamDeviceInfo::kNoId)
94 return; 93 return;
95 media_stream_manager->video_capture_manager()->SetPhotoOptions( 94 media_stream_manager->video_capture_manager()->SetPhotoOptions(
96 session_id, std::move(settings), std::move(callback)); 95 session_id, std::move(settings), std::move(callback));
97 } 96 }
98 97
99 void TakePhotoOnIOThread( 98 void TakePhotoOnIOThread(
100 const mojo::String& source_id, 99 const std::string& source_id,
101 MediaStreamManager* media_stream_manager, 100 MediaStreamManager* media_stream_manager,
102 media::ScopedResultCallback<ImageCaptureImpl::TakePhotoCallback> callback) { 101 media::ScopedResultCallback<ImageCaptureImpl::TakePhotoCallback> callback) {
103 DCHECK_CURRENTLY_ON(BrowserThread::IO); 102 DCHECK_CURRENTLY_ON(BrowserThread::IO);
104 103
105 const int session_id = 104 const int session_id =
106 media_stream_manager->VideoDeviceIdToSessionId(source_id); 105 media_stream_manager->VideoDeviceIdToSessionId(source_id);
107 106
108 if (session_id == StreamDeviceInfo::kNoId) 107 if (session_id == StreamDeviceInfo::kNoId)
109 return; 108 return;
110 media_stream_manager->video_capture_manager()->TakePhoto(session_id, 109 media_stream_manager->video_capture_manager()->TakePhoto(session_id,
111 std::move(callback)); 110 std::move(callback));
112 } 111 }
113 112
114 } // anonymous namespace 113 } // anonymous namespace
115 114
116 // static 115 // static
117 void ImageCaptureImpl::Create( 116 void ImageCaptureImpl::Create(
118 mojo::InterfaceRequest<media::mojom::ImageCapture> request) { 117 mojo::InterfaceRequest<media::mojom::ImageCapture> request) {
119 // |binding_| will take ownership of ImageCaptureImpl. 118 // |binding_| will take ownership of ImageCaptureImpl.
120 new ImageCaptureImpl(std::move(request)); 119 new ImageCaptureImpl(std::move(request));
121 } 120 }
122 121
123 ImageCaptureImpl::~ImageCaptureImpl() {} 122 ImageCaptureImpl::~ImageCaptureImpl() {}
124 123
125 void ImageCaptureImpl::GetCapabilities( 124 void ImageCaptureImpl::GetCapabilities(
126 const mojo::String& source_id, 125 const std::string& source_id,
127 const GetCapabilitiesCallback& callback) { 126 const GetCapabilitiesCallback& callback) {
128 DCHECK_CURRENTLY_ON(BrowserThread::UI); 127 DCHECK_CURRENTLY_ON(BrowserThread::UI);
129 128
130 media::ScopedResultCallback<GetCapabilitiesCallback> scoped_callback( 129 media::ScopedResultCallback<GetCapabilitiesCallback> scoped_callback(
131 base::Bind(&RunGetCapabilitiesCallbackOnUIThread, callback), 130 base::Bind(&RunGetCapabilitiesCallbackOnUIThread, callback),
132 media::BindToCurrentLoop(base::Bind(&RunFailedGetCapabilitiesCallback))); 131 media::BindToCurrentLoop(base::Bind(&RunFailedGetCapabilitiesCallback)));
133 132
134 BrowserThread::PostTask( 133 BrowserThread::PostTask(
135 BrowserThread::IO, FROM_HERE, 134 BrowserThread::IO, FROM_HERE,
136 base::Bind(&GetCapabilitiesOnIOThread, source_id, 135 base::Bind(&GetCapabilitiesOnIOThread, source_id,
137 BrowserMainLoop::GetInstance()->media_stream_manager(), 136 BrowserMainLoop::GetInstance()->media_stream_manager(),
138 base::Passed(&scoped_callback))); 137 base::Passed(&scoped_callback)));
139 } 138 }
140 139
141 void ImageCaptureImpl::SetOptions(const mojo::String& source_id, 140 void ImageCaptureImpl::SetOptions(const std::string& source_id,
142 media::mojom::PhotoSettingsPtr settings, 141 media::mojom::PhotoSettingsPtr settings,
143 const SetOptionsCallback& callback) { 142 const SetOptionsCallback& callback) {
144 DCHECK_CURRENTLY_ON(BrowserThread::UI); 143 DCHECK_CURRENTLY_ON(BrowserThread::UI);
145 144
146 media::ScopedResultCallback<SetOptionsCallback> scoped_callback( 145 media::ScopedResultCallback<SetOptionsCallback> scoped_callback(
147 base::Bind(&RunSetOptionsCallbackOnUIThread, callback), 146 base::Bind(&RunSetOptionsCallbackOnUIThread, callback),
148 media::BindToCurrentLoop(base::Bind(&RunFailedSetOptionsCallback))); 147 media::BindToCurrentLoop(base::Bind(&RunFailedSetOptionsCallback)));
149 148
150 BrowserThread::PostTask( 149 BrowserThread::PostTask(
151 BrowserThread::IO, FROM_HERE, 150 BrowserThread::IO, FROM_HERE,
152 base::Bind(&SetOptionsOnIOThread, source_id, 151 base::Bind(&SetOptionsOnIOThread, source_id,
153 BrowserMainLoop::GetInstance()->media_stream_manager(), 152 BrowserMainLoop::GetInstance()->media_stream_manager(),
154 base::Passed(&settings), base::Passed(&scoped_callback))); 153 base::Passed(&settings), base::Passed(&scoped_callback)));
155 } 154 }
156 155
157 void ImageCaptureImpl::TakePhoto(const mojo::String& source_id, 156 void ImageCaptureImpl::TakePhoto(const std::string& source_id,
158 const TakePhotoCallback& callback) { 157 const TakePhotoCallback& callback) {
159 DCHECK_CURRENTLY_ON(BrowserThread::UI); 158 DCHECK_CURRENTLY_ON(BrowserThread::UI);
160 159
161 media::ScopedResultCallback<TakePhotoCallback> scoped_callback( 160 media::ScopedResultCallback<TakePhotoCallback> scoped_callback(
162 base::Bind(&RunTakePhotoCallbackOnUIThread, callback), 161 base::Bind(&RunTakePhotoCallbackOnUIThread, callback),
163 media::BindToCurrentLoop(base::Bind(&RunFailedTakePhotoCallback))); 162 media::BindToCurrentLoop(base::Bind(&RunFailedTakePhotoCallback)));
164 163
165 BrowserThread::PostTask( 164 BrowserThread::PostTask(
166 BrowserThread::IO, FROM_HERE, 165 BrowserThread::IO, FROM_HERE,
167 base::Bind(&TakePhotoOnIOThread, source_id, 166 base::Bind(&TakePhotoOnIOThread, source_id,
168 BrowserMainLoop::GetInstance()->media_stream_manager(), 167 BrowserMainLoop::GetInstance()->media_stream_manager(),
169 base::Passed(&scoped_callback))); 168 base::Passed(&scoped_callback)));
170 } 169 }
171 170
172 ImageCaptureImpl::ImageCaptureImpl( 171 ImageCaptureImpl::ImageCaptureImpl(
173 mojo::InterfaceRequest<media::mojom::ImageCapture> request) 172 mojo::InterfaceRequest<media::mojom::ImageCapture> request)
174 : binding_(this, std::move(request)) {} 173 : binding_(this, std::move(request)) {}
175 174
176 } // namespace content 175 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698