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 #ifndef CONTENT_BROWSER_FILEAPI_BROWSER_FILE_SYSTEM_HELPER_H_ | 5 #ifndef CONTENT_BROWSER_FILEAPI_BROWSER_FILE_SYSTEM_HELPER_H_ |
6 #define CONTENT_BROWSER_FILEAPI_BROWSER_FILE_SYSTEM_HELPER_H_ | 6 #define CONTENT_BROWSER_FILEAPI_BROWSER_FILE_SYSTEM_HELPER_H_ |
7 | 7 |
8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
9 #include "content/common/content_export.h" | 9 #include "content/common/content_export.h" |
10 #include "storage/browser/fileapi/file_system_context.h" | 10 #include "storage/browser/fileapi/file_system_context.h" |
11 | 11 |
12 namespace storage { | 12 namespace storage { |
13 class FileSystemContext; | 13 class FileSystemContext; |
14 class FileSystemURL; | 14 class FileSystemURL; |
15 } | 15 } |
16 | 16 |
17 namespace content { | 17 namespace content { |
18 | 18 |
19 class BrowserContext; | 19 class BrowserContext; |
20 class ChildProcessSecurityPolicyImpl; | |
21 struct DropData; | |
20 | 22 |
21 // Helper method that returns FileSystemContext constructed for | 23 // Helper method that returns FileSystemContext constructed for |
22 // the browser process. | 24 // the browser process. |
23 CONTENT_EXPORT scoped_refptr<storage::FileSystemContext> | 25 CONTENT_EXPORT scoped_refptr<storage::FileSystemContext> |
24 CreateFileSystemContext(BrowserContext* browser_context, | 26 CreateFileSystemContext(BrowserContext* browser_context, |
25 const base::FilePath& profile_path, | 27 const base::FilePath& profile_path, |
26 bool is_incognito, | 28 bool is_incognito, |
27 storage::QuotaManagerProxy* quota_manager_proxy); | 29 storage::QuotaManagerProxy* quota_manager_proxy); |
28 | 30 |
29 // Verifies that |url| is valid and has a registered backend in |context|. | 31 // Verifies that |url| is valid and has a registered backend in |context|. |
30 CONTENT_EXPORT bool FileSystemURLIsValid(storage::FileSystemContext* context, | 32 CONTENT_EXPORT bool FileSystemURLIsValid(storage::FileSystemContext* context, |
31 const storage::FileSystemURL& url); | 33 const storage::FileSystemURL& url); |
32 | 34 |
33 // Get the platform path from a file system URL. This needs to be called | 35 // Get the platform path from a file system URL. This needs to be called |
34 // on the FILE thread. | 36 // on the FILE thread. |
35 CONTENT_EXPORT void SyncGetPlatformPath(storage::FileSystemContext* context, | 37 CONTENT_EXPORT void SyncGetPlatformPath(storage::FileSystemContext* context, |
36 int process_id, | 38 int process_id, |
37 const GURL& path, | 39 const GURL& path, |
38 base::FilePath* platform_path); | 40 base::FilePath* platform_path); |
41 | |
ncarter (slow)
2017/04/24 22:01:51
Maybe this as an intro sentence:
// Make it possi
Łukasz Anforowicz
2017/04/24 22:18:10
Done.
| |
42 // |drop_data| can include references to local files and filesystem files that | |
43 // were accessible to the child process that is the source of the drag and drop, | |
44 // but might not (yet) be accessible the child process that is the target of the | |
45 // drop. PrepareDropDataForChildProcess makes sure that |child_id| has access | |
46 // to files referred to by |drop_data| - this method will 1) mutate |drop_data| | |
47 // as needed (e.g. to refer to files in a new isolated filesystem, rather than | |
48 // the original filesystem files) and 2) use |security_policy| to grant | |
49 // |child_id| appropriate file access. | |
50 CONTENT_EXPORT void PrepareDropDataForChildProcess( | |
Łukasz Anforowicz
2017/04/24 21:30:24
TBH I don't understand why |CONTENT_EXPORT| is nee
ncarter (slow)
2017/04/24 22:01:51
In the component build, both render_widget_host_im
Łukasz Anforowicz
2017/04/24 22:18:10
Oh, ok - thanks for the explanation. I guess I sh
| |
51 DropData* drop_data, | |
52 ChildProcessSecurityPolicyImpl* security_policy, | |
Łukasz Anforowicz
2017/04/24 21:30:23
This has to be CPSPImpl, because CPSP doesn't expo
ncarter (slow)
2017/04/24 22:01:51
That's fine.
| |
53 int child_id, | |
54 const storage::FileSystemContext* file_system_context); | |
55 | |
39 } // namespace content | 56 } // namespace content |
40 | 57 |
41 #endif // CONTENT_BROWSER_FILEAPI_BROWSER_FILE_SYSTEM_HELPER_H_ | 58 #endif // CONTENT_BROWSER_FILEAPI_BROWSER_FILE_SYSTEM_HELPER_H_ |
OLD | NEW |