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

Unified Diff: content/common/sandbox_init_wrapper_win.cc

Issue 8414020: Expose the sandbox related code through the content API. I did a bit of cleanup while I was doing... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: content/common/sandbox_init_wrapper_win.cc
===================================================================
--- content/common/sandbox_init_wrapper_win.cc (revision 107845)
+++ content/common/sandbox_init_wrapper_win.cc (working copy)
@@ -1,50 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "content/common/sandbox_init_wrapper.h"
-
-#include "base/command_line.h"
-#include "base/logging.h"
-#include "content/public/common/content_switches.h"
-
-void SandboxInitWrapper::SetServices(sandbox::SandboxInterfaceInfo* info) {
- if (!info)
- return;
- if (info->legacy) {
- // Looks like we are in the case when the new chrome.dll is being launched
- // by the old chrome.exe, the old chrome exe has SandboxInterfaceInfo as a
- // union, while now we have a struct.
- // TODO(cpu): Remove this nasty hack after M10 release.
- broker_services_ = reinterpret_cast<sandbox::BrokerServices*>(info->legacy);
- target_services_ = reinterpret_cast<sandbox::TargetServices*>(info->legacy);
- } else {
- // Normal case, both the exe and the dll are the same version. Both
- // interface pointers cannot be non-zero. A process can either be a target
- // or a broker but not both.
- broker_services_ = info->broker_services;
- target_services_ = info->target_services;
- DCHECK(!(target_services_ && broker_services_));
- }
-}
-
-bool SandboxInitWrapper::InitializeSandbox(const CommandLine& command_line,
- const std::string& process_type) {
- if (command_line.HasSwitch(switches::kNoSandbox))
- return true;
- if ((process_type == switches::kRendererProcess) ||
- (process_type == switches::kWorkerProcess) ||
- (process_type == switches::kNaClLoaderProcess) ||
- (process_type == switches::kUtilityProcess)) {
- // The above five process types must be sandboxed unless --no-sandbox
- // is present in the command line.
- if (!target_services_)
- return false;
- } else {
- // Other process types might or might not be sandboxed.
- // TODO(cpu): clean this mess.
- if (!target_services_)
- return true;
- }
- return (sandbox::SBOX_ALL_OK == target_services_->Init());
-}

Powered by Google App Engine
This is Rietveld 408576698