summaryrefslogtreecommitdiffstats
path: root/chrome_frame/test/data/src_property_host.html
blob: b17dd1bd33e7e3e85ff59ab2176d6cff72d61a26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<html>
  <head><title>src property test</title>
    <script type="text/javascript" src="chrome_frame_tester_helpers.js">
    </script>
    <script type="text/javascript">
      function OnNavigationFailed() {
        onFailure("ChromeFrame_SrcTest", 1, "ChromeFrame Navigation failed");
      }

      var load_count = 2;

      function OnChromeFrameLoaded(url) {
        try {
          url = url.data;

          var chromeFrame = GetChromeFrame();
          var frame_url = chromeFrame.src;
          
          appendStatus("Loaded URL: " + url + " Frame url: " + frame_url);
          load_count--;

          if (load_count) {
            // For the first load, the URLs should match.
            if (frame_url != url) {
              onFailure("SrcProperty", 1, "Url: " + url);
            }
          } else {
            // Previous versions changed the frame URL when internal navigation
            // was performed. This does not match how iframes behave, and so we
            // report success only in the case that they continue to match, even
            // though the "internal" URL is different (and not visible) to the
            // external host.
            if (frame_url == url) {
              onFailure("SrcProperty", 1, "Url: " + url);
            } else {
              onSuccess("SrcProperty", 1);
            }
          }
        } catch (e) {
          onFailure("SrcProperty", 1, "OnChromeFrameLoaded: " + e.description);
        }
      }

      function GetChromeFrame() {
        return window.document.ChromeFrame;
      }
    </script>
  </head>
  <body>
      <div id="statusPanel" style="border: 1px solid red; width: 100%">
      Test running....
      </div>

      <object id="ChromeFrame" width="500" height="500"
          codebase="http://www.google.com"
          classid="CLSID:E0A900DF-9611-4446-86BD-4B1D47E7DB2A">
          <param name="src" value="src_property_frame1.html">
          <param name="onload" value="return OnChromeFrameLoaded(arguments[0]);">
          <param name="onloaderror" value="return OnNavigationFailed(arguments[0]);">
          <embed id="ChromeFramePlugin" width="500" height="500" name="ChromeFrame"
              src="src_property_frame1.html"
              type="application/chromeframe"
              onload="return OnChromeFrameLoaded(arguments[0]);"
              onloaderror="return OnNavigationFailed(arguments[0]);">
          </embed>
      </object>
      <p>Tests ChromeFrame Navigation</p>
  </body>
</html>