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