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

Side by Side Diff: chrome/browser/extensions/api/declarative_content/declarative_content_apitest.cc

Issue 516633002: Stop showing page actions in the location bar with redesign enabled (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Latest CQ for Master Created 6 years, 3 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 #include "chrome/browser/extensions/extension_action.h" 5 #include "chrome/browser/extensions/extension_action.h"
6 #include "chrome/browser/extensions/extension_action_manager.h" 6 #include "chrome/browser/extensions/extension_action_manager.h"
7 #include "chrome/browser/extensions/extension_action_test_util.h"
7 #include "chrome/browser/extensions/extension_apitest.h" 8 #include "chrome/browser/extensions/extension_apitest.h"
8 #include "chrome/browser/extensions/extension_tab_util.h" 9 #include "chrome/browser/extensions/extension_tab_util.h"
9 #include "chrome/browser/extensions/extension_test_message_listener.h" 10 #include "chrome/browser/extensions/extension_test_message_listener.h"
10 #include "chrome/browser/extensions/test_extension_dir.h" 11 #include "chrome/browser/extensions/test_extension_dir.h"
12 #include "chrome/browser/ui/browser.h"
11 #include "chrome/browser/ui/browser_window.h" 13 #include "chrome/browser/ui/browser_window.h"
12 #include "chrome/browser/ui/location_bar/location_bar.h"
13 #include "chrome/browser/ui/tabs/tab_strip_model.h" 14 #include "chrome/browser/ui/tabs/tab_strip_model.h"
14 #include "chrome/common/extensions/features/feature_channel.h" 15 #include "chrome/common/extensions/features/feature_channel.h"
15 #include "content/public/test/browser_test_utils.h" 16 #include "content/public/test/browser_test_utils.h"
16 #include "testing/gmock/include/gmock/gmock.h" 17 #include "testing/gmock/include/gmock/gmock.h"
17 18
18 namespace extensions { 19 namespace extensions {
19 namespace { 20 namespace {
20 21
21 const char kDeclarativeContentManifest[] = 22 const char kDeclarativeContentManifest[] =
22 "{\n" 23 "{\n"
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 ExecuteScriptInBackgroundPage(extension_id, kTestRule)); 170 ExecuteScriptInBackgroundPage(extension_id, kTestRule));
170 171
171 content::WebContents* const tab = 172 content::WebContents* const tab =
172 browser()->tab_strip_model()->GetWebContentsAt(0); 173 browser()->tab_strip_model()->GetWebContentsAt(0);
173 const int tab_id = ExtensionTabUtil::GetTabId(tab); 174 const int tab_id = ExtensionTabUtil::GetTabId(tab);
174 175
175 NavigateInRenderer(tab, GURL("http://test/")); 176 NavigateInRenderer(tab, GURL("http://test/"));
176 177
177 EXPECT_TRUE(page_action->GetIsVisible(tab_id)); 178 EXPECT_TRUE(page_action->GetIsVisible(tab_id));
178 EXPECT_TRUE(WaitForPageActionVisibilityChangeTo(1)); 179 EXPECT_TRUE(WaitForPageActionVisibilityChangeTo(1));
179 LocationBarTesting* location_bar = 180 EXPECT_EQ(1u, extension_action_test_util::GetVisiblePageActionCount(tab));
180 browser()->window()->GetLocationBar()->GetLocationBarForTesting(); 181 EXPECT_EQ(1u, extension_action_test_util::GetTotalPageActionCount(tab));
181 EXPECT_EQ(1, location_bar->PageActionCount());
182 EXPECT_EQ(1, location_bar->PageActionVisibleCount());
183 182
184 ReloadExtension(extension_id); // Invalidates page_action and extension. 183 ReloadExtension(extension_id); // Invalidates page_action and extension.
185 EXPECT_EQ("test_rule", 184 EXPECT_EQ("test_rule",
186 ExecuteScriptInBackgroundPage(extension_id, kTestRule)); 185 ExecuteScriptInBackgroundPage(extension_id, kTestRule));
187 // TODO(jyasskin): Apply new rules to existing tabs, without waiting for a 186 // TODO(jyasskin): Apply new rules to existing tabs, without waiting for a
188 // navigation. 187 // navigation.
189 NavigateInRenderer(tab, GURL("http://test/")); 188 NavigateInRenderer(tab, GURL("http://test/"));
190 EXPECT_TRUE(WaitForPageActionVisibilityChangeTo(1)); 189 EXPECT_TRUE(WaitForPageActionVisibilityChangeTo(1));
191 EXPECT_EQ(1, location_bar->PageActionCount()); 190 EXPECT_EQ(1u, extension_action_test_util::GetVisiblePageActionCount(tab));
192 EXPECT_EQ(1, location_bar->PageActionVisibleCount()); 191 EXPECT_EQ(1u, extension_action_test_util::GetTotalPageActionCount(tab));
193 192
194 UnloadExtension(extension_id); 193 UnloadExtension(extension_id);
195 NavigateInRenderer(tab, GURL("http://test/")); 194 NavigateInRenderer(tab, GURL("http://test/"));
196 EXPECT_TRUE(WaitForPageActionVisibilityChangeTo(0)); 195 EXPECT_TRUE(WaitForPageActionVisibilityChangeTo(0));
197 EXPECT_EQ(0, location_bar->PageActionCount()); 196 EXPECT_EQ(0u, extension_action_test_util::GetVisiblePageActionCount(tab));
198 EXPECT_EQ(0, location_bar->PageActionVisibleCount()); 197 EXPECT_EQ(0u, extension_action_test_util::GetTotalPageActionCount(tab));
199 } 198 }
200 199
201 // This tests against a renderer crash that was present during development. 200 // This tests against a renderer crash that was present during development.
202 IN_PROC_BROWSER_TEST_F(DeclarativeContentApiTest, 201 IN_PROC_BROWSER_TEST_F(DeclarativeContentApiTest,
203 DISABLED_AddExtensionMatchingExistingTabWithDeadFrames) { 202 DISABLED_AddExtensionMatchingExistingTabWithDeadFrames) {
204 ext_dir_.WriteManifest(kDeclarativeContentManifest); 203 ext_dir_.WriteManifest(kDeclarativeContentManifest);
205 ext_dir_.WriteFile(FILE_PATH_LITERAL("background.js"), kBackgroundHelpers); 204 ext_dir_.WriteFile(FILE_PATH_LITERAL("background.js"), kBackgroundHelpers);
206 content::WebContents* const tab = 205 content::WebContents* const tab =
207 browser()->tab_strip_model()->GetWebContentsAt(0); 206 browser()->tab_strip_model()->GetWebContentsAt(0);
208 const int tab_id = ExtensionTabUtil::GetTabId(tab); 207 const int tab_id = ExtensionTabUtil::GetTabId(tab);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 "}], 'test_rule');\n"), 267 "}], 'test_rule');\n"),
269 testing::HasSubstr("without a page action")); 268 testing::HasSubstr("without a page action"));
270 269
271 content::WebContents* const tab = 270 content::WebContents* const tab =
272 browser()->tab_strip_model()->GetWebContentsAt(0); 271 browser()->tab_strip_model()->GetWebContentsAt(0);
273 NavigateInRenderer(tab, GURL("http://test/")); 272 NavigateInRenderer(tab, GURL("http://test/"));
274 273
275 EXPECT_EQ(NULL, 274 EXPECT_EQ(NULL,
276 ExtensionActionManager::Get(browser()->profile())-> 275 ExtensionActionManager::Get(browser()->profile())->
277 GetPageAction(*extension)); 276 GetPageAction(*extension));
278 EXPECT_EQ(0, 277 EXPECT_EQ(0u, extension_action_test_util::GetVisiblePageActionCount(tab));
279 browser()->window()->GetLocationBar()->GetLocationBarForTesting()->
280 PageActionCount());
281 } 278 }
282 279
283 IN_PROC_BROWSER_TEST_F(DeclarativeContentApiTest, 280 IN_PROC_BROWSER_TEST_F(DeclarativeContentApiTest,
284 CanonicalizesPageStateMatcherCss) { 281 CanonicalizesPageStateMatcherCss) {
285 ext_dir_.WriteManifest(kDeclarativeContentManifest); 282 ext_dir_.WriteManifest(kDeclarativeContentManifest);
286 ext_dir_.WriteFile( 283 ext_dir_.WriteFile(
287 FILE_PATH_LITERAL("background.js"), 284 FILE_PATH_LITERAL("background.js"),
288 "var PageStateMatcher = chrome.declarativeContent.PageStateMatcher;\n" 285 "var PageStateMatcher = chrome.declarativeContent.PageStateMatcher;\n"
289 "function Return(obj) {\n" 286 "function Return(obj) {\n"
290 " window.domAutomationController.send('' + obj);\n" 287 " window.domAutomationController.send('' + obj);\n"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 " new PageStateMatcher({css: ['div input']});\n" 331 " new PageStateMatcher({css: ['div input']});\n"
335 " Return('Failed to throw');\n" 332 " Return('Failed to throw');\n"
336 "} catch (e) {\n" 333 "} catch (e) {\n"
337 " Return(e.message);\n" 334 " Return(e.message);\n"
338 "}\n"), 335 "}\n"),
339 testing::ContainsRegex("compound selector.*: div input$")); 336 testing::ContainsRegex("compound selector.*: div input$"));
340 } 337 }
341 338
342 } // namespace 339 } // namespace
343 } // namespace extensions 340 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698