| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "webkit/plugins/ppapi/ppb_websocket_impl.h" | 5 #include "webkit/plugins/ppapi/ppb_websocket_impl.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| 11 #include "base/logging.h" | 11 #include "base/logging.h" |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 bool InValidStateToReceive(PP_WebSocketReadyState_Dev state) { | 68 bool InValidStateToReceive(PP_WebSocketReadyState_Dev state) { |
| 69 return state == PP_WEBSOCKETREADYSTATE_OPEN_DEV || | 69 return state == PP_WEBSOCKETREADYSTATE_OPEN_DEV || |
| 70 state == PP_WEBSOCKETREADYSTATE_CLOSING_DEV; | 70 state == PP_WEBSOCKETREADYSTATE_CLOSING_DEV; |
| 71 } | 71 } |
| 72 | 72 |
| 73 } // namespace | 73 } // namespace |
| 74 | 74 |
| 75 namespace webkit { | 75 namespace webkit { |
| 76 namespace ppapi { | 76 namespace ppapi { |
| 77 | 77 |
| 78 // TODO(toyoshim): Default value of binary_type_ must be |
| 79 // PP_WEBSOCKETBINARYTYPE_BLOB_DEV after supporting Blob. |
| 78 PPB_WebSocket_Impl::PPB_WebSocket_Impl(PP_Instance instance) | 80 PPB_WebSocket_Impl::PPB_WebSocket_Impl(PP_Instance instance) |
| 79 : Resource(instance), | 81 : Resource(instance), |
| 80 state_(PP_WEBSOCKETREADYSTATE_INVALID_DEV), | 82 state_(PP_WEBSOCKETREADYSTATE_INVALID_DEV), |
| 83 binary_type_(PP_WEBSOCKETBINARYTYPE_ARRAYBUFFER_DEV), |
| 81 error_was_received_(false), | 84 error_was_received_(false), |
| 82 receive_callback_var_(NULL), | 85 receive_callback_var_(NULL), |
| 83 wait_for_receive_(false), | 86 wait_for_receive_(false), |
| 84 close_code_(0), | 87 close_code_(0), |
| 85 close_was_clean_(PP_FALSE), | 88 close_was_clean_(PP_FALSE), |
| 86 empty_string_(new StringVar("", 0)), | 89 empty_string_(new StringVar("", 0)), |
| 87 buffered_amount_(0), | 90 buffered_amount_(0), |
| 88 buffered_amount_after_close_(0) { | 91 buffered_amount_after_close_(0) { |
| 89 } | 92 } |
| 90 | 93 |
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 412 PP_WebSocketReadyState_Dev PPB_WebSocket_Impl::GetReadyState() { | 415 PP_WebSocketReadyState_Dev PPB_WebSocket_Impl::GetReadyState() { |
| 413 return state_; | 416 return state_; |
| 414 } | 417 } |
| 415 | 418 |
| 416 PP_Var PPB_WebSocket_Impl::GetURL() { | 419 PP_Var PPB_WebSocket_Impl::GetURL() { |
| 417 if (!url_) | 420 if (!url_) |
| 418 return empty_string_->GetPPVar(); | 421 return empty_string_->GetPPVar(); |
| 419 return url_->GetPPVar(); | 422 return url_->GetPPVar(); |
| 420 } | 423 } |
| 421 | 424 |
| 425 PP_Bool PPB_WebSocket_Impl::SetBinaryType( |
| 426 PP_WebSocketBinaryType_Dev binary_type) { |
| 427 // TODO(toyoshim): Use WebKit new API to set the receiving binary type. |
| 428 return PP_FALSE; |
| 429 } |
| 430 |
| 431 PP_WebSocketBinaryType_Dev PPB_WebSocket_Impl::GetBinaryType() { |
| 432 return binary_type_; |
| 433 } |
| 434 |
| 422 void PPB_WebSocket_Impl::didConnect() { | 435 void PPB_WebSocket_Impl::didConnect() { |
| 423 DCHECK_EQ(PP_WEBSOCKETREADYSTATE_CONNECTING_DEV, state_); | 436 DCHECK_EQ(PP_WEBSOCKETREADYSTATE_CONNECTING_DEV, state_); |
| 424 state_ = PP_WEBSOCKETREADYSTATE_OPEN_DEV; | 437 state_ = PP_WEBSOCKETREADYSTATE_OPEN_DEV; |
| 425 TrackedCallback::ClearAndRun(&connect_callback_, PP_OK); | 438 TrackedCallback::ClearAndRun(&connect_callback_, PP_OK); |
| 426 } | 439 } |
| 427 | 440 |
| 428 void PPB_WebSocket_Impl::didReceiveMessage(const WebString& message) { | 441 void PPB_WebSocket_Impl::didReceiveMessage(const WebString& message) { |
| 429 // Dispose packets after receiving an error or in invalid state. | 442 // Dispose packets after receiving an error or in invalid state. |
| 430 if (error_was_received_ || !InValidStateToReceive(state_)) | 443 if (error_was_received_ || !InValidStateToReceive(state_)) |
| 431 return; | 444 return; |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 537 | 550 |
| 538 *receive_callback_var_ = received_messages_.front(); | 551 *receive_callback_var_ = received_messages_.front(); |
| 539 received_messages_.pop(); | 552 received_messages_.pop(); |
| 540 receive_callback_var_ = NULL; | 553 receive_callback_var_ = NULL; |
| 541 wait_for_receive_ = false; | 554 wait_for_receive_ = false; |
| 542 return PP_OK; | 555 return PP_OK; |
| 543 } | 556 } |
| 544 | 557 |
| 545 } // namespace ppapi | 558 } // namespace ppapi |
| 546 } // namespace webkit | 559 } // namespace webkit |
| OLD | NEW |