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

Side by Side Diff: chrome/browser/translate/translate_manager_browsertest.cc

Issue 14494004: Added the 'Translation Logs' tab to chrome://translate-internals/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: (Rebasing) Created 7 years, 7 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 5
6 #include <algorithm> 6 #include <algorithm>
7 #include <set> 7 #include <set>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/json/json_writer.h" 10 #include "base/json/json_writer.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "base/prefs/pref_change_registrar.h" 12 #include "base/prefs/pref_change_registrar.h"
13 #include "base/prefs/pref_service.h" 13 #include "base/prefs/pref_service.h"
14 #include "base/stringprintf.h" 14 #include "base/stringprintf.h"
15 #include "base/utf_string_conversions.h" 15 #include "base/utf_string_conversions.h"
16 #include "base/values.h" 16 #include "base/values.h"
17 #include "chrome/app/chrome_command_ids.h" 17 #include "chrome/app/chrome_command_ids.h"
18 #include "chrome/browser/extensions/test_extension_system.h" 18 #include "chrome/browser/extensions/test_extension_system.h"
19 #include "chrome/browser/infobars/infobar.h" 19 #include "chrome/browser/infobars/infobar.h"
20 #include "chrome/browser/infobars/infobar_service.h" 20 #include "chrome/browser/infobars/infobar_service.h"
21 #include "chrome/browser/prefs/session_startup_pref.h" 21 #include "chrome/browser/prefs/session_startup_pref.h"
22 #include "chrome/browser/tab_contents/render_view_context_menu.h" 22 #include "chrome/browser/tab_contents/render_view_context_menu.h"
23 #include "chrome/browser/translate/translate_infobar_delegate.h" 23 #include "chrome/browser/translate/translate_infobar_delegate.h"
24 #include "chrome/browser/translate/translate_manager.h" 24 #include "chrome/browser/translate/translate_manager.h"
25 #include "chrome/browser/translate/translate_prefs.h" 25 #include "chrome/browser/translate/translate_prefs.h"
26 #include "chrome/browser/translate/translate_tab_helper.h" 26 #include "chrome/browser/translate/translate_tab_helper.h"
27 #include "chrome/browser/ui/browser.h" 27 #include "chrome/browser/ui/browser.h"
28 #include "chrome/browser/ui/tabs/tab_strip_model.h" 28 #include "chrome/browser/ui/tabs/tab_strip_model.h"
29 #include "chrome/common/chrome_notification_types.h" 29 #include "chrome/common/chrome_notification_types.h"
30 #include "chrome/common/language_detection_details.h"
30 #include "chrome/common/pref_names.h" 31 #include "chrome/common/pref_names.h"
31 #include "chrome/common/render_messages.h" 32 #include "chrome/common/render_messages.h"
32 #include "chrome/common/url_constants.h" 33 #include "chrome/common/url_constants.h"
33 #include "chrome/test/base/chrome_render_view_host_test_harness.h" 34 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
34 #include "chrome/test/base/in_process_browser_test.h" 35 #include "chrome/test/base/in_process_browser_test.h"
35 #include "chrome/test/base/testing_browser_process.h" 36 #include "chrome/test/base/testing_browser_process.h"
36 #include "chrome/test/base/testing_profile.h" 37 #include "chrome/test/base/testing_profile.h"
37 #include "chrome/test/base/ui_test_utils.h" 38 #include "chrome/test/base/ui_test_utils.h"
38 #include "content/public/browser/navigation_details.h" 39 #include "content/public/browser/navigation_details.h"
39 #include "content/public/browser/navigation_entry.h" 40 #include "content/public/browser/navigation_entry.h"
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 // for that navigation. 106 // for that navigation.
106 void SimulateNavigation(const GURL& url, 107 void SimulateNavigation(const GURL& url,
107 const std::string& lang, 108 const std::string& lang,
108 bool page_translatable) { 109 bool page_translatable) {
109 NavigateAndCommit(url); 110 NavigateAndCommit(url);
110 SimulateOnTranslateLanguageDetermined(lang, page_translatable); 111 SimulateOnTranslateLanguageDetermined(lang, page_translatable);
111 } 112 }
112 113
113 void SimulateOnTranslateLanguageDetermined(const std::string& lang, 114 void SimulateOnTranslateLanguageDetermined(const std::string& lang,
114 bool page_translatable) { 115 bool page_translatable) {
116 LanguageDetectionDetails details;
117 details.adopted_language = lang;
115 RenderViewHostTester::TestOnMessageReceived( 118 RenderViewHostTester::TestOnMessageReceived(
116 rvh(), 119 rvh(),
117 ChromeViewHostMsg_TranslateLanguageDetermined( 120 ChromeViewHostMsg_TranslateLanguageDetermined(
118 0, lang, page_translatable)); 121 0, details, page_translatable));
119 } 122 }
120 123
121 bool GetTranslateMessage(int* page_id, 124 bool GetTranslateMessage(int* page_id,
122 std::string* original_lang, 125 std::string* original_lang,
123 std::string* target_lang) { 126 std::string* target_lang) {
124 const IPC::Message* message = 127 const IPC::Message* message =
125 process()->sink().GetFirstMessageMatching( 128 process()->sink().GetFirstMessageMatching(
126 ChromeViewMsg_TranslatePage::ID); 129 ChromeViewMsg_TranslatePage::ID);
127 if (!message) 130 if (!message)
128 return false; 131 return false;
(...skipping 1363 matching lines...) Expand 10 before | Expand all | Expand 10 after
1492 MAYBE_PRE_TranslateSessionRestore) { 1495 MAYBE_PRE_TranslateSessionRestore) {
1493 SessionStartupPref pref(SessionStartupPref::LAST); 1496 SessionStartupPref pref(SessionStartupPref::LAST);
1494 SessionStartupPref::SetStartupPref(browser()->profile(), pref); 1497 SessionStartupPref::SetStartupPref(browser()->profile(), pref);
1495 1498
1496 WebContents* current_web_contents = 1499 WebContents* current_web_contents =
1497 browser()->tab_strip_model()->GetActiveWebContents(); 1500 browser()->tab_strip_model()->GetActiveWebContents();
1498 TranslateTabHelper* translate_tab_helper = 1501 TranslateTabHelper* translate_tab_helper =
1499 TranslateTabHelper::FromWebContents(current_web_contents); 1502 TranslateTabHelper::FromWebContents(current_web_contents);
1500 content::Source<WebContents> source(current_web_contents); 1503 content::Source<WebContents> source(current_web_contents);
1501 1504
1502 ui_test_utils::WindowedNotificationObserverWithDetails<std::string> 1505 ui_test_utils::WindowedNotificationObserverWithDetails<
1506 LanguageDetectionDetails>
1503 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, 1507 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED,
1504 source); 1508 source);
1505 1509
1506 GURL french_url = ui_test_utils::GetTestUrl( 1510 GURL french_url = ui_test_utils::GetTestUrl(
1507 base::FilePath(), base::FilePath(FILE_PATH_LITERAL("french_page.html"))); 1511 base::FilePath(), base::FilePath(FILE_PATH_LITERAL("french_page.html")));
1508 ui_test_utils::NavigateToURL(browser(), french_url); 1512 ui_test_utils::NavigateToURL(browser(), french_url);
1509 fr_language_detected_signal.Wait(); 1513 fr_language_detected_signal.Wait();
1510 std::string lang; 1514 LanguageDetectionDetails details;
1511 EXPECT_TRUE(fr_language_detected_signal.GetDetailsFor( 1515 EXPECT_TRUE(fr_language_detected_signal.GetDetailsFor(
1512 source.map_key(), &lang)); 1516 source.map_key(), &details));
1513 EXPECT_EQ("fr", lang); 1517 EXPECT_EQ("fr", details.adopted_language);
1514 EXPECT_EQ("fr", translate_tab_helper->language_state().original_language()); 1518 EXPECT_EQ("fr", translate_tab_helper->language_state().original_language());
1515 } 1519 }
1516 1520
1517 #if defined (OS_WIN) 1521 #if defined (OS_WIN)
1518 #define MAYBE_TranslateSessionRestore DISABLED_TranslateSessionRestore 1522 #define MAYBE_TranslateSessionRestore DISABLED_TranslateSessionRestore
1519 #else 1523 #else
1520 #define MAYBE_TranslateSessionRestore TranslateSessionRestore 1524 #define MAYBE_TranslateSessionRestore TranslateSessionRestore
1521 #endif 1525 #endif
1522 IN_PROC_BROWSER_TEST_F(InProcessBrowserTest, MAYBE_TranslateSessionRestore) { 1526 IN_PROC_BROWSER_TEST_F(InProcessBrowserTest, MAYBE_TranslateSessionRestore) {
1523 WebContents* current_web_contents = 1527 WebContents* current_web_contents =
1524 browser()->tab_strip_model()->GetActiveWebContents(); 1528 browser()->tab_strip_model()->GetActiveWebContents();
1525 content::Source<WebContents> source(current_web_contents); 1529 content::Source<WebContents> source(current_web_contents);
1526 1530
1527 ui_test_utils::WindowedNotificationObserverWithDetails<std::string> 1531 ui_test_utils::WindowedNotificationObserverWithDetails<
1532 LanguageDetectionDetails>
1528 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, 1533 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED,
1529 source); 1534 source);
1530 fr_language_detected_signal.Wait(); 1535 fr_language_detected_signal.Wait();
1531 } 1536 }
OLDNEW
« no previous file with comments | « chrome/browser/translate/translate_manager.cc ('k') | chrome/browser/translate/translate_tab_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698