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

Side by Side Diff: content/browser/renderer_host/pepper/pepper_file_ref_host.h

Issue 19770009: PepperFileRefHost: Port to use explicit permission grants in ChildProcessSecurityPolicy. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@0044-write-support-remove-child-process-security-policy-bitmask-usage
Patch Set: address kinuko comment. Created 7 years, 5 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_RENDERER_HOST_PEPPER_PEPPER_FILE_REF_HOST_H_ 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_PEPPER_PEPPER_FILE_REF_HOST_H_
6 #define CONTENT_BROWSER_RENDERER_HOST_PEPPER_PEPPER_FILE_REF_HOST_H_ 6 #define CONTENT_BROWSER_RENDERER_HOST_PEPPER_PEPPER_FILE_REF_HOST_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/memory/weak_ptr.h" 10 #include "base/memory/weak_ptr.h"
(...skipping 28 matching lines...) Expand all
39 virtual int32_t Query(ppapi::host::ReplyMessageContext context) = 0; 39 virtual int32_t Query(ppapi::host::ReplyMessageContext context) = 0;
40 virtual int32_t ReadDirectoryEntries( 40 virtual int32_t ReadDirectoryEntries(
41 ppapi::host::ReplyMessageContext context) = 0; 41 ppapi::host::ReplyMessageContext context) = 0;
42 virtual int32_t GetAbsolutePath( 42 virtual int32_t GetAbsolutePath(
43 ppapi::host::ReplyMessageContext context) = 0; 43 ppapi::host::ReplyMessageContext context) = 0;
44 virtual fileapi::FileSystemURL GetFileSystemURL() const = 0; 44 virtual fileapi::FileSystemURL GetFileSystemURL() const = 0;
45 virtual std::string GetFileSystemURLSpec() const = 0; 45 virtual std::string GetFileSystemURLSpec() const = 0;
46 virtual base::FilePath GetExternalPath() const = 0; 46 virtual base::FilePath GetExternalPath() const = 0;
47 47
48 // Returns an error from the pp_errors.h enum. 48 // Returns an error from the pp_errors.h enum.
49 virtual int32_t HasPermissions(int permissions) const = 0; 49 virtual int32_t CanRead() const = 0;
50 virtual int32_t CanWrite() const = 0;
51 virtual int32_t CanCreate() const = 0;
52 virtual int32_t CanReadWrite() const = 0;
50 }; 53 };
51 54
52 class CONTENT_EXPORT PepperFileRefHost 55 class CONTENT_EXPORT PepperFileRefHost
53 : public ppapi::host::ResourceHost, 56 : public ppapi::host::ResourceHost,
54 public base::SupportsWeakPtr<PepperFileRefHost> { 57 public base::SupportsWeakPtr<PepperFileRefHost> {
55 public: 58 public:
56 PepperFileRefHost(BrowserPpapiHost* host, 59 PepperFileRefHost(BrowserPpapiHost* host,
57 PP_Instance instance, 60 PP_Instance instance,
58 PP_Resource resource, 61 PP_Resource resource,
59 PP_Resource file_system, 62 PP_Resource file_system,
(...skipping 13 matching lines...) Expand all
73 virtual PepperFileRefHost* AsPepperFileRefHost() OVERRIDE; 76 virtual PepperFileRefHost* AsPepperFileRefHost() OVERRIDE;
74 77
75 // Required to support Rename(). 78 // Required to support Rename().
76 PP_FileSystemType GetFileSystemType() const; 79 PP_FileSystemType GetFileSystemType() const;
77 fileapi::FileSystemURL GetFileSystemURL() const; 80 fileapi::FileSystemURL GetFileSystemURL() const;
78 81
79 // Required to support FileIO. 82 // Required to support FileIO.
80 std::string GetFileSystemURLSpec() const; 83 std::string GetFileSystemURLSpec() const;
81 base::FilePath GetExternalPath() const; 84 base::FilePath GetExternalPath() const;
82 85
83 int32_t HasPermissions(int permissions) const; 86 int32_t CanRead() const;
87 int32_t CanWrite() const;
88 int32_t CanCreate() const;
89 int32_t CanReadWrite() const;
84 90
85 private: 91 private:
86 int32_t OnMakeDirectory(ppapi::host::HostMessageContext* context, 92 int32_t OnMakeDirectory(ppapi::host::HostMessageContext* context,
87 bool make_ancestors); 93 bool make_ancestors);
88 int32_t OnTouch(ppapi::host::HostMessageContext* context, 94 int32_t OnTouch(ppapi::host::HostMessageContext* context,
89 PP_Time last_access_time, 95 PP_Time last_access_time,
90 PP_Time last_modified_time); 96 PP_Time last_modified_time);
91 int32_t OnDelete(ppapi::host::HostMessageContext* context); 97 int32_t OnDelete(ppapi::host::HostMessageContext* context);
92 int32_t OnRename(ppapi::host::HostMessageContext* context, 98 int32_t OnRename(ppapi::host::HostMessageContext* context,
93 PP_Resource new_file_ref); 99 PP_Resource new_file_ref);
94 int32_t OnQuery(ppapi::host::HostMessageContext* context); 100 int32_t OnQuery(ppapi::host::HostMessageContext* context);
95 int32_t OnReadDirectoryEntries(ppapi::host::HostMessageContext* context); 101 int32_t OnReadDirectoryEntries(ppapi::host::HostMessageContext* context);
96 int32_t OnGetAbsolutePath(ppapi::host::HostMessageContext* context); 102 int32_t OnGetAbsolutePath(ppapi::host::HostMessageContext* context);
97 103
98 BrowserPpapiHost* host_; 104 BrowserPpapiHost* host_;
99 scoped_ptr<PepperFileRefBackend> backend_; 105 scoped_ptr<PepperFileRefBackend> backend_;
100 PP_FileSystemType fs_type_; 106 PP_FileSystemType fs_type_;
101 107
102 DISALLOW_COPY_AND_ASSIGN(PepperFileRefHost); 108 DISALLOW_COPY_AND_ASSIGN(PepperFileRefHost);
103 }; 109 };
104 110
105 } // namespace content 111 } // namespace content
106 112
107 #endif // CONTENT_BROWSER_RENDERER_HOST_PEPPER_PEPPER_FILE_REF_HOST_H_ 113 #endif // CONTENT_BROWSER_RENDERER_HOST_PEPPER_PEPPER_FILE_REF_HOST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698