32 lines
		
	
	
	
		
			923 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			32 lines
		
	
	
	
		
			923 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								// Copyright (c) 2018 GitHub, Inc.
							 | 
						||
| 
								 | 
							
								// Use of this source code is governed by the MIT license that can be
							 | 
						||
| 
								 | 
							
								// found in the LICENSE file.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef ATOM_BROWSER_UI_COCOA_DELAYED_NATIVE_VIEW_HOST_H_
							 | 
						||
| 
								 | 
							
								#define ATOM_BROWSER_UI_COCOA_DELAYED_NATIVE_VIEW_HOST_H_
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "ui/views/controls/native/native_view_host.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace atom {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Automatically attach the native view after the NativeViewHost is attached to
							 | 
						||
| 
								 | 
							
								// a widget. (Attaching it directly would cause crash.)
							 | 
						||
| 
								 | 
							
								class DelayedNativeViewHost : public views::NativeViewHost {
							 | 
						||
| 
								 | 
							
								 public:
							 | 
						||
| 
								 | 
							
								  explicit DelayedNativeViewHost(gfx::NativeView native_view);
							 | 
						||
| 
								 | 
							
								  ~DelayedNativeViewHost() override;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // views::View:
							 | 
						||
| 
								 | 
							
								  void ViewHierarchyChanged(
							 | 
						||
| 
								 | 
							
								      const ViewHierarchyChangedDetails& details) override;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 private:
							 | 
						||
| 
								 | 
							
								  gfx::NativeView native_view_;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  DISALLOW_COPY_AND_ASSIGN(DelayedNativeViewHost);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}  // namespace atom
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif  // ATOM_BROWSER_UI_COCOA_DELAYED_NATIVE_VIEW_HOST_H_
							 |