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

Unified Diff: chrome/browser/extensions/web_view_browsertest.cc

Issue 11728003: Change ExecuteJavaScript* helper functions in browser_test_utils.{h,cc} (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Adding files for gpu_tests and NaCl browser tests. Created 7 years, 12 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
Index: chrome/browser/extensions/web_view_browsertest.cc
diff --git a/chrome/browser/extensions/web_view_browsertest.cc b/chrome/browser/extensions/web_view_browsertest.cc
index 158fc3e937287c9d1af7f7933a23b0fbed04096e..cf395759dec1b5cd9594d915be6de96bdebb8d90 100644
--- a/chrome/browser/extensions/web_view_browsertest.cc
+++ b/chrome/browser/extensions/web_view_browsertest.cc
@@ -193,14 +193,13 @@ class WebViewTest : public extensions::PlatformAppBrowserTest {
void ExecuteScriptWaitForTitle(content::WebContents* web_contents,
const char* script,
const char* title) {
- std::wstring js_script = ASCIIToWide(script);
string16 expected_title(ASCIIToUTF16(title));
string16 error_title(ASCIIToUTF16("error"));
content::TitleWatcher title_watcher(web_contents, expected_title);
title_watcher.AlsoWaitForTitle(error_title);
EXPECT_TRUE(content::ExecuteJavaScript(web_contents->GetRenderViewHost(),
- std::wstring(), js_script));
+ "", script));
EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle());
}
};
@@ -220,14 +219,14 @@ IN_PROC_BROWSER_TEST_F(WebViewTest, ShimSrcAttribute) {
// storage isolation is enforced.
IN_PROC_BROWSER_TEST_F(WebViewTest, CookieIsolation) {
ASSERT_TRUE(StartTestServer());
- const std::wstring kExpire =
- L"var expire = new Date(Date.now() + 24 * 60 * 60 * 1000);";
- std::wstring cookie_script1(kExpire);
+ const std::string kExpire =
+ "var expire = new Date(Date.now() + 24 * 60 * 60 * 1000);";
+ std::string cookie_script1(kExpire);
cookie_script1.append(
- L"document.cookie = 'guest1=true; path=/; expires=' + expire + ';';");
- std::wstring cookie_script2(kExpire);
+ "document.cookie = 'guest1=true; path=/; expires=' + expire + ';';");
+ std::string cookie_script2(kExpire);
cookie_script2.append(
- L"document.cookie = 'guest2=true; path=/; expires=' + expire + ';';");
+ "document.cookie = 'guest2=true; path=/; expires=' + expire + ';';");
GURL::Replacements replace_host;
std::string host_str("localhost"); // Must stay in scope with replace_host.
@@ -250,9 +249,9 @@ IN_PROC_BROWSER_TEST_F(WebViewTest, CookieIsolation) {
&named_partition_contents2, NULL, NULL, NULL);
EXPECT_TRUE(content::ExecuteJavaScript(
- cookie_contents1->GetRenderViewHost(), std::wstring(), cookie_script1));
+ cookie_contents1->GetRenderViewHost(), "", cookie_script1));
EXPECT_TRUE(content::ExecuteJavaScript(
- cookie_contents2->GetRenderViewHost(), std::wstring(), cookie_script2));
+ cookie_contents2->GetRenderViewHost(), "", cookie_script2));
int cookie_size;
std::string cookie_value;
@@ -288,17 +287,17 @@ IN_PROC_BROWSER_TEST_F(WebViewTest, CookieIsolation) {
// but persistent ones maintain state for cookies and HTML5 storage.
IN_PROC_BROWSER_TEST_F(WebViewTest, PRE_StoragePersistence) {
ASSERT_TRUE(StartTestServer());
- const std::wstring kExpire =
- L"var expire = new Date(Date.now() + 24 * 60 * 60 * 1000);";
- std::wstring cookie_script1(kExpire);
+ const std::string kExpire =
+ "var expire = new Date(Date.now() + 24 * 60 * 60 * 1000);";
+ std::string cookie_script1(kExpire);
cookie_script1.append(
- L"document.cookie = 'inmemory=true; path=/; expires=' + expire + ';';");
- std::wstring cookie_script2(kExpire);
+ "document.cookie = 'inmemory=true; path=/; expires=' + expire + ';';");
+ std::string cookie_script2(kExpire);
cookie_script2.append(
- L"document.cookie = 'persist1=true; path=/; expires=' + expire + ';';");
- std::wstring cookie_script3(kExpire);
+ "document.cookie = 'persist1=true; path=/; expires=' + expire + ';';");
+ std::string cookie_script3(kExpire);
cookie_script3.append(
- L"document.cookie = 'persist2=true; path=/; expires=' + expire + ';';");
+ "document.cookie = 'persist2=true; path=/; expires=' + expire + ';';");
// We don't care where the main browser is on this test.
GURL blank_url("about:blank");
@@ -322,20 +321,24 @@ IN_PROC_BROWSER_TEST_F(WebViewTest, PRE_StoragePersistence) {
// Set the inmemory=true cookie for tags with inmemory partitions.
EXPECT_TRUE(content::ExecuteJavaScript(
- cookie_contents1->GetRenderViewHost(), std::wstring(),
+ cookie_contents1->GetRenderViewHost(),
+ "",
cookie_script1));
EXPECT_TRUE(content::ExecuteJavaScript(
- named_partition_contents1->GetRenderViewHost(), std::wstring(),
+ named_partition_contents1->GetRenderViewHost(),
+ "",
cookie_script1));
// For the two different persistent storage partitions, set the
// two different cookies so we can check that they aren't comingled below.
EXPECT_TRUE(content::ExecuteJavaScript(
- persistent_partition_contents1->GetRenderViewHost(), std::wstring(),
+ persistent_partition_contents1->GetRenderViewHost(),
+ "",
cookie_script2));
EXPECT_TRUE(content::ExecuteJavaScript(
- persistent_partition_contents3->GetRenderViewHost(), std::wstring(),
+ persistent_partition_contents3->GetRenderViewHost(),
+ "",
cookie_script3));
int cookie_size;
@@ -444,10 +447,10 @@ IN_PROC_BROWSER_TEST_F(WebViewTest, DOMStorageIsolation) {
GURL regular_url = test_server()->GetURL("files/title1.html");
std::string output;
- std::wstring get_local_storage(L"window.domAutomationController.send("
- L"window.localStorage.getItem('foo') || 'badval')");
- std::wstring get_session_storage(L"window.domAutomationController.send("
- L"window.sessionStorage.getItem('bar') || 'badval')");
+ std::string get_local_storage("window.domAutomationController.send("
+ "window.localStorage.getItem('foo') || 'badval')");
+ std::string get_session_storage("window.domAutomationController.send("
+ "window.sessionStorage.getItem('bar') || 'badval')");
content::WebContents* default_tag_contents1;
content::WebContents* default_tag_contents2;
@@ -461,65 +464,87 @@ IN_PROC_BROWSER_TEST_F(WebViewTest, DOMStorageIsolation) {
// Initialize the storage for the first of the two tags that share a storage
// partition.
EXPECT_TRUE(content::ExecuteJavaScript(
- storage_contents1->GetRenderViewHost(), std::wstring(),
- L"initDomStorage('page1')"));
+ storage_contents1->GetRenderViewHost(),
+ "",
+ "initDomStorage('page1')"));
// Let's test that the expected values are present in the first tag, as they
// will be overwritten once we call the initDomStorage on the second tag.
EXPECT_TRUE(ExecuteJavaScriptAndExtractString(
- storage_contents1->GetRenderViewHost(), std::wstring(),
- get_local_storage.c_str(), &output));
+ storage_contents1->GetRenderViewHost(),
+ "",
+ get_local_storage.c_str(),
+ &output));
EXPECT_STREQ("local-page1", output.c_str());
EXPECT_TRUE(ExecuteJavaScriptAndExtractString(
- storage_contents1->GetRenderViewHost(), std::wstring(),
- get_session_storage.c_str(), &output));
+ storage_contents1->GetRenderViewHost(),
+ "",
+ get_session_storage.c_str(),
+ &output));
EXPECT_STREQ("session-page1", output.c_str());
// Now, init the storage in the second tag in the same storage partition,
// which will overwrite the shared localStorage.
EXPECT_TRUE(content::ExecuteJavaScript(
- storage_contents2->GetRenderViewHost(), std::wstring(),
- L"initDomStorage('page2')"));
+ storage_contents2->GetRenderViewHost(),
+ "",
+ "initDomStorage('page2')"));
// The localStorage value now should reflect the one written through the
// second tag.
EXPECT_TRUE(ExecuteJavaScriptAndExtractString(
- storage_contents1->GetRenderViewHost(), std::wstring(),
- get_local_storage.c_str(), &output));
+ storage_contents1->GetRenderViewHost(),
+ "",
+ get_local_storage.c_str(),
+ &output));
EXPECT_STREQ("local-page2", output.c_str());
EXPECT_TRUE(ExecuteJavaScriptAndExtractString(
- storage_contents2->GetRenderViewHost(), std::wstring(),
- get_local_storage.c_str(), &output));
+ storage_contents2->GetRenderViewHost(),
+ "",
+ get_local_storage.c_str(),
+ &output));
EXPECT_STREQ("local-page2", output.c_str());
// Session storage is not shared though, as each webview tag has separate
// instance, even if they are in the same storage partition.
EXPECT_TRUE(ExecuteJavaScriptAndExtractString(
- storage_contents1->GetRenderViewHost(), std::wstring(),
- get_session_storage.c_str(), &output));
+ storage_contents1->GetRenderViewHost(),
+ "",
+ get_session_storage.c_str(),
+ &output));
EXPECT_STREQ("session-page1", output.c_str());
EXPECT_TRUE(ExecuteJavaScriptAndExtractString(
- storage_contents2->GetRenderViewHost(), std::wstring(),
- get_session_storage.c_str(), &output));
+ storage_contents2->GetRenderViewHost(),
+ "",
+ get_session_storage.c_str(),
+ &output));
EXPECT_STREQ("session-page2", output.c_str());
// Also, let's check that the main browser and another tag that doesn't share
// the same partition don't have those values stored.
EXPECT_TRUE(ExecuteJavaScriptAndExtractString(
chrome::GetWebContentsAt(browser(), 0)->GetRenderViewHost(),
- std::wstring(), get_local_storage.c_str(), &output));
+ "",
+ get_local_storage.c_str(),
+ &output));
EXPECT_STREQ("badval", output.c_str());
EXPECT_TRUE(ExecuteJavaScriptAndExtractString(
chrome::GetWebContentsAt(browser(), 0)->GetRenderViewHost(),
- std::wstring(), get_session_storage.c_str(), &output));
+ "",
+ get_session_storage.c_str(),
+ &output));
EXPECT_STREQ("badval", output.c_str());
EXPECT_TRUE(ExecuteJavaScriptAndExtractString(
- default_tag_contents1->GetRenderViewHost(), std::wstring(),
- get_local_storage.c_str(), &output));
+ default_tag_contents1->GetRenderViewHost(),
+ "",
+ get_local_storage.c_str(),
+ &output));
EXPECT_STREQ("badval", output.c_str());
EXPECT_TRUE(ExecuteJavaScriptAndExtractString(
- default_tag_contents1->GetRenderViewHost(), std::wstring(),
- get_session_storage.c_str(), &output));
+ default_tag_contents1->GetRenderViewHost(),
+ "",
+ get_session_storage.c_str(),
+ &output));
EXPECT_STREQ("badval", output.c_str());
}
@@ -548,11 +573,12 @@ IN_PROC_BROWSER_TEST_F(WebViewTest, IndexedDBIsolation) {
"readItemIDB complete");
std::string output;
- std::wstring get_value(
- L"window.domAutomationController.send(getValueIDB() || 'badval')");
+ std::string get_value(
+ "window.domAutomationController.send(getValueIDB() || 'badval')");
EXPECT_TRUE(ExecuteJavaScriptAndExtractString(
- storage_contents1->GetRenderViewHost(), std::wstring(),
+ storage_contents1->GetRenderViewHost(),
+ "",
get_value.c_str(), &output));
EXPECT_STREQ("page1", output.c_str());
@@ -564,7 +590,8 @@ IN_PROC_BROWSER_TEST_F(WebViewTest, IndexedDBIsolation) {
ExecuteScriptWaitForTitle(storage_contents2, "readItemIDB(7)",
"readItemIDB complete");
EXPECT_TRUE(ExecuteJavaScriptAndExtractString(
- storage_contents2->GetRenderViewHost(), std::wstring(),
+ storage_contents2->GetRenderViewHost(),
+ "",
get_value.c_str(), &output));
EXPECT_STREQ("page1", output.c_str());
@@ -574,22 +601,26 @@ IN_PROC_BROWSER_TEST_F(WebViewTest, IndexedDBIsolation) {
ExecuteScriptWaitForTitle(storage_contents2, "readItemIDB(7)",
"readItemIDB complete");
EXPECT_TRUE(ExecuteJavaScriptAndExtractString(
- storage_contents2->GetRenderViewHost(), std::wstring(),
+ storage_contents2->GetRenderViewHost(),
+ "",
get_value.c_str(), &output));
EXPECT_STREQ("page2", output.c_str());
// Reset the document title, otherwise the next call will not see a change and
// will hang waiting for it.
EXPECT_TRUE(content::ExecuteJavaScript(
- storage_contents1->GetRenderViewHost(), std::wstring(),
- L"document.title = 'foo'"));
+ storage_contents1->GetRenderViewHost(),
+ "",
+ "document.title = 'foo'"));
// Read through the first tag to ensure we have the second value.
ExecuteScriptWaitForTitle(storage_contents1, "readItemIDB(7)",
"readItemIDB complete");
EXPECT_TRUE(ExecuteJavaScriptAndExtractString(
- storage_contents1->GetRenderViewHost(), std::wstring(),
- get_value.c_str(), &output));
+ storage_contents1->GetRenderViewHost(),
+ "",
+ get_value.c_str(),
+ &output));
EXPECT_STREQ("page2", output.c_str());
// Now, let's confirm there is no database in the main browser and another
@@ -598,12 +629,12 @@ IN_PROC_BROWSER_TEST_F(WebViewTest, IndexedDBIsolation) {
// if it is not found. The two tags use database version 3, so we avoid
// ambiguity.
const char* script =
- "indexedDB.open('isolation').onsuccess = function(e) {"
- " if (e.target.result.version == 1)"
- " document.title = 'db not found';"
- " else "
- " document.title = 'error';"
- "}";
+ "indexedDB.open('isolation').onsuccess = function(e) {"
+ " if (e.target.result.version == 1)"
+ " document.title = 'db not found';"
+ " else "
+ " document.title = 'error';"
+ "}";
ExecuteScriptWaitForTitle(chrome::GetWebContentsAt(browser(), 0),
script, "db not found");
ExecuteScriptWaitForTitle(default_tag_contents1, script, "db not found");

Powered by Google App Engine
This is Rietveld 408576698