Chromium Code Reviews| Index: native_client_sdk/src/tests/nacl_io_test/fake_ppapi/fake_pepper_interface_googledrivefs.cc |
| diff --git a/native_client_sdk/src/tests/nacl_io_test/fake_ppapi/fake_pepper_interface_googledrivefs.cc b/native_client_sdk/src/tests/nacl_io_test/fake_ppapi/fake_pepper_interface_googledrivefs.cc |
| index d0a14a39d132c4b01b6640acf791ab5398c62586..a280312bf6a819066dc8f9257324463c5f80704a 100644 |
| --- a/native_client_sdk/src/tests/nacl_io_test/fake_ppapi/fake_pepper_interface_googledrivefs.cc |
| +++ b/native_client_sdk/src/tests/nacl_io_test/fake_ppapi/fake_pepper_interface_googledrivefs.cc |
| @@ -44,13 +44,13 @@ class FakeDriveURLLoaderResource : public FakeResource { |
| class FakeDriveResponseResource : public FakeURLResponseInfoResource { |
| public: |
| FakeDriveResponseResource() |
| - : manager(NULL), loader(0), file_ref(0), stream_to_file(false) {} |
| + : manager(NULL), |
| + loader_resource(NULL), |
| + file_ref(0), |
| + stream_to_file(false) {} |
| virtual void Destroy() { |
| EXPECT_TRUE(manager != NULL); |
| - if (loader != 0) |
| - manager->Release(loader); |
| - |
| if (file_ref != 0) |
| manager->Release(file_ref); |
| } |
| @@ -58,7 +58,7 @@ class FakeDriveResponseResource : public FakeURLResponseInfoResource { |
| static const char* classname() { return "FakeDriveResponseResource"; } |
| FakeResourceManager* manager; |
| - PP_Resource loader; |
| + FakeDriveURLLoaderResource* loader_resource; |
| PP_Resource file_ref; |
|
chanpatorikku
2016/12/13 16:03:18
The previous code "PP_Resource loader" will make t
chanpatorikku
2016/12/14 15:56:47
Other than "FakeDriveURLLoaderResource* loader_res
|
| bool stream_to_file; |
| std::string body; |
| @@ -122,9 +122,7 @@ int32_t FakeDriveURLLoaderInterface::Open(PP_Resource loader, |
| CREATE_RESOURCE(core_interface_->resource_manager(), |
| FakeDriveResponseResource, drive_response_resource); |
| - drive_response_resource->loader = loader; |
| - core_interface_->resource_manager()->AddRef(drive_response_resource->loader); |
| - |
| + drive_response_resource->loader_resource = drive_loader_resource; |
| drive_response_resource->stream_to_file = request_resource->stream_to_file; |
| FakeGoogleDriveServerResponse server_response; |
| @@ -193,6 +191,23 @@ void FakeDriveURLLoaderInterface::Close(PP_Resource loader) { |
| drive_loader_resource->response_body.clear(); |
| } |
| +FakeDriveURLRequestInfoInterface::FakeDriveURLRequestInfoInterface( |
| + FakeCoreInterface* core_interface, |
| + FakeVarInterface* var_interface) |
| + : FakeURLRequestInfoInterface(core_interface, var_interface) {} |
| + |
| +PP_Resource FakeDriveURLRequestInfoInterface::Create(PP_Instance instance) { |
| + FakeDriveInstanceResource* drive_instance_resource = |
| + core_interface_->resource_manager()->Get<FakeDriveInstanceResource>( |
| + instance); |
| + if (drive_instance_resource == NULL) |
| + return PP_ERROR_BADRESOURCE; |
| + |
| + return CREATE_RESOURCE(core_interface_->resource_manager(), |
| + FakeURLRequestInfoResource, |
| + new FakeURLRequestInfoResource); |
| +} |
| + |
| FakeDriveURLResponseInfoInterface::FakeDriveURLResponseInfoInterface( |
| FakeCoreInterface* core_interface, |
| FakeVarInterface* var_interface, |
| @@ -212,6 +227,35 @@ FakeDriveURLResponseInfoInterface::~FakeDriveURLResponseInfoInterface() { |
| core_interface_->ReleaseResource(filesystem_resource_); |
| } |
| +PP_Var FakeDriveURLResponseInfoInterface::GetProperty( |
| + PP_Resource response, |
| + PP_URLResponseProperty property) { |
| + FakeDriveResponseResource* drive_response_resource = |
| + core_interface_->resource_manager()->Get<FakeDriveResponseResource>( |
| + response); |
| + if (drive_response_resource == NULL) |
| + return PP_Var(); |
| + |
| + switch (property) { |
| + case PP_URLRESPONSEPROPERTY_URL: |
| + return var_interface_->VarFromUtf8(drive_response_resource->url.data(), |
| + drive_response_resource->url.size()); |
| + |
| + case PP_URLRESPONSEPROPERTY_STATUSCODE: |
| + return PP_MakeInt32(drive_response_resource->status_code); |
| + |
| + case PP_URLRESPONSEPROPERTY_HEADERS: |
| + return var_interface_->VarFromUtf8( |
| + drive_response_resource->headers.data(), |
| + drive_response_resource->headers.size()); |
| + default: |
| + EXPECT_TRUE(false) << "Unimplemented property " << property |
| + << " in " |
| + "FakeDriveURLResponseInfoInterface::GetProperty"; |
| + return PP_Var(); |
| + } |
| +} |
| + |
| PP_Resource FakeDriveURLResponseInfoInterface::GetBodyAsFileRef( |
| PP_Resource response) { |
| FakeDriveResponseResource* drive_response_resource = |
| @@ -223,13 +267,10 @@ PP_Resource FakeDriveURLResponseInfoInterface::GetBodyAsFileRef( |
| if (!drive_response_resource->stream_to_file) |
| return 0; |
| - FakeDriveURLLoaderResource* drive_loader_resource = |
| - core_interface_->resource_manager()->Get<FakeDriveURLLoaderResource>( |
| - drive_response_resource->loader); |
| - if (drive_loader_resource == NULL) |
| + if (drive_response_resource->loader_resource == NULL) |
|
chanpatorikku
2016/12/14 15:56:47
"drive_response_resource->loader_resource == NULL"
|
| return 0; |
| - if (drive_loader_resource->server == NULL) |
| + if (drive_response_resource->loader_resource->server == NULL) |
| return 0; |
| if (drive_response_resource->file_ref == 0) { |
| @@ -260,9 +301,10 @@ PP_Resource FakeDriveURLResponseInfoInterface::GetBodyAsFileRef( |
| FakePepperInterfaceGoogleDriveFs::FakePepperInterfaceGoogleDriveFs() |
| : core_interface_(&resource_manager_), |
| var_interface_(&var_manager_), |
| + file_io_interface_(&core_interface_), |
| file_ref_interface_(&core_interface_, &var_interface_), |
| drive_url_loader_interface_(&core_interface_), |
| - url_request_info_interface_(&core_interface_, &var_interface_), |
| + drive_url_request_info_interface_(&core_interface_, &var_interface_), |
| drive_url_response_info_interface_(&core_interface_, |
| &var_interface_, |
| &file_ref_interface_) { |
| @@ -287,6 +329,11 @@ nacl_io::CoreInterface* FakePepperInterfaceGoogleDriveFs::GetCoreInterface() { |
| return &core_interface_; |
| } |
| +nacl_io::FileIoInterface* |
| +FakePepperInterfaceGoogleDriveFs::GetFileIoInterface() { |
| + return &file_io_interface_; |
| +} |
| + |
| nacl_io::FileRefInterface* |
| FakePepperInterfaceGoogleDriveFs::GetFileRefInterface() { |
| return &file_ref_interface_; |
| @@ -299,7 +346,7 @@ FakePepperInterfaceGoogleDriveFs::GetURLLoaderInterface() { |
| nacl_io::URLRequestInfoInterface* |
| FakePepperInterfaceGoogleDriveFs::GetURLRequestInfoInterface() { |
| - return &url_request_info_interface_; |
| + return &drive_url_request_info_interface_; |
| } |
| nacl_io::URLResponseInfoInterface* |