diff options
Diffstat (limited to 'chrome_frame/test/data/initialize_hidden.html')
-rw-r--r-- | chrome_frame/test/data/initialize_hidden.html | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/chrome_frame/test/data/initialize_hidden.html b/chrome_frame/test/data/initialize_hidden.html new file mode 100644 index 0000000..2da0917 --- /dev/null +++ b/chrome_frame/test/data/initialize_hidden.html @@ -0,0 +1,120 @@ +<html> + <!-- This page is meant to load inside the host browser like IE/FF --> + <head><title>Initialize hidden chrome frame</title> + <script type="text/javascript" src="chrome_frame_tester_helpers.js"> + </script> + <script type="text/javascript"> + var g_failure_timeout = null; + var g_test_id = 1; + var g_test_name = 'InitializeHidden'; + var g_cf3_loaded = false; + + function OnNavigationFailed() { + onFailure(g_test_name, g_test_id, 'ChromeFrame Navigation failed'); + } + + function OnObjectFocusFailed() { + appendStatus('chrome frame focus failed'); + onFailure(g_test_name, g_test_id, 'Visibility test failed'); + } + + function OnCF1Loaded() { + appendStatus('Chrome frame 1 loaded, not visible yet.'); + try { + // Make chrome frame visible + var cf1 = document.getElementById('CFDiv1'); + cf1.style.visibility = 'visible'; + appendStatus('Chrome frame 1 visibility - ' + cf1.style.visibility); + // Set focus to chrome frame. This should set focus to the + // first element inside the frame, which a script inside the + // page will detect and notify us back by sending us a message. + document.ChromeFrame1.focus(); + g_failure_timeout = window.setTimeout(OnObjectFocusFailed, 10000); + } catch(e) { + appendStatus('Error setting focus to CF1. Error: ' + e.description); + onFailure(g_test_name, g_test_id, 'CF1 focus() error'); + } + } + + function OnCF1Message(evt) { + if (evt.data == 'btnOnFocus') { + window.clearTimeout(g_failure_timeout); + g_failure_timeout = null; + appendStatus('CF1 visible and focused'); + + // Now make second chrome frame instance visible + document.getElementById('CFDiv2').style.display = 'block'; + appendStatus('Chrome frame 2 visible, should start loading now'); + g_failure_timeout = window.setTimeout(OnObjectFocusFailed, 10000); + } + } + + function OnCF2Loaded() { + appendStatus('Chrome frame 2 loaded'); + try { + // Set focus to chrome frame. This should set focus to the + // first element inside the frame, which a script inside the + // page will detect and notify us back by sending us a message. + // We set focus on a timeout as on IE it takes a while for the window + // to become visible. + setTimeout(SetFocusToCF2, 100); + } catch(e) { + appendStatus('Error setting focus to CF2. Error: ' + e.description); + onFailure(g_test_name, g_test_id, 'CF2 focus() error'); + } + } + + function SetFocusToCF2() { + document.ChromeFrame2.focus(); + } + + function OnCF2Message(evt) { + if (evt.data == 'btnOnFocus') { + window.clearTimeout(g_failure_timeout); + g_failure_timeout = null; + appendStatus('CF2 visible and focused'); + onSuccess(g_test_name, g_test_id); + } + } + </script> + </head> + <body> + <div id="CFDiv1" style="visibility: hidden;"> + <object id="ChromeFrame1" width="300" height="80" tabindex="0" + codebase="http://www.google.com" + classid="CLSID:E0A900DF-9611-4446-86BD-4B1D47E7DB2A"> + <param name="src" value="simple_object_focus_cf.html"> + <param name="onload" value="OnCF1Loaded();"> + <param name="onloaderror" value="OnNavigationFailed();"> + <param name="onmessage" value="OnCF1Message(arguments[0]);"> + <embed width="300" height="80" name="ChromeFrame1" + type="application/chromeframe" + src="simple_object_focus_cf.html" + onload="OnCF1Loaded();" + onloaderror="OnNavigationFailed();" + onmessage="OnCF1Message(arguments[0]);"> + </embed> + </object> + </div> + <div id="CFDiv2" style="display: none;"> + <object id="ChromeFrame2" width="300" height="80" tabindex="1" + codebase="http://www.google.com" + classid="CLSID:E0A900DF-9611-4446-86BD-4B1D47E7DB2A"> + <param name="src" value="simple_object_focus_cf.html"> + <param name="onload" value="OnCF2Loaded();"> + <param name="onloaderror" value="OnNavigationFailed();"> + <param name="onmessage" value="OnCF2Message(arguments[0]);"> + <embed width="300" height="80" name="ChromeFrame2" + type="application/chromeframe" + src="simple_object_focus_cf.html" + onload="OnCF2Loaded();" + onloaderror="OnNavigationFailed();" + onmessage="OnCF2Message(arguments[0]);"> + </embed> + </object> + </div> + <div id="statusPanel" style="border: 1px solid red; width: 100%"> + Test running.... + </div> + </body> +</html> |