OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/extensions/extension_apitest.h" | 5 #include "chrome/browser/extensions/extension_apitest.h" |
6 #include "chrome/browser/extensions/extension_service.h" | 6 #include "chrome/browser/extensions/extension_service.h" |
7 #include "chrome/browser/extensions/extension_web_ui.h" | 7 #include "chrome/browser/extensions/extension_web_ui.h" |
8 #include "chrome/browser/prefs/pref_service.h" | 8 #include "chrome/browser/prefs/pref_service.h" |
9 #include "chrome/browser/prefs/scoped_user_pref_update.h" | 9 #include "chrome/browser/prefs/scoped_user_pref_update.h" |
10 #include "chrome/browser/profiles/profile.h" | 10 #include "chrome/browser/profiles/profile.h" |
11 #include "chrome/browser/ui/browser.h" | 11 #include "chrome/browser/ui/browser.h" |
12 #include "chrome/browser/ui/browser_list.h" | 12 #include "chrome/browser/ui/browser_list.h" |
13 #include "chrome/common/url_constants.h" | 13 #include "chrome/common/url_constants.h" |
14 #include "chrome/test/base/ui_test_utils.h" | 14 #include "chrome/test/base/ui_test_utils.h" |
15 #include "content/browser/tab_contents/tab_contents.h" | 15 #include "content/browser/tab_contents/tab_contents.h" |
16 #include "content/public/browser/navigation_entry.h" | 16 #include "content/public/browser/navigation_entry.h" |
| 17 #include "content/public/browser/web_contents.h" |
| 18 |
| 19 using content::WebContents; |
17 | 20 |
18 class ExtensionOverrideTest : public ExtensionApiTest { | 21 class ExtensionOverrideTest : public ExtensionApiTest { |
19 protected: | 22 protected: |
20 bool CheckHistoryOverridesContainsNoDupes() { | 23 bool CheckHistoryOverridesContainsNoDupes() { |
21 // There should be no duplicate entries in the preferences. | 24 // There should be no duplicate entries in the preferences. |
22 const DictionaryValue* overrides = | 25 const DictionaryValue* overrides = |
23 browser()->profile()->GetPrefs()->GetDictionary( | 26 browser()->profile()->GetPrefs()->GetDictionary( |
24 ExtensionWebUI::kExtensionURLOverrides); | 27 ExtensionWebUI::kExtensionURLOverrides); |
25 | 28 |
26 ListValue* values = NULL; | 29 ListValue* values = NULL; |
(...skipping 13 matching lines...) Expand all Loading... |
40 } | 43 } |
41 | 44 |
42 return true; | 45 return true; |
43 } | 46 } |
44 | 47 |
45 #if defined(USE_VIRTUAL_KEYBOARD) | 48 #if defined(USE_VIRTUAL_KEYBOARD) |
46 // Navigate to the keyboard page, and ensure we have arrived at an | 49 // Navigate to the keyboard page, and ensure we have arrived at an |
47 // extension URL. | 50 // extension URL. |
48 void NavigateToKeyboard() { | 51 void NavigateToKeyboard() { |
49 ui_test_utils::NavigateToURL(browser(), GURL("chrome://keyboard/")); | 52 ui_test_utils::NavigateToURL(browser(), GURL("chrome://keyboard/")); |
50 TabContents* tab = browser()->GetSelectedTabContents(); | 53 WebContents* tab = browser()->GetSelectedWebContents(); |
51 ASSERT_TRUE(tab->GetController().GetActiveEntry()); | 54 ASSERT_TRUE(tab->GetController().GetActiveEntry()); |
52 EXPECT_TRUE(tab->GetController().GetActiveEntry()->url(). | 55 EXPECT_TRUE(tab->GetController().GetActiveEntry()->url(). |
53 SchemeIs(chrome::kExtensionScheme)); | 56 SchemeIs(chrome::kExtensionScheme)); |
54 } | 57 } |
55 #endif | 58 #endif |
56 }; | 59 }; |
57 | 60 |
58 IN_PROC_BROWSER_TEST_F(ExtensionOverrideTest, OverrideNewtab) { | 61 IN_PROC_BROWSER_TEST_F(ExtensionOverrideTest, OverrideNewtab) { |
59 ASSERT_TRUE(RunExtensionTest("override/newtab")) << message_; | 62 ASSERT_TRUE(RunExtensionTest("override/newtab")) << message_; |
60 { | 63 { |
61 ResultCatcher catcher; | 64 ResultCatcher catcher; |
62 // Navigate to the new tab page. The overridden new tab page | 65 // Navigate to the new tab page. The overridden new tab page |
63 // will call chrome.test.notifyPass() . | 66 // will call chrome.test.notifyPass() . |
64 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab/")); | 67 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab/")); |
65 TabContents* tab = browser()->GetSelectedTabContents(); | 68 WebContents* tab = browser()->GetSelectedWebContents(); |
66 ASSERT_TRUE(tab->GetController().GetActiveEntry()); | 69 ASSERT_TRUE(tab->GetController().GetActiveEntry()); |
67 EXPECT_TRUE(tab->GetController().GetActiveEntry()->GetURL(). | 70 EXPECT_TRUE(tab->GetController().GetActiveEntry()->GetURL(). |
68 SchemeIs(chrome::kExtensionScheme)); | 71 SchemeIs(chrome::kExtensionScheme)); |
69 | 72 |
70 ASSERT_TRUE(catcher.GetNextResult()); | 73 ASSERT_TRUE(catcher.GetNextResult()); |
71 } | 74 } |
72 | 75 |
73 // TODO(erikkay) Load a second extension with the same override. | 76 // TODO(erikkay) Load a second extension with the same override. |
74 // Verify behavior, then unload the first and verify behavior, etc. | 77 // Verify behavior, then unload the first and verify behavior, etc. |
75 } | 78 } |
76 | 79 |
77 #if defined(OS_MACOSX) | 80 #if defined(OS_MACOSX) |
78 // Hangy: http://crbug.com/70511 | 81 // Hangy: http://crbug.com/70511 |
79 #define MAYBE_OverrideNewtabIncognito DISABLED_OverrideNewtabIncognito | 82 #define MAYBE_OverrideNewtabIncognito DISABLED_OverrideNewtabIncognito |
80 #else | 83 #else |
81 #define MAYBE_OverrideNewtabIncognito OverrideNewtabIncognito | 84 #define MAYBE_OverrideNewtabIncognito OverrideNewtabIncognito |
82 #endif | 85 #endif |
83 IN_PROC_BROWSER_TEST_F(ExtensionOverrideTest, MAYBE_OverrideNewtabIncognito) { | 86 IN_PROC_BROWSER_TEST_F(ExtensionOverrideTest, MAYBE_OverrideNewtabIncognito) { |
84 ASSERT_TRUE(RunExtensionTest("override/newtab")) << message_; | 87 ASSERT_TRUE(RunExtensionTest("override/newtab")) << message_; |
85 | 88 |
86 // Navigate an incognito tab to the new tab page. We should get the actual | 89 // Navigate an incognito tab to the new tab page. We should get the actual |
87 // new tab page because we can't load chrome-extension URLs in incognito. | 90 // new tab page because we can't load chrome-extension URLs in incognito. |
88 ui_test_utils::OpenURLOffTheRecord(browser()->profile(), | 91 ui_test_utils::OpenURLOffTheRecord(browser()->profile(), |
89 GURL("chrome://newtab/")); | 92 GURL("chrome://newtab/")); |
90 Browser* otr_browser = BrowserList::FindTabbedBrowser( | 93 Browser* otr_browser = BrowserList::FindTabbedBrowser( |
91 browser()->profile()->GetOffTheRecordProfile(), false); | 94 browser()->profile()->GetOffTheRecordProfile(), false); |
92 TabContents* tab = otr_browser->GetSelectedTabContents(); | 95 WebContents* tab = otr_browser->GetSelectedWebContents(); |
93 ASSERT_TRUE(tab->GetController().GetActiveEntry()); | 96 ASSERT_TRUE(tab->GetController().GetActiveEntry()); |
94 EXPECT_FALSE(tab->GetController().GetActiveEntry()->GetURL(). | 97 EXPECT_FALSE(tab->GetController().GetActiveEntry()->GetURL(). |
95 SchemeIs(chrome::kExtensionScheme)); | 98 SchemeIs(chrome::kExtensionScheme)); |
96 } | 99 } |
97 | 100 |
98 // Times out consistently on Win, http://crbug.com/45173. | 101 // Times out consistently on Win, http://crbug.com/45173. |
99 #if defined(OS_WIN) | 102 #if defined(OS_WIN) |
100 #define MAYBE_OverrideHistory DISABLED_OverrideHistory | 103 #define MAYBE_OverrideHistory DISABLED_OverrideHistory |
101 #else | 104 #else |
102 #define MAYBE_OverrideHistory OverrideHistory | 105 #define MAYBE_OverrideHistory OverrideHistory |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
173 | 176 |
174 // Unload the failing version. We should be back to passing now. | 177 // Unload the failing version. We should be back to passing now. |
175 UnloadExtension(extension->id()); | 178 UnloadExtension(extension->id()); |
176 { | 179 { |
177 ResultCatcher catcher; | 180 ResultCatcher catcher; |
178 NavigateToKeyboard(); | 181 NavigateToKeyboard(); |
179 ASSERT_TRUE(catcher.GetNextResult()); | 182 ASSERT_TRUE(catcher.GetNextResult()); |
180 } | 183 } |
181 } | 184 } |
182 #endif | 185 #endif |
OLD | NEW |