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

Unified Diff: native_client_sdk/src/tests/nacl_io_test/fake_ppapi/fake_pepper_interface_googledrivefs.cc

Issue 2573523004: [NaCl SDK] Add more support and fix FakePepperInterfaceGoogleDriveFs (Closed)
Patch Set: Created 4 years 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 side-by-side diff with in-line comments
Download patch
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*

Powered by Google App Engine
This is Rietveld 408576698