| Index: chrome_frame/test/data/initialize_hidden.html
 | 
| ===================================================================
 | 
| --- chrome_frame/test/data/initialize_hidden.html	(revision 0)
 | 
| +++ chrome_frame/test/data/initialize_hidden.html	(revision 0)
 | 
| @@ -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>
 | 
| 
 |