| <!DOCTYPE html> | |
| <html lang="en-US"> | |
| <head> | |
| <title>Window Test</title> | |
| <style> | |
| /* Background becomes pink in fullscreen mode. */ | |
| :fullscreen { | |
| background: pink; | |
| } | |
| </style> | |
| <script> | |
| function setup() { | |
| if (location.hostname == 'tests' || location.hostname == 'localhost') | |
| return; | |
| alert('This page can only be run from tests or localhost.'); | |
| // Disable all elements. | |
| var elements = document.getElementById("form").elements; | |
| for (var i = 0, element; element = elements[i++]; ) { | |
| element.disabled = true; | |
| } | |
| } | |
| function send_message(test, params) { | |
| var message = 'WindowTest.' + test; | |
| if (typeof params != 'undefined') | |
| message += ':' + params; | |
| // Results in a call to the OnQuery method in window_test.cpp. | |
| window.cefQuery({'request' : message}); | |
| } | |
| function minimize() { | |
| send_message('Minimize'); | |
| } | |
| function maximize() { | |
| send_message('Maximize'); | |
| } | |
| function restore() { | |
| minimize(); | |
| setTimeout(function() { send_message('Restore'); }, 1000); | |
| } | |
| function fullscreenWindow() { | |
| send_message('Fullscreen'); | |
| } | |
| function fullscreenBrowser() { | |
| if (document.fullscreenElement) { | |
| document.exitFullscreen(); | |
| } else { | |
| document.getElementById('form').requestFullscreen(); | |
| } | |
| } | |
| function position() { | |
| var x = parseInt(document.getElementById('x').value); | |
| var y = parseInt(document.getElementById('y').value); | |
| var width = parseInt(document.getElementById('width').value); | |
| var height = parseInt(document.getElementById('height').value); | |
| if (isNaN(x) || isNaN(y) || isNaN(width) || isNaN(height)) | |
| alert('Please specify a valid numeric value.'); | |
| else | |
| send_message('Position', x + ',' + y + ',' + width + ',' + height); | |
| } | |
| function setTitlebarHeight() { | |
| const height = parseFloat(document.getElementById('title_bar_height').value); | |
| if (isNaN(height)) | |
| send_message('TitlebarHeight'); | |
| else | |
| send_message('TitlebarHeight', height); | |
| } | |
| </script> | |
| </head> | |
| <body bgcolor="white" onload="setup()"> | |
| <form id="form"> | |
| Click a button to perform the associated window action. | |
| <br/><input type="button" onclick="minimize();" value="Minimize"> | |
| <br/><input type="button" onclick="maximize();" value="Maximize"> | |
| <br/><input type="button" onclick="restore();" value="Restore"> (minimizes and then restores the window as topmost) | |
| <br/><input type="button" onclick="fullscreenWindow();" value="Toggle Window Fullscreen"> (works with Views) | |
| <br/><input type="button" onclick="fullscreenBrowser();" value="Toggle Browser Fullscreen"> (uses <a href="https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API" target="_new">Fullscreen API</a>; background turns pink) | |
| <br/><input type="button" onclick="position();" value="Set Position"> | |
| X: <input type="text" size="4" id="x" value="200"> | |
| Y: <input type="text" size="4" id="y" value="100"> | |
| Width: <input type="text" size="4" id="width" value="800"> | |
| Height: <input type="text" size="4" id="height" value="600"> | |
| <br/><input type="button" onclick="setTitlebarHeight();" value="Set Titlebar Height"> | |
| <input type="number" min="0" max="100" id="title_bar_height" value="50"> (works on macOS with Views) | |
| </form> | |
| </body> | |
| </html> |