feat: add ContextBridgeMutability feature (#27348)
This commit is contained in:
		
					parent
					
						
							
								fa320eeb90
							
						
					
				
			
			
				commit
				
					
						e99893df22
					
				
			
		
					 6 changed files with 88 additions and 0 deletions
				
			
		|  | @ -11,6 +11,7 @@ | |||
| #include <utility> | ||||
| #include <vector> | ||||
| 
 | ||||
| #include "base/feature_list.h" | ||||
| #include "base/no_destructor.h" | ||||
| #include "base/strings/string_number_conversions.h" | ||||
| #include "content/public/renderer/render_frame.h" | ||||
|  | @ -25,6 +26,12 @@ | |||
| #include "third_party/blink/public/web/web_element.h" | ||||
| #include "third_party/blink/public/web/web_local_frame.h" | ||||
| 
 | ||||
| namespace features { | ||||
| 
 | ||||
| const base::Feature kContextBridgeMutability{"ContextBridgeMutability", | ||||
|                                              base::FEATURE_DISABLED_BY_DEFAULT}; | ||||
| } | ||||
| 
 | ||||
| namespace electron { | ||||
| 
 | ||||
| namespace api { | ||||
|  | @ -554,6 +561,12 @@ void ExposeAPIInMainWorld(v8::Isolate* isolate, | |||
|     if (maybe_proxy.IsEmpty()) | ||||
|       return; | ||||
|     auto proxy = maybe_proxy.ToLocalChecked(); | ||||
| 
 | ||||
|     if (base::FeatureList::IsEnabled(features::kContextBridgeMutability)) { | ||||
|       global.Set(key, proxy); | ||||
|       return; | ||||
|     } | ||||
| 
 | ||||
|     if (proxy->IsObject() && !proxy->IsTypedArray() && | ||||
|         !DeepFreeze(v8::Local<v8::Object>::Cast(proxy), main_context)) | ||||
|       return; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Nikita Kot
				Nikita Kot