| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/ui/toolbar/browser_actions_bar_browsertest.h" | 5 #include "chrome/browser/ui/toolbar/browser_actions_bar_browsertest.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 202 toolbar_model()->SetVisibleIconCount(1); | 202 toolbar_model()->SetVisibleIconCount(1); |
| 203 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); | 203 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); |
| 204 | 204 |
| 205 // Disable extension A (should disappear). State becomes: B [C]. | 205 // Disable extension A (should disappear). State becomes: B [C]. |
| 206 DisableExtension(extension_a()->id()); | 206 DisableExtension(extension_a()->id()); |
| 207 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions()); | 207 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions()); |
| 208 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); | 208 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); |
| 209 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(0)); | 209 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(0)); |
| 210 | 210 |
| 211 // Enable A again. A should get its spot in the same location and the bar | 211 // Enable A again. A should get its spot in the same location and the bar |
| 212 // should not grow (chevron is showing). For details: http://crbug.com/35349. | 212 // should not grow. For details: http://crbug.com/35349. |
| 213 // State becomes: A, [B, C]. | 213 // State becomes: A, [B, C]. |
| 214 EnableExtension(extension_a()->id()); | 214 EnableExtension(extension_a()->id()); |
| 215 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); | 215 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); |
| 216 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); | 216 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); |
| 217 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0)); | 217 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0)); |
| 218 | 218 |
| 219 // Disable C (in overflow). State becomes: A, [B]. | 219 // Disable C (in overflow). State becomes: A, [B]. |
| 220 DisableExtension(extension_c()->id()); | 220 DisableExtension(extension_c()->id()); |
| 221 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions()); | 221 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions()); |
| 222 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); | 222 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 250 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); | 250 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); |
| 251 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(0)); | 251 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(0)); |
| 252 | 252 |
| 253 // Enable A. State becomes: A, B, C. | 253 // Enable A. State becomes: A, B, C. |
| 254 EnableExtension(extension_a()->id()); | 254 EnableExtension(extension_a()->id()); |
| 255 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); | 255 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); |
| 256 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); | 256 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); |
| 257 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0)); | 257 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0)); |
| 258 | 258 |
| 259 // Shrink the browser actions bar to zero visible icons. | 259 // Shrink the browser actions bar to zero visible icons. |
| 260 // No icons should be visible, but we *should* show the chevron and have a | 260 // No icons should be visible, but we *should* overflow and have a |
| 261 // non-empty size. | 261 // non-empty size. |
| 262 toolbar_model()->SetVisibleIconCount(0); | 262 toolbar_model()->SetVisibleIconCount(0); |
| 263 EXPECT_EQ(0, browser_actions_bar()->VisibleBrowserActions()); | 263 EXPECT_EQ(0, browser_actions_bar()->VisibleBrowserActions()); |
| 264 EXPECT_TRUE(browser_actions_bar()->IsChevronShowing()); | 264 ToolbarActionsBar* toolbar_actions_bar = |
| 265 browser_actions_bar()->GetToolbarActionsBar(); |
| 266 EXPECT_TRUE(toolbar_actions_bar->NeedsOverflow()); |
| 265 | 267 |
| 266 // Reset visibility count to 2. State should be A, B, [C], and the chevron | 268 // Reset visibility count to 2. State should be A, B, [C], and we should |
| 267 // should be visible. | 269 // overflow. |
| 268 toolbar_model()->SetVisibleIconCount(2); | 270 toolbar_model()->SetVisibleIconCount(2); |
| 269 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); | 271 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); |
| 270 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0)); | 272 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0)); |
| 271 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1)); | 273 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1)); |
| 272 EXPECT_TRUE(browser_actions_bar()->IsChevronShowing()); | 274 EXPECT_TRUE(toolbar_actions_bar->NeedsOverflow()); |
| 273 | 275 |
| 274 // Disable C (the overflowed extension). State should now be A, B, and the | 276 // Disable C (the overflowed extension). State should now be A, B, and we |
| 275 // chevron should be hidden. | 277 // should not overflow. |
| 276 DisableExtension(extension_c()->id()); | 278 DisableExtension(extension_c()->id()); |
| 277 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); | 279 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); |
| 278 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0)); | 280 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0)); |
| 279 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1)); | 281 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1)); |
| 280 EXPECT_FALSE(browser_actions_bar()->IsChevronShowing()); | 282 EXPECT_FALSE(toolbar_actions_bar->NeedsOverflow()); |
| 281 | 283 |
| 282 // Re-enable C. We should still only have 2 visible icons, and the chevron | 284 // Re-enable C. We should still only have 2 visible icons, still with |
| 283 // should be visible. | 285 // overflow. |
| 284 EnableExtension(extension_c()->id()); | 286 EnableExtension(extension_c()->id()); |
| 285 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); | 287 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); |
| 286 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0)); | 288 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0)); |
| 287 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1)); | 289 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1)); |
| 288 EXPECT_TRUE(browser_actions_bar()->IsChevronShowing()); | 290 EXPECT_TRUE(toolbar_actions_bar->NeedsOverflow()); |
| 289 } | 291 } |
| 290 | 292 |
| 291 // Test that, with the toolbar action redesign, actions that want to run have | 293 // Test that, with the toolbar action redesign, actions that want to run have |
| 292 // the proper appearance. | 294 // the proper appearance. |
| 293 IN_PROC_BROWSER_TEST_F(BrowserActionsBarRedesignBrowserTest, | 295 IN_PROC_BROWSER_TEST_F(BrowserActionsBarRedesignBrowserTest, |
| 294 TestUiForActionsWantToRun) { | 296 TestUiForActionsWantToRun) { |
| 295 LoadExtensions(); | 297 LoadExtensions(); |
| 296 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); | 298 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); |
| 297 | 299 |
| 298 // Load an extension with a page action. | 300 // Load an extension with a page action. |
| (...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 546 EXPECT_EQ(page_action_extension->id(), | 548 EXPECT_EQ(page_action_extension->id(), |
| 547 browser_actions_bar()->GetExtensionId(0)); | 549 browser_actions_bar()->GetExtensionId(0)); |
| 548 browser_actions_bar()->Press(0); | 550 browser_actions_bar()->Press(0); |
| 549 base::RunLoop().RunUntilIdle(); | 551 base::RunLoop().RunUntilIdle(); |
| 550 EXPECT_TRUE(browser_actions_bar()->HasPopup()); | 552 EXPECT_TRUE(browser_actions_bar()->HasPopup()); |
| 551 // Cleanup the popup (to avoid having windows open at tear down). | 553 // Cleanup the popup (to avoid having windows open at tear down). |
| 552 browser_actions_bar()->HidePopup(); | 554 browser_actions_bar()->HidePopup(); |
| 553 content::RunAllBlockingPoolTasksUntilIdle(); | 555 content::RunAllBlockingPoolTasksUntilIdle(); |
| 554 EXPECT_FALSE(browser_actions_bar()->HasPopup()); | 556 EXPECT_FALSE(browser_actions_bar()->HasPopup()); |
| 555 } | 557 } |
| OLD | NEW |