31 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Copyright (c) 2019 GitHub, Inc.
 | |
| // Use of this source code is governed by the MIT license that can be
 | |
| // found in the LICENSE file.
 | |
| 
 | |
| #include "electron/atom/browser/feature_list.h"
 | |
| 
 | |
| #include <string>
 | |
| 
 | |
| #include "base/base_switches.h"
 | |
| #include "base/command_line.h"
 | |
| #include "base/feature_list.h"
 | |
| #include "content/public/common/content_features.h"
 | |
| 
 | |
| namespace atom {
 | |
| 
 | |
| void InitializeFeatureList() {
 | |
|   auto* cmd_line = base::CommandLine::ForCurrentProcess();
 | |
|   auto enable_features =
 | |
|       cmd_line->GetSwitchValueASCII(::switches::kEnableFeatures);
 | |
|   auto disable_features =
 | |
|       cmd_line->GetSwitchValueASCII(::switches::kDisableFeatures);
 | |
|   // Disable creation of spare renderer process with site-per-process mode,
 | |
|   // it interferes with our process preference tracking for non sandboxed mode.
 | |
|   // Can be reenabled when our site instance policy is aligned with chromium
 | |
|   // when node integration is enabled.
 | |
|   disable_features +=
 | |
|       std::string(",") + features::kSpareRendererForSitePerProcess.name;
 | |
|   base::FeatureList::InitializeInstance(enable_features, disable_features);
 | |
| }
 | |
| 
 | |
| }  // namespace atom
 |