OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <string> | 7 #include <string> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
337 uint64_t PPB_WebSocket_Impl::GetBufferedAmount() { | 337 uint64_t PPB_WebSocket_Impl::GetBufferedAmount() { |
338 return SaturateAdd(buffered_amount_, buffered_amount_after_close_); | 338 return SaturateAdd(buffered_amount_, buffered_amount_after_close_); |
339 } | 339 } |
340 | 340 |
341 uint16_t PPB_WebSocket_Impl::GetCloseCode() { | 341 uint16_t PPB_WebSocket_Impl::GetCloseCode() { |
342 return close_code_; | 342 return close_code_; |
343 } | 343 } |
344 | 344 |
345 PP_Var PPB_WebSocket_Impl::GetCloseReason() { | 345 PP_Var PPB_WebSocket_Impl::GetCloseReason() { |
346 if (!close_reason_) | 346 if (!close_reason_) |
347 return empty_string_->GetPPVar(); | 347 return ReturnVar(empty_string_->GetPPVar()); |
348 return close_reason_->GetPPVar(); | 348 return ReturnVar(close_reason_->GetPPVar()); |
349 } | 349 } |
350 | 350 |
351 PP_Bool PPB_WebSocket_Impl::GetCloseWasClean() { | 351 PP_Bool PPB_WebSocket_Impl::GetCloseWasClean() { |
352 return close_was_clean_; | 352 return close_was_clean_; |
353 } | 353 } |
354 | 354 |
355 PP_Var PPB_WebSocket_Impl::GetExtensions() { | 355 PP_Var PPB_WebSocket_Impl::GetExtensions() { |
356 // TODO(toyoshim): For now, always returns empty string because WebKit side | 356 // TODO(toyoshim): For now, always returns empty string because WebKit side |
357 // doesn't support it yet. | 357 // doesn't support it yet. |
358 if (!extensions_) | 358 if (!extensions_) |
359 return empty_string_->GetPPVar(); | 359 return ReturnVar(empty_string_->GetPPVar()); |
360 return extensions_->GetPPVar(); | 360 return ReturnVar(extensions_->GetPPVar()); |
361 } | 361 } |
362 | 362 |
363 PP_Var PPB_WebSocket_Impl::GetProtocol() { | 363 PP_Var PPB_WebSocket_Impl::GetProtocol() { |
364 // Check mandatory interfaces. | 364 // Check mandatory interfaces. |
365 if (!websocket_.get()) | 365 if (!websocket_.get()) |
366 return empty_string_->GetPPVar(); | 366 return ReturnVar(empty_string_->GetPPVar()); |
367 | 367 |
368 std::string protocol = websocket_->subprotocol().utf8(); | 368 std::string protocol = websocket_->subprotocol().utf8(); |
369 return StringVar::StringToPPVar(protocol); | 369 return StringVar::StringToPPVar(protocol); |
370 } | 370 } |
371 | 371 |
372 PP_WebSocketReadyState_Dev PPB_WebSocket_Impl::GetReadyState() { | 372 PP_WebSocketReadyState_Dev PPB_WebSocket_Impl::GetReadyState() { |
373 return state_; | 373 return state_; |
374 } | 374 } |
375 | 375 |
376 PP_Var PPB_WebSocket_Impl::GetURL() { | 376 PP_Var PPB_WebSocket_Impl::GetURL() { |
377 if (!url_) | 377 if (!url_) |
378 return empty_string_->GetPPVar(); | 378 return ReturnVar(empty_string_->GetPPVar()); |
379 return url_->GetPPVar(); | 379 return ReturnVar(url_->GetPPVar()); |
dmichael (off chromium)
2011/12/09 23:05:26
It looks like this got polluted from that other CL
| |
380 } | 380 } |
381 | 381 |
382 void PPB_WebSocket_Impl::didConnect() { | 382 void PPB_WebSocket_Impl::didConnect() { |
383 DCHECK_EQ(PP_WEBSOCKETREADYSTATE_CONNECTING_DEV, state_); | 383 DCHECK_EQ(PP_WEBSOCKETREADYSTATE_CONNECTING_DEV, state_); |
384 state_ = PP_WEBSOCKETREADYSTATE_OPEN_DEV; | 384 state_ = PP_WEBSOCKETREADYSTATE_OPEN_DEV; |
385 PP_RunAndClearCompletionCallback(&connect_callback_, PP_OK); | 385 PP_RunAndClearCompletionCallback(&connect_callback_, PP_OK); |
386 } | 386 } |
387 | 387 |
388 void PPB_WebSocket_Impl::didReceiveMessage(const WebString& message) { | 388 void PPB_WebSocket_Impl::didReceiveMessage(const WebString& message) { |
389 // Dispose packets after receiving an error or in invalid state. | 389 // Dispose packets after receiving an error or in invalid state. |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
485 if (!receive_callback_var_) | 485 if (!receive_callback_var_) |
486 return PP_OK; | 486 return PP_OK; |
487 | 487 |
488 *receive_callback_var_ = received_messages_.front(); | 488 *receive_callback_var_ = received_messages_.front(); |
489 received_messages_.pop(); | 489 received_messages_.pop(); |
490 receive_callback_var_ = NULL; | 490 receive_callback_var_ = NULL; |
491 wait_for_receive_ = false; | 491 wait_for_receive_ = false; |
492 return PP_OK; | 492 return PP_OK; |
493 } | 493 } |
494 | 494 |
495 PP_Var PPB_WebSocket_Impl::ReturnVar(PP_Var var) { | |
496 VarTracker* var_tracker = PpapiGlobals::Get()->GetVarTracker(); | |
497 var_tracker->AddRefVar(var); | |
498 return var; | |
499 } | |
500 | |
495 } // namespace ppapi | 501 } // namespace ppapi |
496 } // namespace webkit | 502 } // namespace webkit |
OLD | NEW |