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

Side by Side Diff: src/shared/ppapi_proxy/plugin_ppb_url_response_info.cc

Issue 6177007: ppapi_proxy: Support loading and reading urls. Proxy URLLoader.... (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: '' Created 9 years, 11 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 2010 The Native Client Authors. All rights reserved. 1 // Copyright 2010 The Native Client Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can 2 // Use of this source code is governed by a BSD-style license that can
3 // be found in the LICENSE file. 3 // be found in the LICENSE file.
4 4
5 #include "native_client/src/shared/ppapi_proxy/plugin_ppb_url_response_info.h" 5 #include "native_client/src/shared/ppapi_proxy/plugin_ppb_url_response_info.h"
6 6
7 #include <stdio.h> 7 #include <stdio.h>
8 #include <string.h> 8 #include <string.h>
9 #include "native_client/src/include/nacl_macros.h" 9 #include "native_client/src/include/nacl_macros.h"
10 #include "native_client/src/include/nacl_scoped_ptr.h" 10 #include "native_client/src/include/nacl_scoped_ptr.h"
11 #include "native_client/src/include/portability.h" 11 #include "native_client/src/include/portability.h"
12 #include "native_client/src/shared/ppapi_proxy/object_serialize.h" 12 #include "native_client/src/shared/ppapi_proxy/object_serialize.h"
13 #include "native_client/src/shared/ppapi_proxy/plugin_globals.h" 13 #include "native_client/src/shared/ppapi_proxy/plugin_globals.h"
14 #include "native_client/src/shared/ppapi_proxy/utility.h" 14 #include "native_client/src/shared/ppapi_proxy/utility.h"
15 #include "native_client/src/shared/srpc/nacl_srpc.h" 15 #include "native_client/src/shared/srpc/nacl_srpc.h"
16 #include "ppapi/c/ppb_url_response_info.h" 16 #include "ppapi/c/ppb_url_response_info.h"
17 #include "srpcgen/ppb_rpc.h" 17 #include "srpcgen/ppb_rpc.h"
18 18
19 namespace ppapi_proxy { 19 namespace ppapi_proxy {
20 20
21 namespace { 21 namespace {
22 22
23 PP_Bool IsURLResponseInfo(PP_Resource resource) { 23 PP_Bool IsURLResponseInfo(PP_Resource resource) {
24 DebugPrintf("PPB_URLResponseInfo::IsURLResponseInfo: resource=%" 24 DebugPrintf("PPB_URLResponseInfo::IsURLResponseInfo: resource=%"
25 NACL_PRIx64"\n", resource); 25 NACL_PRIx64"\n", resource);
26 NACL_UNTESTED();
27 26
28 int32_t success; 27 int32_t success;
29 NaClSrpcError srpc_result = 28 NaClSrpcError srpc_result =
30 PpbURLResponseInfoRpcClient::PPB_URLResponseInfo_IsURLResponseInfo( 29 PpbURLResponseInfoRpcClient::PPB_URLResponseInfo_IsURLResponseInfo(
31 GetMainSrpcChannel(), resource, &success); 30 GetMainSrpcChannel(), resource, &success);
32 DebugPrintf("PPB_URLResponseInfo::IsURLResponseInfo: %s\n", 31 DebugPrintf("PPB_URLResponseInfo::IsURLResponseInfo: %s\n",
33 NaClSrpcErrorString(srpc_result)); 32 NaClSrpcErrorString(srpc_result));
34 33
35 if (srpc_result == NACL_SRPC_RESULT_OK && success) 34 if (srpc_result == NACL_SRPC_RESULT_OK && success)
36 return PP_TRUE; 35 return PP_TRUE;
37 return PP_FALSE; 36 return PP_FALSE;
38 } 37 }
39 38
40 PP_Var GetProperty(PP_Resource response, PP_URLResponseProperty property) { 39 PP_Var GetProperty(PP_Resource response, PP_URLResponseProperty property) {
41 DebugPrintf("PPB_URLResponseInfo::GetProperty: response=%"NACL_PRIx64"\n", 40 DebugPrintf("PPB_URLResponseInfo::GetProperty: response=%"NACL_PRIx64"\n",
42 response); 41 response);
43 NACL_UNTESTED();
44 NaClSrpcChannel* channel = GetMainSrpcChannel(); 42 NaClSrpcChannel* channel = GetMainSrpcChannel();
45 43
46 PP_Var value = PP_MakeUndefined(); 44 PP_Var value = PP_MakeUndefined();
47 nacl_abi_size_t value_size = kMaxVarSize; 45 nacl_abi_size_t value_size = kMaxVarSize;
48 nacl::scoped_array<char> value_bytes(new char[kMaxVarSize]); 46 nacl::scoped_array<char> value_bytes(new char[kMaxVarSize]);
49 47
50 NaClSrpcError srpc_result = 48 NaClSrpcError srpc_result =
51 PpbURLResponseInfoRpcClient::PPB_URLResponseInfo_GetProperty( 49 PpbURLResponseInfoRpcClient::PPB_URLResponseInfo_GetProperty(
52 channel, 50 channel,
53 response, 51 response,
54 static_cast<int32_t>(property), 52 static_cast<int32_t>(property),
55 &value_size, 53 &value_size,
56 value_bytes.get()); 54 value_bytes.get());
57 DebugPrintf("PPB_URLResponseInfo::GetProperty: %s\n", 55 DebugPrintf("PPB_URLResponseInfo::GetProperty: %s\n",
58 NaClSrpcErrorString(srpc_result)); 56 NaClSrpcErrorString(srpc_result));
59 57
60 if (srpc_result == NACL_SRPC_RESULT_OK) 58 if (srpc_result == NACL_SRPC_RESULT_OK)
61 (void) DeserializeTo(channel, value_bytes.get(), value_size, 1, &value); 59 (void) DeserializeTo(channel, value_bytes.get(), value_size, 1, &value);
62 return value; 60 return value;
63 } 61 }
64 62
65 PP_Resource GetBodyAsFileRef(PP_Resource response) { 63 PP_Resource GetBodyAsFileRef(PP_Resource response) {
66 DebugPrintf("PPB_URLResponseInfo::GetBodyAsFileRef: response=%" 64 DebugPrintf("PPB_URLResponseInfo::GetBodyAsFileRef: response=%"
67 NACL_PRIx64"\n", response); 65 NACL_PRIx64"\n", response);
68 NACL_UNTESTED();
69 66
70 PP_Resource file_ref; 67 PP_Resource file_ref;
71 NaClSrpcError srpc_result = 68 NaClSrpcError srpc_result =
72 PpbURLResponseInfoRpcClient::PPB_URLResponseInfo_GetBodyAsFileRef( 69 PpbURLResponseInfoRpcClient::PPB_URLResponseInfo_GetBodyAsFileRef(
73 GetMainSrpcChannel(), response, &file_ref); 70 GetMainSrpcChannel(), response, &file_ref);
74 DebugPrintf("PPB_URLResponseInfo::GetBodyAsFileRef: %s\n", 71 DebugPrintf("PPB_URLResponseInfo::GetBodyAsFileRef: %s\n",
75 NaClSrpcErrorString(srpc_result)); 72 NaClSrpcErrorString(srpc_result));
76 73
77 if (srpc_result == NACL_SRPC_RESULT_OK) 74 if (srpc_result == NACL_SRPC_RESULT_OK)
78 return file_ref; 75 return file_ref;
79 return kInvalidResourceId; 76 return kInvalidResourceId;
80 } 77 }
81 78
82 } // namespace 79 } // namespace
83 80
84 const PPB_URLResponseInfo* PluginURLResponseInfo::GetInterface() { 81 const PPB_URLResponseInfo* PluginURLResponseInfo::GetInterface() {
85 static const PPB_URLResponseInfo url_response_info_interface = { 82 static const PPB_URLResponseInfo url_response_info_interface = {
86 IsURLResponseInfo, 83 IsURLResponseInfo,
87 GetProperty, 84 GetProperty,
88 GetBodyAsFileRef, 85 GetBodyAsFileRef,
89 }; 86 };
90 return &url_response_info_interface; 87 return &url_response_info_interface;
91 } 88 }
92 89
93 } // namespace ppapi_proxy 90 } // namespace ppapi_proxy
OLDNEW
« no previous file with comments | « src/shared/ppapi_proxy/plugin_ppb_url_request_info.cc ('k') | src/shared/ppapi_proxy/plugin_upcall.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698