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

Side by Side Diff: sandbox/src/sandbox_policy_base.h

Issue 7074025: Get rid of content dependency from sandbox_policy.h (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix crash Created 9 years, 7 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) 2006-2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2009 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 SANDBOX_SRC_SANDBOX_POLICY_BASE_H_ 5 #ifndef SANDBOX_SRC_SANDBOX_POLICY_BASE_H_
6 #define SANDBOX_SRC_SANDBOX_POLICY_BASE_H_ 6 #define SANDBOX_SRC_SANDBOX_POLICY_BASE_H_
7 7
8 #include <windows.h> 8 #include <windows.h>
9 #include <list> 9 #include <list>
10 10
(...skipping 13 matching lines...) Expand all
24 class LowLevelPolicy; 24 class LowLevelPolicy;
25 struct PolicyGlobal; 25 struct PolicyGlobal;
26 26
27 // We act as a policy dispatcher, implementing the handler for the "ping" IPC, 27 // We act as a policy dispatcher, implementing the handler for the "ping" IPC,
28 // so we have to provide the appropriate handler on the OnMessageReady method. 28 // so we have to provide the appropriate handler on the OnMessageReady method.
29 // There is a static_cast for the handler, and the compiler only performs the 29 // There is a static_cast for the handler, and the compiler only performs the
30 // cast if the first base class is Dispatcher. 30 // cast if the first base class is Dispatcher.
31 class PolicyBase : public Dispatcher, public TargetPolicy { 31 class PolicyBase : public Dispatcher, public TargetPolicy {
32 public: 32 public:
33 PolicyBase(); 33 PolicyBase();
34 ~PolicyBase();
cpu_(ooo_6.6-7.5) 2011/05/27 20:19:09 I see a PolicyBase::~PolicyBase() in sandbox_polic
jam 2011/05/27 20:25:54 I just moved this to be private, since the class i
35 34
36 virtual void AddRef() { 35 virtual void AddRef() {
37 ::InterlockedIncrement(&ref_count); 36 ::InterlockedIncrement(&ref_count);
38 } 37 }
39 38
40 virtual void Release() { 39 virtual void Release() {
41 if (0 == ::InterlockedDecrement(&ref_count)) 40 if (0 == ::InterlockedDecrement(&ref_count))
42 delete this; 41 delete this;
43 } 42 }
44 43
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 116
118 // Overrides Dispatcher::OnMessageReady. 117 // Overrides Dispatcher::OnMessageReady.
119 virtual Dispatcher* OnMessageReady(IPCParams* ipc, CallbackGeneric* callback); 118 virtual Dispatcher* OnMessageReady(IPCParams* ipc, CallbackGeneric* callback);
120 119
121 // Dispatcher interface. 120 // Dispatcher interface.
122 virtual bool SetupService(InterceptionManager* manager, int service); 121 virtual bool SetupService(InterceptionManager* manager, int service);
123 122
124 virtual EvalResult EvalPolicy(int service, CountedParameterSetBase* params); 123 virtual EvalResult EvalPolicy(int service, CountedParameterSetBase* params);
125 124
126 private: 125 private:
126 ~PolicyBase();
127
127 // Test IPC providers. 128 // Test IPC providers.
128 bool Ping(IPCInfo* ipc, void* cookie); 129 bool Ping(IPCInfo* ipc, void* cookie);
129 130
130 // Returns a dispatcher from ipc_targets_. 131 // Returns a dispatcher from ipc_targets_.
131 Dispatcher* GetDispatcher(int ipc_tag); 132 Dispatcher* GetDispatcher(int ipc_tag);
132 133
133 // Sets up interceptions for a new target. 134 // Sets up interceptions for a new target.
134 bool SetupAllInterceptions(TargetProcess* target); 135 bool SetupAllInterceptions(TargetProcess* target);
135 136
136 // This lock synchronizes operations on the targets_ collection. 137 // This lock synchronizes operations on the targets_ collection.
(...skipping 28 matching lines...) Expand all
165 166
166 static HDESK alternate_desktop_handle_; 167 static HDESK alternate_desktop_handle_;
167 static HWINSTA alternate_winstation_handle_; 168 static HWINSTA alternate_winstation_handle_;
168 169
169 DISALLOW_COPY_AND_ASSIGN(PolicyBase); 170 DISALLOW_COPY_AND_ASSIGN(PolicyBase);
170 }; 171 };
171 172
172 } // namespace sandbox 173 } // namespace sandbox
173 174
174 #endif // SANDBOX_SRC_SANDBOX_POLICY_BASE_H_ 175 #endif // SANDBOX_SRC_SANDBOX_POLICY_BASE_H_
OLDNEW
« chrome/common/sandbox_policy.cc ('K') | « content/common/content_switches.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698