| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "ppapi/proxy/ppb_url_loader_proxy.h" | 5 #include "ppapi/proxy/ppb_url_loader_proxy.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 bytes_sent_(-1), | 62 bytes_sent_(-1), |
| 63 total_bytes_to_be_sent_(-1), | 63 total_bytes_to_be_sent_(-1), |
| 64 bytes_received_(-1), | 64 bytes_received_(-1), |
| 65 total_bytes_to_be_received_(-1), | 65 total_bytes_to_be_received_(-1), |
| 66 current_read_callback_(PP_MakeCompletionCallback(NULL, NULL)), | 66 current_read_callback_(PP_MakeCompletionCallback(NULL, NULL)), |
| 67 current_read_buffer_(NULL), | 67 current_read_buffer_(NULL), |
| 68 response_info_(0) { | 68 response_info_(0) { |
| 69 } | 69 } |
| 70 | 70 |
| 71 URLLoader::~URLLoader() { | 71 URLLoader::~URLLoader() { |
| 72 // Always need to fire completion callbacks to prevent a leak in the plugin. |
| 73 if (current_read_callback_.func) |
| 74 PP_RunCompletionCallback(¤t_read_callback_, PP_ERROR_ABORTED); |
| 75 |
| 72 if (response_info_) | 76 if (response_info_) |
| 73 PluginResourceTracker::GetInstance()->ReleaseResource(response_info_); | 77 PluginResourceTracker::GetInstance()->ReleaseResource(response_info_); |
| 74 } | 78 } |
| 75 | 79 |
| 76 PP_Resource URLLoader::GetResponseInfo() { | 80 PP_Resource URLLoader::GetResponseInfo() { |
| 77 if (!response_info_) { | 81 if (!response_info_) { |
| 78 PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance()); | 82 PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance()); |
| 79 if (!dispatcher) | 83 if (!dispatcher) |
| 80 return 0; | 84 return 0; |
| 81 | 85 |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 358 } | 362 } |
| 359 | 363 |
| 360 void PPB_URLLoader_Proxy::OnMsgOpen(const HostResource& loader, | 364 void PPB_URLLoader_Proxy::OnMsgOpen(const HostResource& loader, |
| 361 const HostResource& request_info, | 365 const HostResource& request_info, |
| 362 uint32_t serialized_callback) { | 366 uint32_t serialized_callback) { |
| 363 PP_CompletionCallback callback = ReceiveCallback(serialized_callback); | 367 PP_CompletionCallback callback = ReceiveCallback(serialized_callback); |
| 364 int32_t result = ppb_url_loader_target()->Open( | 368 int32_t result = ppb_url_loader_target()->Open( |
| 365 loader.host_resource(), request_info.host_resource(), callback); | 369 loader.host_resource(), request_info.host_resource(), callback); |
| 366 if (result != PP_ERROR_WOULDBLOCK) | 370 if (result != PP_ERROR_WOULDBLOCK) |
| 367 PP_RunCompletionCallback(&callback, result); | 371 PP_RunCompletionCallback(&callback, result); |
| 372 // TODO(brettw) bug 73236 register for the status callbacks. |
| 368 } | 373 } |
| 369 | 374 |
| 370 void PPB_URLLoader_Proxy::OnMsgFollowRedirect( | 375 void PPB_URLLoader_Proxy::OnMsgFollowRedirect( |
| 371 const HostResource& loader, | 376 const HostResource& loader, |
| 372 uint32_t serialized_callback) { | 377 uint32_t serialized_callback) { |
| 373 PP_CompletionCallback callback = ReceiveCallback(serialized_callback); | 378 PP_CompletionCallback callback = ReceiveCallback(serialized_callback); |
| 374 int32_t result = ppb_url_loader_target()->FollowRedirect( | 379 int32_t result = ppb_url_loader_target()->FollowRedirect( |
| 375 loader.host_resource(), callback); | 380 loader.host_resource(), callback); |
| 376 if (result != PP_ERROR_WOULDBLOCK) | 381 if (result != PP_ERROR_WOULDBLOCK) |
| 377 PP_RunCompletionCallback(&callback, result); | 382 PP_RunCompletionCallback(&callback, result); |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 527 return handled; | 532 return handled; |
| 528 } | 533 } |
| 529 | 534 |
| 530 void PPB_URLLoaderTrusted_Proxy::OnMsgGrantUniversalAccess( | 535 void PPB_URLLoaderTrusted_Proxy::OnMsgGrantUniversalAccess( |
| 531 const HostResource& loader) { | 536 const HostResource& loader) { |
| 532 ppb_url_loader_trusted_target()->GrantUniversalAccess(loader.host_resource()); | 537 ppb_url_loader_trusted_target()->GrantUniversalAccess(loader.host_resource()); |
| 533 } | 538 } |
| 534 | 539 |
| 535 } // namespace proxy | 540 } // namespace proxy |
| 536 } // namespace pp | 541 } // namespace pp |
| OLD | NEW |