| OLD | NEW |
| 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 <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 message_request_queue_.push(make_scoped_ptr( | 128 message_request_queue_.push(make_scoped_ptr( |
| 129 CreateSendTextMessageRequest(presentationUrl, presentationId, message))); | 129 CreateSendTextMessageRequest(presentationUrl, presentationId, message))); |
| 130 // Start processing request if only one in the queue. | 130 // Start processing request if only one in the queue. |
| 131 if (message_request_queue_.size() == 1) | 131 if (message_request_queue_.size() == 1) |
| 132 DoSendMessage(message_request_queue_.front().get()); | 132 DoSendMessage(message_request_queue_.front().get()); |
| 133 } | 133 } |
| 134 | 134 |
| 135 void PresentationDispatcher::sendArrayBuffer( | 135 void PresentationDispatcher::sendArrayBuffer( |
| 136 const blink::WebString& presentationUrl, | 136 const blink::WebString& presentationUrl, |
| 137 const blink::WebString& presentationId, | 137 const blink::WebString& presentationId, |
| 138 const uint8* data, | 138 const uint8_t* data, |
| 139 size_t length) { | 139 size_t length) { |
| 140 DCHECK(data); | 140 DCHECK(data); |
| 141 if (length > kMaxPresentationSessionMessageSize) { | 141 if (length > kMaxPresentationSessionMessageSize) { |
| 142 // TODO(crbug.com/459008): Same as in sendString(). | 142 // TODO(crbug.com/459008): Same as in sendString(). |
| 143 LOG(WARNING) << "data size exceeded limit!"; | 143 LOG(WARNING) << "data size exceeded limit!"; |
| 144 return; | 144 return; |
| 145 } | 145 } |
| 146 | 146 |
| 147 message_request_queue_.push(make_scoped_ptr( | 147 message_request_queue_.push(make_scoped_ptr( |
| 148 CreateSendBinaryMessageRequest(presentationUrl, presentationId, | 148 CreateSendBinaryMessageRequest(presentationUrl, presentationId, |
| 149 presentation::PresentationMessageType:: | 149 presentation::PresentationMessageType:: |
| 150 PRESENTATION_MESSAGE_TYPE_ARRAY_BUFFER, | 150 PRESENTATION_MESSAGE_TYPE_ARRAY_BUFFER, |
| 151 data, length))); | 151 data, length))); |
| 152 // Start processing request if only one in the queue. | 152 // Start processing request if only one in the queue. |
| 153 if (message_request_queue_.size() == 1) | 153 if (message_request_queue_.size() == 1) |
| 154 DoSendMessage(message_request_queue_.front().get()); | 154 DoSendMessage(message_request_queue_.front().get()); |
| 155 } | 155 } |
| 156 | 156 |
| 157 void PresentationDispatcher::sendBlobData( | 157 void PresentationDispatcher::sendBlobData( |
| 158 const blink::WebString& presentationUrl, | 158 const blink::WebString& presentationUrl, |
| 159 const blink::WebString& presentationId, | 159 const blink::WebString& presentationId, |
| 160 const uint8* data, | 160 const uint8_t* data, |
| 161 size_t length) { | 161 size_t length) { |
| 162 DCHECK(data); | 162 DCHECK(data); |
| 163 if (length > kMaxPresentationSessionMessageSize) { | 163 if (length > kMaxPresentationSessionMessageSize) { |
| 164 // TODO(crbug.com/459008): Same as in sendString(). | 164 // TODO(crbug.com/459008): Same as in sendString(). |
| 165 LOG(WARNING) << "data size exceeded limit!"; | 165 LOG(WARNING) << "data size exceeded limit!"; |
| 166 return; | 166 return; |
| 167 } | 167 } |
| 168 | 168 |
| 169 message_request_queue_.push(make_scoped_ptr(CreateSendBinaryMessageRequest( | 169 message_request_queue_.push(make_scoped_ptr(CreateSendBinaryMessageRequest( |
| 170 presentationUrl, presentationId, | 170 presentationUrl, presentationId, |
| (...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 473 session_message->message = message.utf8(); | 473 session_message->message = message.utf8(); |
| 474 return new SendMessageRequest(session_info.Pass(), session_message.Pass()); | 474 return new SendMessageRequest(session_info.Pass(), session_message.Pass()); |
| 475 } | 475 } |
| 476 | 476 |
| 477 // static | 477 // static |
| 478 PresentationDispatcher::SendMessageRequest* | 478 PresentationDispatcher::SendMessageRequest* |
| 479 PresentationDispatcher::CreateSendBinaryMessageRequest( | 479 PresentationDispatcher::CreateSendBinaryMessageRequest( |
| 480 const blink::WebString& presentationUrl, | 480 const blink::WebString& presentationUrl, |
| 481 const blink::WebString& presentationId, | 481 const blink::WebString& presentationId, |
| 482 presentation::PresentationMessageType type, | 482 presentation::PresentationMessageType type, |
| 483 const uint8* data, | 483 const uint8_t* data, |
| 484 size_t length) { | 484 size_t length) { |
| 485 presentation::PresentationSessionInfoPtr session_info = | 485 presentation::PresentationSessionInfoPtr session_info = |
| 486 presentation::PresentationSessionInfo::New(); | 486 presentation::PresentationSessionInfo::New(); |
| 487 session_info->url = presentationUrl.utf8(); | 487 session_info->url = presentationUrl.utf8(); |
| 488 session_info->id = presentationId.utf8(); | 488 session_info->id = presentationId.utf8(); |
| 489 | 489 |
| 490 presentation::SessionMessagePtr session_message = | 490 presentation::SessionMessagePtr session_message = |
| 491 presentation::SessionMessage::New(); | 491 presentation::SessionMessage::New(); |
| 492 session_message->type = type; | 492 session_message->type = type; |
| 493 std::vector<uint8> tmp_data_vector(data, data + length); | 493 std::vector<uint8_t> tmp_data_vector(data, data + length); |
| 494 session_message->data.Swap(&tmp_data_vector); | 494 session_message->data.Swap(&tmp_data_vector); |
| 495 return new SendMessageRequest(session_info.Pass(), session_message.Pass()); | 495 return new SendMessageRequest(session_info.Pass(), session_message.Pass()); |
| 496 } | 496 } |
| 497 | 497 |
| 498 PresentationDispatcher::AvailabilityStatus::AvailabilityStatus( | 498 PresentationDispatcher::AvailabilityStatus::AvailabilityStatus( |
| 499 const std::string& availability_url) | 499 const std::string& availability_url) |
| 500 : url(availability_url), | 500 : url(availability_url), |
| 501 last_known_availability(false), | 501 last_known_availability(false), |
| 502 listening_state(ListeningState::INACTIVE) {} | 502 listening_state(ListeningState::INACTIVE) {} |
| 503 | 503 |
| 504 PresentationDispatcher::AvailabilityStatus::~AvailabilityStatus() { | 504 PresentationDispatcher::AvailabilityStatus::~AvailabilityStatus() { |
| 505 } | 505 } |
| 506 | 506 |
| 507 } // namespace content | 507 } // namespace content |
| OLD | NEW |