Rename GData* to Drive* in gdata.proto

* gdata.proto has been renamed to drive.proto.
* The following classes are renamed:
  GDataFileSpecificInfo -> DriveFileSpecificInfo
  GDataEntryProto -> DriveEntryProto
  GDataDirectoryProto -> DriveDirectoryProto
  GDataCacheEntry -> DriveCacheEntry

More GData* to Drive* conversion come in later CLs.

BUG=137151
TEST=pass all trybots
[email protected], [email protected]

(estade for chrome/browser/ui/webui, ben for gypi changes)

Review URL: https://chromiumcodereview.appspot.com/10836354

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152539 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/chromeos/gdata/drive.proto b/chrome/browser/chromeos/gdata/drive.proto
new file mode 100644
index 0000000..b74bd87
--- /dev/null
+++ b/chrome/browser/chromeos/gdata/drive.proto
@@ -0,0 +1,116 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+// Protocol buffer definitions for serializing Drive files and directories.
+
+syntax = "proto2";
+
+option optimize_for = LITE_RUNTIME;
+
+package gdata;
+
+// Represents base::PlatformFileInfo.
+message PlatformFileInfoProto {
+  optional int64 size = 1;
+  optional bool is_directory = 2;
+  optional bool is_symbolic_link = 3;
+  optional int64 last_modified = 4;
+  optional int64 last_accessed = 5;
+  optional int64 creation_time = 6;
+}
+
+// File specific info, which is a part of DriveEntryProto.
+message DriveFileSpecificInfo {
+  // This URL points to a thumbnail image. The thumbnail URL is not permanent
+  // as it's not protected by authentication. See crbug.com/127697 for how
+  // stale thumbnail URLs are handled.
+  optional string thumbnail_url = 1;
+
+  // This URL is used for opening hosted documents with Google Docs's web
+  // interface.
+  optional string alternate_url = 2;
+
+  // Content mime type like "text/plain".
+  optional string content_mime_type = 3;
+
+  // The MD5 of contents of a regular file.
+  optional string file_md5 = 4;
+
+  // File extension, including the dot, used for hosted documents
+  // (ex. ".gsheet" for hosted spreadsheet documents).
+  optional string document_extension = 5;
+
+  // True if the file is a hosted document.
+  optional bool is_hosted_document = 6;
+}
+
+// Represents DriveEntry, DriveFile, and DriveDirectory without children.
+message DriveEntryProto {
+  optional PlatformFileInfoProto file_info = 1;
+  optional string base_name = 2;
+  optional string title = 3;
+  optional string resource_id = 4;
+  optional string edit_url = 5;
+  optional string content_url = 6;
+  optional string parent_resource_id = 7;
+  // For a file, this is "resumable-edit-media" URL, used to update an
+  // existing file. For a directory, this is "resumable-create-media" URL,
+  // used to upload a new file to that directory. See
+  // https://developers.google.com/google-apps/documents-list/
+  optional string upload_url = 8;
+
+  // File specific information, such as MD5.
+  optional DriveFileSpecificInfo file_specific_info = 9;
+}
+
+// Represents DriveDirectory. This message type is defined to keep children
+// separate from DriveEntryProto. This design allows us to get the metadata
+// of a directory efficiently as DriveEntryProto, without carrying the
+// metadata of children.
+//
+// TODO(satorux): With the new metadata storage system, we plan to store
+// children as pairs of base name and resource ID. We should remove this
+// message type once we get there.
+message DriveDirectoryProto {
+  optional DriveEntryProto gdata_entry = 1;
+  repeated DriveDirectoryProto child_directories = 7;
+  repeated DriveEntryProto child_files = 9;
+}
+
+// Container for the root directory and the largest changestamp.
+// TODO(satorux): Remove this: crbug.com/137862
+message DriveRootDirectoryProto {
+  optional DriveDirectoryProto gdata_directory = 1;
+  optional int64 largest_changestamp = 4;
+  // Monotonically increasing version number, which is changed when
+  // incompatible change is made in the proto file.
+  // kProtoVersion in gdata_files.h defines the current version.
+  optional int32 version = 3;
+}
+
+// Message to store information of an existing cache file.
+// Cache files are stored in 'tmp' or 'persistent' directory under the
+// root cache directory. See DriveCache::GetCacheRootPath().
+message DriveCacheEntry {
+  // MD5 of the cache file. "local" if the file is locally modified.
+  optional string md5 = 1;
+
+  // True if the file is present locally.
+  optional bool is_present = 2;
+
+  // True if the file is pinned (i.e. available offline).
+  optional bool is_pinned = 3;
+
+  // True if the file is dirty (i.e. modified locally).
+  optional bool is_dirty = 4;
+
+  // True if the file is a mounted archive file.
+  optional bool is_mounted = 5;
+
+  // True if the file is in the persistent directory.
+  optional bool is_persistent = 6;
+
+  // When adding a new state, be sure to update TestDriveCacheState and test
+  // functions defined in gdata_test_util.cc.
+}