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

Side by Side Diff: Source/web/tests/ActivityLoggerTest.cpp

Issue 351923005: Refactoring activity logger. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 5 months 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 6
7 #include "FrameTestHelpers.h" 7 #include "FrameTestHelpers.h"
8 #include "bindings/v8/ScriptController.h" 8 #include "bindings/v8/ScriptController.h"
9 #include "bindings/v8/V8DOMActivityLogger.h" 9 #include "bindings/v8/V8DOMActivityLogger.h"
10 #include "web/WebLocalFrameImpl.h" 10 #include "web/WebLocalFrameImpl.h"
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 "var script = document.createElement('script');" 137 "var script = document.createElement('script');"
138 "document.body.appendChild(script);" 138 "document.body.appendChild(script);"
139 "script = document.createElement('script');" 139 "script = document.createElement('script');"
140 "script.src = 'data:text/html;charset=utf-8,';" 140 "script.src = 'data:text/html;charset=utf-8,';"
141 "document.body.appendChild(script);" 141 "document.body.appendChild(script);"
142 "document.write('<body><script src=\\\'data:text/html;charset=utf-8,\\\' ></script></body>');"; 142 "document.write('<body><script src=\\\'data:text/html;charset=utf-8,\\\' ></script></body>');";
143 const char* expectedActivities = 143 const char* expectedActivities =
144 "blinkAddElement | script | data:text/html;charset=utf-8,\n" 144 "blinkAddElement | script | data:text/html;charset=utf-8,\n"
145 "blinkAddElement | script | \n" 145 "blinkAddElement | script | \n"
146 "blinkAddElement | script | \n" 146 "blinkAddElement | script | \n"
147 "HTMLScriptElement.src | data:text/html;charset=utf-8,\n"
148 "blinkAddElement | script | data:text/html;charset=utf-8,\n" 147 "blinkAddElement | script | data:text/html;charset=utf-8,\n"
149 "blinkAddElement | script | data:text/html;charset=utf-8,"; 148 "blinkAddElement | script | data:text/html;charset=utf-8,";
150 executeScriptInMainWorld(code); 149 executeScriptInMainWorld(code);
151 ASSERT_TRUE(verifyActivities("")); 150 ASSERT_TRUE(verifyActivities(""));
152 executeScriptInIsolatedWorld(code); 151 executeScriptInIsolatedWorld(code);
153 ASSERT_TRUE(verifyActivities(expectedActivities)); 152 ASSERT_TRUE(verifyActivities(expectedActivities));
154 } 153 }
155 154
156 TEST_F(ActivityLoggerTest, IFrameElement) 155 TEST_F(ActivityLoggerTest, IFrameElement)
157 { 156 {
158 v8::HandleScope scope(v8::Isolate::GetCurrent()); 157 v8::HandleScope scope(v8::Isolate::GetCurrent());
159 const char* code = 158 const char* code =
160 "document.body.innerHTML = '<iframe src=\\\'data:text/html;charset=utf-8 ,\\\'></iframe>';" 159 "document.body.innerHTML = '<iframe src=\\\'data:text/html;charset=utf-8 ,\\\'></iframe>';"
161 "document.body.innerHTML = '<iframe></iframe>';" 160 "document.body.innerHTML = '<iframe></iframe>';"
162 "var iframe = document.createElement('iframe');" 161 "var iframe = document.createElement('iframe');"
163 "document.body.appendChild(iframe);" 162 "document.body.appendChild(iframe);"
164 "iframe = document.createElement('iframe');" 163 "iframe = document.createElement('iframe');"
165 "iframe.src = 'data:text/html;charset=utf-8,';" 164 "iframe.src = 'data:text/html;charset=utf-8,';"
166 "document.body.appendChild(iframe);" 165 "document.body.appendChild(iframe);"
167 "document.write('<body><iframe src=\\\'data:text/html;charset=utf-8,\\\' ></iframe></body>');"; 166 "document.write('<body><iframe src=\\\'data:text/html;charset=utf-8,\\\' ></iframe></body>');";
168 const char* expectedActivities = 167 const char* expectedActivities =
169 "blinkAddElement | iframe | data:text/html;charset=utf-8,\n" 168 "blinkAddElement | iframe | data:text/html;charset=utf-8,\n"
170 "blinkAddElement | iframe | \n" 169 "blinkAddElement | iframe | \n"
171 "blinkAddElement | iframe | \n" 170 "blinkAddElement | iframe | \n"
172 "HTMLIFrameElement.src | | data:text/html;charset=utf-8,\n"
173 "blinkAddElement | iframe | data:text/html;charset=utf-8,\n" 171 "blinkAddElement | iframe | data:text/html;charset=utf-8,\n"
174 "blinkAddElement | iframe | data:text/html;charset=utf-8,"; 172 "blinkAddElement | iframe | data:text/html;charset=utf-8,";
175 executeScriptInMainWorld(code); 173 executeScriptInMainWorld(code);
176 ASSERT_TRUE(verifyActivities("")); 174 ASSERT_TRUE(verifyActivities(""));
177 executeScriptInIsolatedWorld(code); 175 executeScriptInIsolatedWorld(code);
178 ASSERT_TRUE(verifyActivities(expectedActivities)); 176 ASSERT_TRUE(verifyActivities(expectedActivities));
179 } 177 }
180 178
181 TEST_F(ActivityLoggerTest, AnchorElement) 179 TEST_F(ActivityLoggerTest, AnchorElement)
182 { 180 {
183 v8::HandleScope scope(v8::Isolate::GetCurrent()); 181 v8::HandleScope scope(v8::Isolate::GetCurrent());
184 const char* code = 182 const char* code =
185 "document.body.innerHTML = '<a href=\\\'data:text/css;charset=utf-8,\\\' ></a>';" 183 "document.body.innerHTML = '<a href=\\\'data:text/css;charset=utf-8,\\\' ></a>';"
186 "document.body.innerHTML = '<a></a>';" 184 "document.body.innerHTML = '<a></a>';"
187 "var a = document.createElement('a');" 185 "var a = document.createElement('a');"
188 "document.body.appendChild(a);" 186 "document.body.appendChild(a);"
189 "a = document.createElement('a');" 187 "a = document.createElement('a');"
190 "a.href = 'data:text/css;charset=utf-8,';" 188 "a.href = 'data:text/css;charset=utf-8,';"
191 "document.body.appendChild(a);" 189 "document.body.appendChild(a);"
192 "document.write('<body><a href=\\\'data:text/css;charset=utf-8,\\\'></a> </body>');"; 190 "document.write('<body><a href=\\\'data:text/css;charset=utf-8,\\\'></a> </body>');";
193 const char* expectedActivities = 191 const char* expectedActivities =
194 "blinkAddElement | a | data:text/css;charset=utf-8,\n" 192 "blinkAddElement | a | data:text/css;charset=utf-8,\n"
195 "blinkAddElement | a | \n" 193 "blinkAddElement | a | \n"
196 "blinkAddElement | a | \n" 194 "blinkAddElement | a | \n"
197 "HTMLAnchorElement.href | | data:text/css;charset=utf-8,\n"
198 "blinkAddElement | a | data:text/css;charset=utf-8,\n" 195 "blinkAddElement | a | data:text/css;charset=utf-8,\n"
199 "blinkAddElement | a | data:text/css;charset=utf-8,"; 196 "blinkAddElement | a | data:text/css;charset=utf-8,";
200 executeScriptInMainWorld(code); 197 executeScriptInMainWorld(code);
201 ASSERT_TRUE(verifyActivities("")); 198 ASSERT_TRUE(verifyActivities(""));
202 executeScriptInIsolatedWorld(code); 199 executeScriptInIsolatedWorld(code);
203 ASSERT_TRUE(verifyActivities(expectedActivities)); 200 ASSERT_TRUE(verifyActivities(expectedActivities));
204 } 201 }
205 202
206 TEST_F(ActivityLoggerTest, LinkElement) 203 TEST_F(ActivityLoggerTest, LinkElement)
207 { 204 {
208 v8::HandleScope scope(v8::Isolate::GetCurrent()); 205 v8::HandleScope scope(v8::Isolate::GetCurrent());
209 const char* code = 206 const char* code =
210 "document.body.innerHTML = '<link rel=\\\'stylesheet\\\' href=\\\'data:t ext/css;charset=utf-8,\\\'></link>';" 207 "document.body.innerHTML = '<link rel=\\\'stylesheet\\\' href=\\\'data:t ext/css;charset=utf-8,\\\'></link>';"
211 "document.body.innerHTML = '<link></link>';" 208 "document.body.innerHTML = '<link></link>';"
212 "var link = document.createElement('link');" 209 "var link = document.createElement('link');"
213 "document.body.appendChild(link);" 210 "document.body.appendChild(link);"
214 "link = document.createElement('link');" 211 "link = document.createElement('link');"
215 "link.rel = 'stylesheet';" 212 "link.rel = 'stylesheet';"
216 "link.href = 'data:text/css;charset=utf-8,';" 213 "link.href = 'data:text/css;charset=utf-8,';"
217 "document.body.appendChild(link);" 214 "document.body.appendChild(link);"
218 "document.write('<body><link rel=\\\'stylesheet\\\' href=\\\'data:text/c ss;charset=utf-8,\\\'></link></body>');"; 215 "document.write('<body><link rel=\\\'stylesheet\\\' href=\\\'data:text/c ss;charset=utf-8,\\\'></link></body>');";
219 const char* expectedActivities = 216 const char* expectedActivities =
220 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,\n" 217 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,\n"
221 "blinkAddElement | link | | \n" 218 "blinkAddElement | link | | \n"
222 "blinkAddElement | link | | \n" 219 "blinkAddElement | link | | \n"
223 "HTMLLinkElement.href | data:text/css;charset=utf-8,\n"
224 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,\n" 220 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,\n"
225 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,"; 221 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,";
226 executeScriptInMainWorld(code); 222 executeScriptInMainWorld(code);
227 ASSERT_TRUE(verifyActivities("")); 223 ASSERT_TRUE(verifyActivities(""));
228 executeScriptInIsolatedWorld(code); 224 executeScriptInIsolatedWorld(code);
229 ASSERT_TRUE(verifyActivities(expectedActivities)); 225 ASSERT_TRUE(verifyActivities(expectedActivities));
230 } 226 }
231 227
232 TEST_F(ActivityLoggerTest, InputElement) 228 TEST_F(ActivityLoggerTest, InputElement)
233 { 229 {
234 v8::HandleScope scope(v8::Isolate::GetCurrent()); 230 v8::HandleScope scope(v8::Isolate::GetCurrent());
235 const char* code = 231 const char* code =
236 "document.body.innerHTML = '<input type=\\\'submit\\\' formaction=\\\'da ta:text/html;charset=utf-8,\\\'></input>';" 232 "document.body.innerHTML = '<input type=\\\'submit\\\' formaction=\\\'da ta:text/html;charset=utf-8,\\\'></input>';"
237 "document.body.innerHTML = '<input></input>';" 233 "document.body.innerHTML = '<input></input>';"
238 "var input = document.createElement('input');" 234 "var input = document.createElement('input');"
239 "document.body.appendChild(input);" 235 "document.body.appendChild(input);"
240 "input = document.createElement('input');" 236 "input = document.createElement('input');"
241 "input.type = 'submit';" 237 "input.type = 'submit';"
242 "input.formAction = 'data:text/html;charset=utf-8,';" 238 "input.formAction = 'data:text/html;charset=utf-8,';"
243 "document.body.appendChild(input);" 239 "document.body.appendChild(input);"
244 "document.write('<body><input type=\\\'submit\\\' formaction=\\\'data:te xt/html;charset=utf-8,\\\'></input></body>');"; 240 "document.write('<body><input type=\\\'submit\\\' formaction=\\\'data:te xt/html;charset=utf-8,\\\'></input></body>');";
245 const char* expectedActivities = 241 const char* expectedActivities =
246 "blinkAddElement | input | submit | data:text/html;charset=utf-8,\n" 242 "blinkAddElement | input | submit | data:text/html;charset=utf-8,\n"
247 "blinkAddElement | input | | \n" 243 "blinkAddElement | input | | \n"
248 "blinkAddElement | input | | \n" 244 "blinkAddElement | input | | \n"
249 "HTMLInputElement.formAction | data:text/html;charset=utf-8,\n"
250 "blinkAddElement | input | submit | data:text/html;charset=utf-8,\n" 245 "blinkAddElement | input | submit | data:text/html;charset=utf-8,\n"
251 "blinkAddElement | input | submit | data:text/html;charset=utf-8,"; 246 "blinkAddElement | input | submit | data:text/html;charset=utf-8,";
252 executeScriptInMainWorld(code); 247 executeScriptInMainWorld(code);
253 ASSERT_TRUE(verifyActivities("")); 248 ASSERT_TRUE(verifyActivities(""));
254 executeScriptInIsolatedWorld(code); 249 executeScriptInIsolatedWorld(code);
255 ASSERT_TRUE(verifyActivities(expectedActivities)); 250 ASSERT_TRUE(verifyActivities(expectedActivities));
256 } 251 }
257 252
258 TEST_F(ActivityLoggerTest, ButtonElement) 253 TEST_F(ActivityLoggerTest, ButtonElement)
259 { 254 {
260 v8::HandleScope scope(v8::Isolate::GetCurrent()); 255 v8::HandleScope scope(v8::Isolate::GetCurrent());
261 const char* code = 256 const char* code =
262 "document.body.innerHTML = '<button type=\\\'submit\\\' formmethod=\\\'p ost\\\' formaction=\\\'data:text/html;charset=utf-8,\\\'></input>';" 257 "document.body.innerHTML = '<button type=\\\'submit\\\' formmethod=\\\'p ost\\\' formaction=\\\'data:text/html;charset=utf-8,\\\'></input>';"
263 "document.body.innerHTML = '<button></button>';" 258 "document.body.innerHTML = '<button></button>';"
264 "var button = document.createElement('button');" 259 "var button = document.createElement('button');"
265 "document.body.appendChild(button);" 260 "document.body.appendChild(button);"
266 "button = document.createElement('button');" 261 "button = document.createElement('button');"
267 "button.type = 'submit';" 262 "button.type = 'submit';"
268 "button.formMethod = 'post';" 263 "button.formMethod = 'post';"
269 "button.formAction = 'data:text/html;charset=utf-8,';" 264 "button.formAction = 'data:text/html;charset=utf-8,';"
270 "document.body.appendChild(button);" 265 "document.body.appendChild(button);"
271 "document.write('<body><button type=\\\'submit\\\' formmethod=\\\'post\\ \' formaction=\\\'data:text/html;charset=utf-8,\\\'></button></body>');"; 266 "document.write('<body><button type=\\\'submit\\\' formmethod=\\\'post\\ \' formaction=\\\'data:text/html;charset=utf-8,\\\'></button></body>');";
272 const char* expectedActivities = 267 const char* expectedActivities =
273 "blinkAddElement | button | submit | post | data:text/html;charset=utf-8 ,\n" 268 "blinkAddElement | button | submit | post | data:text/html;charset=utf-8 ,\n"
274 "blinkAddElement | button | | | \n" 269 "blinkAddElement | button | | | \n"
275 "blinkAddElement | button | | | \n" 270 "blinkAddElement | button | | | \n"
276 "HTMLButtonElement.formAction | data:text/html;charset=utf-8,\n"
277 "blinkAddElement | button | submit | post | data:text/html;charset=utf-8 ,\n" 271 "blinkAddElement | button | submit | post | data:text/html;charset=utf-8 ,\n"
278 "blinkAddElement | button | submit | post | data:text/html;charset=utf-8 ,"; 272 "blinkAddElement | button | submit | post | data:text/html;charset=utf-8 ,";
279 executeScriptInMainWorld(code); 273 executeScriptInMainWorld(code);
280 ASSERT_TRUE(verifyActivities("")); 274 ASSERT_TRUE(verifyActivities(""));
281 executeScriptInIsolatedWorld(code); 275 executeScriptInIsolatedWorld(code);
282 ASSERT_TRUE(verifyActivities(expectedActivities)); 276 ASSERT_TRUE(verifyActivities(expectedActivities));
283 } 277 }
284 278
285 TEST_F(ActivityLoggerTest, FormElement) 279 TEST_F(ActivityLoggerTest, FormElement)
286 { 280 {
287 v8::HandleScope scope(v8::Isolate::GetCurrent()); 281 v8::HandleScope scope(v8::Isolate::GetCurrent());
288 const char* code = 282 const char* code =
289 "document.body.innerHTML = '<form method=\\\'post\\\' action=\\\'data:te xt/html;charset=utf-8,\\\'></form>';" 283 "document.body.innerHTML = '<form method=\\\'post\\\' action=\\\'data:te xt/html;charset=utf-8,\\\'></form>';"
290 "document.body.innerHTML = '<form></form>';" 284 "document.body.innerHTML = '<form></form>';"
291 "var form = document.createElement('form');" 285 "var form = document.createElement('form');"
292 "document.body.appendChild(form);" 286 "document.body.appendChild(form);"
293 "form = document.createElement('form');" 287 "form = document.createElement('form');"
294 "form.method = 'post';" 288 "form.method = 'post';"
295 "form.action = 'data:text/html;charset=utf-8,';" 289 "form.action = 'data:text/html;charset=utf-8,';"
296 "document.body.appendChild(form);" 290 "document.body.appendChild(form);"
297 "document.write('<body><form method=\\\'post\\\' action=\\\'data:text/ht ml;charset=utf-8,\\\'></form></body>');"; 291 "document.write('<body><form method=\\\'post\\\' action=\\\'data:text/ht ml;charset=utf-8,\\\'></form></body>');";
298 const char* expectedActivities = 292 const char* expectedActivities =
299 "blinkAddElement | form | post | data:text/html;charset=utf-8,\n" 293 "blinkAddElement | form | post | data:text/html;charset=utf-8,\n"
300 "blinkAddElement | form | | \n" 294 "blinkAddElement | form | | \n"
301 "blinkAddElement | form | | \n" 295 "blinkAddElement | form | | \n"
302 "HTMLFormElement.action | data:text/html;charset=utf-8,\n"
303 "blinkAddElement | form | post | data:text/html;charset=utf-8,\n" 296 "blinkAddElement | form | post | data:text/html;charset=utf-8,\n"
304 "blinkAddElement | form | post | data:text/html;charset=utf-8,"; 297 "blinkAddElement | form | post | data:text/html;charset=utf-8,";
305 executeScriptInMainWorld(code); 298 executeScriptInMainWorld(code);
306 ASSERT_TRUE(verifyActivities("")); 299 ASSERT_TRUE(verifyActivities(""));
307 executeScriptInIsolatedWorld(code); 300 executeScriptInIsolatedWorld(code);
308 ASSERT_TRUE(verifyActivities(expectedActivities)); 301 ASSERT_TRUE(verifyActivities(expectedActivities));
309 } 302 }
310 303
304 TEST_F(ActivityLoggerTest, IFrameSrcAttribute)
305 {
306 v8::HandleScope scope(v8::Isolate::GetCurrent());
haraken 2014/06/27 15:18:08 I think you can add a HandleScope in executeScript
pmarch 2014/06/27 16:55:45 Done.
307 const char* code =
308 "document.body.innerHTML = '<iframe src=\\\'data:text/html;charset=utf-8 ,A\\\'></iframe>';"
309 "var iframe = document.getElementsByTagName('iframe')[0];"
310 "iframe.src = 'data:text/html;charset=utf-8,B';"
311 "iframe.setAttribute('src', 'data:text/html;charset=utf-8,C');"
312 "iframe.setAttributeNS('', 'src', 'data:text/html;charset=utf-8,D');"
313 "var attr = document.createAttribute('src');"
314 "attr.value = 'data:text/html;charset=utf-8,E';"
315 "iframe.setAttributeNode(attr);";
316 const char* expectedActivities =
317 "blinkAddElement | iframe | data:text/html;charset=utf-8,A\n"
318 "blinkSetAttribute | iframe | src | data:text/html;charset=utf-8,A | dat a:text/html;charset=utf-8,B\n"
319 "blinkSetAttribute | iframe | src | data:text/html;charset=utf-8,B | dat a:text/html;charset=utf-8,C\n"
320 "blinkSetAttribute | iframe | src | data:text/html;charset=utf-8,C | dat a:text/html;charset=utf-8,D\n"
321 "blinkSetAttribute | iframe | src | data:text/html;charset=utf-8,D | dat a:text/html;charset=utf-8,E";
322 executeScriptInMainWorld(code);
323 ASSERT_TRUE(verifyActivities(""));
324 executeScriptInIsolatedWorld(code);
325 ASSERT_TRUE(verifyActivities(expectedActivities));
326 }
327
328 TEST_F(ActivityLoggerTest, AnchorHrefAttribute)
329 {
330 v8::HandleScope scope(v8::Isolate::GetCurrent());
331 const char* code =
332 "document.body.innerHTML = '<a href=\\\'data:text/html;charset=utf-8,A\\ \'></a>';"
333 "var a = document.getElementsByTagName('a')[0];"
334 "a.href = 'data:text/html;charset=utf-8,B';"
335 "a.setAttribute('href', 'data:text/html;charset=utf-8,C');"
336 "a.setAttributeNS('', 'href', 'data:text/html;charset=utf-8,D');"
337 "var attr = document.createAttribute('href');"
338 "attr.value = 'data:text/html;charset=utf-8,E';"
339 "a.setAttributeNode(attr);";
340 const char* expectedActivities =
341 "blinkAddElement | a | data:text/html;charset=utf-8,A\n"
342 "blinkSetAttribute | a | href | data:text/html;charset=utf-8,A | data:te xt/html;charset=utf-8,B\n"
343 "blinkSetAttribute | a | href | data:text/html;charset=utf-8,B | data:te xt/html;charset=utf-8,C\n"
344 "blinkSetAttribute | a | href | data:text/html;charset=utf-8,C | data:te xt/html;charset=utf-8,D\n"
345 "blinkSetAttribute | a | href | data:text/html;charset=utf-8,D | data:te xt/html;charset=utf-8,E";
346 executeScriptInMainWorld(code);
347 ASSERT_TRUE(verifyActivities(""));
348 executeScriptInIsolatedWorld(code);
349 ASSERT_TRUE(verifyActivities(expectedActivities));
350 }
351
352 TEST_F(ActivityLoggerTest, LinkHrefAttribute)
353 {
354 v8::HandleScope scope(v8::Isolate::GetCurrent());
355 const char* code =
356 "document.body.innerHTML = '<link rel=\\\'stylesheet\\\' href=\\\'data:t ext/css;charset=utf-8,A\\\'></link>';"
357 "var link = document.getElementsByTagName('link')[0];"
358 "link.href = 'data:text/css;charset=utf-8,B';"
359 "link.setAttribute('href', 'data:text/css;charset=utf-8,C');"
360 "link.setAttributeNS('', 'href', 'data:text/css;charset=utf-8,D');"
361 "var attr = document.createAttribute('href');"
362 "attr.value = 'data:text/css;charset=utf-8,E';"
363 "link.setAttributeNode(attr);";
364 const char* expectedActivities =
365 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,A\n"
366 "blinkSetAttribute | link | href | data:text/css;charset=utf-8,A | data: text/css;charset=utf-8,B\n"
367 "blinkSetAttribute | link | href | data:text/css;charset=utf-8,B | data: text/css;charset=utf-8,C\n"
368 "blinkSetAttribute | link | href | data:text/css;charset=utf-8,C | data: text/css;charset=utf-8,D\n"
369 "blinkSetAttribute | link | href | data:text/css;charset=utf-8,D | data: text/css;charset=utf-8,E";
370 executeScriptInMainWorld(code);
371 ASSERT_TRUE(verifyActivities(""));
372 executeScriptInIsolatedWorld(code);
373 ASSERT_TRUE(verifyActivities(expectedActivities));
374 }
375
376 TEST_F(ActivityLoggerTest, InputFormActionAttribute)
377 {
378 v8::HandleScope scope(v8::Isolate::GetCurrent());
379 const char* code =
380 "document.body.innerHTML = '<input type=\\\'button\\\' formaction=\\\'da ta:text/html;charset=utf-8,A\\\'></input>';"
381 "var input = document.getElementsByTagName('input')[0];"
382 "input.formAction = 'data:text/html;charset=utf-8,B';"
383 "input.setAttribute('formaction', 'data:text/html;charset=utf-8,C');"
384 "input.setAttributeNS('', 'formaction', 'data:text/html;charset=utf-8,D' );"
385 "var attr = document.createAttribute('formaction');"
386 "attr.value = 'data:text/html;charset=utf-8,E';"
387 "input.setAttributeNode(attr);";
388 const char* expectedActivities =
389 "blinkAddElement | input | button | data:text/html;charset=utf-8,A\n"
390 "blinkSetAttribute | input | formaction | data:text/html;charset=utf-8,A | data:text/html;charset=utf-8,B\n"
391 "blinkSetAttribute | input | formaction | data:text/html;charset=utf-8,B | data:text/html;charset=utf-8,C\n"
392 "blinkSetAttribute | input | formaction | data:text/html;charset=utf-8,C | data:text/html;charset=utf-8,D\n"
393 "blinkSetAttribute | input | formaction | data:text/html;charset=utf-8,D | data:text/html;charset=utf-8,E";
394 executeScriptInMainWorld(code);
395 ASSERT_TRUE(verifyActivities(""));
396 executeScriptInIsolatedWorld(code);
397 ASSERT_TRUE(verifyActivities(expectedActivities));
398 }
399
400 TEST_F(ActivityLoggerTest, ButtonFormActionAttribute)
401 {
402 v8::HandleScope scope(v8::Isolate::GetCurrent());
403 const char* code =
404 "document.body.innerHTML = '<button type=\\\'submit\\\' formmethod=\\\'p ost\\\' formaction=\\\'data:text/html;charset=utf-8,A\\\'></input>';"
405 "var button = document.getElementsByTagName('button')[0];"
406 "button.formAction = 'data:text/html;charset=utf-8,B';"
407 "button.setAttribute('formaction', 'data:text/html;charset=utf-8,C');"
408 "button.setAttributeNS('', 'formaction', 'data:text/html;charset=utf-8,D ');"
409 "var attr = document.createAttribute('formaction');"
410 "attr.value = 'data:text/html;charset=utf-8,E';"
411 "button.setAttributeNode(attr);";
412 const char* expectedActivities =
413 "blinkAddElement | button | submit | post | data:text/html;charset=utf-8 ,A\n"
414 "blinkSetAttribute | button | formaction | data:text/html;charset=utf-8, A | data:text/html;charset=utf-8,B\n"
415 "blinkSetAttribute | button | formaction | data:text/html;charset=utf-8, B | data:text/html;charset=utf-8,C\n"
416 "blinkSetAttribute | button | formaction | data:text/html;charset=utf-8, C | data:text/html;charset=utf-8,D\n"
417 "blinkSetAttribute | button | formaction | data:text/html;charset=utf-8, D | data:text/html;charset=utf-8,E";
418 executeScriptInMainWorld(code);
419 ASSERT_TRUE(verifyActivities(""));
420 executeScriptInIsolatedWorld(code);
421 ASSERT_TRUE(verifyActivities(expectedActivities));
422 }
423
424 TEST_F(ActivityLoggerTest, FormActionAttribute)
425 {
426 v8::HandleScope scope(v8::Isolate::GetCurrent());
427 const char* code =
428 "document.body.innerHTML = '<form action=\\\'data:text/html;charset=utf- 8,A\\\'></form>';"
429 "var form = document.getElementsByTagName('form')[0];"
430 "form.action = 'data:text/html;charset=utf-8,B';"
431 "form.setAttribute('action', 'data:text/html;charset=utf-8,C');"
432 "form.setAttributeNS('', 'action', 'data:text/html;charset=utf-8,D');"
433 "var attr = document.createAttribute('action');"
434 "attr.value = 'data:text/html;charset=utf-8,E';"
435 "form.setAttributeNode(attr);";
436 const char* expectedActivities =
437 "blinkAddElement | form | | data:text/html;charset=utf-8,A\n"
438 "blinkSetAttribute | form | action | data:text/html;charset=utf-8,A | da ta:text/html;charset=utf-8,B\n"
439 "blinkSetAttribute | form | action | data:text/html;charset=utf-8,B | da ta:text/html;charset=utf-8,C\n"
440 "blinkSetAttribute | form | action | data:text/html;charset=utf-8,C | da ta:text/html;charset=utf-8,D\n"
441 "blinkSetAttribute | form | action | data:text/html;charset=utf-8,D | da ta:text/html;charset=utf-8,E";
442 executeScriptInMainWorld(code);
443 ASSERT_TRUE(verifyActivities(""));
444 executeScriptInIsolatedWorld(code);
445 ASSERT_TRUE(verifyActivities(expectedActivities));
446 }
447
311 } // namespace 448 } // namespace
OLDNEW
« Source/core/html/HTMLAnchorElement.h ('K') | « Source/core/html/HTMLVideoElement.idl ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698