Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(297)

Side by Side Diff: chrome/browser/chromeos/extensions/file_browser_private_api.cc

Issue 10546093: gdata: Move ownership of GDataCache to GDataSystemService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add TODO Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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"
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 GrantFilePermissionsToHost(render_view_host, 191 GrantFilePermissionsToHost(render_view_host,
192 mount_point, 192 mount_point,
193 file_handler_util::GetReadWritePermissions()); 193 file_handler_util::GetReadWritePermissions());
194 194
195 // Grant R/W permission for tmp and pinned cache folder. 195 // Grant R/W permission for tmp and pinned cache folder.
196 gdata::GDataSystemService* system_service = 196 gdata::GDataSystemService* system_service =
197 gdata::GDataSystemServiceFactory::GetForProfile(profile); 197 gdata::GDataSystemServiceFactory::GetForProfile(profile);
198 // |system_service| is NULL if incognito window / guest login. 198 // |system_service| is NULL if incognito window / guest login.
199 if (!system_service || !system_service->file_system()) 199 if (!system_service || !system_service->file_system())
200 return; 200 return;
201 gdata::GDataFileSystem* gdata_file_system = system_service->file_system(); 201 gdata::GDataCache* cache = system_service->cache();
202 202
203 // We check permissions for raw cache file paths only for read-only 203 // We check permissions for raw cache file paths only for read-only
204 // operations (when fileEntry.file() is called), so read only permissions 204 // operations (when fileEntry.file() is called), so read only permissions
205 // should be sufficient for all cache paths. For the rest of supported 205 // should be sufficient for all cache paths. For the rest of supported
206 // operations the file access check is done for drive/ paths. 206 // operations the file access check is done for drive/ paths.
207 GrantFilePermissionsToHost(render_view_host, 207 GrantFilePermissionsToHost(render_view_host,
208 gdata_file_system->GetCacheDirectoryPath( 208 cache->GetCacheDirectoryPath(
209 gdata::GDataCache::CACHE_TYPE_TMP), 209 gdata::GDataCache::CACHE_TYPE_TMP),
210 file_handler_util::GetReadOnlyPermissions()); 210 file_handler_util::GetReadOnlyPermissions());
211 GrantFilePermissionsToHost( 211 GrantFilePermissionsToHost(
212 render_view_host, 212 render_view_host,
213 gdata_file_system->GetCacheDirectoryPath( 213 cache->GetCacheDirectoryPath(
214 gdata::GDataCache::CACHE_TYPE_PERSISTENT), 214 gdata::GDataCache::CACHE_TYPE_PERSISTENT),
215 file_handler_util::GetReadOnlyPermissions()); 215 file_handler_util::GetReadOnlyPermissions());
216 216
217 gdata::GDataFileSystem* gdata_file_system = system_service->file_system();
217 provider->AddRemoteMountPoint( 218 provider->AddRemoteMountPoint(
218 mount_point, 219 mount_point,
219 new gdata::GDataFileSystemProxy(gdata_file_system)); 220 new gdata::GDataFileSystemProxy(gdata_file_system));
220 221
221 FilePath mount_point_virtual; 222 FilePath mount_point_virtual;
222 if (provider->GetVirtualPath(mount_point, &mount_point_virtual)) 223 if (provider->GetVirtualPath(mount_point, &mount_point_virtual))
223 provider->GrantFileAccessToExtension(extension_id, mount_point_virtual); 224 provider->GrantFileAccessToExtension(extension_id, mount_point_virtual);
224 } 225 }
225 226
226 // Given a file url, find the virtual FilePath associated with it. 227 // Given a file url, find the virtual FilePath associated with it.
(...skipping 769 matching lines...) Expand 10 before | Expand all | Expand 10 after
996 return; 997 return;
997 } 998 }
998 999
999 const FilePath& source_path = files[0].path; 1000 const FilePath& source_path = files[0].path;
1000 const FilePath::StringType& display_name = files[0].display_name; 1001 const FilePath::StringType& display_name = files[0].display_name;
1001 // Check if the source path is under GData cache directory. 1002 // Check if the source path is under GData cache directory.
1002 gdata::GDataSystemService* system_service = 1003 gdata::GDataSystemService* system_service =
1003 gdata::GDataSystemServiceFactory::GetForProfile(profile_); 1004 gdata::GDataSystemServiceFactory::GetForProfile(profile_);
1004 gdata::GDataFileSystem* file_system = 1005 gdata::GDataFileSystem* file_system =
1005 system_service ? system_service->file_system() : NULL; 1006 system_service ? system_service->file_system() : NULL;
1006 if (file_system && file_system->IsUnderGDataCacheDirectory(source_path)) { 1007 gdata::GDataCache* cache =
1008 system_service ? system_service->cache() : NULL;
1009 if (file_system && cache && cache->IsUnderGDataCacheDirectory(source_path)) {
1007 file_system->SetMountedState( 1010 file_system->SetMountedState(
1008 source_path, 1011 source_path,
1009 true, 1012 true,
1010 base::Bind(&AddMountFunction::OnMountedStateSet, this, mount_type_str, 1013 base::Bind(&AddMountFunction::OnMountedStateSet, this, mount_type_str,
1011 display_name)); 1014 display_name));
1012 } else { 1015 } else {
1013 OnMountedStateSet(mount_type_str, display_name, 1016 OnMountedStateSet(mount_type_str, display_name,
1014 base::PLATFORM_FILE_OK, source_path); 1017 base::PLATFORM_FILE_OK, source_path);
1015 } 1018 }
1016 } 1019 }
(...skipping 1113 matching lines...) Expand 10 before | Expand all | Expand 10 after
2130 gdata::GDataSystemService* system_service = 2133 gdata::GDataSystemService* system_service =
2131 gdata::GDataSystemServiceFactory::GetForProfile(profile_); 2134 gdata::GDataSystemServiceFactory::GetForProfile(profile_);
2132 if (!system_service || !system_service->file_system()) 2135 if (!system_service || !system_service->file_system())
2133 return false; 2136 return false;
2134 2137
2135 FilePath directory_path = GetVirtualPathFromURL(GURL(file_url_as_string)); 2138 FilePath directory_path = GetVirtualPathFromURL(GURL(file_url_as_string));
2136 system_service->file_system()->RequestDirectoryRefresh(directory_path); 2139 system_service->file_system()->RequestDirectoryRefresh(directory_path);
2137 2140
2138 return true; 2141 return true;
2139 } 2142 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698