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

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

Issue 355363002: Revert of Adds AL logging for Blink core events. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: manually fix conflict in Document.idl 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/HTMLScriptElement.cpp ('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/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 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 m_scriptController->executeScriptInMainWorld(script); 80 m_scriptController->executeScriptInMainWorld(script);
81 runPendingTasks();
82 } 81 }
83 82
84 void executeScriptInIsolatedWorld(const String& script) const 83 void executeScriptInIsolatedWorld(const String& script) const
85 { 84 {
86 Vector<ScriptSourceCode> sources; 85 Vector<ScriptSourceCode> sources;
87 sources.append(ScriptSourceCode(script)); 86 sources.append(ScriptSourceCode(script));
88 Vector<v8::Local<v8::Value> > results; 87 Vector<v8::Local<v8::Value> > results;
89 m_scriptController->executeScriptInIsolatedWorld(isolatedWorldId, source s, extensionGroup, 0); 88 m_scriptController->executeScriptInIsolatedWorld(isolatedWorldId, source s, extensionGroup, 0);
90 runPendingTasks();
91 } 89 }
92 90
93 bool verifyActivities(const String& activities) 91 bool verifyActivities(const String& activities)
94 { 92 {
95 Vector<String> activityVector; 93 Vector<String> activityVector;
96 activities.split("\n", activityVector); 94 activities.split(";", activityVector);
97 return m_activityLogger->verifyActivities(activityVector); 95 return m_activityLogger->verifyActivities(activityVector);
98 } 96 }
99 97
100 private: 98 private:
101 static const int isolatedWorldId = 1; 99 static const int isolatedWorldId = 1;
102 static const int extensionGroup = 0; 100 static const int extensionGroup = 0;
103 101
104 WebViewHelper m_webViewHelper; 102 WebViewHelper m_webViewHelper;
105 ScriptController* m_scriptController; 103 ScriptController* m_scriptController;
106 // TestActivityLogger is owned by a static table within V8DOMActivityLogger 104 // TestActivityLogger is owned by a static table within V8DOMActivityLogger
107 // and should be alive as long as not overwritten. 105 // and should be alive as long as not overwritten.
108 TestActivityLogger* m_activityLogger; 106 TestActivityLogger* m_activityLogger;
109 }; 107 };
110 108
111 TEST_F(ActivityLoggerTest, EventHandler) 109 TEST_F(ActivityLoggerTest, EventHandler)
112 { 110 {
113 v8::HandleScope scope(v8::Isolate::GetCurrent()); 111 v8::HandleScope scope(v8::Isolate::GetCurrent());
114 const char* code = 112 const char* code =
115 "document.body.innerHTML = '<a onclick=\\\'do()\\\'>test</a>';" 113 "document.body.innerHTML = '<a onclick=\\\'do()\\\'>test</a>';"
116 "document.body.onchange = function(){};" 114 "document.body.onchange = function(){};"
117 "document.body.setAttribute('onfocus', 'fnc()');" 115 "document.body.setAttribute('onfocus', 'fnc()');"
118 "document.body.addEventListener('onload', function(){});"; 116 "document.body.addEventListener('onload', function(){});";
119 const char* expectedActivities = 117 const char* expectedActivities =
120 "blinkAddEventListener | A | click\n" 118 "Element.innerHTML | <a onclick='do()'>test</a>;"
121 "blinkAddElement | a | \n" 119 "blinkAddEventListener | A | click;"
122 "blinkAddEventListener | BODY | change\n" 120 "blinkAddEventListener | BODY | change;"
123 "blinkAddEventListener | LocalDOMWindow | focus\n" 121 "blinkAddEventListener | LocalDOMWindow | focus;"
124 "blinkAddEventListener | BODY | onload"; 122 "blinkAddEventListener | BODY | onload";
125 executeScriptInMainWorld(code); 123 executeScriptInMainWorld(code);
126 ASSERT_TRUE(verifyActivities("")); 124 ASSERT_TRUE(verifyActivities(""));
127 executeScriptInIsolatedWorld(code); 125 executeScriptInIsolatedWorld(code);
128 ASSERT_TRUE(verifyActivities(expectedActivities)); 126 ASSERT_TRUE(verifyActivities(expectedActivities));
129 } 127 }
130 128
131 TEST_F(ActivityLoggerTest, ScriptElement)
132 {
133 v8::HandleScope scope(v8::Isolate::GetCurrent());
134 const char* code =
135 "document.body.innerHTML = '<script src=\\\'data:text/html;charset=utf-8 ,\\\'></script>';"
136 "document.body.innerHTML = '<script>console.log(\\\'test\\\')</script>'; "
137 "var script = document.createElement('script');"
138 "document.body.appendChild(script);"
139 "script = document.createElement('script');"
140 "script.src = 'data:text/html;charset=utf-8,';"
141 "document.body.appendChild(script);"
142 "document.write('<body><script src=\\\'data:text/html;charset=utf-8,\\\' ></script></body>');";
143 const char* expectedActivities =
144 "blinkAddElement | script | data:text/html;charset=utf-8,\n"
145 "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"
149 "blinkAddElement | script | data:text/html;charset=utf-8,";
150 executeScriptInMainWorld(code);
151 ASSERT_TRUE(verifyActivities(""));
152 executeScriptInIsolatedWorld(code);
153 ASSERT_TRUE(verifyActivities(expectedActivities));
154 }
155
156 TEST_F(ActivityLoggerTest, IFrameElement)
157 {
158 v8::HandleScope scope(v8::Isolate::GetCurrent());
159 const char* code =
160 "document.body.innerHTML = '<iframe src=\\\'data:text/html;charset=utf-8 ,\\\'></iframe>';"
161 "document.body.innerHTML = '<iframe></iframe>';"
162 "var iframe = document.createElement('iframe');"
163 "document.body.appendChild(iframe);"
164 "iframe = document.createElement('iframe');"
165 "iframe.src = 'data:text/html;charset=utf-8,';"
166 "document.body.appendChild(iframe);"
167 "document.write('<body><iframe src=\\\'data:text/html;charset=utf-8,\\\' ></iframe></body>');";
168 const char* expectedActivities =
169 "blinkAddElement | iframe | data:text/html;charset=utf-8,\n"
170 "blinkAddElement | iframe | \n"
171 "blinkAddElement | iframe | \n"
172 "HTMLIFrameElement.src | | data:text/html;charset=utf-8,\n"
173 "blinkAddElement | iframe | data:text/html;charset=utf-8,\n"
174 "blinkAddElement | iframe | data:text/html;charset=utf-8,";
175 executeScriptInMainWorld(code);
176 ASSERT_TRUE(verifyActivities(""));
177 executeScriptInIsolatedWorld(code);
178 ASSERT_TRUE(verifyActivities(expectedActivities));
179 }
180
181 TEST_F(ActivityLoggerTest, AnchorElement)
182 {
183 v8::HandleScope scope(v8::Isolate::GetCurrent());
184 const char* code =
185 "document.body.innerHTML = '<a href=\\\'data:text/css;charset=utf-8,\\\' ></a>';"
186 "document.body.innerHTML = '<a></a>';"
187 "var a = document.createElement('a');"
188 "document.body.appendChild(a);"
189 "a = document.createElement('a');"
190 "a.href = 'data:text/css;charset=utf-8,';"
191 "document.body.appendChild(a);"
192 "document.write('<body><a href=\\\'data:text/css;charset=utf-8,\\\'></a> </body>');";
193 const char* expectedActivities =
194 "blinkAddElement | a | data:text/css;charset=utf-8,\n"
195 "blinkAddElement | a | \n"
196 "blinkAddElement | a | \n"
197 "HTMLAnchorElement.href | | data:text/css;charset=utf-8,\n"
198 "blinkAddElement | a | data:text/css;charset=utf-8,\n"
199 "blinkAddElement | a | data:text/css;charset=utf-8,";
200 executeScriptInMainWorld(code);
201 ASSERT_TRUE(verifyActivities(""));
202 executeScriptInIsolatedWorld(code);
203 ASSERT_TRUE(verifyActivities(expectedActivities));
204 }
205
206 TEST_F(ActivityLoggerTest, LinkElement)
207 {
208 v8::HandleScope scope(v8::Isolate::GetCurrent());
209 const char* code =
210 "document.body.innerHTML = '<link rel=\\\'stylesheet\\\' href=\\\'data:t ext/css;charset=utf-8,\\\'></link>';"
211 "document.body.innerHTML = '<link></link>';"
212 "var link = document.createElement('link');"
213 "document.body.appendChild(link);"
214 "link = document.createElement('link');"
215 "link.rel = 'stylesheet';"
216 "link.href = 'data:text/css;charset=utf-8,';"
217 "document.body.appendChild(link);"
218 "document.write('<body><link rel=\\\'stylesheet\\\' href=\\\'data:text/c ss;charset=utf-8,\\\'></link></body>');";
219 const char* expectedActivities =
220 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,\n"
221 "blinkAddElement | link | | \n"
222 "blinkAddElement | link | | \n"
223 "HTMLLinkElement.href | data:text/css;charset=utf-8,\n"
224 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,\n"
225 "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,";
226 executeScriptInMainWorld(code);
227 ASSERT_TRUE(verifyActivities(""));
228 executeScriptInIsolatedWorld(code);
229 ASSERT_TRUE(verifyActivities(expectedActivities));
230 }
231
232 TEST_F(ActivityLoggerTest, InputElement)
233 {
234 v8::HandleScope scope(v8::Isolate::GetCurrent());
235 const char* code =
236 "document.body.innerHTML = '<input type=\\\'submit\\\' formaction=\\\'da ta:text/html;charset=utf-8,\\\'></input>';"
237 "document.body.innerHTML = '<input></input>';"
238 "var input = document.createElement('input');"
239 "document.body.appendChild(input);"
240 "input = document.createElement('input');"
241 "input.type = 'submit';"
242 "input.formAction = 'data:text/html;charset=utf-8,';"
243 "document.body.appendChild(input);"
244 "document.write('<body><input type=\\\'submit\\\' formaction=\\\'data:te xt/html;charset=utf-8,\\\'></input></body>');";
245 const char* expectedActivities =
246 "blinkAddElement | input | submit | data:text/html;charset=utf-8,\n"
247 "blinkAddElement | input | | \n"
248 "blinkAddElement | input | | \n"
249 "HTMLInputElement.formAction | data:text/html;charset=utf-8,\n"
250 "blinkAddElement | input | submit | data:text/html;charset=utf-8,\n"
251 "blinkAddElement | input | submit | data:text/html;charset=utf-8,";
252 executeScriptInMainWorld(code);
253 ASSERT_TRUE(verifyActivities(""));
254 executeScriptInIsolatedWorld(code);
255 ASSERT_TRUE(verifyActivities(expectedActivities));
256 }
257
258 TEST_F(ActivityLoggerTest, ButtonElement)
259 {
260 v8::HandleScope scope(v8::Isolate::GetCurrent());
261 const char* code =
262 "document.body.innerHTML = '<button type=\\\'submit\\\' formmethod=\\\'p ost\\\' formaction=\\\'data:text/html;charset=utf-8,\\\'></input>';"
263 "document.body.innerHTML = '<button></button>';"
264 "var button = document.createElement('button');"
265 "document.body.appendChild(button);"
266 "button = document.createElement('button');"
267 "button.type = 'submit';"
268 "button.formMethod = 'post';"
269 "button.formAction = 'data:text/html;charset=utf-8,';"
270 "document.body.appendChild(button);"
271 "document.write('<body><button type=\\\'submit\\\' formmethod=\\\'post\\ \' formaction=\\\'data:text/html;charset=utf-8,\\\'></button></body>');";
272 const char* expectedActivities =
273 "blinkAddElement | button | submit | post | data:text/html;charset=utf-8 ,\n"
274 "blinkAddElement | button | | | \n"
275 "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"
278 "blinkAddElement | button | submit | post | data:text/html;charset=utf-8 ,";
279 executeScriptInMainWorld(code);
280 ASSERT_TRUE(verifyActivities(""));
281 executeScriptInIsolatedWorld(code);
282 ASSERT_TRUE(verifyActivities(expectedActivities));
283 }
284
285 TEST_F(ActivityLoggerTest, FormElement)
286 {
287 v8::HandleScope scope(v8::Isolate::GetCurrent());
288 const char* code =
289 "document.body.innerHTML = '<form method=\\\'post\\\' action=\\\'data:te xt/html;charset=utf-8,\\\'></form>';"
290 "document.body.innerHTML = '<form></form>';"
291 "var form = document.createElement('form');"
292 "document.body.appendChild(form);"
293 "form = document.createElement('form');"
294 "form.method = 'post';"
295 "form.action = 'data:text/html;charset=utf-8,';"
296 "document.body.appendChild(form);"
297 "document.write('<body><form method=\\\'post\\\' action=\\\'data:text/ht ml;charset=utf-8,\\\'></form></body>');";
298 const char* expectedActivities =
299 "blinkAddElement | form | post | data:text/html;charset=utf-8,\n"
300 "blinkAddElement | form | | \n"
301 "blinkAddElement | form | | \n"
302 "HTMLFormElement.action | data:text/html;charset=utf-8,\n"
303 "blinkAddElement | form | post | data:text/html;charset=utf-8,\n"
304 "blinkAddElement | form | post | data:text/html;charset=utf-8,";
305 executeScriptInMainWorld(code);
306 ASSERT_TRUE(verifyActivities(""));
307 executeScriptInIsolatedWorld(code);
308 ASSERT_TRUE(verifyActivities(expectedActivities));
309 }
310
311 } // namespace 129 } // namespace
OLDNEW
« no previous file with comments | « Source/core/html/HTMLScriptElement.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698