Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(496)

Side by Side Diff: ppapi/cpp/url_loader.cc

Issue 6899055: PPAPI: Force async callback invocation option. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 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 "ppapi/cpp/url_loader.h" 5 #include "ppapi/cpp/url_loader.h"
6 6
7 #include "ppapi/c/ppb_url_loader.h" 7 #include "ppapi/c/ppb_url_loader.h"
8 #include "ppapi/c/pp_errors.h" 8 #include "ppapi/c/pp_errors.h"
9 #include "ppapi/cpp/common.h" 9 #include "ppapi/cpp/common.h"
10 #include "ppapi/cpp/completion_callback.h" 10 #include "ppapi/cpp/completion_callback.h"
11 #include "ppapi/cpp/dev/file_ref_dev.h" 11 #include "ppapi/cpp/dev/file_ref_dev.h"
(...skipping 30 matching lines...) Expand all
42 PassRefFromConstructor(get_interface<PPB_URLLoader>()->Create( 42 PassRefFromConstructor(get_interface<PPB_URLLoader>()->Create(
43 instance->pp_instance())); 43 instance->pp_instance()));
44 } 44 }
45 45
46 URLLoader::URLLoader(const URLLoader& other) : Resource(other) { 46 URLLoader::URLLoader(const URLLoader& other) : Resource(other) {
47 } 47 }
48 48
49 int32_t URLLoader::Open(const URLRequestInfo& request_info, 49 int32_t URLLoader::Open(const URLRequestInfo& request_info,
50 const CompletionCallback& cc) { 50 const CompletionCallback& cc) {
51 if (!has_interface<PPB_URLLoader>()) 51 if (!has_interface<PPB_URLLoader>())
52 return PP_ERROR_NOINTERFACE; 52 return cc.MayForce(static_cast<int32_t>(PP_ERROR_NOINTERFACE));
piman 2011/06/07 17:32:14 no need for static_cast ? here and below
polina 2011/06/09 23:53:51 Done.
53 return get_interface<PPB_URLLoader>()->Open(pp_resource(), 53 return get_interface<PPB_URLLoader>()->Open(pp_resource(),
54 request_info.pp_resource(), 54 request_info.pp_resource(),
55 cc.pp_completion_callback()); 55 cc.pp_completion_callback());
56 } 56 }
57 57
58 int32_t URLLoader::FollowRedirect(const CompletionCallback& cc) { 58 int32_t URLLoader::FollowRedirect(const CompletionCallback& cc) {
59 if (!has_interface<PPB_URLLoader>()) 59 if (!has_interface<PPB_URLLoader>())
60 return PP_ERROR_NOINTERFACE; 60 return cc.MayForce(static_cast<int32_t>(PP_ERROR_NOINTERFACE));
61 return get_interface<PPB_URLLoader>()->FollowRedirect( 61 return get_interface<PPB_URLLoader>()->FollowRedirect(
62 pp_resource(), cc.pp_completion_callback()); 62 pp_resource(), cc.pp_completion_callback());
63 } 63 }
64 64
65 bool URLLoader::GetUploadProgress(int64_t* bytes_sent, 65 bool URLLoader::GetUploadProgress(int64_t* bytes_sent,
66 int64_t* total_bytes_to_be_sent) const { 66 int64_t* total_bytes_to_be_sent) const {
67 if (!has_interface<PPB_URLLoader>()) 67 if (!has_interface<PPB_URLLoader>())
68 return false; 68 return false;
69 return PPBoolToBool(get_interface<PPB_URLLoader>()->GetUploadProgress( 69 return PPBoolToBool(get_interface<PPB_URLLoader>()->GetUploadProgress(
70 pp_resource(), bytes_sent, total_bytes_to_be_sent)); 70 pp_resource(), bytes_sent, total_bytes_to_be_sent));
(...skipping 14 matching lines...) Expand all
85 return URLResponseInfo(); 85 return URLResponseInfo();
86 return URLResponseInfo(URLResponseInfo::PassRef(), 86 return URLResponseInfo(URLResponseInfo::PassRef(),
87 get_interface<PPB_URLLoader>()->GetResponseInfo( 87 get_interface<PPB_URLLoader>()->GetResponseInfo(
88 pp_resource())); 88 pp_resource()));
89 } 89 }
90 90
91 int32_t URLLoader::ReadResponseBody(void* buffer, 91 int32_t URLLoader::ReadResponseBody(void* buffer,
92 int32_t bytes_to_read, 92 int32_t bytes_to_read,
93 const CompletionCallback& cc) { 93 const CompletionCallback& cc) {
94 if (!has_interface<PPB_URLLoader>()) 94 if (!has_interface<PPB_URLLoader>())
95 return PP_ERROR_NOINTERFACE; 95 return cc.MayForce(static_cast<int32_t>(PP_ERROR_NOINTERFACE));
96 return get_interface<PPB_URLLoader>()->ReadResponseBody( 96 return get_interface<PPB_URLLoader>()->ReadResponseBody(
97 pp_resource(), buffer, bytes_to_read, cc.pp_completion_callback()); 97 pp_resource(), buffer, bytes_to_read, cc.pp_completion_callback());
98 } 98 }
99 99
100 int32_t URLLoader::FinishStreamingToFile(const CompletionCallback& cc) { 100 int32_t URLLoader::FinishStreamingToFile(const CompletionCallback& cc) {
101 if (!has_interface<PPB_URLLoader>()) 101 if (!has_interface<PPB_URLLoader>())
102 return PP_ERROR_NOINTERFACE; 102 return cc.MayForce(static_cast<int32_t>(PP_ERROR_NOINTERFACE));
103 return get_interface<PPB_URLLoader>()->FinishStreamingToFile( 103 return get_interface<PPB_URLLoader>()->FinishStreamingToFile(
104 pp_resource(), cc.pp_completion_callback()); 104 pp_resource(), cc.pp_completion_callback());
105 } 105 }
106 106
107 void URLLoader::Close() { 107 void URLLoader::Close() {
108 if (!has_interface<PPB_URLLoader>()) 108 if (!has_interface<PPB_URLLoader>())
109 return; 109 return;
110 get_interface<PPB_URLLoader>()->Close(pp_resource()); 110 get_interface<PPB_URLLoader>()->Close(pp_resource());
111 } 111 }
112 112
113 } // namespace pp 113 } // namespace pp
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698