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

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

Issue 362073004: Revert of Refactoring activity logger. 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
« no previous file with comments | « Source/core/html/HTMLVideoElement.idl ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/core/v8/ScriptController.h" 8 #include "bindings/core/v8/ScriptController.h"
9 #include "bindings/core/v8/V8DOMActivityLogger.h" 9 #include "bindings/core/v8/V8DOMActivityLogger.h"
10 #include "web/WebLocalFrameImpl.h" 10 #include "web/WebLocalFrameImpl.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 ActivityLoggerTest() 70 ActivityLoggerTest()
71 { 71 {
72 m_activityLogger = new TestActivityLogger(); 72 m_activityLogger = new TestActivityLogger();
73 V8DOMActivityLogger::setActivityLogger(isolatedWorldId, String(), adoptP tr(m_activityLogger)); 73 V8DOMActivityLogger::setActivityLogger(isolatedWorldId, String(), adoptP tr(m_activityLogger));
74 m_webViewHelper.initialize(true); 74 m_webViewHelper.initialize(true);
75 m_scriptController = &m_webViewHelper.webViewImpl()->mainFrameImpl()->fr ame()->script(); 75 m_scriptController = &m_webViewHelper.webViewImpl()->mainFrameImpl()->fr ame()->script();
76 } 76 }
77 77
78 void executeScriptInMainWorld(const String& script) const 78 void executeScriptInMainWorld(const String& script) const
79 { 79 {
80 v8::HandleScope scope(v8::Isolate::GetCurrent());
81 m_scriptController->executeScriptInMainWorld(script); 80 m_scriptController->executeScriptInMainWorld(script);
82 runPendingTasks(); 81 runPendingTasks();
83 } 82 }
84 83
85 void executeScriptInIsolatedWorld(const String& script) const 84 void executeScriptInIsolatedWorld(const String& script) const
86 { 85 {
87 v8::HandleScope scope(v8::Isolate::GetCurrent());
88 Vector<ScriptSourceCode> sources; 86 Vector<ScriptSourceCode> sources;
89 sources.append(ScriptSourceCode(script)); 87 sources.append(ScriptSourceCode(script));
90 Vector<v8::Local<v8::Value> > results; 88 Vector<v8::Local<v8::Value> > results;
91 m_scriptController->executeScriptInIsolatedWorld(isolatedWorldId, source s, extensionGroup, 0); 89 m_scriptController->executeScriptInIsolatedWorld(isolatedWorldId, source s, extensionGroup, 0);
92 runPendingTasks(); 90 runPendingTasks();
93 } 91 }
94 92
95 bool verifyActivities(const String& activities) 93 bool verifyActivities(const String& activities)
96 { 94 {
97 Vector<String> activityVector; 95 Vector<String> activityVector;
98 activities.split("\n", activityVector); 96 activities.split("\n", activityVector);
99 return m_activityLogger->verifyActivities(activityVector); 97 return m_activityLogger->verifyActivities(activityVector);
100 } 98 }
101 99
102 private: 100 private:
103 static const int isolatedWorldId = 1; 101 static const int isolatedWorldId = 1;
104 static const int extensionGroup = 0; 102 static const int extensionGroup = 0;
105 103
106 WebViewHelper m_webViewHelper; 104 WebViewHelper m_webViewHelper;
107 ScriptController* m_scriptController; 105 ScriptController* m_scriptController;
108 // TestActivityLogger is owned by a static table within V8DOMActivityLogger 106 // TestActivityLogger is owned by a static table within V8DOMActivityLogger
109 // and should be alive as long as not overwritten. 107 // and should be alive as long as not overwritten.
110 TestActivityLogger* m_activityLogger; 108 TestActivityLogger* m_activityLogger;
111 }; 109 };
112 110
113 TEST_F(ActivityLoggerTest, EventHandler) 111 TEST_F(ActivityLoggerTest, EventHandler)
114 { 112 {
113 v8::HandleScope scope(v8::Isolate::GetCurrent());
115 const char* code = 114 const char* code =
116 "document.body.innerHTML = '<a onclick=\\\'do()\\\'>test</a>';" 115 "document.body.innerHTML = '<a onclick=\\\'do()\\\'>test</a>';"
117 "document.body.onchange = function(){};" 116 "document.body.onchange = function(){};"
118 "document.body.setAttribute('onfocus', 'fnc()');" 117 "document.body.setAttribute('onfocus', 'fnc()');"
119 "document.body.addEventListener('onload', function(){});"; 118 "document.body.addEventListener('onload', function(){});";
120 const char* expectedActivities = 119 const char* expectedActivities =
121 "blinkAddEventListener | A | click\n" 120 "blinkAddEventListener | A | click\n"
122 "blinkAddElement | a | \n" 121 "blinkAddElement | a | \n"
123 "blinkAddEventListener | BODY | change\n" 122 "blinkAddEventListener | BODY | change\n"
124 "blinkAddEventListener | LocalDOMWindow | focus\n" 123 "blinkAddEventListener | LocalDOMWindow | focus\n"
125 "blinkAddEventListener | BODY | onload"; 124 "blinkAddEventListener | BODY | onload";
126 executeScriptInMainWorld(code); 125 executeScriptInMainWorld(code);
127 ASSERT_TRUE(verifyActivities("")); 126 ASSERT_TRUE(verifyActivities(""));
128 executeScriptInIsolatedWorld(code); 127 executeScriptInIsolatedWorld(code);
129 ASSERT_TRUE(verifyActivities(expectedActivities)); 128 ASSERT_TRUE(verifyActivities(expectedActivities));
130 } 129 }
131 130
132 TEST_F(ActivityLoggerTest, ScriptElement) 131 TEST_F(ActivityLoggerTest, ScriptElement)
133 { 132 {
133 v8::HandleScope scope(v8::Isolate::GetCurrent());
134 const char* code = 134 const char* code =
135 "document.body.innerHTML = '<script src=\\\'data:text/html;charset=utf-8 ,\\\'></script>';" 135 "document.body.innerHTML = '<script src=\\\'data:text/html;charset=utf-8 ,\\\'></script>';"
136 "document.body.innerHTML = '<script>console.log(\\\'test\\\')</script>'; " 136 "document.body.innerHTML = '<script>console.log(\\\'test\\\')</script>'; "
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"
147 "blinkAddElement | script | data:text/html;charset=utf-8,\n" 148 "blinkAddElement | script | data:text/html;charset=utf-8,\n"
148 "blinkAddElement | script | data:text/html;charset=utf-8,"; 149 "blinkAddElement | script | data:text/html;charset=utf-8,";
149 executeScriptInMainWorld(code); 150 executeScriptInMainWorld(code);
150 ASSERT_TRUE(verifyActivities("")); 151 ASSERT_TRUE(verifyActivities(""));
151 executeScriptInIsolatedWorld(code); 152 executeScriptInIsolatedWorld(code);
152 ASSERT_TRUE(verifyActivities(expectedActivities)); 153 ASSERT_TRUE(verifyActivities(expectedActivities));
153 } 154 }
154 155
155 TEST_F(ActivityLoggerTest, IFrameElement) 156 TEST_F(ActivityLoggerTest, IFrameElement)
156 { 157 {
158 v8::HandleScope scope(v8::Isolate::GetCurrent());
157 const char* code = 159 const char* code =
158 "document.body.innerHTML = '<iframe src=\\\'data:text/html;charset=utf-8 ,\\\'></iframe>';" 160 "document.body.innerHTML = '<iframe src=\\\'data:text/html;charset=utf-8 ,\\\'></iframe>';"
159 "document.body.innerHTML = '<iframe></iframe>';" 161 "document.body.innerHTML = '<iframe></iframe>';"
160 "var iframe = document.createElement('iframe');" 162 "var iframe = document.createElement('iframe');"
161 "document.body.appendChild(iframe);" 163 "document.body.appendChild(iframe);"
162 "iframe = document.createElement('iframe');" 164 "iframe = document.createElement('iframe');"
163 "iframe.src = 'data:text/html;charset=utf-8,';" 165 "iframe.src = 'data:text/html;charset=utf-8,';"
164 "document.body.appendChild(iframe);" 166 "document.body.appendChild(iframe);"
165 "document.write('<body><iframe src=\\\'data:text/html;charset=utf-8,\\\' ></iframe></body>');"; 167 "document.write('<body><iframe src=\\\'data:text/html;charset=utf-8,\\\' ></iframe></body>');";
166 const char* expectedActivities = 168 const char* expectedActivities =
167 "blinkAddElement | iframe | data:text/html;charset=utf-8,\n" 169 "blinkAddElement | iframe | data:text/html;charset=utf-8,\n"
168 "blinkAddElement | iframe | \n" 170 "blinkAddElement | iframe | \n"
169 "blinkAddElement | iframe | \n" 171 "blinkAddElement | iframe | \n"
172 "HTMLIFrameElement.src | | data:text/html;charset=utf-8,\n"
170 "blinkAddElement | iframe | 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,"; 174 "blinkAddElement | iframe | data:text/html;charset=utf-8,";
172 executeScriptInMainWorld(code); 175 executeScriptInMainWorld(code);
173 ASSERT_TRUE(verifyActivities("")); 176 ASSERT_TRUE(verifyActivities(""));
174 executeScriptInIsolatedWorld(code); 177 executeScriptInIsolatedWorld(code);
175 ASSERT_TRUE(verifyActivities(expectedActivities)); 178 ASSERT_TRUE(verifyActivities(expectedActivities));
176 } 179 }
177 180
178 TEST_F(ActivityLoggerTest, AnchorElement) 181 TEST_F(ActivityLoggerTest, AnchorElement)
179 { 182 {
183 v8::HandleScope scope(v8::Isolate::GetCurrent());
180 const char* code = 184 const char* code =
181 "document.body.innerHTML = '<a href=\\\'data:text/css;charset=utf-8,\\\' ></a>';" 185 "document.body.innerHTML = '<a href=\\\'data:text/css;charset=utf-8,\\\' ></a>';"
182 "document.body.innerHTML = '<a></a>';" 186 "document.body.innerHTML = '<a></a>';"
183 "var a = document.createElement('a');" 187 "var a = document.createElement('a');"
184 "document.body.appendChild(a);" 188 "document.body.appendChild(a);"
185 "a = document.createElement('a');" 189 "a = document.createElement('a');"
186 "a.href = 'data:text/css;charset=utf-8,';" 190 "a.href = 'data:text/css;charset=utf-8,';"
187 "document.body.appendChild(a);" 191 "document.body.appendChild(a);"
188 "document.write('<body><a href=\\\'data:text/css;charset=utf-8,\\\'></a> </body>');"; 192 "document.write('<body><a href=\\\'data:text/css;charset=utf-8,\\\'></a> </body>');";
189 const char* expectedActivities = 193 const char* expectedActivities =
190 "blinkAddElement | a | data:text/css;charset=utf-8,\n" 194 "blinkAddElement | a | data:text/css;charset=utf-8,\n"
191 "blinkAddElement | a | \n" 195 "blinkAddElement | a | \n"
192 "blinkAddElement | a | \n" 196 "blinkAddElement | a | \n"
197 "HTMLAnchorElement.href | | data:text/css;charset=utf-8,\n"
193 "blinkAddElement | a | data:text/css;charset=utf-8,\n" 198 "blinkAddElement | a | data:text/css;charset=utf-8,\n"
194 "blinkAddElement | a | data:text/css;charset=utf-8,"; 199 "blinkAddElement | a | data:text/css;charset=utf-8,";
195 executeScriptInMainWorld(code); 200 executeScriptInMainWorld(code);
196 ASSERT_TRUE(verifyActivities("")); 201 ASSERT_TRUE(verifyActivities(""));
197 executeScriptInIsolatedWorld(code); 202 executeScriptInIsolatedWorld(code);
198 ASSERT_TRUE(verifyActivities(expectedActivities)); 203 ASSERT_TRUE(verifyActivities(expectedActivities));
199 } 204 }
200 205
201 TEST_F(ActivityLoggerTest, LinkElement) 206 TEST_F(ActivityLoggerTest, LinkElement)
202 { 207 {
208 v8::HandleScope scope(v8::Isolate::GetCurrent());
203 const char* code = 209 const char* code =
204 "document.body.innerHTML = '<link rel=\\\'stylesheet\\\' href=\\\'data:t ext/css;charset=utf-8,\\\'></link>';" 210 "document.body.innerHTML = '<link rel=\\\'stylesheet\\\' href=\\\'data:t ext/css;charset=utf-8,\\\'></link>';"
205 "document.body.innerHTML = '<link></link>';" 211 "document.body.innerHTML = '<link></link>';"
206 "var link = document.createElement('link');" 212 "var link = document.createElement('link');"
207 "document.body.appendChild(link);" 213 "document.body.appendChild(link);"
208 "link = document.createElement('link');" 214 "link = document.createElement('link');"
209 "link.rel = 'stylesheet';" 215 "link.rel = 'stylesheet';"
210 "link.href = 'data:text/css;charset=utf-8,';" 216 "link.href = 'data:text/css;charset=utf-8,';"
211 "document.body.appendChild(link);" 217 "document.body.appendChild(link);"
212 "document.write('<body><link rel=\\\'stylesheet\\\' href=\\\'data:text/c ss;charset=utf-8,\\\'></link></body>');"; 218 "document.write('<body><link rel=\\\'stylesheet\\\' href=\\\'data:text/c ss;charset=utf-8,\\\'></link></body>');";
213 const char* expectedActivities = 219 const char* expectedActivities =
214 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,\n" 220 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,\n"
215 "blinkAddElement | link | | \n" 221 "blinkAddElement | link | | \n"
216 "blinkAddElement | link | | \n" 222 "blinkAddElement | link | | \n"
223 "HTMLLinkElement.href | data:text/css;charset=utf-8,\n"
217 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,\n" 224 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,\n"
218 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,"; 225 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,";
219 executeScriptInMainWorld(code); 226 executeScriptInMainWorld(code);
220 ASSERT_TRUE(verifyActivities("")); 227 ASSERT_TRUE(verifyActivities(""));
221 executeScriptInIsolatedWorld(code); 228 executeScriptInIsolatedWorld(code);
222 ASSERT_TRUE(verifyActivities(expectedActivities)); 229 ASSERT_TRUE(verifyActivities(expectedActivities));
223 } 230 }
224 231
225 TEST_F(ActivityLoggerTest, InputElement) 232 TEST_F(ActivityLoggerTest, InputElement)
226 { 233 {
234 v8::HandleScope scope(v8::Isolate::GetCurrent());
227 const char* code = 235 const char* code =
228 "document.body.innerHTML = '<input type=\\\'submit\\\' formaction=\\\'da ta:text/html;charset=utf-8,\\\'></input>';" 236 "document.body.innerHTML = '<input type=\\\'submit\\\' formaction=\\\'da ta:text/html;charset=utf-8,\\\'></input>';"
229 "document.body.innerHTML = '<input></input>';" 237 "document.body.innerHTML = '<input></input>';"
230 "var input = document.createElement('input');" 238 "var input = document.createElement('input');"
231 "document.body.appendChild(input);" 239 "document.body.appendChild(input);"
232 "input = document.createElement('input');" 240 "input = document.createElement('input');"
233 "input.type = 'submit';" 241 "input.type = 'submit';"
234 "input.formAction = 'data:text/html;charset=utf-8,';" 242 "input.formAction = 'data:text/html;charset=utf-8,';"
235 "document.body.appendChild(input);" 243 "document.body.appendChild(input);"
236 "document.write('<body><input type=\\\'submit\\\' formaction=\\\'data:te xt/html;charset=utf-8,\\\'></input></body>');"; 244 "document.write('<body><input type=\\\'submit\\\' formaction=\\\'data:te xt/html;charset=utf-8,\\\'></input></body>');";
237 const char* expectedActivities = 245 const char* expectedActivities =
238 "blinkAddElement | input | submit | data:text/html;charset=utf-8,\n" 246 "blinkAddElement | input | submit | data:text/html;charset=utf-8,\n"
239 "blinkAddElement | input | | \n" 247 "blinkAddElement | input | | \n"
240 "blinkAddElement | input | | \n" 248 "blinkAddElement | input | | \n"
249 "HTMLInputElement.formAction | data:text/html;charset=utf-8,\n"
241 "blinkAddElement | input | submit | data:text/html;charset=utf-8,\n" 250 "blinkAddElement | input | submit | data:text/html;charset=utf-8,\n"
242 "blinkAddElement | input | submit | data:text/html;charset=utf-8,"; 251 "blinkAddElement | input | submit | data:text/html;charset=utf-8,";
243 executeScriptInMainWorld(code); 252 executeScriptInMainWorld(code);
244 ASSERT_TRUE(verifyActivities("")); 253 ASSERT_TRUE(verifyActivities(""));
245 executeScriptInIsolatedWorld(code); 254 executeScriptInIsolatedWorld(code);
246 ASSERT_TRUE(verifyActivities(expectedActivities)); 255 ASSERT_TRUE(verifyActivities(expectedActivities));
247 } 256 }
248 257
249 TEST_F(ActivityLoggerTest, ButtonElement) 258 TEST_F(ActivityLoggerTest, ButtonElement)
250 { 259 {
260 v8::HandleScope scope(v8::Isolate::GetCurrent());
251 const char* code = 261 const char* code =
252 "document.body.innerHTML = '<button type=\\\'submit\\\' formmethod=\\\'p ost\\\' formaction=\\\'data:text/html;charset=utf-8,\\\'></input>';" 262 "document.body.innerHTML = '<button type=\\\'submit\\\' formmethod=\\\'p ost\\\' formaction=\\\'data:text/html;charset=utf-8,\\\'></input>';"
253 "document.body.innerHTML = '<button></button>';" 263 "document.body.innerHTML = '<button></button>';"
254 "var button = document.createElement('button');" 264 "var button = document.createElement('button');"
255 "document.body.appendChild(button);" 265 "document.body.appendChild(button);"
256 "button = document.createElement('button');" 266 "button = document.createElement('button');"
257 "button.type = 'submit';" 267 "button.type = 'submit';"
258 "button.formMethod = 'post';" 268 "button.formMethod = 'post';"
259 "button.formAction = 'data:text/html;charset=utf-8,';" 269 "button.formAction = 'data:text/html;charset=utf-8,';"
260 "document.body.appendChild(button);" 270 "document.body.appendChild(button);"
261 "document.write('<body><button type=\\\'submit\\\' formmethod=\\\'post\\ \' formaction=\\\'data:text/html;charset=utf-8,\\\'></button></body>');"; 271 "document.write('<body><button type=\\\'submit\\\' formmethod=\\\'post\\ \' formaction=\\\'data:text/html;charset=utf-8,\\\'></button></body>');";
262 const char* expectedActivities = 272 const char* expectedActivities =
263 "blinkAddElement | button | submit | post | data:text/html;charset=utf-8 ,\n" 273 "blinkAddElement | button | submit | post | data:text/html;charset=utf-8 ,\n"
264 "blinkAddElement | button | | | \n" 274 "blinkAddElement | button | | | \n"
265 "blinkAddElement | button | | | \n" 275 "blinkAddElement | button | | | \n"
276 "HTMLButtonElement.formAction | data:text/html;charset=utf-8,\n"
266 "blinkAddElement | button | submit | post | data:text/html;charset=utf-8 ,\n" 277 "blinkAddElement | button | submit | post | data:text/html;charset=utf-8 ,\n"
267 "blinkAddElement | button | submit | post | data:text/html;charset=utf-8 ,"; 278 "blinkAddElement | button | submit | post | data:text/html;charset=utf-8 ,";
268 executeScriptInMainWorld(code); 279 executeScriptInMainWorld(code);
269 ASSERT_TRUE(verifyActivities("")); 280 ASSERT_TRUE(verifyActivities(""));
270 executeScriptInIsolatedWorld(code); 281 executeScriptInIsolatedWorld(code);
271 ASSERT_TRUE(verifyActivities(expectedActivities)); 282 ASSERT_TRUE(verifyActivities(expectedActivities));
272 } 283 }
273 284
274 TEST_F(ActivityLoggerTest, FormElement) 285 TEST_F(ActivityLoggerTest, FormElement)
275 { 286 {
287 v8::HandleScope scope(v8::Isolate::GetCurrent());
276 const char* code = 288 const char* code =
277 "document.body.innerHTML = '<form method=\\\'post\\\' action=\\\'data:te xt/html;charset=utf-8,\\\'></form>';" 289 "document.body.innerHTML = '<form method=\\\'post\\\' action=\\\'data:te xt/html;charset=utf-8,\\\'></form>';"
278 "document.body.innerHTML = '<form></form>';" 290 "document.body.innerHTML = '<form></form>';"
279 "var form = document.createElement('form');" 291 "var form = document.createElement('form');"
280 "document.body.appendChild(form);" 292 "document.body.appendChild(form);"
281 "form = document.createElement('form');" 293 "form = document.createElement('form');"
282 "form.method = 'post';" 294 "form.method = 'post';"
283 "form.action = 'data:text/html;charset=utf-8,';" 295 "form.action = 'data:text/html;charset=utf-8,';"
284 "document.body.appendChild(form);" 296 "document.body.appendChild(form);"
285 "document.write('<body><form method=\\\'post\\\' action=\\\'data:text/ht ml;charset=utf-8,\\\'></form></body>');"; 297 "document.write('<body><form method=\\\'post\\\' action=\\\'data:text/ht ml;charset=utf-8,\\\'></form></body>');";
286 const char* expectedActivities = 298 const char* expectedActivities =
287 "blinkAddElement | form | post | data:text/html;charset=utf-8,\n" 299 "blinkAddElement | form | post | data:text/html;charset=utf-8,\n"
288 "blinkAddElement | form | | \n" 300 "blinkAddElement | form | | \n"
289 "blinkAddElement | form | | \n" 301 "blinkAddElement | form | | \n"
302 "HTMLFormElement.action | data:text/html;charset=utf-8,\n"
290 "blinkAddElement | form | post | data:text/html;charset=utf-8,\n" 303 "blinkAddElement | form | post | data:text/html;charset=utf-8,\n"
291 "blinkAddElement | form | post | data:text/html;charset=utf-8,"; 304 "blinkAddElement | form | post | data:text/html;charset=utf-8,";
292 executeScriptInMainWorld(code); 305 executeScriptInMainWorld(code);
293 ASSERT_TRUE(verifyActivities("")); 306 ASSERT_TRUE(verifyActivities(""));
294 executeScriptInIsolatedWorld(code); 307 executeScriptInIsolatedWorld(code);
295 ASSERT_TRUE(verifyActivities(expectedActivities)); 308 ASSERT_TRUE(verifyActivities(expectedActivities));
296 } 309 }
297 310
298 TEST_F(ActivityLoggerTest, IFrameSrcAttribute)
299 {
300 const char* code =
301 "document.body.innerHTML = '<iframe src=\\\'data:text/html;charset=utf-8 ,A\\\'></iframe>';"
302 "var iframe = document.getElementsByTagName('iframe')[0];"
303 "iframe.src = 'data:text/html;charset=utf-8,B';"
304 "iframe.setAttribute('src', 'data:text/html;charset=utf-8,C');"
305 "iframe.setAttributeNS('', 'src', 'data:text/html;charset=utf-8,D');"
306 "var attr = document.createAttribute('src');"
307 "attr.value = 'data:text/html;charset=utf-8,E';"
308 "iframe.setAttributeNode(attr);";
309 const char* expectedActivities =
310 "blinkAddElement | iframe | data:text/html;charset=utf-8,A\n"
311 "blinkSetAttribute | iframe | src | data:text/html;charset=utf-8,A | dat a:text/html;charset=utf-8,B\n"
312 "blinkSetAttribute | iframe | src | data:text/html;charset=utf-8,B | dat a:text/html;charset=utf-8,C\n"
313 "blinkSetAttribute | iframe | src | data:text/html;charset=utf-8,C | dat a:text/html;charset=utf-8,D\n"
314 "blinkSetAttribute | iframe | src | data:text/html;charset=utf-8,D | dat a:text/html;charset=utf-8,E";
315 executeScriptInMainWorld(code);
316 ASSERT_TRUE(verifyActivities(""));
317 executeScriptInIsolatedWorld(code);
318 ASSERT_TRUE(verifyActivities(expectedActivities));
319 }
320
321 TEST_F(ActivityLoggerTest, AnchorHrefAttribute)
322 {
323 const char* code =
324 "document.body.innerHTML = '<a href=\\\'data:text/html;charset=utf-8,A\\ \'></a>';"
325 "var a = document.getElementsByTagName('a')[0];"
326 "a.href = 'data:text/html;charset=utf-8,B';"
327 "a.setAttribute('href', 'data:text/html;charset=utf-8,C');"
328 "a.setAttributeNS('', 'href', 'data:text/html;charset=utf-8,D');"
329 "var attr = document.createAttribute('href');"
330 "attr.value = 'data:text/html;charset=utf-8,E';"
331 "a.setAttributeNode(attr);";
332 const char* expectedActivities =
333 "blinkAddElement | a | data:text/html;charset=utf-8,A\n"
334 "blinkSetAttribute | a | href | data:text/html;charset=utf-8,A | data:te xt/html;charset=utf-8,B\n"
335 "blinkSetAttribute | a | href | data:text/html;charset=utf-8,B | data:te xt/html;charset=utf-8,C\n"
336 "blinkSetAttribute | a | href | data:text/html;charset=utf-8,C | data:te xt/html;charset=utf-8,D\n"
337 "blinkSetAttribute | a | href | data:text/html;charset=utf-8,D | data:te xt/html;charset=utf-8,E";
338 executeScriptInMainWorld(code);
339 ASSERT_TRUE(verifyActivities(""));
340 executeScriptInIsolatedWorld(code);
341 ASSERT_TRUE(verifyActivities(expectedActivities));
342 }
343
344 TEST_F(ActivityLoggerTest, LinkHrefAttribute)
345 {
346 const char* code =
347 "document.body.innerHTML = '<link rel=\\\'stylesheet\\\' href=\\\'data:t ext/css;charset=utf-8,A\\\'></link>';"
348 "var link = document.getElementsByTagName('link')[0];"
349 "link.href = 'data:text/css;charset=utf-8,B';"
350 "link.setAttribute('href', 'data:text/css;charset=utf-8,C');"
351 "link.setAttributeNS('', 'href', 'data:text/css;charset=utf-8,D');"
352 "var attr = document.createAttribute('href');"
353 "attr.value = 'data:text/css;charset=utf-8,E';"
354 "link.setAttributeNode(attr);";
355 const char* expectedActivities =
356 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,A\n"
357 "blinkSetAttribute | link | href | data:text/css;charset=utf-8,A | data: text/css;charset=utf-8,B\n"
358 "blinkSetAttribute | link | href | data:text/css;charset=utf-8,B | data: text/css;charset=utf-8,C\n"
359 "blinkSetAttribute | link | href | data:text/css;charset=utf-8,C | data: text/css;charset=utf-8,D\n"
360 "blinkSetAttribute | link | href | data:text/css;charset=utf-8,D | data: text/css;charset=utf-8,E";
361 executeScriptInMainWorld(code);
362 ASSERT_TRUE(verifyActivities(""));
363 executeScriptInIsolatedWorld(code);
364 ASSERT_TRUE(verifyActivities(expectedActivities));
365 }
366
367 TEST_F(ActivityLoggerTest, InputFormActionAttribute)
368 {
369 const char* code =
370 "document.body.innerHTML = '<input type=\\\'button\\\' formaction=\\\'da ta:text/html;charset=utf-8,A\\\'></input>';"
371 "var input = document.getElementsByTagName('input')[0];"
372 "input.formAction = 'data:text/html;charset=utf-8,B';"
373 "input.setAttribute('formaction', 'data:text/html;charset=utf-8,C');"
374 "input.setAttributeNS('', 'formaction', 'data:text/html;charset=utf-8,D' );"
375 "var attr = document.createAttribute('formaction');"
376 "attr.value = 'data:text/html;charset=utf-8,E';"
377 "input.setAttributeNode(attr);";
378 const char* expectedActivities =
379 "blinkAddElement | input | button | data:text/html;charset=utf-8,A\n"
380 "blinkSetAttribute | input | formaction | data:text/html;charset=utf-8,A | data:text/html;charset=utf-8,B\n"
381 "blinkSetAttribute | input | formaction | data:text/html;charset=utf-8,B | data:text/html;charset=utf-8,C\n"
382 "blinkSetAttribute | input | formaction | data:text/html;charset=utf-8,C | data:text/html;charset=utf-8,D\n"
383 "blinkSetAttribute | input | formaction | data:text/html;charset=utf-8,D | data:text/html;charset=utf-8,E";
384 executeScriptInMainWorld(code);
385 ASSERT_TRUE(verifyActivities(""));
386 executeScriptInIsolatedWorld(code);
387 ASSERT_TRUE(verifyActivities(expectedActivities));
388 }
389
390 TEST_F(ActivityLoggerTest, ButtonFormActionAttribute)
391 {
392 const char* code =
393 "document.body.innerHTML = '<button type=\\\'submit\\\' formmethod=\\\'p ost\\\' formaction=\\\'data:text/html;charset=utf-8,A\\\'></input>';"
394 "var button = document.getElementsByTagName('button')[0];"
395 "button.formAction = 'data:text/html;charset=utf-8,B';"
396 "button.setAttribute('formaction', 'data:text/html;charset=utf-8,C');"
397 "button.setAttributeNS('', 'formaction', 'data:text/html;charset=utf-8,D ');"
398 "var attr = document.createAttribute('formaction');"
399 "attr.value = 'data:text/html;charset=utf-8,E';"
400 "button.setAttributeNode(attr);";
401 const char* expectedActivities =
402 "blinkAddElement | button | submit | post | data:text/html;charset=utf-8 ,A\n"
403 "blinkSetAttribute | button | formaction | data:text/html;charset=utf-8, A | data:text/html;charset=utf-8,B\n"
404 "blinkSetAttribute | button | formaction | data:text/html;charset=utf-8, B | data:text/html;charset=utf-8,C\n"
405 "blinkSetAttribute | button | formaction | data:text/html;charset=utf-8, C | data:text/html;charset=utf-8,D\n"
406 "blinkSetAttribute | button | formaction | data:text/html;charset=utf-8, D | data:text/html;charset=utf-8,E";
407 executeScriptInMainWorld(code);
408 ASSERT_TRUE(verifyActivities(""));
409 executeScriptInIsolatedWorld(code);
410 ASSERT_TRUE(verifyActivities(expectedActivities));
411 }
412
413 TEST_F(ActivityLoggerTest, FormActionAttribute)
414 {
415 const char* code =
416 "document.body.innerHTML = '<form action=\\\'data:text/html;charset=utf- 8,A\\\'></form>';"
417 "var form = document.getElementsByTagName('form')[0];"
418 "form.action = 'data:text/html;charset=utf-8,B';"
419 "form.setAttribute('action', 'data:text/html;charset=utf-8,C');"
420 "form.setAttributeNS('', 'action', 'data:text/html;charset=utf-8,D');"
421 "var attr = document.createAttribute('action');"
422 "attr.value = 'data:text/html;charset=utf-8,E';"
423 "form.setAttributeNode(attr);";
424 const char* expectedActivities =
425 "blinkAddElement | form | | data:text/html;charset=utf-8,A\n"
426 "blinkSetAttribute | form | action | data:text/html;charset=utf-8,A | da ta:text/html;charset=utf-8,B\n"
427 "blinkSetAttribute | form | action | data:text/html;charset=utf-8,B | da ta:text/html;charset=utf-8,C\n"
428 "blinkSetAttribute | form | action | data:text/html;charset=utf-8,C | da ta:text/html;charset=utf-8,D\n"
429 "blinkSetAttribute | form | action | data:text/html;charset=utf-8,D | da ta:text/html;charset=utf-8,E";
430 executeScriptInMainWorld(code);
431 ASSERT_TRUE(verifyActivities(""));
432 executeScriptInIsolatedWorld(code);
433 ASSERT_TRUE(verifyActivities(expectedActivities));
434 }
435
436 } // namespace 311 } // namespace
OLDNEW
« no previous file with comments | « Source/core/html/HTMLVideoElement.idl ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698