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

Side by Side Diff: content/browser/fileapi/fileapi_message_filter.cc

Issue 16158004: iTunes file util and data provider for media galleries (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Undo incorrect fix Created 7 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 "content/browser/fileapi/fileapi_message_filter.h" 5 #include "content/browser/fileapi/fileapi_message_filter.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 739 matching lines...) Expand 10 before | Expand all | Expand 10 after
750 // that the renderer can read the file's platform path. If this is the case 750 // that the renderer can read the file's platform path. If this is the case
751 // the renderer should be granted read permission for the file's platform 751 // the renderer should be granted read permission for the file's platform
752 // path. This can happen in the following situations: 752 // path. This can happen in the following situations:
753 // - the file comes from sandboxed filesystem. Reading sandboxed files is 753 // - the file comes from sandboxed filesystem. Reading sandboxed files is
754 // always permitted, but only implicitly. 754 // always permitted, but only implicitly.
755 // - the underlying filesystem returned newly created snapshot file. 755 // - the underlying filesystem returned newly created snapshot file.
756 // - the nominal path differs from the platform path. This can happen even 756 // - the nominal path differs from the platform path. This can happen even
757 // when the filesystem has been granted permissions. This happens with: 757 // when the filesystem has been granted permissions. This happens with:
758 // - Drive filesystems 758 // - Drive filesystems
759 // - Picasa filesystems 759 // - Picasa filesystems
760 // - iTunes filesystems
760 DCHECK(snapshot_file.get() || 761 DCHECK(snapshot_file.get() ||
761 fileapi::SandboxMountPointProvider::IsSandboxType(url.type()) || 762 fileapi::SandboxMountPointProvider::IsSandboxType(url.type()) ||
762 url.type() == fileapi::kFileSystemTypeDrive || 763 url.type() == fileapi::kFileSystemTypeDrive ||
763 url.type() == fileapi::kFileSystemTypePicasa); 764 url.type() == fileapi::kFileSystemTypePicasa ||
765 url.type() == fileapi::kFileSystemTypeItunes);
kinuko 2013/06/07 05:45:13 Hmm, this part seems to need some cleanup...
764 ChildProcessSecurityPolicyImpl::GetInstance()->GrantReadFile( 766 ChildProcessSecurityPolicyImpl::GetInstance()->GrantReadFile(
765 process_id_, platform_path); 767 process_id_, platform_path);
766 if (snapshot_file.get()) { 768 if (snapshot_file.get()) {
767 // This will revoke all permissions for the file when the last ref 769 // This will revoke all permissions for the file when the last ref
768 // of the file is dropped (assuming it's ok). 770 // of the file is dropped (assuming it's ok).
769 snapshot_file->AddFinalReleaseCallback( 771 snapshot_file->AddFinalReleaseCallback(
770 base::Bind(&RevokeFilePermission, process_id_)); 772 base::Bind(&RevokeFilePermission, process_id_));
771 } 773 }
772 } 774 }
773 775
(...skipping 23 matching lines...) Expand all
797 Send(new FileSystemMsg_DidFail(request_id, error_code)); 799 Send(new FileSystemMsg_DidFail(request_id, error_code));
798 return NULL; 800 return NULL;
799 } 801 }
800 802
801 DCHECK(operation); 803 DCHECK(operation);
802 operations_.AddWithID(operation, request_id); 804 operations_.AddWithID(operation, request_id);
803 return operation; 805 return operation;
804 } 806 }
805 807
806 } // namespace content 808 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698