Chromium Code Reviews| Index: chrome/browser/chrome_content_browser_client.cc |
| diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc |
| index 193fb825402ee04941759fda1dfc8adf57013700..57731be4afd250ad8d0bf6fce214fc9cc4410f3d 100644 |
| --- a/chrome/browser/chrome_content_browser_client.cc |
| +++ b/chrome/browser/chrome_content_browser_client.cc |
| @@ -84,6 +84,7 @@ |
| #include "chrome/common/chrome_constants.h" |
| #include "chrome/common/chrome_paths.h" |
| #include "chrome/common/chrome_switches.h" |
| +#include "chrome/common/chrome_version_info.h" |
| #include "chrome/common/env_vars.h" |
| #include "chrome/common/logging_chrome.h" |
| #include "chrome/common/pepper_permission_util.h" |
| @@ -124,6 +125,7 @@ |
| #include "content/public/browser/web_contents.h" |
| #include "content/public/common/child_process_host.h" |
| #include "content/public/common/content_descriptors.h" |
| +#include "content/public/common/sandbox_type.h" |
| #include "content/public/common/service_registry.h" |
| #include "content/public/common/url_utils.h" |
| #include "content/public/common/web_preferences.h" |
| @@ -2335,6 +2337,54 @@ const wchar_t* ChromeContentBrowserClient::GetResourceDllName() { |
| return chrome::kBrowserResourcesDll; |
| } |
| +base::string16 ChromeContentBrowserClient::GetAppContainerSidForSandboxType( |
| + int sandbox_type) const { |
| + base::string16 sid; |
| + |
| +#if defined(GOOGLE_CHROME_BUILD) |
| + const chrome::VersionInfo::Channel channel = |
| + chrome::VersionInfo::GetChannel(); |
| + |
| + // It's possible to have a SxS installation running at the same time as a |
| + // non-SxS so isolate them from each other. |
| + if (channel == chrome::VersionInfo::CHANNEL_CANARY) { |
| + sid.assign( |
| + L"S-1-15-2-3251537155-1984446955-2931258699-841473695-1938553385-" |
| + L"924012150-"); |
| + } else { |
| + sid.assign( |
| + L"S-1-15-2-3251537155-1984446955-2931258699-841473695-1938553385-" |
| + L"924012149-"); |
| + } |
| +#else |
| + sid.assign( |
| + L"S-1-15-2-3251537155-1984446955-2931258699-841473695-1938553385-" |
| + L"924012148-"); |
| +#endif |
| + |
| + // TODO(wfh): Add support for more process types here. crbug.com/499523 |
| + switch (sandbox_type) { |
| + case content::SANDBOX_TYPE_RENDERER: |
| + return sid + L"129201922"; |
| + case content::SANDBOX_TYPE_UTILITY: |
| + return base::string16(); |
| + case content::SANDBOX_TYPE_GPU: |
| + return base::string16(); |
| + case content::SANDBOX_TYPE_PPAPI: |
| + return sid + L"129201925"; |
|
nasko
2015/06/24 13:11:38
nit: Since the PPAPI process isn't using the SID q
Will Harris
2015/06/24 15:17:20
Done.
|
| +#if !defined(DISABLE_NACL) |
| + case PROCESS_TYPE_NACL_LOADER: |
| + return base::string16(); |
| + case PROCESS_TYPE_NACL_BROKER: |
| + return base::string16(); |
| +#endif |
| + default: |
| + NOTREACHED(); |
| + } |
| + |
| + return base::string16(); |
|
nasko
2015/06/24 13:11:38
NOTREACHED before the return? Could also be CHECK,
Will Harris
2015/06/24 15:17:20
Done.
|
| +} |
| + |
| void ChromeContentBrowserClient::PreSpawnRenderer( |
| sandbox::TargetPolicy* policy, |
| bool* success) { |