12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef CONTENT_COMMON_SANDBOX_WIN_H_
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define CONTENT_COMMON_SANDBOX_WIN_H_
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
80529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "content/common/content_export.h"
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "sandbox/win/src/security_level.h"
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
11a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)namespace base {
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class CommandLine;
13a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)}
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace sandbox {
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class BrokerServices;
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class TargetPolicy;
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class TargetServices;
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace content {
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Wrapper around sandbox::TargetPolicy::SetJobLevel that checks if the sandbox
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// should be let to run without a job object assigned.
25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)void SetJobLevel(const base::CommandLine& cmd_line,
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                 sandbox::JobLevel job_level,
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                 uint32 ui_exceptions,
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                 sandbox::TargetPolicy* policy);
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Closes handles that are opened at process creation and initialization.
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void AddBaseHandleClosePolicy(sandbox::TargetPolicy* policy);
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool InitBrokerServices(sandbox::BrokerServices* broker_services);
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool InitTargetServices(sandbox::TargetServices* target_services);
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
37a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// Returns whether DirectWrite font rendering should be used.
380529e5d033099cbfc42635f6f6183833b09dff6eBen MurdochCONTENT_EXPORT bool ShouldUseDirectWrite();
39effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace content
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif  // CONTENT_COMMON_SANDBOX_WIN_H_
43