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
 |