forked from mirrors/gecko-dev
		
	 6bd2ddcccd
			
		
	
	
		6bd2ddcccd
		
	
	
	
	
		
			
			This updates security/sandbox/chromium/ files to chromium commit 937db09514e061d7983e90e0c448cfa61680f605. Additional patches re-applied from security/sandbox/chromium-shim/patches/with_update/ to give a compiling and mostly working browser. See patch files for additional commit comments.
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Copyright (c) 2012 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.
 | |
| 
 | |
| #ifndef BASE_SEQUENCED_TASK_RUNNER_HELPERS_H_
 | |
| #define BASE_SEQUENCED_TASK_RUNNER_HELPERS_H_
 | |
| 
 | |
| namespace base {
 | |
| 
 | |
| class SequencedTaskRunner;
 | |
| 
 | |
| // Template helpers which use function indirection to erase T from the
 | |
| // function signature while still remembering it so we can call the
 | |
| // correct destructor/release function.
 | |
| //
 | |
| // We use this trick so we don't need to include bind.h in a header
 | |
| // file like sequenced_task_runner.h. We also wrap the helpers in a
 | |
| // templated class to make it easier for users of DeleteSoon to
 | |
| // declare the helper as a friend.
 | |
| template <class T>
 | |
| class DeleteHelper {
 | |
|  private:
 | |
|   static void DoDelete(const void* object) {
 | |
|     delete static_cast<const T*>(object);
 | |
|   }
 | |
| 
 | |
|   friend class SequencedTaskRunner;
 | |
| };
 | |
| 
 | |
| template <class T>
 | |
| class ReleaseHelper {
 | |
|  private:
 | |
|   static void DoRelease(const void* object) {
 | |
|     static_cast<const T*>(object)->Release();
 | |
|   }
 | |
| 
 | |
|   friend class SequencedTaskRunner;
 | |
| };
 | |
| 
 | |
| }  // namespace base
 | |
| 
 | |
| #endif  // BASE_SEQUENCED_TASK_RUNNER_HELPERS_H_
 |