#include "components/translate/core/browser/translate_manager.h"
#include <memory>
#include "base/functional/bind.h"
#include "base/strings/utf_string_conversions.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/test/scoped_feature_list.h"
#include "base/test/scoped_logging_settings.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/language/accept_languages_service_factory.h"
#include "chrome/browser/prefs/session_startup_pref.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/search_engines/template_url_service_factory.h"
#include "chrome/browser/translate/chrome_translate_client.h"
#include "chrome/browser/translate/translate_test_utils.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/chrome_isolated_world_ids.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/search_test_utils.h"
#include "chrome/test/base/ui_test_utils.h"
#include "components/translate/core/browser/translate_browser_metrics.h"
#include "components/translate/core/browser/translate_error_details.h"
#include "components/translate/core/common/language_detection_details.h"
#include "components/translate/core/common/translate_switches.h"
#include "components/translate/core/common/translate_util.h"
#include "content/public/common/content_features.h"
#include "content/public/common/content_switches.h"
#include "content/public/test/back_forward_cache_util.h"
#include "content/public/test/browser_test.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/prerender_test_util.h"
#include "net/dns/mock_host_resolver.h"
#include "net/test/embedded_test_server/http_request.h"
#include "net/test/embedded_test_server/http_response.h"
#include "url/gurl.h"
namespace translate {
namespace {
static const char kTestValidScript[] = …;
static const char kTestScriptInitializationError[] = …;
static const char kTestScriptIdenticalLanguages[] = …;
static const char kTestScriptAvailableTimeout[] = …;
static const char kTestScriptUnexpectedScriptError[] = …;
static const char kTestScriptBadOrigin[] = …;
static const char kTestScriptLoadError[] = …;
static const char kTranslateHrefHintStatusHistogram[] = …;
class TranslateManagerBrowserTest : public InProcessBrowserTest { … };
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest, PageLanguageDetection) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest,
DISABLED_PageLanguageDetectionConflict) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest,
PageLanguageDetectionConflictOverride) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest, PageTranslationSuccess) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest,
DISABLED_PageTranslationAboutBlank) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest, HrefTranslateSuccess) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest,
HrefTranslateNotFromGoogle) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest, HrefTranslateUnsupported) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest, HrefTranslateConflict) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest, HrefTranslateNoHrefLang) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest,
HrefTranslateOverridenByAutoTranslate) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest,
HrefTranslateLanguageBlocked) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest, HrefTranslateSiteBlocked) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest,
HrefTranslateLanguageAndSiteBlocked) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest, PageTranslationError) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest,
PageTranslationInitializationError) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest,
PageTranslationTimeoutError) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest,
PageTranslationIdenticalLanguagesError) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest,
PageTranslationUnexpectedScriptError) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest,
PageTranslationBadOriginError) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest,
PageTranslationScriptLoadError) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest,
PRE_TranslateSessionRestore) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest, TranslateSessionRestore) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBrowserTest,
HrefTranslateOverridesManualTranslate) { … }
class TranslateManagerPrerenderBrowserTest
: public TranslateManagerBrowserTest { … };
IN_PROC_BROWSER_TEST_F(TranslateManagerPrerenderBrowserTest,
SkipPrerenderPage) { … }
class TranslateManagerBackForwardCacheBrowserTest
: public TranslateManagerBrowserTest { … };
IN_PROC_BROWSER_TEST_F(TranslateManagerBackForwardCacheBrowserTest,
RestorePageTranslatorAfterBackForwardCache) { … }
IN_PROC_BROWSER_TEST_F(TranslateManagerBackForwardCacheBrowserTest,
RestoreOriginStateAfterCache) { … }
}
}