mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	The client can optionally wait or terminate the render process. Expose process exit codes via OnRenderProcessTerminated and CefGetExitCode (fixes #2126). cefclient: Add a new https://tests/hang page for testing hang behavior. cefclient: Move message and resource handling to a new BaseClientHandler class to support loading of test pages in default Chrome UI windows.
		
			
				
	
	
		
			112 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<html>
 | 
						|
<head>
 | 
						|
<title>Dialog Test</title>
 | 
						|
<style>
 | 
						|
#loading {
 | 
						|
  display: inline-block;
 | 
						|
  width: 10px;
 | 
						|
  height: 10px;
 | 
						|
  border: 3px solid rgba(0,0,0,.3);
 | 
						|
  border-radius: 50%;
 | 
						|
  border-top-color: #000;
 | 
						|
  animation: spin 1s ease-in-out infinite;
 | 
						|
  -webkit-animation: spin 1s ease-in-out infinite;
 | 
						|
}
 | 
						|
 | 
						|
@keyframes spin {
 | 
						|
  to { -webkit-transform: rotate(360deg); }
 | 
						|
}
 | 
						|
@-webkit-keyframes spin {
 | 
						|
  to { -webkit-transform: rotate(360deg); }
 | 
						|
}
 | 
						|
</style>
 | 
						|
<script>
 | 
						|
function show_alert() {
 | 
						|
  alert("I am an alert box!");
 | 
						|
}
 | 
						|
 | 
						|
function show_confirm() {
 | 
						|
  var r = confirm("Press a button");
 | 
						|
  var msg = r ? "You pressed OK!" : "You pressed Cancel!";
 | 
						|
  document.getElementById('cm').innerText = msg;
 | 
						|
}
 | 
						|
 | 
						|
function show_prompt() {
 | 
						|
  var name = prompt("Please enter your name" ,"Harry Potter");
 | 
						|
  if (name != null && name != "")
 | 
						|
    document.getElementById('pm').innerText = "Hello " + name + "!";
 | 
						|
}
 | 
						|
 | 
						|
window.onbeforeunload = function() {
 | 
						|
  return 'This is an onbeforeunload message.';
 | 
						|
}
 | 
						|
 | 
						|
function update_time() {
 | 
						|
  document.getElementById('time').innerText = new Date().toLocaleString();
 | 
						|
}
 | 
						|
 | 
						|
function setup() {
 | 
						|
  update_time();
 | 
						|
  setInterval(update_time, 1000);
 | 
						|
 | 
						|
  if (location.hostname != 'tests' && location.hostname != 'localhost') {
 | 
						|
    alert('Parts of this page can only be run from tests or localhost.');
 | 
						|
    return;
 | 
						|
  }
 | 
						|
 | 
						|
  // Enable all elements.
 | 
						|
  var elements = document.getElementById("form").elements;
 | 
						|
  for (var i = 0, element; element = elements[i++]; ) {
 | 
						|
    element.disabled = false;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
function show_file_dialog(element, test) {
 | 
						|
  var message = 'DialogTest.' + test;
 | 
						|
  var target = document.getElementById(element);
 | 
						|
 | 
						|
  // Results in a call to the OnQuery method in dialog_test.cpp
 | 
						|
  window.cefQuery({
 | 
						|
    request: message,
 | 
						|
    onSuccess: function(response) {
 | 
						|
      target.innerText = response;
 | 
						|
    },
 | 
						|
    onFailure: function(error_code, error_message) {}
 | 
						|
  });
 | 
						|
}
 | 
						|
 | 
						|
window.addEventListener('load', setup, false);
 | 
						|
</script>
 | 
						|
</head>
 | 
						|
<body bgcolor="white">
 | 
						|
<form id="form">
 | 
						|
Click a button to show the associated dialog type.
 | 
						|
<br/><input type="button" onclick="show_alert();" value="Show Alert">
 | 
						|
<br/><input type="button" onclick="show_confirm();" value="Show Confirm"> <span id="cm"></span>
 | 
						|
<br/><input type="button" onclick="show_prompt();" value="Show Prompt"> <span id="pm"></span>
 | 
						|
<br/>input type="file" (.png): <input type="file" name="pic" accept=".png">
 | 
						|
<br/>input type="file" (image/*): <input type="file" name="pic" accept="image/*">
 | 
						|
<br/>input type="file" (multiple types): <input type="file" name="pic" accept="text/*,.js,.css,image/*">
 | 
						|
<br/>input type="file" (directory): <input type="file" webkitdirectory  accept="text/*,.js,.css,image/*">
 | 
						|
<br/><input type="button" onclick="show_file_dialog('fop', 'FileOpenPng');" value="Show File Open (.png)" disabled="true"> <span id="fop"></span>
 | 
						|
<br/><input type="button" onclick="show_file_dialog('foi', 'FileOpenImage');" value="Show File Open (image/*)" disabled="true"> <span id="foi"></span>
 | 
						|
<br/><input type="button" onclick="show_file_dialog('fom', 'FileOpenMultiple');" value="Show File Open (multiple types/files)" disabled="true"> <span id="fom"></span>
 | 
						|
<br/><input type="button" onclick="show_file_dialog('fof', 'FileOpenFolder');" value="Show File Open Folder" disabled="true"> <span id="fof"></span>
 | 
						|
<br/><input type="button" onclick="show_file_dialog('fs', 'FileSave');" value="Show File Save" disabled="true"> <span id="fs"></span>
 | 
						|
</form>
 | 
						|
 | 
						|
Observe page responsiveness:
 | 
						|
<br/><br/>
 | 
						|
<table><tr>
 | 
						|
<td valign="top">
 | 
						|
CSS:<br/><div id="loading"></div>
 | 
						|
</td>
 | 
						|
<td> </td>
 | 
						|
<td valign="top">
 | 
						|
JavaScript:<br/><div id="time"></div>
 | 
						|
</td>
 | 
						|
</tr></table>
 | 
						|
(JavaScript will stop updating while alert/confirm/prompt is displayed)
 | 
						|
</body>
 | 
						|
</html>
 |