mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	Add new CefBrowserHost::[Can]ExecuteChromeCommand methods for executing
arbitrary Chrome commands.
Add support for existing CefBrowserHost::ShowDevTools, CloseDevTools and
HasDevTools methods.
DevTools windows now support the same Views callbacks as normal popup
windows with the new CefLifeSpanHandler::OnBeforeDevToolsPopup callback
as the DevTools-specific equivalent of OnBeforePopup.
Always create DevTools as an undocked window to support use of
ShowDevTools with default Chrome browser windows.
To test:
Run `ceftests --enable-chrome-runtime [--use-views]
     --gtest_filter=V8Test.OnUncaughtExceptionDevTools`
OR:
1. Run `cefclient --enable-chrome-runtime [--use-native]`
2. Select "Show DevTools", "Close DevTools" or "Inspect" from the
   right-click menu.
3. Notice that the DevTools window is Views-hosted (or native-hosted)
   and works as expected.
Add --use-default-popup to get a default styled popup in step 3.
			
			
This commit is contained in:
		@@ -9,7 +9,7 @@
 | 
			
		||||
// implementations. See the translator.README.txt file in the tools directory
 | 
			
		||||
// for more information.
 | 
			
		||||
//
 | 
			
		||||
// $hash=4d51bbece0dd5773f9c97163008d6b2f4bf1ccbf$
 | 
			
		||||
// $hash=b06e3bbc86769bbc2485d4ab9530b5c39dc73243$
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
#include "libcef_dll/ctocpp/browser_host_ctocpp.h"
 | 
			
		||||
@@ -1261,6 +1261,41 @@ void CefBrowserHostCToCpp::ExitFullscreen(bool will_cause_resize) {
 | 
			
		||||
  _struct->exit_fullscreen(_struct, will_cause_resize);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
NO_SANITIZE("cfi-icall")
 | 
			
		||||
bool CefBrowserHostCToCpp::CanExecuteChromeCommand(int command_id) {
 | 
			
		||||
  shutdown_checker::AssertNotShutdown();
 | 
			
		||||
 | 
			
		||||
  cef_browser_host_t* _struct = GetStruct();
 | 
			
		||||
  if (CEF_MEMBER_MISSING(_struct, can_execute_chrome_command)) {
 | 
			
		||||
    return false;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
 | 
			
		||||
 | 
			
		||||
  // Execute
 | 
			
		||||
  int _retval = _struct->can_execute_chrome_command(_struct, command_id);
 | 
			
		||||
 | 
			
		||||
  // Return type: bool
 | 
			
		||||
  return _retval ? true : false;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
NO_SANITIZE("cfi-icall")
 | 
			
		||||
void CefBrowserHostCToCpp::ExecuteChromeCommand(
 | 
			
		||||
    int command_id,
 | 
			
		||||
    cef_window_open_disposition_t disposition) {
 | 
			
		||||
  shutdown_checker::AssertNotShutdown();
 | 
			
		||||
 | 
			
		||||
  cef_browser_host_t* _struct = GetStruct();
 | 
			
		||||
  if (CEF_MEMBER_MISSING(_struct, execute_chrome_command)) {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
 | 
			
		||||
 | 
			
		||||
  // Execute
 | 
			
		||||
  _struct->execute_chrome_command(_struct, command_id, disposition);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CONSTRUCTOR - Do not edit by hand.
 | 
			
		||||
 | 
			
		||||
CefBrowserHostCToCpp::CefBrowserHostCToCpp() {}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user