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

Side by Side Diff: content/renderer/presentation/presentation_dispatcher.cc

Issue 1873783003: Convert //content/renderer from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/renderer/presentation/presentation_dispatcher.h" 5 #include "content/renderer/presentation/presentation_dispatcher.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 const blink::WebString& presentationId, 138 const blink::WebString& presentationId,
139 const blink::WebString& message) { 139 const blink::WebString& message) {
140 if (message.utf8().size() > kMaxPresentationSessionMessageSize) { 140 if (message.utf8().size() > kMaxPresentationSessionMessageSize) {
141 // TODO(crbug.com/459008): Limit the size of individual messages to 64k 141 // TODO(crbug.com/459008): Limit the size of individual messages to 64k
142 // for now. Consider throwing DOMException or splitting bigger messages 142 // for now. Consider throwing DOMException or splitting bigger messages
143 // into smaller chunks later. 143 // into smaller chunks later.
144 LOG(WARNING) << "message size exceeded limit!"; 144 LOG(WARNING) << "message size exceeded limit!";
145 return; 145 return;
146 } 146 }
147 147
148 message_request_queue_.push(make_scoped_ptr( 148 message_request_queue_.push(base::WrapUnique(
149 CreateSendTextMessageRequest(presentationUrl, presentationId, message))); 149 CreateSendTextMessageRequest(presentationUrl, presentationId, message)));
150 // Start processing request if only one in the queue. 150 // Start processing request if only one in the queue.
151 if (message_request_queue_.size() == 1) 151 if (message_request_queue_.size() == 1)
152 DoSendMessage(message_request_queue_.front().get()); 152 DoSendMessage(message_request_queue_.front().get());
153 } 153 }
154 154
155 void PresentationDispatcher::sendArrayBuffer( 155 void PresentationDispatcher::sendArrayBuffer(
156 const blink::WebString& presentationUrl, 156 const blink::WebString& presentationUrl,
157 const blink::WebString& presentationId, 157 const blink::WebString& presentationId,
158 const uint8_t* data, 158 const uint8_t* data,
159 size_t length) { 159 size_t length) {
160 DCHECK(data); 160 DCHECK(data);
161 if (length > kMaxPresentationSessionMessageSize) { 161 if (length > kMaxPresentationSessionMessageSize) {
162 // TODO(crbug.com/459008): Same as in sendString(). 162 // TODO(crbug.com/459008): Same as in sendString().
163 LOG(WARNING) << "data size exceeded limit!"; 163 LOG(WARNING) << "data size exceeded limit!";
164 return; 164 return;
165 } 165 }
166 166
167 message_request_queue_.push(make_scoped_ptr(CreateSendBinaryMessageRequest( 167 message_request_queue_.push(base::WrapUnique(CreateSendBinaryMessageRequest(
168 presentationUrl, presentationId, 168 presentationUrl, presentationId,
169 mojom::PresentationMessageType::ARRAY_BUFFER, data, length))); 169 mojom::PresentationMessageType::ARRAY_BUFFER, data, length)));
170 // Start processing request if only one in the queue. 170 // Start processing request if only one in the queue.
171 if (message_request_queue_.size() == 1) 171 if (message_request_queue_.size() == 1)
172 DoSendMessage(message_request_queue_.front().get()); 172 DoSendMessage(message_request_queue_.front().get());
173 } 173 }
174 174
175 void PresentationDispatcher::sendBlobData( 175 void PresentationDispatcher::sendBlobData(
176 const blink::WebString& presentationUrl, 176 const blink::WebString& presentationUrl,
177 const blink::WebString& presentationId, 177 const blink::WebString& presentationId,
178 const uint8_t* data, 178 const uint8_t* data,
179 size_t length) { 179 size_t length) {
180 DCHECK(data); 180 DCHECK(data);
181 if (length > kMaxPresentationSessionMessageSize) { 181 if (length > kMaxPresentationSessionMessageSize) {
182 // TODO(crbug.com/459008): Same as in sendString(). 182 // TODO(crbug.com/459008): Same as in sendString().
183 LOG(WARNING) << "data size exceeded limit!"; 183 LOG(WARNING) << "data size exceeded limit!";
184 return; 184 return;
185 } 185 }
186 186
187 message_request_queue_.push(make_scoped_ptr(CreateSendBinaryMessageRequest( 187 message_request_queue_.push(base::WrapUnique(CreateSendBinaryMessageRequest(
188 presentationUrl, presentationId, mojom::PresentationMessageType::BLOB, 188 presentationUrl, presentationId, mojom::PresentationMessageType::BLOB,
189 data, length))); 189 data, length)));
190 // Start processing request if only one in the queue. 190 // Start processing request if only one in the queue.
191 if (message_request_queue_.size() == 1) 191 if (message_request_queue_.size() == 1)
192 DoSendMessage(message_request_queue_.front().get()); 192 DoSendMessage(message_request_queue_.front().get());
193 } 193 }
194 194
195 void PresentationDispatcher::DoSendMessage(SendMessageRequest* request) { 195 void PresentationDispatcher::DoSendMessage(SendMessageRequest* request) {
196 ConnectToPresentationServiceIfNeeded(); 196 ConnectToPresentationServiceIfNeeded();
197 197
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 } 241 }
242 242
243 void PresentationDispatcher::getAvailability( 243 void PresentationDispatcher::getAvailability(
244 const blink::WebString& availabilityUrl, 244 const blink::WebString& availabilityUrl,
245 blink::WebPresentationAvailabilityCallbacks* callbacks) { 245 blink::WebPresentationAvailabilityCallbacks* callbacks) {
246 const std::string& availability_url = availabilityUrl.utf8(); 246 const std::string& availability_url = availabilityUrl.utf8();
247 AvailabilityStatus* status = nullptr; 247 AvailabilityStatus* status = nullptr;
248 auto status_it = availability_status_.find(availability_url); 248 auto status_it = availability_status_.find(availability_url);
249 if (status_it == availability_status_.end()) { 249 if (status_it == availability_status_.end()) {
250 status = new AvailabilityStatus(availability_url); 250 status = new AvailabilityStatus(availability_url);
251 availability_status_[availability_url] = make_scoped_ptr(status); 251 availability_status_[availability_url] = base::WrapUnique(status);
252 } else { 252 } else {
253 status = status_it->second.get(); 253 status = status_it->second.get();
254 } 254 }
255 DCHECK(status); 255 DCHECK(status);
256 256
257 if (status->listening_state == ListeningState::ACTIVE) { 257 if (status->listening_state == ListeningState::ACTIVE) {
258 callbacks->onSuccess(status->last_known_availability); 258 callbacks->onSuccess(status->last_known_availability);
259 delete callbacks; 259 delete callbacks;
260 return; 260 return;
261 } 261 }
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 416
417 void PresentationDispatcher::OnSessionMessagesReceived( 417 void PresentationDispatcher::OnSessionMessagesReceived(
418 mojom::PresentationSessionInfoPtr session_info, 418 mojom::PresentationSessionInfoPtr session_info,
419 mojo::Array<mojom::SessionMessagePtr> messages) { 419 mojo::Array<mojom::SessionMessagePtr> messages) {
420 if (!controller_) 420 if (!controller_)
421 return; 421 return;
422 422
423 for (size_t i = 0; i < messages.size(); ++i) { 423 for (size_t i = 0; i < messages.size(); ++i) {
424 // Note: Passing batches of messages to the Blink layer would be more 424 // Note: Passing batches of messages to the Blink layer would be more
425 // efficient. 425 // efficient.
426 scoped_ptr<PresentationConnectionClient> session_client( 426 std::unique_ptr<PresentationConnectionClient> session_client(
427 new PresentationConnectionClient(session_info->url, session_info->id)); 427 new PresentationConnectionClient(session_info->url, session_info->id));
428 switch (messages[i]->type) { 428 switch (messages[i]->type) {
429 case mojom::PresentationMessageType::TEXT: { 429 case mojom::PresentationMessageType::TEXT: {
430 controller_->didReceiveSessionTextMessage( 430 controller_->didReceiveSessionTextMessage(
431 session_client.release(), 431 session_client.release(),
432 blink::WebString::fromUTF8(messages[i]->message)); 432 blink::WebString::fromUTF8(messages[i]->message));
433 break; 433 break;
434 } 434 }
435 case mojom::PresentationMessageType::ARRAY_BUFFER: 435 case mojom::PresentationMessageType::ARRAY_BUFFER:
436 case mojom::PresentationMessageType::BLOB: { 436 case mojom::PresentationMessageType::BLOB: {
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
523 PresentationDispatcher::AvailabilityStatus::AvailabilityStatus( 523 PresentationDispatcher::AvailabilityStatus::AvailabilityStatus(
524 const std::string& availability_url) 524 const std::string& availability_url)
525 : url(availability_url), 525 : url(availability_url),
526 last_known_availability(false), 526 last_known_availability(false),
527 listening_state(ListeningState::INACTIVE) {} 527 listening_state(ListeningState::INACTIVE) {}
528 528
529 PresentationDispatcher::AvailabilityStatus::~AvailabilityStatus() { 529 PresentationDispatcher::AvailabilityStatus::~AvailabilityStatus() {
530 } 530 }
531 531
532 } // namespace content 532 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/presentation/presentation_dispatcher.h ('k') | content/renderer/raster_worker_pool.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698