| OLD | NEW |
| 1 <html><head> | 1 <html><head> |
| 2 <meta http-equiv="Pragma" content="no-cache" /> | 2 <meta http-equiv="Pragma" content="no-cache" /> |
| 3 <meta http-equiv="Expires" content="-1" /> | 3 <meta http-equiv="Expires" content="-1" /> |
| 4 <link rel="stylesheet" href="test_page.css"> | 4 <link rel="stylesheet" href="test_page.css"> |
| 5 <script> | 5 <script> |
| 6 function AdjustHeight(frameWin) { | 6 function AdjustHeight(frameWin) { |
| 7 var div = frameWin.document.getElementsByTagName("div")[0]; | 7 var div = frameWin.document.getElementsByTagName("div")[0]; |
| 8 var height = frameWin.getComputedStyle(div).height; | 8 var height = frameWin.getComputedStyle(div).height; |
| 9 frameWin.frameElement.style.height = height; | 9 frameWin.frameElement.style.height = height; |
| 10 } | 10 } |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 if (nameIndex != -1) { | 59 if (nameIndex != -1) { |
| 60 var value = location.search.substring(nameIndex + name.length + 1); | 60 var value = location.search.substring(nameIndex + name.length + 1); |
| 61 var endIndex = value.indexOf("&"); | 61 var endIndex = value.indexOf("&"); |
| 62 if (endIndex != -1) | 62 if (endIndex != -1) |
| 63 value = value.substring(0, endIndex); | 63 value = value.substring(0, endIndex); |
| 64 return value; | 64 return value; |
| 65 } | 65 } |
| 66 return ""; | 66 return ""; |
| 67 } | 67 } |
| 68 | 68 |
| 69 // Parses the message, looking for strings of the form: | |
| 70 // TESTING_MESSAGE:<message_type>:<message_contents> | |
| 71 // | |
| 72 // If the message_data is not a string or does not match the above format, then | |
| 73 // undefined is returned. | |
| 74 // | |
| 75 // Otherwise, returns an array containing 2 items. The 0th element is the | |
| 76 // message_type, one of: | |
| 77 // - ClearContents | |
| 78 // - DidExecuteTests | |
| 79 // - LogHTML | |
| 80 // - SetCookie | |
| 81 // The second item is the verbatim message_contents. | |
| 82 function ParseTestingMessage(message_data) { | |
| 83 if (typeof(message_data)!='string') | |
| 84 return undefined; | |
| 85 var testing_message_prefix = "TESTING_MESSAGE"; | |
| 86 var delim_str = ":"; | |
| 87 var delim1 = message_data.indexOf(delim_str); | |
| 88 if (message_data.substring(0, delim1) !== testing_message_prefix) | |
| 89 return undefined; | |
| 90 var delim2 = message_data.indexOf(delim_str, delim1 + 1); | |
| 91 if (delim2 == -1) | |
| 92 delim2 = message_data.length; | |
| 93 var message_type = message_data.substring(delim1 + 1, delim2); | |
| 94 var message_contents = message_data.substring(delim2 + 1); | |
| 95 return [message_type, message_contents]; | |
| 96 } | |
| 97 | |
| 98 function ClearConsole() { | |
| 99 window.document.getElementById("console").innerHTML = ""; | |
| 100 } | |
| 101 | |
| 102 function LogHTML(html) { | |
| 103 window.document.getElementById("console").innerHTML += html; | |
| 104 } | |
| 105 | |
| 106 function SetCookie(key_value_string) { | |
| 107 window.document.cookie = key_value_string + "; path=/"; | |
| 108 } | |
| 109 | |
| 110 function IsTestingMessage(message_data) { | |
| 111 return (ParseTestingMessage(message_data) != undefined); | |
| 112 } | |
| 113 | |
| 114 function handleTestingMessage(message_event) { | |
| 115 var type_contents_tuple = ParseTestingMessage(message_event.data); | |
| 116 if (type_contents_tuple) { | |
| 117 var type = type_contents_tuple[0]; | |
| 118 var contents = type_contents_tuple[1]; | |
| 119 if (type === "ClearConsole") | |
| 120 ClearConsole(); | |
| 121 else if (type === "DidExecuteTests") | |
| 122 DidExecuteTests(); | |
| 123 else if (type === "LogHTML") | |
| 124 LogHTML(contents); | |
| 125 else if (type === "SetCookie") | |
| 126 SetCookie(contents); | |
| 127 } | |
| 128 } | |
| 129 | |
| 130 onload = function() { | 69 onload = function() { |
| 131 var testcase = ExtractSearchParameter("testcase"); | 70 var testcase = ExtractSearchParameter("testcase"); |
| 132 var mode = ExtractSearchParameter("mode"); | 71 var mode = ExtractSearchParameter("mode"); |
| 133 document.title = 'Test ' + testcase; | 72 document.title = 'Test ' + testcase; |
| 134 var obj; | 73 var obj; |
| 135 if (mode == "nacl") { | 74 if (mode == "nacl") { |
| 136 obj = document.createElement("EMBED"); | 75 obj = document.createElement("EMBED"); |
| 137 obj.setAttribute("src", "test_case.nmf"); | 76 obj.setAttribute("src", "test_case.nmf"); |
| 138 obj.setAttribute("type", "application/x-nacl"); | 77 obj.setAttribute("type", "application/x-nacl"); |
| 139 obj.setAttribute("mode", mode); | 78 obj.setAttribute("mode", mode); |
| 140 } else { | 79 } else { |
| 141 var mimeType = "application/x-ppapi-tests"; | 80 var mimeType = "application/x-ppapi-tests"; |
| 142 if (mimeType in navigator.mimeTypes) { | 81 if (mimeType in navigator.mimeTypes) { |
| 143 obj = document.createElement("EMBED"); | 82 obj = document.createElement("EMBED"); |
| 144 obj.setAttribute("src", "http://a.b.c/test"); | 83 obj.setAttribute("src", "http://a.b.c/test"); |
| 145 obj.setAttribute("type", mimeType); | 84 obj.setAttribute("type", mimeType); |
| 146 } else { | 85 } else { |
| 147 document.getElementById("console").innerHTML = | 86 document.getElementById("console").innerHTML = |
| 148 '<span class="fail">FAIL</span>: ' + | 87 '<span class="fail">FAIL</span>: ' + |
| 149 '<span class="err_msg">Test plug-in is not registered.</span>'; | 88 '<span class="err_msg">Test plug-in is not registered.</span>'; |
| 150 } | 89 } |
| 151 } | 90 } |
| 152 if (obj) { | 91 if (obj) { |
| 153 obj.setAttribute("id", "plugin"); | 92 obj.setAttribute("id", "plugin"); |
| 154 obj.setAttribute("testcase", testcase); | 93 obj.setAttribute("testcase", testcase); |
| 155 obj.setAttribute("protocol", window.location.protocol); | 94 document.getElementById("container").appendChild(obj); |
| 156 var container = document.getElementById("container"); | |
| 157 container.appendChild(obj); | |
| 158 container.addEventListener("message", handleTestingMessage, true); | |
| 159 } | 95 } |
| 160 } | 96 } |
| 161 </script> | 97 </script> |
| 162 </head><body> | 98 </head><body> |
| 163 <div> | 99 <div> |
| 164 <div id="container"></div> | 100 <div id="container"></div> |
| 165 <div id="console" /><span class="load_msg">loading...</span></div> | 101 <div id="console" /><span class="load_msg">loading...</span></div> |
| 166 </div> | 102 </div> |
| 167 </body></html> | 103 </body></html> |
| OLD | NEW |