| 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 |