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

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

Issue 1123783002: Add ExecuteJavaScriptForTest and make all tests use it (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 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
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 "base/files/file_path.h" 5 #include "base/files/file_path.h"
6 #include "base/strings/utf_string_conversions.h" 6 #include "base/strings/utf_string_conversions.h"
7 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h" 7 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h"
8 #include "chrome/browser/renderer_context_menu/render_view_context_menu_browsert est_util.h" 8 #include "chrome/browser/renderer_context_menu/render_view_context_menu_browsert est_util.h"
9 #include "chrome/browser/ui/browser.h" 9 #include "chrome/browser/ui/browser.h"
10 #include "chrome/browser/ui/browser_commands.h" 10 #include "chrome/browser/ui/browser_commands.h"
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 content::WebContents* tab = 123 content::WebContents* tab =
124 browser()->tab_strip_model()->GetActiveWebContents(); 124 browser()->tab_strip_model()->GetActiveWebContents();
125 125
126 EXPECT_NO_FATAL_FAILURE(LoadTestPageAndWaitForMouseOver(tab)); 126 EXPECT_NO_FATAL_FAILURE(LoadTestPageAndWaitForMouseOver(tab));
127 127
128 ContextMenuWaiter menu_observer(content::NotificationService::AllSources()); 128 ContextMenuWaiter menu_observer(content::NotificationService::AllSources());
129 ui_controls::SendMouseClick(ui_controls::RIGHT); 129 ui_controls::SendMouseClick(ui_controls::RIGHT);
130 // Wait until the context menu is opened and closed. 130 // Wait until the context menu is opened and closed.
131 menu_observer.WaitForMenuOpenAndClose(); 131 menu_observer.WaitForMenuOpenAndClose();
132 132
133 tab->GetMainFrame()->ExecuteJavaScript(base::ASCIIToUTF16("done()")); 133 tab->GetMainFrame()->ExecuteJavaScriptForTests(base::ASCIIToUTF16("done()"));
134 const base::string16 success_title = base::ASCIIToUTF16("without mouseleave"); 134 const base::string16 success_title = base::ASCIIToUTF16("without mouseleave");
135 const base::string16 failure_title = base::ASCIIToUTF16("with mouseleave"); 135 const base::string16 failure_title = base::ASCIIToUTF16("with mouseleave");
136 content::TitleWatcher done_title_watcher(tab, success_title); 136 content::TitleWatcher done_title_watcher(tab, success_title);
137 done_title_watcher.AlsoWaitForTitle(failure_title); 137 done_title_watcher.AlsoWaitForTitle(failure_title);
138 138
139 EXPECT_EQ(success_title, done_title_watcher.WaitAndGetTitle()); 139 EXPECT_EQ(success_title, done_title_watcher.WaitAndGetTitle());
140 } 140 }
141 141
142 #if defined(OS_WIN) || defined(OS_MACOSX) 142 #if defined(OS_WIN) || defined(OS_MACOSX)
143 // Test that a mouseleave is not triggered when showing a modal dialog. 143 // Test that a mouseleave is not triggered when showing a modal dialog.
144 // Sample regression: crbug.com/394672 144 // Sample regression: crbug.com/394672
145 // TODO: Make test pass on OS_WIN and OS_MACOSX 145 // TODO: Make test pass on OS_WIN and OS_MACOSX
146 // OS_WIN: http://crbug.com/450138 146 // OS_WIN: http://crbug.com/450138
147 // OS_MACOSX: Missing automation provider support: http://crbug.com/45892. 147 // OS_MACOSX: Missing automation provider support: http://crbug.com/45892.
148 #define MAYBE_ModalDialog DISABLED_ModalDialog 148 #define MAYBE_ModalDialog DISABLED_ModalDialog
149 #else 149 #else
150 #define MAYBE_ModalDialog ModalDialog 150 #define MAYBE_ModalDialog ModalDialog
151 #endif 151 #endif
152 152
153 IN_PROC_BROWSER_TEST_F(MouseLeaveTest, MAYBE_ModalDialog) { 153 IN_PROC_BROWSER_TEST_F(MouseLeaveTest, MAYBE_ModalDialog) {
154 content::WebContents* tab = 154 content::WebContents* tab =
155 browser()->tab_strip_model()->GetActiveWebContents(); 155 browser()->tab_strip_model()->GetActiveWebContents();
156 156
157 EXPECT_NO_FATAL_FAILURE(LoadTestPageAndWaitForMouseOver(tab)); 157 EXPECT_NO_FATAL_FAILURE(LoadTestPageAndWaitForMouseOver(tab));
158 158
159 tab->GetMainFrame()->ExecuteJavaScript(base::UTF8ToUTF16("alert()")); 159 tab->GetMainFrame()->ExecuteJavaScriptForTests(base::UTF8ToUTF16("alert()"));
160 app_modal::AppModalDialog* alert = ui_test_utils::WaitForAppModalDialog(); 160 app_modal::AppModalDialog* alert = ui_test_utils::WaitForAppModalDialog();
161 // Cancel the dialog. 161 // Cancel the dialog.
162 alert->CloseModalDialog(); 162 alert->CloseModalDialog();
163 163
164 tab->GetMainFrame()->ExecuteJavaScript(base::ASCIIToUTF16("done()")); 164 tab->GetMainFrame()->ExecuteJavaScriptForTests(base::ASCIIToUTF16("done()"));
165 const base::string16 success_title = base::ASCIIToUTF16("without mouseleave"); 165 const base::string16 success_title = base::ASCIIToUTF16("without mouseleave");
166 const base::string16 failure_title = base::ASCIIToUTF16("with mouseleave"); 166 const base::string16 failure_title = base::ASCIIToUTF16("with mouseleave");
167 content::TitleWatcher done_title_watcher(tab, success_title); 167 content::TitleWatcher done_title_watcher(tab, success_title);
168 done_title_watcher.AlsoWaitForTitle(failure_title); 168 done_title_watcher.AlsoWaitForTitle(failure_title);
169 EXPECT_EQ(success_title, done_title_watcher.WaitAndGetTitle()); 169 EXPECT_EQ(success_title, done_title_watcher.WaitAndGetTitle());
170 } 170 }
171 171
172 } // namespace 172 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/geolocation/geolocation_browsertest.cc ('k') | chrome/browser/prerender/prerender_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698