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

Side by Side Diff: chrome/browser/loadtimes_extension_bindings_browsertest.cc

Issue 11753009: Simplify ExecuteJavaScript* functions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update prerender_browsertest.cc. Created 7 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/ui/browser.h" 5 #include "chrome/browser/ui/browser.h"
6 #include "chrome/browser/ui/browser_tabstrip.h" 6 #include "chrome/browser/ui/browser_tabstrip.h"
7 #include "chrome/test/base/in_process_browser_test.h" 7 #include "chrome/test/base/in_process_browser_test.h"
8 #include "chrome/test/base/ui_test_utils.h" 8 #include "chrome/test/base/ui_test_utils.h"
9 #include "content/public/browser/web_contents.h" 9 #include "content/public/browser/web_contents.h"
10 #include "content/public/test/browser_test_utils.h" 10 #include "content/public/test/browser_test_utils.h"
11 #include "net/test/test_server.h" 11 #include "net/test/test_server.h"
12 12
13 class LoadtimesExtensionBindingsTest : public InProcessBrowserTest { 13 class LoadtimesExtensionBindingsTest : public InProcessBrowserTest {
14 public: 14 public:
15 LoadtimesExtensionBindingsTest() {} 15 LoadtimesExtensionBindingsTest() {}
16 16
17 void CompareBeforeAndAfter() { 17 void CompareBeforeAndAfter() {
18 // TODO(simonjam): There's a race on whether or not first paint is populated 18 // TODO(simonjam): There's a race on whether or not first paint is populated
19 // before we read them. We ought to test that too. Until the race is fixed, 19 // before we read them. We ought to test that too. Until the race is fixed,
20 // zero it out so the test is stable. 20 // zero it out so the test is stable.
21 content::RenderViewHost* rvh = 21 content::WebContents* contents = chrome::GetActiveWebContents(browser());
22 chrome::GetActiveWebContents(browser())->GetRenderViewHost(); 22 ASSERT_TRUE(content::ExecuteScript(
23 ASSERT_TRUE(content::ExecuteJavaScript( 23 contents,
24 rvh,
25 "",
26 "window.before.firstPaintAfterLoadTime = 0;" 24 "window.before.firstPaintAfterLoadTime = 0;"
27 "window.before.firstPaintTime = 0;" 25 "window.before.firstPaintTime = 0;"
28 "window.after.firstPaintAfterLoadTime = 0;" 26 "window.after.firstPaintAfterLoadTime = 0;"
29 "window.after.firstPaintTime = 0;")); 27 "window.after.firstPaintTime = 0;"));
30 28
31 std::string before; 29 std::string before;
32 std::string after; 30 std::string after;
33 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString( 31 ASSERT_TRUE(content::ExecuteScriptAndExtractString(
34 rvh, 32 contents,
35 "",
36 "window.domAutomationController.send(" 33 "window.domAutomationController.send("
37 " JSON.stringify(before))", 34 " JSON.stringify(before))",
38 &before)); 35 &before));
39 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString( 36 ASSERT_TRUE(content::ExecuteScriptAndExtractString(
40 rvh, 37 contents,
41 "",
42 "window.domAutomationController.send(" 38 "window.domAutomationController.send("
43 " JSON.stringify(after))", 39 " JSON.stringify(after))",
44 &after)); 40 &after));
45 EXPECT_EQ(before, after); 41 EXPECT_EQ(before, after);
46 } 42 }
47 }; 43 };
48 44
49 IN_PROC_BROWSER_TEST_F(LoadtimesExtensionBindingsTest, 45 IN_PROC_BROWSER_TEST_F(LoadtimesExtensionBindingsTest,
50 LoadTimesSameAfterClientInDocNavigation) { 46 LoadTimesSameAfterClientInDocNavigation) {
51 ASSERT_TRUE(test_server()->Start()); 47 ASSERT_TRUE(test_server()->Start());
52 GURL plain_url = test_server()->GetURL("blank"); 48 GURL plain_url = test_server()->GetURL("blank");
53 ui_test_utils::NavigateToURL(browser(), plain_url); 49 ui_test_utils::NavigateToURL(browser(), plain_url);
54 content::RenderViewHost* rvh = 50 content::WebContents* contents = chrome::GetActiveWebContents(browser());
55 chrome::GetActiveWebContents(browser())->GetRenderViewHost(); 51 ASSERT_TRUE(content::ExecuteScript(
56 ASSERT_TRUE(content::ExecuteJavaScript( 52 contents, "window.before = window.chrome.loadTimes()"));
57 rvh, "", "window.before = window.chrome.loadTimes()")); 53 ASSERT_TRUE(content::ExecuteScript(
58 ASSERT_TRUE(content::ExecuteJavaScript( 54 contents, "window.location.href = window.location + \"#\""));
59 rvh, "", "window.location.href = window.location + \"#\"")); 55 ASSERT_TRUE(content::ExecuteScript(
60 ASSERT_TRUE(content::ExecuteJavaScript( 56 contents, "window.after = window.chrome.loadTimes()"));
61 rvh, "", "window.after = window.chrome.loadTimes()"));
62 CompareBeforeAndAfter(); 57 CompareBeforeAndAfter();
63 } 58 }
64 59
65 IN_PROC_BROWSER_TEST_F(LoadtimesExtensionBindingsTest, 60 IN_PROC_BROWSER_TEST_F(LoadtimesExtensionBindingsTest,
66 LoadTimesSameAfterUserInDocNavigation) { 61 LoadTimesSameAfterUserInDocNavigation) {
67 ASSERT_TRUE(test_server()->Start()); 62 ASSERT_TRUE(test_server()->Start());
68 GURL plain_url = test_server()->GetURL("blank"); 63 GURL plain_url = test_server()->GetURL("blank");
69 GURL hash_url(plain_url.spec() + "#"); 64 GURL hash_url(plain_url.spec() + "#");
70 ui_test_utils::NavigateToURL(browser(), plain_url); 65 ui_test_utils::NavigateToURL(browser(), plain_url);
71 content::RenderViewHost* rvh = 66 content::WebContents* contents = chrome::GetActiveWebContents(browser());
72 chrome::GetActiveWebContents(browser())->GetRenderViewHost(); 67 ASSERT_TRUE(content::ExecuteScript(
73 ASSERT_TRUE(content::ExecuteJavaScript( 68 contents, "window.before = window.chrome.loadTimes()"));
74 rvh, "", "window.before = window.chrome.loadTimes()"));
75 ui_test_utils::NavigateToURL(browser(), hash_url); 69 ui_test_utils::NavigateToURL(browser(), hash_url);
76 ASSERT_TRUE(content::ExecuteJavaScript( 70 ASSERT_TRUE(content::ExecuteScript(
77 rvh, "", "window.after = window.chrome.loadTimes()")); 71 contents, "window.after = window.chrome.loadTimes()"));
78 CompareBeforeAndAfter(); 72 CompareBeforeAndAfter();
79 } 73 }
OLDNEW
« no previous file with comments | « chrome/browser/instant/instant_browsertest.cc ('k') | chrome/browser/net/load_timing_observer_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698