| Index: ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_testing_rpc_server.cc
|
| diff --git a/ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_testing_rpc_server.cc b/ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_testing_rpc_server.cc
|
| index ceb8aaedb61b5a6945811747a639c2973d9a228c..69b04a088d3873f89c582622200742096b0ebfa9 100644
|
| --- a/ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_testing_rpc_server.cc
|
| +++ b/ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_testing_rpc_server.cc
|
| @@ -14,6 +14,7 @@
|
| #include "ppapi/c/dev/ppb_testing_dev.h"
|
| #include "ppapi/c/pp_errors.h"
|
| #include "ppapi/c/pp_point.h"
|
| +#include "ppapi/cpp/var.h"
|
| #include "srpcgen/ppb_rpc.h"
|
|
|
| using ppapi_proxy::DebugPrintf;
|
| @@ -90,4 +91,27 @@ void PpbTestingRpcServer::PPB_Testing_GetLiveObjectsForInstance(
|
| rpc->result = NACL_SRPC_RESULT_OK;
|
| }
|
|
|
| +void PpbTestingRpcServer::PPB_Testing_GetDocumentURL(
|
| + NaClSrpcRpc* rpc,
|
| + NaClSrpcClosure* done,
|
| + PP_Instance instance,
|
| + nacl_abi_size_t* components_bytes, char* components,
|
| + nacl_abi_size_t* url_bytes, char* url) {
|
| + NaClSrpcClosureRunner runner(done);
|
| + rpc->result = NACL_SRPC_RESULT_APP_ERROR;
|
|
|
| + if (*components_bytes != sizeof(struct PP_URLComponents_Dev))
|
| + return;
|
| + if (*url_bytes != ppapi_proxy::kMaxVarSize)
|
| + return;
|
| +
|
| + struct PP_Var pp_url = PPBTestingInterface()->GetDocumentURL(
|
| + instance, reinterpret_cast<struct PP_URLComponents_Dev*>(components));
|
| +
|
| + if (!ppapi_proxy::SerializeTo(&pp_url, url, url_bytes))
|
| + return;
|
| +
|
| + DebugPrintf("PPB_Testing_Dev::GetDocumentURL: url=%s\n",
|
| + pp::Var(pp::Var::PassRef(), pp_url).AsString().c_str());
|
| + rpc->result = NACL_SRPC_RESULT_OK;
|
| +}
|
|
|