OLD | NEW |
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/browser_action_test_util.h" | 5 #include "chrome/browser/extensions/browser_action_test_util.h" |
6 #include "chrome/browser/extensions/extension_browsertest.h" | 6 #include "chrome/browser/extensions/extension_browsertest.h" |
7 #include "chrome/browser/extensions/extension_service.h" | 7 #include "chrome/browser/extensions/extension_service.h" |
8 #include "chrome/browser/profiles/profile.h" | 8 #include "chrome/browser/profiles/profile.h" |
9 #include "chrome/browser/ui/browser.h" | 9 #include "chrome/browser/ui/browser.h" |
10 #include "chrome/browser/ui/views/browser_actions_container.h" | 10 #include "chrome/browser/ui/views/browser_actions_container.h" |
| 11 #include "chrome/common/chrome_notification_types.h" |
11 #include "chrome/common/extensions/extension_action.h" | 12 #include "chrome/common/extensions/extension_action.h" |
12 #include "chrome/common/extensions/extension_resource.h" | 13 #include "chrome/common/extensions/extension_resource.h" |
| 14 #include "chrome/test/base/ui_test_utils.h" |
13 | 15 |
14 using extensions::Extension; | 16 using extensions::Extension; |
15 | 17 |
16 class BrowserActionsContainerTest : public ExtensionBrowserTest { | 18 class BrowserActionsContainerTest : public ExtensionBrowserTest { |
17 public: | 19 public: |
18 BrowserActionsContainerTest() { | 20 BrowserActionsContainerTest() { |
19 } | 21 } |
20 virtual ~BrowserActionsContainerTest() {} | 22 virtual ~BrowserActionsContainerTest() {} |
21 | 23 |
22 virtual void SetUpOnMainThread() OVERRIDE { | 24 virtual void SetUpOnMainThread() OVERRIDE { |
23 browser_actions_bar_.reset(new BrowserActionTestUtil(browser())); | 25 browser_actions_bar_.reset(new BrowserActionTestUtil(browser())); |
24 } | 26 } |
25 | 27 |
26 BrowserActionTestUtil* browser_actions_bar() { | 28 BrowserActionTestUtil* browser_actions_bar() { |
27 return browser_actions_bar_.get(); | 29 return browser_actions_bar_.get(); |
28 } | 30 } |
29 | 31 |
30 // Make sure extension with index |extension_index| has an icon. | 32 // Make sure extension with index |extension_index| has an icon. |
31 void EnsureExtensionHasIcon(int extension_index) { | 33 void EnsureExtensionHasIcon(int extension_index) { |
32 if (!browser_actions_bar_->HasIcon(extension_index)) { | 34 if (!browser_actions_bar_->HasIcon(extension_index)) { |
33 // The icon is loaded asynchronously and a notification is then sent to | 35 // The icon is loaded asynchronously and a notification is then sent to |
34 // observers. So we wait on it. | 36 // observers. So we wait on it. |
35 browser_actions_bar_->WaitForBrowserActionUpdated(extension_index); | 37 ExtensionAction* browser_action = |
| 38 browser_actions_bar_->GetExtensionAction(extension_index); |
| 39 |
| 40 ui_test_utils::WindowedNotificationObserver observer( |
| 41 chrome::NOTIFICATION_EXTENSION_BROWSER_ACTION_UPDATED, |
| 42 content::Source<ExtensionAction>(browser_action)); |
| 43 observer.Wait(); |
36 } | 44 } |
37 EXPECT_TRUE(browser_actions_bar()->HasIcon(extension_index)); | 45 EXPECT_TRUE(browser_actions_bar()->HasIcon(extension_index)); |
38 } | 46 } |
39 | 47 |
40 private: | 48 private: |
41 scoped_ptr<BrowserActionTestUtil> browser_actions_bar_; | 49 scoped_ptr<BrowserActionTestUtil> browser_actions_bar_; |
42 }; | 50 }; |
43 | 51 |
44 // Test the basic functionality. | 52 // Test the basic functionality. |
45 // http://crbug.com/120770 | 53 // http://crbug.com/120770 |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
268 extension->GetResource(extension->browser_action()->default_icon_path()), | 276 extension->GetResource(extension->browser_action()->default_icon_path()), |
269 bitmap, | 277 bitmap, |
270 size); | 278 size); |
271 | 279 |
272 LOG(INFO) << "Disabling extension\n" << std::flush; | 280 LOG(INFO) << "Disabling extension\n" << std::flush; |
273 DisableExtension(extension->id()); | 281 DisableExtension(extension->id()); |
274 LOG(INFO) << "Enabling extension\n" << std::flush; | 282 LOG(INFO) << "Enabling extension\n" << std::flush; |
275 EnableExtension(extension->id()); | 283 EnableExtension(extension->id()); |
276 LOG(INFO) << "Test ending\n" << std::flush; | 284 LOG(INFO) << "Test ending\n" << std::flush; |
277 } | 285 } |
OLD | NEW |