Chromium Code Reviews| Index: Source/web/tests/ActivityLoggerTest.cpp |
| diff --git a/Source/web/tests/ActivityLoggerTest.cpp b/Source/web/tests/ActivityLoggerTest.cpp |
| index a2cdc6db5aad6737c85dd4d3fd24bd159a315259..9e280738dbae3206e2f80ef4fc5b1566452eed4e 100644 |
| --- a/Source/web/tests/ActivityLoggerTest.cpp |
| +++ b/Source/web/tests/ActivityLoggerTest.cpp |
| @@ -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); |
| @@ -169,7 +168,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); |
| @@ -194,7 +192,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); |
| @@ -220,7 +217,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); |
| @@ -246,7 +242,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); |
| @@ -273,7 +268,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); |
| @@ -299,7 +293,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 +301,148 @@ TEST_F(ActivityLoggerTest, FormElement) |
| ASSERT_TRUE(verifyActivities(expectedActivities)); |
| } |
| +TEST_F(ActivityLoggerTest, IFrameSrcAttribute) |
| +{ |
| + 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.
|
| + 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) |
| +{ |
| + v8::HandleScope scope(v8::Isolate::GetCurrent()); |
| + 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) |
| +{ |
| + v8::HandleScope scope(v8::Isolate::GetCurrent()); |
| + 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) |
| +{ |
| + v8::HandleScope scope(v8::Isolate::GetCurrent()); |
| + 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) |
| +{ |
| + v8::HandleScope scope(v8::Isolate::GetCurrent()); |
| + 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) |
| +{ |
| + v8::HandleScope scope(v8::Isolate::GetCurrent()); |
| + 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 |