| 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/extensions/file_browser_private_api.h" | 5 #include "chrome/browser/chromeos/extensions/file_browser_private_api.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/base64.h" | 9 #include "base/base64.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| 11 #include "base/logging.h" | 11 #include "base/logging.h" |
| 12 #include "base/memory/singleton.h" | 12 #include "base/memory/singleton.h" |
| 13 #include "base/memory/weak_ptr.h" | 13 #include "base/memory/weak_ptr.h" |
| 14 #include "base/string_split.h" | 14 #include "base/string_split.h" |
| 15 #include "base/stringprintf.h" | 15 #include "base/stringprintf.h" |
| 16 #include "base/time.h" | 16 #include "base/time.h" |
| 17 #include "base/values.h" | 17 #include "base/values.h" |
| 18 #include "chrome/browser/chromeos/extensions/file_handler_util.h" | 18 #include "chrome/browser/chromeos/extensions/file_handler_util.h" |
| 19 #include "chrome/browser/chromeos/extensions/file_manager_util.h" | 19 #include "chrome/browser/chromeos/extensions/file_manager_util.h" |
| 20 #include "chrome/browser/chromeos/gdata/gdata.pb.h" |
| 20 #include "chrome/browser/chromeos/gdata/gdata_file_system_proxy.h" | 21 #include "chrome/browser/chromeos/gdata/gdata_file_system_proxy.h" |
| 21 #include "chrome/browser/chromeos/gdata/gdata_operation_registry.h" | 22 #include "chrome/browser/chromeos/gdata/gdata_operation_registry.h" |
| 22 #include "chrome/browser/chromeos/gdata/gdata_system_service.h" | 23 #include "chrome/browser/chromeos/gdata/gdata_system_service.h" |
| 23 #include "chrome/browser/chromeos/gdata/gdata_util.h" | 24 #include "chrome/browser/chromeos/gdata/gdata_util.h" |
| 24 #include "chrome/browser/extensions/extension_function_dispatcher.h" | 25 #include "chrome/browser/extensions/extension_function_dispatcher.h" |
| 25 #include "chrome/browser/extensions/extension_process_manager.h" | 26 #include "chrome/browser/extensions/extension_process_manager.h" |
| 26 #include "chrome/browser/extensions/extension_service.h" | 27 #include "chrome/browser/extensions/extension_service.h" |
| 27 #include "chrome/browser/extensions/extension_tab_util.h" | 28 #include "chrome/browser/extensions/extension_tab_util.h" |
| 28 #include "chrome/browser/extensions/process_map.h" | 29 #include "chrome/browser/extensions/process_map.h" |
| 29 #include "chrome/browser/profiles/profile.h" | 30 #include "chrome/browser/profiles/profile.h" |
| (...skipping 1547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1577 base::DictionaryValue* property_dict, | 1578 base::DictionaryValue* property_dict, |
| 1578 base::PlatformFileError error) { | 1579 base::PlatformFileError error) { |
| 1579 if (error != base::PLATFORM_FILE_OK) { | 1580 if (error != base::PLATFORM_FILE_OK) { |
| 1580 property_dict->SetInteger("errorCode", error); | 1581 property_dict->SetInteger("errorCode", error); |
| 1581 CompleteGetFileProperties(); | 1582 CompleteGetFileProperties(); |
| 1582 return; | 1583 return; |
| 1583 } | 1584 } |
| 1584 | 1585 |
| 1585 gdata::GDataSystemService* system_service = | 1586 gdata::GDataSystemService* system_service = |
| 1586 gdata::GDataSystemServiceFactory::GetForProfile(profile_); | 1587 gdata::GDataSystemServiceFactory::GetForProfile(profile_); |
| 1587 system_service->file_system()->FindEntryByPathAsync( | 1588 system_service->file_system()->GetFileInfoByPathAsync( |
| 1588 path, | 1589 path, |
| 1589 base::Bind(&GetGDataFilePropertiesFunction::OnFileProperties, | 1590 base::Bind(&GetGDataFilePropertiesFunction::OnGetFileInfo, |
| 1590 this, | 1591 this, |
| 1591 property_dict, | 1592 property_dict, |
| 1592 path)); | 1593 path)); |
| 1593 } | 1594 } |
| 1594 | 1595 |
| 1595 void GetGDataFilePropertiesFunction::OnFileProperties( | 1596 void GetGDataFilePropertiesFunction::OnGetFileInfo( |
| 1596 base::DictionaryValue* property_dict, | 1597 base::DictionaryValue* property_dict, |
| 1597 const FilePath& file_path, | 1598 const FilePath& file_path, |
| 1598 base::PlatformFileError error, | 1599 base::PlatformFileError error, |
| 1599 const FilePath& /* directory_path */, | 1600 scoped_ptr<gdata::GDataFileProto> file_proto) { |
| 1600 gdata::GDataEntry* entry) { | 1601 DCHECK(property_dict); |
| 1602 |
| 1601 if (error != base::PLATFORM_FILE_OK) { | 1603 if (error != base::PLATFORM_FILE_OK) { |
| 1602 property_dict->SetInteger("errorCode", error); | 1604 property_dict->SetInteger("errorCode", error); |
| 1603 CompleteGetFileProperties(); | 1605 CompleteGetFileProperties(); |
| 1604 return; | 1606 return; |
| 1605 } | 1607 } |
| 1608 DCHECK(file_proto.get()); |
| 1606 | 1609 |
| 1607 gdata::GDataFile* file = entry->AsGDataFile(); | 1610 property_dict->SetString("thumbnailUrl", file_proto->thumbnail_url()); |
| 1608 if (!file) { | 1611 if (!file_proto->alternate_url().empty()) |
| 1609 LOG(WARNING) << "Reading properties of a non-file at " | 1612 property_dict->SetString("editUrl", file_proto->alternate_url()); |
| 1610 << file_path.value(); | 1613 |
| 1611 CompleteGetFileProperties(); | 1614 if (!file_proto->gdata_entry().content_url().empty()) { |
| 1612 return; | 1615 property_dict->SetString("contentUrl", |
| 1616 file_proto->gdata_entry().content_url()); |
| 1613 } | 1617 } |
| 1614 | 1618 |
| 1615 property_dict->SetString("thumbnailUrl", file->thumbnail_url().spec()); | 1619 property_dict->SetBoolean("isHosted", file_proto->is_hosted_document()); |
| 1616 if (!file->alternate_url().is_empty()) | |
| 1617 property_dict->SetString("editUrl", file->alternate_url().spec()); | |
| 1618 | |
| 1619 if (!file->content_url().is_empty()) | |
| 1620 property_dict->SetString("contentUrl", file->content_url().spec()); | |
| 1621 | |
| 1622 property_dict->SetBoolean("isHosted", file->is_hosted_document()); | |
| 1623 | 1620 |
| 1624 gdata::GDataSystemService* system_service = | 1621 gdata::GDataSystemService* system_service = |
| 1625 gdata::GDataSystemServiceFactory::GetForProfile(profile_); | 1622 gdata::GDataSystemServiceFactory::GetForProfile(profile_); |
| 1626 system_service->file_system()->GetCacheState( | 1623 system_service->file_system()->GetCacheState( |
| 1627 file->resource_id(), | 1624 file_proto->gdata_entry().resource_id(), |
| 1628 file->file_md5(), | 1625 file_proto->file_md5(), |
| 1629 base::Bind( | 1626 base::Bind( |
| 1630 &GetGDataFilePropertiesFunction::CacheStateReceived, | 1627 &GetGDataFilePropertiesFunction::CacheStateReceived, |
| 1631 this, property_dict)); | 1628 this, property_dict)); |
| 1632 } | 1629 } |
| 1633 | 1630 |
| 1634 void GetGDataFilePropertiesFunction::CacheStateReceived( | 1631 void GetGDataFilePropertiesFunction::CacheStateReceived( |
| 1635 base::DictionaryValue* property_dict, | 1632 base::DictionaryValue* property_dict, |
| 1636 base::PlatformFileError error, | 1633 base::PlatformFileError error, |
| 1637 int cache_state) { | 1634 int cache_state) { |
| 1638 property_dict->SetBoolean( | 1635 property_dict->SetBoolean( |
| (...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2006 if (value->GetBoolean("cellularDisabled", &tmp)) { | 2003 if (value->GetBoolean("cellularDisabled", &tmp)) { |
| 2007 service->SetBoolean(prefs::kDisableGDataOverCellular, tmp); | 2004 service->SetBoolean(prefs::kDisableGDataOverCellular, tmp); |
| 2008 } | 2005 } |
| 2009 | 2006 |
| 2010 if (value->GetBoolean("hostedFilesDisabled", &tmp)) { | 2007 if (value->GetBoolean("hostedFilesDisabled", &tmp)) { |
| 2011 service->SetBoolean(prefs::kDisableGDataHostedFiles, tmp); | 2008 service->SetBoolean(prefs::kDisableGDataHostedFiles, tmp); |
| 2012 } | 2009 } |
| 2013 | 2010 |
| 2014 return true; | 2011 return true; |
| 2015 } | 2012 } |
| OLD | NEW |