24 lines
		
	
	
	
		
			914 B
			
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			24 lines
		
	
	
	
		
			914 B
			
		
	
	
	
		
			C++
		
	
	
	
	
	
| 
								 | 
							
								// Copyright (c) 2020 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 "shell/browser/ui/win/dialog_thread.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "base/task/thread_pool.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace dialog_thread {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Creates a SingleThreadTaskRunner to run a shell dialog on. Each dialog
							 | 
						||
| 
								 | 
							
								// requires its own dedicated single-threaded sequence otherwise in some
							 | 
						||
| 
								 | 
							
								// situations where a singleton owns a single instance of this object we can
							 | 
						||
| 
								 | 
							
								// have a situation where a modal dialog in one window blocks the appearance
							 | 
						||
| 
								 | 
							
								// of a modal dialog in another.
							 | 
						||
| 
								 | 
							
								TaskRunner CreateDialogTaskRunner() {
							 | 
						||
| 
								 | 
							
								  return base::ThreadPool::CreateCOMSTATaskRunner(
							 | 
						||
| 
								 | 
							
								      {base::TaskPriority::USER_BLOCKING,
							 | 
						||
| 
								 | 
							
								       base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN, base::MayBlock()},
							 | 
						||
| 
								 | 
							
								      base::SingleThreadTaskRunnerThreadMode::DEDICATED);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}  // namespace dialog_thread
							 |