| Index: chrome/browser/translate/translate_browsertest.cc
|
| diff --git a/chrome/browser/translate/translate_browsertest.cc b/chrome/browser/translate/translate_browsertest.cc
|
| index 4b04a09ff6a7c21aebcd5d0a919bb4d9dd1c624b..2f5a1553b432c2a9e7f1f405aa251b99ec7c800c 100644
|
| --- a/chrome/browser/translate/translate_browsertest.cc
|
| +++ b/chrome/browser/translate/translate_browsertest.cc
|
| @@ -2,6 +2,7 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +#include "base/command_line.h"
|
| #include "base/files/file_path.h"
|
| #include "base/strings/string_util.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| @@ -55,6 +56,13 @@ class TranslateBrowserTest : public InProcessBrowserTest {
|
| ASSERT_TRUE(https_server_.Start());
|
| }
|
|
|
| + virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
|
| + // Setup altenate security-origin for testing.
|
| + GURL origin = GetSecureURL("");
|
| + command_line->AppendSwitchASCII(switches::kTranslateSecurityOrigin,
|
| + origin.spec());
|
| + }
|
| +
|
| protected:
|
| GURL GetNonSecureURL(const std::string& path) const {
|
| std::string prefix(kNonSecurePrefix);
|
| @@ -74,9 +82,7 @@ class TranslateBrowserTest : public InProcessBrowserTest {
|
| DISALLOW_COPY_AND_ASSIGN(TranslateBrowserTest);
|
| };
|
|
|
| -// TODO(toyoshim): This test should be changed to work in an isolated world.
|
| -// See also http://crbug.com/164547 .
|
| -IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, DISABLED_Translate) {
|
| +IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, TranslateInIsolatedWorld) {
|
| #if defined(OS_WIN) && defined(USE_ASH)
|
| // Disable this test in Metro+Ash for now (http://crbug.com/262796).
|
| if (base::win::GetVersion() >= base::win::VERSION_WIN8)
|
| @@ -95,7 +101,10 @@ IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, DISABLED_Translate) {
|
| InfoBarService* infobar_service =
|
| InfoBarService::FromWebContents(web_contents);
|
| ASSERT_TRUE(infobar_service);
|
| - EXPECT_EQ(0U, infobar_service->infobar_count());
|
| + EXPECT_EQ(1U, infobar_service->infobar_count());
|
| + ConfirmInfoBarDelegate* confirm =
|
| + infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate();
|
| + EXPECT_TRUE(confirm);
|
| content::WindowedNotificationObserver infobar(
|
| chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_ADDED,
|
| content::NotificationService::AllSources());
|
| @@ -111,9 +120,12 @@ IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, DISABLED_Translate) {
|
| infobar.Wait();
|
|
|
| // Perform Chrome Translate.
|
| - ASSERT_EQ(1U, infobar_service->infobar_count());
|
| + ASSERT_EQ(2U, infobar_service->infobar_count());
|
| + confirm = infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate();
|
| + EXPECT_TRUE(confirm);
|
| +
|
| TranslateInfoBarDelegate* translate =
|
| - infobar_service->infobar_at(0)->AsTranslateInfoBarDelegate();
|
| + infobar_service->infobar_at(1)->AsTranslateInfoBarDelegate();
|
| ASSERT_TRUE(translate);
|
| translate->Translate();
|
|
|
| @@ -167,7 +179,10 @@ IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, IgnoreRefreshMetaTag) {
|
| InfoBarService* infobar_service =
|
| InfoBarService::FromWebContents(web_contents);
|
| ASSERT_TRUE(infobar_service);
|
| - EXPECT_EQ(0U, infobar_service->infobar_count());
|
| + EXPECT_EQ(1U, infobar_service->infobar_count());
|
| + ConfirmInfoBarDelegate* confirm =
|
| + infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate();
|
| + EXPECT_TRUE(confirm);
|
|
|
| // Setup page title observer.
|
| content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS"));
|
| @@ -183,7 +198,9 @@ IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, IgnoreRefreshMetaTag) {
|
| EXPECT_EQ("PASS", UTF16ToASCII(result));
|
|
|
| // Check there is not infobar.
|
| - EXPECT_EQ(0U, infobar_service->infobar_count());
|
| + EXPECT_EQ(1U, infobar_service->infobar_count());
|
| + confirm = infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate();
|
| + EXPECT_TRUE(confirm);
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(TranslateBrowserTest,
|
| @@ -204,7 +221,10 @@ IN_PROC_BROWSER_TEST_F(TranslateBrowserTest,
|
| InfoBarService* infobar_service =
|
| InfoBarService::FromWebContents(web_contents);
|
| ASSERT_TRUE(infobar_service);
|
| - EXPECT_EQ(0U, infobar_service->infobar_count());
|
| + EXPECT_EQ(1U, infobar_service->infobar_count());
|
| + ConfirmInfoBarDelegate* confirm =
|
| + infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate();
|
| + EXPECT_TRUE(confirm);
|
|
|
| // Setup page title observer.
|
| content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS"));
|
| @@ -220,7 +240,9 @@ IN_PROC_BROWSER_TEST_F(TranslateBrowserTest,
|
| EXPECT_EQ("PASS", UTF16ToASCII(result));
|
|
|
| // Check there is not infobar.
|
| - EXPECT_EQ(0U, infobar_service->infobar_count());
|
| + EXPECT_EQ(1U, infobar_service->infobar_count());
|
| + confirm = infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate();
|
| + EXPECT_TRUE(confirm);
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, IgnoreRefreshMetaTagAtOnload) {
|
| @@ -240,7 +262,10 @@ IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, IgnoreRefreshMetaTagAtOnload) {
|
| InfoBarService* infobar_service =
|
| InfoBarService::FromWebContents(web_contents);
|
| ASSERT_TRUE(infobar_service);
|
| - EXPECT_EQ(0U, infobar_service->infobar_count());
|
| + EXPECT_EQ(1U, infobar_service->infobar_count());
|
| + ConfirmInfoBarDelegate* confirm =
|
| + infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate();
|
| + EXPECT_TRUE(confirm);
|
|
|
| // Setup page title observer.
|
| content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS"));
|
| @@ -256,7 +281,9 @@ IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, IgnoreRefreshMetaTagAtOnload) {
|
| EXPECT_EQ("PASS", UTF16ToASCII(result));
|
|
|
| // Check there is not infobar.
|
| - EXPECT_EQ(0U, infobar_service->infobar_count());
|
| + EXPECT_EQ(1U, infobar_service->infobar_count());
|
| + confirm = infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate();
|
| + EXPECT_TRUE(confirm);
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, UpdateLocation) {
|
| @@ -276,7 +303,10 @@ IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, UpdateLocation) {
|
| InfoBarService* infobar_service =
|
| InfoBarService::FromWebContents(web_contents);
|
| ASSERT_TRUE(infobar_service);
|
| - EXPECT_EQ(0U, infobar_service->infobar_count());
|
| + EXPECT_EQ(1U, infobar_service->infobar_count());
|
| + ConfirmInfoBarDelegate* confirm =
|
| + infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate();
|
| + EXPECT_TRUE(confirm);
|
|
|
| // Setup page title observer.
|
| content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS"));
|
| @@ -292,7 +322,9 @@ IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, UpdateLocation) {
|
| EXPECT_EQ("PASS", UTF16ToASCII(result));
|
|
|
| // Check there is not infobar.
|
| - EXPECT_EQ(0U, infobar_service->infobar_count());
|
| + EXPECT_EQ(1U, infobar_service->infobar_count());
|
| + confirm = infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate();
|
| + EXPECT_TRUE(confirm);
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, UpdateLocationAtOnload) {
|
| @@ -312,7 +344,10 @@ IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, UpdateLocationAtOnload) {
|
| InfoBarService* infobar_service =
|
| InfoBarService::FromWebContents(web_contents);
|
| ASSERT_TRUE(infobar_service);
|
| - EXPECT_EQ(0U, infobar_service->infobar_count());
|
| + EXPECT_EQ(1U, infobar_service->infobar_count());
|
| + ConfirmInfoBarDelegate* confirm =
|
| + infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate();
|
| + EXPECT_TRUE(confirm);
|
|
|
| // Setup page title observer.
|
| content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS"));
|
| @@ -328,5 +363,7 @@ IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, UpdateLocationAtOnload) {
|
| EXPECT_EQ("PASS", UTF16ToASCII(result));
|
|
|
| // Check there is not infobar.
|
| - EXPECT_EQ(0U, infobar_service->infobar_count());
|
| + EXPECT_EQ(1U, infobar_service->infobar_count());
|
| + confirm = infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate();
|
| + EXPECT_TRUE(confirm);
|
| }
|
|
|