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

Unified Diff: Source/web/tests/ActivityLoggerTest.cpp

Issue 351923005: Refactoring activity logger. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/html/HTMLVideoElement.idl ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/web/tests/ActivityLoggerTest.cpp
diff --git a/Source/web/tests/ActivityLoggerTest.cpp b/Source/web/tests/ActivityLoggerTest.cpp
index f770f69e4f22250a52d54196fd559f79711b455e..ff4bafed2aad857c88b68ab330e5bfe84b9c9e3c 100644
--- a/Source/web/tests/ActivityLoggerTest.cpp
+++ b/Source/web/tests/ActivityLoggerTest.cpp
@@ -77,12 +77,14 @@ protected:
void executeScriptInMainWorld(const String& script) const
{
+ v8::HandleScope scope(v8::Isolate::GetCurrent());
m_scriptController->executeScriptInMainWorld(script);
runPendingTasks();
}
void executeScriptInIsolatedWorld(const String& script) const
{
+ v8::HandleScope scope(v8::Isolate::GetCurrent());
Vector<ScriptSourceCode> sources;
sources.append(ScriptSourceCode(script));
Vector<v8::Local<v8::Value> > results;
@@ -110,7 +112,6 @@ private:
TEST_F(ActivityLoggerTest, EventHandler)
{
- v8::HandleScope scope(v8::Isolate::GetCurrent());
const char* code =
"document.body.innerHTML = '<a onclick=\\\'do()\\\'>test</a>';"
"document.body.onchange = function(){};"
@@ -130,7 +131,6 @@ TEST_F(ActivityLoggerTest, EventHandler)
TEST_F(ActivityLoggerTest, ScriptElement)
{
- v8::HandleScope scope(v8::Isolate::GetCurrent());
const char* code =
"document.body.innerHTML = '<script src=\\\'data:text/html;charset=utf-8,\\\'></script>';"
"document.body.innerHTML = '<script>console.log(\\\'test\\\')</script>';"
@@ -144,7 +144,6 @@ TEST_F(ActivityLoggerTest, ScriptElement)
"blinkAddElement | script | data:text/html;charset=utf-8,\n"
"blinkAddElement | script | \n"
"blinkAddElement | script | \n"
- "HTMLScriptElement.src | data:text/html;charset=utf-8,\n"
"blinkAddElement | script | data:text/html;charset=utf-8,\n"
"blinkAddElement | script | data:text/html;charset=utf-8,";
executeScriptInMainWorld(code);
@@ -155,7 +154,6 @@ TEST_F(ActivityLoggerTest, ScriptElement)
TEST_F(ActivityLoggerTest, IFrameElement)
{
- v8::HandleScope scope(v8::Isolate::GetCurrent());
const char* code =
"document.body.innerHTML = '<iframe src=\\\'data:text/html;charset=utf-8,\\\'></iframe>';"
"document.body.innerHTML = '<iframe></iframe>';"
@@ -169,7 +167,6 @@ TEST_F(ActivityLoggerTest, IFrameElement)
"blinkAddElement | iframe | data:text/html;charset=utf-8,\n"
"blinkAddElement | iframe | \n"
"blinkAddElement | iframe | \n"
- "HTMLIFrameElement.src | | data:text/html;charset=utf-8,\n"
"blinkAddElement | iframe | data:text/html;charset=utf-8,\n"
"blinkAddElement | iframe | data:text/html;charset=utf-8,";
executeScriptInMainWorld(code);
@@ -180,7 +177,6 @@ TEST_F(ActivityLoggerTest, IFrameElement)
TEST_F(ActivityLoggerTest, AnchorElement)
{
- v8::HandleScope scope(v8::Isolate::GetCurrent());
const char* code =
"document.body.innerHTML = '<a href=\\\'data:text/css;charset=utf-8,\\\'></a>';"
"document.body.innerHTML = '<a></a>';"
@@ -194,7 +190,6 @@ TEST_F(ActivityLoggerTest, AnchorElement)
"blinkAddElement | a | data:text/css;charset=utf-8,\n"
"blinkAddElement | a | \n"
"blinkAddElement | a | \n"
- "HTMLAnchorElement.href | | data:text/css;charset=utf-8,\n"
"blinkAddElement | a | data:text/css;charset=utf-8,\n"
"blinkAddElement | a | data:text/css;charset=utf-8,";
executeScriptInMainWorld(code);
@@ -205,7 +200,6 @@ TEST_F(ActivityLoggerTest, AnchorElement)
TEST_F(ActivityLoggerTest, LinkElement)
{
- v8::HandleScope scope(v8::Isolate::GetCurrent());
const char* code =
"document.body.innerHTML = '<link rel=\\\'stylesheet\\\' href=\\\'data:text/css;charset=utf-8,\\\'></link>';"
"document.body.innerHTML = '<link></link>';"
@@ -220,7 +214,6 @@ TEST_F(ActivityLoggerTest, LinkElement)
"blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,\n"
"blinkAddElement | link | | \n"
"blinkAddElement | link | | \n"
- "HTMLLinkElement.href | data:text/css;charset=utf-8,\n"
"blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,\n"
"blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,";
executeScriptInMainWorld(code);
@@ -231,7 +224,6 @@ TEST_F(ActivityLoggerTest, LinkElement)
TEST_F(ActivityLoggerTest, InputElement)
{
- v8::HandleScope scope(v8::Isolate::GetCurrent());
const char* code =
"document.body.innerHTML = '<input type=\\\'submit\\\' formaction=\\\'data:text/html;charset=utf-8,\\\'></input>';"
"document.body.innerHTML = '<input></input>';"
@@ -246,7 +238,6 @@ TEST_F(ActivityLoggerTest, InputElement)
"blinkAddElement | input | submit | data:text/html;charset=utf-8,\n"
"blinkAddElement | input | | \n"
"blinkAddElement | input | | \n"
- "HTMLInputElement.formAction | data:text/html;charset=utf-8,\n"
"blinkAddElement | input | submit | data:text/html;charset=utf-8,\n"
"blinkAddElement | input | submit | data:text/html;charset=utf-8,";
executeScriptInMainWorld(code);
@@ -257,7 +248,6 @@ TEST_F(ActivityLoggerTest, InputElement)
TEST_F(ActivityLoggerTest, ButtonElement)
{
- v8::HandleScope scope(v8::Isolate::GetCurrent());
const char* code =
"document.body.innerHTML = '<button type=\\\'submit\\\' formmethod=\\\'post\\\' formaction=\\\'data:text/html;charset=utf-8,\\\'></input>';"
"document.body.innerHTML = '<button></button>';"
@@ -273,7 +263,6 @@ TEST_F(ActivityLoggerTest, ButtonElement)
"blinkAddElement | button | submit | post | data:text/html;charset=utf-8,\n"
"blinkAddElement | button | | | \n"
"blinkAddElement | button | | | \n"
- "HTMLButtonElement.formAction | data:text/html;charset=utf-8,\n"
"blinkAddElement | button | submit | post | data:text/html;charset=utf-8,\n"
"blinkAddElement | button | submit | post | data:text/html;charset=utf-8,";
executeScriptInMainWorld(code);
@@ -284,7 +273,6 @@ TEST_F(ActivityLoggerTest, ButtonElement)
TEST_F(ActivityLoggerTest, FormElement)
{
- v8::HandleScope scope(v8::Isolate::GetCurrent());
const char* code =
"document.body.innerHTML = '<form method=\\\'post\\\' action=\\\'data:text/html;charset=utf-8,\\\'></form>';"
"document.body.innerHTML = '<form></form>';"
@@ -299,7 +287,6 @@ TEST_F(ActivityLoggerTest, FormElement)
"blinkAddElement | form | post | data:text/html;charset=utf-8,\n"
"blinkAddElement | form | | \n"
"blinkAddElement | form | | \n"
- "HTMLFormElement.action | data:text/html;charset=utf-8,\n"
"blinkAddElement | form | post | data:text/html;charset=utf-8,\n"
"blinkAddElement | form | post | data:text/html;charset=utf-8,";
executeScriptInMainWorld(code);
@@ -308,4 +295,142 @@ TEST_F(ActivityLoggerTest, FormElement)
ASSERT_TRUE(verifyActivities(expectedActivities));
}
+TEST_F(ActivityLoggerTest, IFrameSrcAttribute)
+{
+ const char* code =
+ "document.body.innerHTML = '<iframe src=\\\'data:text/html;charset=utf-8,A\\\'></iframe>';"
+ "var iframe = document.getElementsByTagName('iframe')[0];"
+ "iframe.src = 'data:text/html;charset=utf-8,B';"
+ "iframe.setAttribute('src', 'data:text/html;charset=utf-8,C');"
+ "iframe.setAttributeNS('', 'src', 'data:text/html;charset=utf-8,D');"
+ "var attr = document.createAttribute('src');"
+ "attr.value = 'data:text/html;charset=utf-8,E';"
+ "iframe.setAttributeNode(attr);";
+ const char* expectedActivities =
+ "blinkAddElement | iframe | data:text/html;charset=utf-8,A\n"
+ "blinkSetAttribute | iframe | src | data:text/html;charset=utf-8,A | data:text/html;charset=utf-8,B\n"
+ "blinkSetAttribute | iframe | src | data:text/html;charset=utf-8,B | data:text/html;charset=utf-8,C\n"
+ "blinkSetAttribute | iframe | src | data:text/html;charset=utf-8,C | data:text/html;charset=utf-8,D\n"
+ "blinkSetAttribute | iframe | src | data:text/html;charset=utf-8,D | data:text/html;charset=utf-8,E";
+ executeScriptInMainWorld(code);
+ ASSERT_TRUE(verifyActivities(""));
+ executeScriptInIsolatedWorld(code);
+ ASSERT_TRUE(verifyActivities(expectedActivities));
+}
+
+TEST_F(ActivityLoggerTest, AnchorHrefAttribute)
+{
+ const char* code =
+ "document.body.innerHTML = '<a href=\\\'data:text/html;charset=utf-8,A\\\'></a>';"
+ "var a = document.getElementsByTagName('a')[0];"
+ "a.href = 'data:text/html;charset=utf-8,B';"
+ "a.setAttribute('href', 'data:text/html;charset=utf-8,C');"
+ "a.setAttributeNS('', 'href', 'data:text/html;charset=utf-8,D');"
+ "var attr = document.createAttribute('href');"
+ "attr.value = 'data:text/html;charset=utf-8,E';"
+ "a.setAttributeNode(attr);";
+ const char* expectedActivities =
+ "blinkAddElement | a | data:text/html;charset=utf-8,A\n"
+ "blinkSetAttribute | a | href | data:text/html;charset=utf-8,A | data:text/html;charset=utf-8,B\n"
+ "blinkSetAttribute | a | href | data:text/html;charset=utf-8,B | data:text/html;charset=utf-8,C\n"
+ "blinkSetAttribute | a | href | data:text/html;charset=utf-8,C | data:text/html;charset=utf-8,D\n"
+ "blinkSetAttribute | a | href | data:text/html;charset=utf-8,D | data:text/html;charset=utf-8,E";
+ executeScriptInMainWorld(code);
+ ASSERT_TRUE(verifyActivities(""));
+ executeScriptInIsolatedWorld(code);
+ ASSERT_TRUE(verifyActivities(expectedActivities));
+}
+
+TEST_F(ActivityLoggerTest, LinkHrefAttribute)
+{
+ const char* code =
+ "document.body.innerHTML = '<link rel=\\\'stylesheet\\\' href=\\\'data:text/css;charset=utf-8,A\\\'></link>';"
+ "var link = document.getElementsByTagName('link')[0];"
+ "link.href = 'data:text/css;charset=utf-8,B';"
+ "link.setAttribute('href', 'data:text/css;charset=utf-8,C');"
+ "link.setAttributeNS('', 'href', 'data:text/css;charset=utf-8,D');"
+ "var attr = document.createAttribute('href');"
+ "attr.value = 'data:text/css;charset=utf-8,E';"
+ "link.setAttributeNode(attr);";
+ const char* expectedActivities =
+ "blinkAddElement | link | stylesheet | data:text/css;charset=utf-8,A\n"
+ "blinkSetAttribute | link | href | data:text/css;charset=utf-8,A | data:text/css;charset=utf-8,B\n"
+ "blinkSetAttribute | link | href | data:text/css;charset=utf-8,B | data:text/css;charset=utf-8,C\n"
+ "blinkSetAttribute | link | href | data:text/css;charset=utf-8,C | data:text/css;charset=utf-8,D\n"
+ "blinkSetAttribute | link | href | data:text/css;charset=utf-8,D | data:text/css;charset=utf-8,E";
+ executeScriptInMainWorld(code);
+ ASSERT_TRUE(verifyActivities(""));
+ executeScriptInIsolatedWorld(code);
+ ASSERT_TRUE(verifyActivities(expectedActivities));
+}
+
+TEST_F(ActivityLoggerTest, InputFormActionAttribute)
+{
+ const char* code =
+ "document.body.innerHTML = '<input type=\\\'button\\\' formaction=\\\'data:text/html;charset=utf-8,A\\\'></input>';"
+ "var input = document.getElementsByTagName('input')[0];"
+ "input.formAction = 'data:text/html;charset=utf-8,B';"
+ "input.setAttribute('formaction', 'data:text/html;charset=utf-8,C');"
+ "input.setAttributeNS('', 'formaction', 'data:text/html;charset=utf-8,D');"
+ "var attr = document.createAttribute('formaction');"
+ "attr.value = 'data:text/html;charset=utf-8,E';"
+ "input.setAttributeNode(attr);";
+ const char* expectedActivities =
+ "blinkAddElement | input | button | data:text/html;charset=utf-8,A\n"
+ "blinkSetAttribute | input | formaction | data:text/html;charset=utf-8,A | data:text/html;charset=utf-8,B\n"
+ "blinkSetAttribute | input | formaction | data:text/html;charset=utf-8,B | data:text/html;charset=utf-8,C\n"
+ "blinkSetAttribute | input | formaction | data:text/html;charset=utf-8,C | data:text/html;charset=utf-8,D\n"
+ "blinkSetAttribute | input | formaction | data:text/html;charset=utf-8,D | data:text/html;charset=utf-8,E";
+ executeScriptInMainWorld(code);
+ ASSERT_TRUE(verifyActivities(""));
+ executeScriptInIsolatedWorld(code);
+ ASSERT_TRUE(verifyActivities(expectedActivities));
+}
+
+TEST_F(ActivityLoggerTest, ButtonFormActionAttribute)
+{
+ const char* code =
+ "document.body.innerHTML = '<button type=\\\'submit\\\' formmethod=\\\'post\\\' formaction=\\\'data:text/html;charset=utf-8,A\\\'></input>';"
+ "var button = document.getElementsByTagName('button')[0];"
+ "button.formAction = 'data:text/html;charset=utf-8,B';"
+ "button.setAttribute('formaction', 'data:text/html;charset=utf-8,C');"
+ "button.setAttributeNS('', 'formaction', 'data:text/html;charset=utf-8,D');"
+ "var attr = document.createAttribute('formaction');"
+ "attr.value = 'data:text/html;charset=utf-8,E';"
+ "button.setAttributeNode(attr);";
+ const char* expectedActivities =
+ "blinkAddElement | button | submit | post | data:text/html;charset=utf-8,A\n"
+ "blinkSetAttribute | button | formaction | data:text/html;charset=utf-8,A | data:text/html;charset=utf-8,B\n"
+ "blinkSetAttribute | button | formaction | data:text/html;charset=utf-8,B | data:text/html;charset=utf-8,C\n"
+ "blinkSetAttribute | button | formaction | data:text/html;charset=utf-8,C | data:text/html;charset=utf-8,D\n"
+ "blinkSetAttribute | button | formaction | data:text/html;charset=utf-8,D | data:text/html;charset=utf-8,E";
+ executeScriptInMainWorld(code);
+ ASSERT_TRUE(verifyActivities(""));
+ executeScriptInIsolatedWorld(code);
+ ASSERT_TRUE(verifyActivities(expectedActivities));
+}
+
+TEST_F(ActivityLoggerTest, FormActionAttribute)
+{
+ const char* code =
+ "document.body.innerHTML = '<form action=\\\'data:text/html;charset=utf-8,A\\\'></form>';"
+ "var form = document.getElementsByTagName('form')[0];"
+ "form.action = 'data:text/html;charset=utf-8,B';"
+ "form.setAttribute('action', 'data:text/html;charset=utf-8,C');"
+ "form.setAttributeNS('', 'action', 'data:text/html;charset=utf-8,D');"
+ "var attr = document.createAttribute('action');"
+ "attr.value = 'data:text/html;charset=utf-8,E';"
+ "form.setAttributeNode(attr);";
+ const char* expectedActivities =
+ "blinkAddElement | form | | data:text/html;charset=utf-8,A\n"
+ "blinkSetAttribute | form | action | data:text/html;charset=utf-8,A | data:text/html;charset=utf-8,B\n"
+ "blinkSetAttribute | form | action | data:text/html;charset=utf-8,B | data:text/html;charset=utf-8,C\n"
+ "blinkSetAttribute | form | action | data:text/html;charset=utf-8,C | data:text/html;charset=utf-8,D\n"
+ "blinkSetAttribute | form | action | data:text/html;charset=utf-8,D | data:text/html;charset=utf-8,E";
+ executeScriptInMainWorld(code);
+ ASSERT_TRUE(verifyActivities(""));
+ executeScriptInIsolatedWorld(code);
+ ASSERT_TRUE(verifyActivities(expectedActivities));
+}
+
} // namespace
« 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