OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" | 5 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <stack> | 8 #include <stack> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 #include "chrome/browser/drive/drive_api_util.h" | 24 #include "chrome/browser/drive/drive_api_util.h" |
25 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants.
h" | 25 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants.
h" |
26 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_util.h" | 26 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_util.h" |
27 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h" | 27 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h" |
28 #include "chrome/browser/sync_file_system/drive_backend/metadata_database_index.
h" | 28 #include "chrome/browser/sync_file_system/drive_backend/metadata_database_index.
h" |
29 #include "chrome/browser/sync_file_system/drive_backend/metadata_database_index_
interface.h" | 29 #include "chrome/browser/sync_file_system/drive_backend/metadata_database_index_
interface.h" |
30 #include "chrome/browser/sync_file_system/drive_backend/metadata_db_migration_ut
il.h" | 30 #include "chrome/browser/sync_file_system/drive_backend/metadata_db_migration_ut
il.h" |
31 #include "chrome/browser/sync_file_system/logger.h" | 31 #include "chrome/browser/sync_file_system/logger.h" |
32 #include "chrome/browser/sync_file_system/syncable_file_system_util.h" | 32 #include "chrome/browser/sync_file_system/syncable_file_system_util.h" |
33 #include "google_apis/drive/drive_api_parser.h" | 33 #include "google_apis/drive/drive_api_parser.h" |
34 #include "google_apis/drive/drive_entry_kinds.h" | |
35 #include "third_party/leveldatabase/src/include/leveldb/db.h" | 34 #include "third_party/leveldatabase/src/include/leveldb/db.h" |
36 #include "third_party/leveldatabase/src/include/leveldb/env.h" | 35 #include "third_party/leveldatabase/src/include/leveldb/env.h" |
37 #include "third_party/leveldatabase/src/include/leveldb/status.h" | 36 #include "third_party/leveldatabase/src/include/leveldb/status.h" |
38 #include "third_party/leveldatabase/src/include/leveldb/write_batch.h" | 37 #include "third_party/leveldatabase/src/include/leveldb/write_batch.h" |
39 #include "webkit/common/fileapi/file_system_util.h" | 38 #include "webkit/common/fileapi/file_system_util.h" |
40 | 39 |
41 namespace sync_file_system { | 40 namespace sync_file_system { |
42 namespace drive_backend { | 41 namespace drive_backend { |
43 | 42 |
44 namespace { | 43 namespace { |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 FileDetails* details) { | 85 FileDetails* details) { |
87 details->clear_parent_folder_ids(); | 86 details->clear_parent_folder_ids(); |
88 for (std::vector<google_apis::ParentReference>::const_iterator itr = | 87 for (std::vector<google_apis::ParentReference>::const_iterator itr = |
89 file_resource.parents().begin(); | 88 file_resource.parents().begin(); |
90 itr != file_resource.parents().end(); | 89 itr != file_resource.parents().end(); |
91 ++itr) { | 90 ++itr) { |
92 details->add_parent_folder_ids(itr->file_id()); | 91 details->add_parent_folder_ids(itr->file_id()); |
93 } | 92 } |
94 details->set_title(file_resource.title()); | 93 details->set_title(file_resource.title()); |
95 | 94 |
96 google_apis::DriveEntryKind kind = drive::util::GetKind(file_resource); | 95 if (file_resource.IsDirectory()) |
97 if (kind == google_apis::ENTRY_KIND_FILE) | 96 details->set_file_kind(FILE_KIND_FOLDER); |
| 97 else if (drive::util::IsHostedDocument(file_resource.mime_type())) |
| 98 details->set_file_kind(FILE_KIND_UNSUPPORTED); |
| 99 else |
98 details->set_file_kind(FILE_KIND_FILE); | 100 details->set_file_kind(FILE_KIND_FILE); |
99 else if (kind == google_apis::ENTRY_KIND_FOLDER) | |
100 details->set_file_kind(FILE_KIND_FOLDER); | |
101 else | |
102 details->set_file_kind(FILE_KIND_UNSUPPORTED); | |
103 | 101 |
104 details->set_md5(file_resource.md5_checksum()); | 102 details->set_md5(file_resource.md5_checksum()); |
105 details->set_etag(file_resource.etag()); | 103 details->set_etag(file_resource.etag()); |
106 details->set_creation_time(file_resource.created_date().ToInternalValue()); | 104 details->set_creation_time(file_resource.created_date().ToInternalValue()); |
107 details->set_modification_time( | 105 details->set_modification_time( |
108 file_resource.modified_date().ToInternalValue()); | 106 file_resource.modified_date().ToInternalValue()); |
109 details->set_missing(false); | 107 details->set_missing(false); |
110 } | 108 } |
111 | 109 |
112 scoped_ptr<FileMetadata> CreateFileMetadataFromFileResource( | 110 scoped_ptr<FileMetadata> CreateFileMetadataFromFileResource( |
(...skipping 1910 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2023 index_->StoreFileMetadata(app_root_metadata.Pass(), batch); | 2021 index_->StoreFileMetadata(app_root_metadata.Pass(), batch); |
2024 index_->StoreFileTracker(app_root_tracker.Pass(), batch); | 2022 index_->StoreFileTracker(app_root_tracker.Pass(), batch); |
2025 } | 2023 } |
2026 | 2024 |
2027 void MetadataDatabase::DetachFromSequence() { | 2025 void MetadataDatabase::DetachFromSequence() { |
2028 worker_sequence_checker_.DetachFromSequence(); | 2026 worker_sequence_checker_.DetachFromSequence(); |
2029 } | 2027 } |
2030 | 2028 |
2031 } // namespace drive_backend | 2029 } // namespace drive_backend |
2032 } // namespace sync_file_system | 2030 } // namespace sync_file_system |
OLD | NEW |