Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/chromeos/gdata/gdata_file_system.h" | 5 #include "chrome/browser/chromeos/gdata/gdata_file_system.h" |
| 6 | 6 |
| 7 #include <errno.h> | 7 #include <errno.h> |
| 8 #include <sys/stat.h> | 8 #include <sys/stat.h> |
| 9 | 9 |
| 10 #include <set> | 10 #include <set> |
| (...skipping 1870 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1881 cache_paths_.push_back(root_path.Append(kGDataCacheTmpDocumentsDir)); | 1881 cache_paths_.push_back(root_path.Append(kGDataCacheTmpDocumentsDir)); |
| 1882 } | 1882 } |
| 1883 | 1883 |
| 1884 void GDataFileSystem::InitiateUpload( | 1884 void GDataFileSystem::InitiateUpload( |
| 1885 const std::string& file_name, | 1885 const std::string& file_name, |
| 1886 const std::string& content_type, | 1886 const std::string& content_type, |
| 1887 int64 content_length, | 1887 int64 content_length, |
| 1888 const FilePath& destination_directory, | 1888 const FilePath& destination_directory, |
| 1889 const FilePath& virtual_path, | 1889 const FilePath& virtual_path, |
| 1890 const InitiateUploadCallback& callback) { | 1890 const InitiateUploadCallback& callback) { |
| 1891 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | |
| 1892 | |
| 1891 GURL destination_directory_url = | 1893 GURL destination_directory_url = |
| 1892 GetUploadUrlForDirectory(destination_directory); | 1894 GetUploadUrlForDirectory(destination_directory); |
| 1893 | 1895 |
| 1894 if (destination_directory_url.is_empty()) { | 1896 if (destination_directory_url.is_empty()) { |
| 1895 if (!callback.is_null()) { | 1897 if (!callback.is_null()) { |
| 1896 MessageLoop::current()->PostTask( | 1898 MessageLoop::current()->PostTask( |
|
achuithb
2012/04/24 23:46:14
Is there a reason to PostTask here instead of runn
satorux1
2012/04/24 23:54:19
In async functions, we usually run a callback thro
| |
| 1897 FROM_HERE, | 1899 FROM_HERE, |
| 1898 base::Bind(callback, | 1900 base::Bind(callback, |
| 1899 HTTP_BAD_REQUEST, GURL())); | 1901 HTTP_BAD_REQUEST, GURL())); |
| 1900 } | 1902 } |
| 1901 return; | 1903 return; |
| 1902 } | 1904 } |
| 1903 | 1905 |
| 1904 documents_service_->InitiateUpload( | 1906 documents_service_->InitiateUpload( |
| 1905 InitiateUploadParams(file_name, | 1907 InitiateUploadParams(file_name, |
| 1906 content_type, | 1908 content_type, |
| 1907 content_length, | 1909 content_length, |
| 1908 destination_directory_url, | 1910 destination_directory_url, |
| 1909 virtual_path), | 1911 virtual_path), |
| 1910 base::Bind(&GDataFileSystem::OnUploadLocationReceived, | 1912 callback); |
| 1911 GetWeakPtrForCurrentThread(), | |
| 1912 callback, | |
| 1913 // MessageLoopProxy is used to run |callback| on the | |
| 1914 // thread where this function was called. | |
| 1915 base::MessageLoopProxy::current())); | |
| 1916 } | |
| 1917 | |
| 1918 void GDataFileSystem::OnUploadLocationReceived( | |
| 1919 const InitiateUploadCallback& callback, | |
| 1920 scoped_refptr<base::MessageLoopProxy> message_loop_proxy, | |
| 1921 GDataErrorCode code, | |
| 1922 const GURL& upload_location) { | |
| 1923 | |
| 1924 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | |
| 1925 if (!callback.is_null()) { | |
| 1926 message_loop_proxy->PostTask(FROM_HERE, base::Bind(callback, code, | |
| 1927 upload_location)); | |
| 1928 } | |
| 1929 } | 1913 } |
| 1930 | 1914 |
| 1931 void GDataFileSystem::ResumeUpload( | 1915 void GDataFileSystem::ResumeUpload( |
| 1932 const ResumeUploadParams& params, | 1916 const ResumeUploadParams& params, |
| 1933 const ResumeFileUploadCallback& callback) { | 1917 const ResumeFileUploadCallback& callback) { |
| 1934 documents_service_->ResumeUpload( | 1918 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 1935 params, | |
| 1936 base::Bind(&GDataFileSystem::OnResumeUpload, | |
| 1937 GetWeakPtrForCurrentThread(), | |
| 1938 base::MessageLoopProxy::current(), | |
| 1939 callback)); | |
| 1940 } | |
| 1941 | 1919 |
| 1942 void GDataFileSystem::OnResumeUpload( | 1920 documents_service_->ResumeUpload(params, callback); |
| 1943 scoped_refptr<base::MessageLoopProxy> message_loop_proxy, | |
| 1944 const ResumeFileUploadCallback& callback, | |
| 1945 const ResumeUploadResponse& response, | |
| 1946 scoped_ptr<DocumentEntry> new_entry) { | |
| 1947 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | |
| 1948 if (!callback.is_null()) | |
| 1949 message_loop_proxy->PostTask(FROM_HERE, | |
| 1950 base::Bind(callback, response, base::Passed(&new_entry))); | |
| 1951 } | 1921 } |
| 1952 | 1922 |
| 1953 void GDataFileSystem::UnsafeFindEntryByPath( | 1923 void GDataFileSystem::UnsafeFindEntryByPath( |
| 1954 const FilePath& file_path, | 1924 const FilePath& file_path, |
| 1955 FindEntryDelegate* delegate) { | 1925 FindEntryDelegate* delegate) { |
| 1956 DCHECK(delegate); | 1926 DCHECK(delegate); |
| 1957 lock_.AssertAcquired(); | 1927 lock_.AssertAcquired(); |
| 1958 | 1928 |
| 1959 std::vector<FilePath::StringType> components; | 1929 std::vector<FilePath::StringType> components; |
| 1960 file_path.GetComponents(&components); | 1930 file_path.GetComponents(&components); |
| (...skipping 2436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4397 pref_registrar_->Init(profile_->GetPrefs()); | 4367 pref_registrar_->Init(profile_->GetPrefs()); |
| 4398 pref_registrar_->Add(prefs::kDisableGDataHostedFiles, this); | 4368 pref_registrar_->Add(prefs::kDisableGDataHostedFiles, this); |
| 4399 } | 4369 } |
| 4400 | 4370 |
| 4401 void SetFreeDiskSpaceGetterForTesting(FreeDiskSpaceGetterInterface* getter) { | 4371 void SetFreeDiskSpaceGetterForTesting(FreeDiskSpaceGetterInterface* getter) { |
| 4402 delete global_free_disk_getter_for_testing; // Safe to delete NULL; | 4372 delete global_free_disk_getter_for_testing; // Safe to delete NULL; |
| 4403 global_free_disk_getter_for_testing = getter; | 4373 global_free_disk_getter_for_testing = getter; |
| 4404 } | 4374 } |
| 4405 | 4375 |
| 4406 } // namespace gdata | 4376 } // namespace gdata |
| OLD | NEW |