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

Unified Diff: chrome/browser/translate/translate_manager_browsertest.cc

Issue 1659393003: Revert of Switch the page-capturing machinery to use the new hooks. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/views/translate/translate_bubble_view_browsertest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/translate/translate_manager_browsertest.cc
diff --git a/chrome/browser/translate/translate_manager_browsertest.cc b/chrome/browser/translate/translate_manager_browsertest.cc
index dbc78affa929d51bad442f2d4b4dc5ae1f4ea26d..1a1202ba26cbe2a83aa8e3fa1c6799b2882b1fc2 100644
--- a/chrome/browser/translate/translate_manager_browsertest.cc
+++ b/chrome/browser/translate/translate_manager_browsertest.cc
@@ -23,6 +23,13 @@
public:
TranslateManagerBrowserTest() {}
~TranslateManagerBrowserTest() override {}
+
+ std::string GetLanguageFor(content::WebContents* web_contents) {
+ translate::LanguageDetectionDetails details;
+ content::Source<content::WebContents> source(web_contents);
+ language_detected_signal_->GetDetailsFor(source.map_key(), &details);
+ return details.adopted_language;
+ }
void WaitUntilLanguageDetected() { language_detected_signal_->Wait(); }
@@ -57,37 +64,40 @@
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest, PageLanguageDetection) {
ASSERT_TRUE(embedded_test_server()->Start());
+ // The InProcessBrowserTest opens a new tab, let's wait for that first.
+ WaitUntilLanguageDetected();
+
content::WebContents* current_web_contents =
browser()->tab_strip_model()->GetActiveWebContents();
+
+ std::string adopted_language = GetLanguageFor(current_web_contents);
+ EXPECT_EQ("und", adopted_language);
+
+ // Open a new tab with a page in English.
+ AddTabAtIndex(0, GURL(embedded_test_server()->GetURL("/english_page.html")),
+ ui::PAGE_TRANSITION_TYPED);
+
+ ResetObserver();
+
+ current_web_contents = browser()->tab_strip_model()->GetActiveWebContents();
ChromeTranslateClient* chrome_translate_client =
ChromeTranslateClient::FromWebContents(current_web_contents);
- // The InProcessBrowserTest opens a new tab, let's wait for that first.
- // There is a possible race condition, when the language is not yet detected,
- // so we check for that and wait if necessary.
- if (chrome_translate_client->GetLanguageState().original_language().empty())
- WaitUntilLanguageDetected();
- EXPECT_EQ("und",
- chrome_translate_client->GetLanguageState().original_language());
-
- // Open a new tab with a page in English.
- ResetObserver();
- AddTabAtIndex(0, GURL(embedded_test_server()->GetURL("/english_page.html")),
- ui::PAGE_TRANSITION_TYPED);
- current_web_contents = browser()->tab_strip_model()->GetActiveWebContents();
- chrome_translate_client =
- ChromeTranslateClient::FromWebContents(current_web_contents);
WaitUntilLanguageDetected();
-
+ adopted_language = GetLanguageFor(current_web_contents);
+ EXPECT_EQ("en", adopted_language);
EXPECT_EQ("en",
chrome_translate_client->GetLanguageState().original_language());
ResetObserver();
+
// Now navigate to a page in French.
ui_test_utils::NavigateToURL(
browser(), GURL(embedded_test_server()->GetURL("/french_page.html")));
+
WaitUntilLanguageDetected();
-
+ adopted_language = GetLanguageFor(current_web_contents);
+ EXPECT_EQ("fr", adopted_language);
EXPECT_EQ("fr",
chrome_translate_client->GetLanguageState().original_language());
}
@@ -105,18 +115,15 @@
SessionStartupPref pref(SessionStartupPref::LAST);
SessionStartupPref::SetStartupPref(browser()->profile(), pref);
+ WaitUntilLanguageDetected();
+
content::WebContents* current_web_contents =
browser()->tab_strip_model()->GetActiveWebContents();
ChromeTranslateClient* chrome_translate_client =
ChromeTranslateClient::FromWebContents(current_web_contents);
- // There is a possible race condition, when the language is not yet detected,
- // so we check for that and wait if necessary.
- if (chrome_translate_client->GetLanguageState().original_language().empty())
- WaitUntilLanguageDetected();
-
- EXPECT_EQ("und",
- chrome_translate_client->GetLanguageState().original_language());
+ std::string adopted_language = GetLanguageFor(current_web_contents);
+ EXPECT_EQ("und", adopted_language);
ResetObserver();
@@ -125,6 +132,8 @@
ui_test_utils::NavigateToURL(browser(), french_url);
WaitUntilLanguageDetected();
+ adopted_language = GetLanguageFor(current_web_contents);
+ EXPECT_EQ("fr", adopted_language);
EXPECT_EQ("fr",
chrome_translate_client->GetLanguageState().original_language());
}
@@ -136,25 +145,28 @@
#endif
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest,
MAYBE_TranslateSessionRestore) {
+ WaitUntilLanguageDetected();
+
content::WebContents* active_web_contents =
browser()->tab_strip_model()->GetActiveWebContents();
- ChromeTranslateClient* active_translate_client =
- ChromeTranslateClient::FromWebContents(active_web_contents);
- if (active_translate_client->GetLanguageState().current_language().empty())
- WaitUntilLanguageDetected();
- EXPECT_EQ("und",
- active_translate_client->GetLanguageState().current_language());
-
- // Make restored tab active to (on some platforms) initiate language
- // detection.
- browser()->tab_strip_model()->ActivateTabAt(0, true);
+ std::string active_adopted_language = GetLanguageFor(active_web_contents);
content::WebContents* restored_web_contents =
browser()->tab_strip_model()->GetWebContentsAt(0);
- ChromeTranslateClient* restored_translate_client =
- ChromeTranslateClient::FromWebContents(restored_web_contents);
- if (restored_translate_client->GetLanguageState().current_language().empty())
+ std::string restored_adopted_language = GetLanguageFor(restored_web_contents);
+
+ // One of the tabs could be still loading, let's check on that and wait,
+ // if necessary.
+ if (active_adopted_language.empty()) {
+ ResetObserver();
WaitUntilLanguageDetected();
- EXPECT_EQ("fr",
- restored_translate_client->GetLanguageState().current_language());
+ active_adopted_language = GetLanguageFor(active_web_contents);
+ } else if (restored_adopted_language.empty()) {
+ ResetObserver();
+ WaitUntilLanguageDetected();
+ restored_adopted_language = GetLanguageFor(restored_web_contents);
+ }
+
+ EXPECT_EQ("fr", restored_adopted_language);
+ EXPECT_EQ("und", active_adopted_language);
}
« no previous file with comments | « no previous file | chrome/browser/ui/views/translate/translate_bubble_view_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698