Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(215)

Side by Side Diff: ppapi/tests/test_case.html

Issue 8920005: Add TestingInstance::EvalScript method which posts a message that the test page can eval(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ppapi/ppapi_sources.gypi ('k') | ppapi/tests/test_input_event.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 // 71 //
72 // If the message_data is not a string or does not match the above format, then 72 // If the message_data is not a string or does not match the above format, then
73 // undefined is returned. 73 // undefined is returned.
74 // 74 //
75 // Otherwise, returns an array containing 2 items. The 0th element is the 75 // Otherwise, returns an array containing 2 items. The 0th element is the
76 // message_type, one of: 76 // message_type, one of:
77 // - ClearContents 77 // - ClearContents
78 // - DidExecuteTests 78 // - DidExecuteTests
79 // - LogHTML 79 // - LogHTML
80 // - SetCookie 80 // - SetCookie
81 // - EvalScript
81 // The second item is the verbatim message_contents. 82 // The second item is the verbatim message_contents.
82 function ParseTestingMessage(message_data) { 83 function ParseTestingMessage(message_data) {
83 if (typeof(message_data)!='string') 84 if (typeof(message_data)!='string')
84 return undefined; 85 return undefined;
85 var testing_message_prefix = "TESTING_MESSAGE"; 86 var testing_message_prefix = "TESTING_MESSAGE";
86 var delim_str = ":"; 87 var delim_str = ":";
87 var delim1 = message_data.indexOf(delim_str); 88 var delim1 = message_data.indexOf(delim_str);
88 if (message_data.substring(0, delim1) !== testing_message_prefix) 89 if (message_data.substring(0, delim1) !== testing_message_prefix)
89 return undefined; 90 return undefined;
90 var delim2 = message_data.indexOf(delim_str, delim1 + 1); 91 var delim2 = message_data.indexOf(delim_str, delim1 + 1);
91 if (delim2 == -1) 92 if (delim2 == -1)
92 delim2 = message_data.length; 93 delim2 = message_data.length;
93 var message_type = message_data.substring(delim1 + 1, delim2); 94 var message_type = message_data.substring(delim1 + 1, delim2);
94 var message_contents = message_data.substring(delim2 + 1); 95 var message_contents = message_data.substring(delim2 + 1);
95 return [message_type, message_contents]; 96 return [message_type, message_contents];
96 } 97 }
97 98
98 function ClearConsole() { 99 function ClearConsole() {
99 window.document.getElementById("console").innerHTML = ""; 100 window.document.getElementById("console").innerHTML = "";
100 } 101 }
101 102
102 function LogHTML(html) { 103 function LogHTML(html) {
103 window.document.getElementById("console").innerHTML += html; 104 window.document.getElementById("console").innerHTML += html;
104 } 105 }
105 106
106 function SetCookie(key_value_string) { 107 function SetCookie(key_value_string) {
107 window.document.cookie = key_value_string + "; path=/"; 108 window.document.cookie = key_value_string + "; path=/";
108 } 109 }
109 110
111 function EvalScript(script) {
112 try {
113 eval(script);
114 } catch(ex) {
115 }
116 }
117
110 function IsTestingMessage(message_data) { 118 function IsTestingMessage(message_data) {
111 return (ParseTestingMessage(message_data) != undefined); 119 return (ParseTestingMessage(message_data) != undefined);
112 } 120 }
113 121
114 function handleTestingMessage(message_event) { 122 function handleTestingMessage(message_event) {
115 var type_contents_tuple = ParseTestingMessage(message_event.data); 123 var type_contents_tuple = ParseTestingMessage(message_event.data);
116 if (type_contents_tuple) { 124 if (type_contents_tuple) {
117 var type = type_contents_tuple[0]; 125 var type = type_contents_tuple[0];
118 var contents = type_contents_tuple[1]; 126 var contents = type_contents_tuple[1];
119 if (type === "ClearConsole") 127 if (type === "ClearConsole")
120 ClearConsole(); 128 ClearConsole();
121 else if (type === "DidExecuteTests") 129 else if (type === "DidExecuteTests")
122 DidExecuteTests(); 130 DidExecuteTests();
123 else if (type === "LogHTML") 131 else if (type === "LogHTML")
124 LogHTML(contents); 132 LogHTML(contents);
125 else if (type === "SetCookie") 133 else if (type === "SetCookie")
126 SetCookie(contents); 134 SetCookie(contents);
135 else if (type === "EvalScript")
136 EvalScript(contents);
127 } 137 }
128 } 138 }
129 139
130 onload = function() { 140 onload = function() {
131 var testcase = ExtractSearchParameter("testcase"); 141 var testcase = ExtractSearchParameter("testcase");
132 var mode = ExtractSearchParameter("mode"); 142 var mode = ExtractSearchParameter("mode");
133 document.title = 'Test ' + testcase; 143 document.title = 'Test ' + testcase;
134 var obj; 144 var obj;
135 if (mode == "nacl") { 145 if (mode == "nacl") {
136 obj = document.createElement("EMBED"); 146 obj = document.createElement("EMBED");
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 LogHTML("<p>Bad MessageEvent.initMessageEvent called!"); 194 LogHTML("<p>Bad MessageEvent.initMessageEvent called!");
185 } 195 }
186 196
187 </script> 197 </script>
188 </head><body> 198 </head><body>
189 <div> 199 <div>
190 <div id="container"></div> 200 <div id="container"></div>
191 <div id="console" /><span class="load_msg">loading...</span></div> 201 <div id="console" /><span class="load_msg">loading...</span></div>
192 </div> 202 </div>
193 </body></html> 203 </body></html>
OLDNEW
« no previous file with comments | « ppapi/ppapi_sources.gypi ('k') | ppapi/tests/test_input_event.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698