summaryrefslogtreecommitdiffstats
path: root/google_apis
diff options
context:
space:
mode:
authorhashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-05 08:15:47 +0000
committerhashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-05 08:15:47 +0000
commit5ed09e352eb667a3d4f76c06a21e6aafe9fbdd19 (patch)
tree6f2c6ee9b27a16ae8fd487bca7eb5647acca0371 /google_apis
parent0efc4236a8157e7ffb3a3f74f069b66b29490e0f (diff)
downloadchromium_src-5ed09e352eb667a3d4f76c06a21e6aafe9fbdd19.zip
chromium_src-5ed09e352eb667a3d4f76c06a21e6aafe9fbdd19.tar.gz
chromium_src-5ed09e352eb667a3d4f76c06a21e6aafe9fbdd19.tar.bz2
drive: Allow setting modified/accessed date with AddNewDirectory
Add AddNewDirectoryOptions() argument to AddNewDirectory. Send date parameters with FilesInsertRequest. TBR=benwells@chromium.org for chrome/browser/extensions/api/file_system/file_system_apitest_chromeos.cc BUG=340553 TEST=unit_tests Review URL: https://codereview.chromium.org/140513008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248916 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'google_apis')
-rw-r--r--google_apis/drive/drive_api_requests.cc8
-rw-r--r--google_apis/drive/drive_api_requests.h14
-rw-r--r--google_apis/drive/drive_api_requests_unittest.cc13
3 files changed, 35 insertions, 0 deletions
diff --git a/google_apis/drive/drive_api_requests.cc b/google_apis/drive/drive_api_requests.cc
index 4fc56df..6c997d7 100644
--- a/google_apis/drive/drive_api_requests.cc
+++ b/google_apis/drive/drive_api_requests.cc
@@ -210,9 +210,17 @@ bool FilesInsertRequest::GetContentData(std::string* upload_content_type,
base::DictionaryValue root;
+ if (!last_viewed_by_me_date_.is_null()) {
+ root.SetString("lastViewedByMeDate",
+ util::FormatTimeAsString(last_viewed_by_me_date_));
+ }
+
if (!mime_type_.empty())
root.SetString("mimeType", mime_type_);
+ if (!modified_date_.is_null())
+ root.SetString("modifiedDate", util::FormatTimeAsString(modified_date_));
+
if (!parents_.empty()) {
base::ListValue* parents_value = new base::ListValue;
for (size_t i = 0; i < parents_.size(); ++i) {
diff --git a/google_apis/drive/drive_api_requests.h b/google_apis/drive/drive_api_requests.h
index c534e09..c3e3dc5 100644
--- a/google_apis/drive/drive_api_requests.h
+++ b/google_apis/drive/drive_api_requests.h
@@ -140,11 +140,23 @@ class FilesInsertRequest : public DriveApiDataRequest {
virtual ~FilesInsertRequest();
// Optional request body.
+ const base::Time& last_viewed_by_me_date() const {
+ return last_viewed_by_me_date_;
+ }
+ void set_last_viewed_by_me_date(const base::Time& last_viewed_by_me_date) {
+ last_viewed_by_me_date_ = last_viewed_by_me_date;
+ }
+
const std::string& mime_type() const { return mime_type_; }
void set_mime_type(const std::string& mime_type) {
mime_type_ = mime_type;
}
+ const base::Time& modified_date() const { return modified_date_; }
+ void set_modified_date(const base::Time& modified_date) {
+ modified_date_ = modified_date;
+ }
+
const std::vector<std::string>& parents() const { return parents_; }
void add_parent(const std::string& parent) { parents_.push_back(parent); }
@@ -163,7 +175,9 @@ class FilesInsertRequest : public DriveApiDataRequest {
private:
const DriveApiUrlGenerator url_generator_;
+ base::Time last_viewed_by_me_date_;
std::string mime_type_;
+ base::Time modified_date_;
std::vector<std::string> parents_;
std::string title_;
diff --git a/google_apis/drive/drive_api_requests_unittest.cc b/google_apis/drive/drive_api_requests_unittest.cc
index b05af4b..315eaa2 100644
--- a/google_apis/drive/drive_api_requests_unittest.cc
+++ b/google_apis/drive/drive_api_requests_unittest.cc
@@ -418,6 +418,10 @@ TEST_F(DriveApiRequestsTest, DriveApiDataRequest_Fields) {
}
TEST_F(DriveApiRequestsTest, FilesInsertRequest) {
+ const base::Time::Exploded kModifiedDate = {2012, 7, 0, 19, 15, 59, 13, 123};
+ const base::Time::Exploded kLastViewedByMeDate =
+ {2013, 7, 0, 19, 15, 59, 13, 123};
+
// Set an expected data file containing the directory's entry data.
expected_data_file_path_ =
test_util::GetTestFilePath("drive/directory_entry.json");
@@ -434,7 +438,10 @@ TEST_F(DriveApiRequestsTest, FilesInsertRequest) {
test_util::CreateQuitCallback(
&run_loop,
test_util::CreateCopyResultCallback(&error, &file_resource)));
+ request->set_last_viewed_by_me_date(
+ base::Time::FromUTCExploded(kLastViewedByMeDate));
request->set_mime_type("application/vnd.google-apps.folder");
+ request->set_modified_date(base::Time::FromUTCExploded(kModifiedDate));
request->add_parent("root");
request->set_title("new directory");
request_sender_->StartRequestWithRetry(request);
@@ -447,6 +454,12 @@ TEST_F(DriveApiRequestsTest, FilesInsertRequest) {
EXPECT_EQ("application/json", http_request_.headers["Content-Type"]);
EXPECT_TRUE(http_request_.has_content);
+ EXPECT_EQ("{\"lastViewedByMeDate\":\"2013-07-19T15:59:13.123Z\","
+ "\"mimeType\":\"application/vnd.google-apps.folder\","
+ "\"modifiedDate\":\"2012-07-19T15:59:13.123Z\","
+ "\"parents\":[{\"id\":\"root\"}],"
+ "\"title\":\"new directory\"}",
+ http_request_.content);
scoped_ptr<FileResource> expected(
FileResource::CreateFrom(