| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/extensions/extension_message_bubble_browsertest.h" | 5 #include "chrome/browser/ui/extensions/extension_message_bubble_browsertest.h" |
| 6 | 6 |
| 7 #include "base/bind_helpers.h" | 7 #include "base/bind_helpers.h" |
| 8 #include "base/run_loop.h" | 8 #include "base/run_loop.h" |
| 9 #include "chrome/browser/extensions/extension_action_test_util.h" | 9 #include "chrome/browser/extensions/extension_action_test_util.h" |
| 10 #include "chrome/browser/extensions/extension_service.h" | 10 #include "chrome/browser/extensions/extension_service.h" |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 } | 38 } |
| 39 | 39 |
| 40 void ExtensionMessageBubbleBrowserTest::TestBubbleAnchoredToExtensionAction() { | 40 void ExtensionMessageBubbleBrowserTest::TestBubbleAnchoredToExtensionAction() { |
| 41 scoped_refptr<const extensions::Extension> action_extension = | 41 scoped_refptr<const extensions::Extension> action_extension = |
| 42 extensions::extension_action_test_util::CreateActionExtension( | 42 extensions::extension_action_test_util::CreateActionExtension( |
| 43 "action_extension", | 43 "action_extension", |
| 44 extensions::extension_action_test_util::BROWSER_ACTION, | 44 extensions::extension_action_test_util::BROWSER_ACTION, |
| 45 extensions::Manifest::UNPACKED); | 45 extensions::Manifest::UNPACKED); |
| 46 extension_service()->AddExtension(action_extension.get()); | 46 extension_service()->AddExtension(action_extension.get()); |
| 47 | 47 |
| 48 Browser* second_browser = new Browser( | 48 Browser* second_browser = new Browser(Browser::CreateParams(profile())); |
| 49 Browser::CreateParams(profile(), browser()->host_desktop_type())); | |
| 50 base::RunLoop().RunUntilIdle(); | 49 base::RunLoop().RunUntilIdle(); |
| 51 | 50 |
| 52 CheckBubble(second_browser, ANCHOR_BROWSER_ACTION); | 51 CheckBubble(second_browser, ANCHOR_BROWSER_ACTION); |
| 53 CloseBubble(second_browser); | 52 CloseBubble(second_browser); |
| 54 } | 53 } |
| 55 | 54 |
| 56 void ExtensionMessageBubbleBrowserTest::TestBubbleAnchoredToAppMenu() { | 55 void ExtensionMessageBubbleBrowserTest::TestBubbleAnchoredToAppMenu() { |
| 57 scoped_refptr<const extensions::Extension> no_action_extension = | 56 scoped_refptr<const extensions::Extension> no_action_extension = |
| 58 extensions::extension_action_test_util::CreateActionExtension( | 57 extensions::extension_action_test_util::CreateActionExtension( |
| 59 "no_action_extension", | 58 "no_action_extension", |
| 60 extensions::extension_action_test_util::NO_ACTION, | 59 extensions::extension_action_test_util::NO_ACTION, |
| 61 extensions::Manifest::UNPACKED); | 60 extensions::Manifest::UNPACKED); |
| 62 extension_service()->AddExtension(no_action_extension.get()); | 61 extension_service()->AddExtension(no_action_extension.get()); |
| 63 | 62 |
| 64 Browser* second_browser = new Browser( | 63 Browser* second_browser = new Browser(Browser::CreateParams(profile())); |
| 65 Browser::CreateParams(profile(), browser()->host_desktop_type())); | |
| 66 base::RunLoop().RunUntilIdle(); | 64 base::RunLoop().RunUntilIdle(); |
| 67 | 65 |
| 68 CheckBubble(second_browser, ANCHOR_APP_MENU); | 66 CheckBubble(second_browser, ANCHOR_APP_MENU); |
| 69 CloseBubble(second_browser); | 67 CloseBubble(second_browser); |
| 70 } | 68 } |
| 71 | 69 |
| 72 void ExtensionMessageBubbleBrowserTest:: | 70 void ExtensionMessageBubbleBrowserTest:: |
| 73 TestBubbleAnchoredToAppMenuWithOtherAction() { | 71 TestBubbleAnchoredToAppMenuWithOtherAction() { |
| 74 scoped_refptr<const extensions::Extension> no_action_extension = | 72 scoped_refptr<const extensions::Extension> no_action_extension = |
| 75 extensions::extension_action_test_util::CreateActionExtension( | 73 extensions::extension_action_test_util::CreateActionExtension( |
| 76 "no_action_extension", | 74 "no_action_extension", |
| 77 extensions::extension_action_test_util::NO_ACTION, | 75 extensions::extension_action_test_util::NO_ACTION, |
| 78 extensions::Manifest::UNPACKED); | 76 extensions::Manifest::UNPACKED); |
| 79 extension_service()->AddExtension(no_action_extension.get()); | 77 extension_service()->AddExtension(no_action_extension.get()); |
| 80 | 78 |
| 81 scoped_refptr<const extensions::Extension> action_extension = | 79 scoped_refptr<const extensions::Extension> action_extension = |
| 82 extensions::extension_action_test_util::CreateActionExtension( | 80 extensions::extension_action_test_util::CreateActionExtension( |
| 83 "action_extension", | 81 "action_extension", |
| 84 extensions::extension_action_test_util::BROWSER_ACTION, | 82 extensions::extension_action_test_util::BROWSER_ACTION, |
| 85 extensions::Manifest::INTERNAL); | 83 extensions::Manifest::INTERNAL); |
| 86 extension_service()->AddExtension(action_extension.get()); | 84 extension_service()->AddExtension(action_extension.get()); |
| 87 | 85 |
| 88 Browser* second_browser = new Browser( | 86 Browser* second_browser = new Browser(Browser::CreateParams(profile())); |
| 89 Browser::CreateParams(profile(), browser()->host_desktop_type())); | |
| 90 base::RunLoop().RunUntilIdle(); | 87 base::RunLoop().RunUntilIdle(); |
| 91 | 88 |
| 92 CheckBubble(second_browser, ANCHOR_APP_MENU); | 89 CheckBubble(second_browser, ANCHOR_APP_MENU); |
| 93 CloseBubble(second_browser); | 90 CloseBubble(second_browser); |
| 94 } | 91 } |
| 95 | 92 |
| 96 void ExtensionMessageBubbleBrowserTest::TestUninstallDangerousExtension() { | 93 void ExtensionMessageBubbleBrowserTest::TestUninstallDangerousExtension() { |
| 97 // Load an extension that overrides the proxy setting. | 94 // Load an extension that overrides the proxy setting. |
| 98 ExtensionTestMessageListener listener("registered", false); | 95 ExtensionTestMessageListener listener("registered", false); |
| 99 const extensions::Extension* extension = | 96 const extensions::Extension* extension = |
| 100 LoadExtension(test_data_dir_.AppendASCII("api_test") | 97 LoadExtension(test_data_dir_.AppendASCII("api_test") |
| 101 .AppendASCII("proxy") | 98 .AppendASCII("proxy") |
| 102 .AppendASCII("register")); | 99 .AppendASCII("register")); |
| 103 // Wait for it to complete. | 100 // Wait for it to complete. |
| 104 listener.WaitUntilSatisfied(); | 101 listener.WaitUntilSatisfied(); |
| 105 | 102 |
| 106 // Create a second browser with the extension installed - the bubble will be | 103 // Create a second browser with the extension installed - the bubble will be |
| 107 // set to show. | 104 // set to show. |
| 108 Browser* second_browser = new Browser( | 105 Browser* second_browser = new Browser(Browser::CreateParams(profile())); |
| 109 Browser::CreateParams(profile(), browser()->host_desktop_type())); | |
| 110 ASSERT_TRUE(second_browser); | 106 ASSERT_TRUE(second_browser); |
| 111 // Uninstall the extension before the bubble is shown. This should not crash, | 107 // Uninstall the extension before the bubble is shown. This should not crash, |
| 112 // and the bubble shouldn't be shown. | 108 // and the bubble shouldn't be shown. |
| 113 extension_service()->UninstallExtension( | 109 extension_service()->UninstallExtension( |
| 114 extension->id(), extensions::UNINSTALL_REASON_FOR_TESTING, | 110 extension->id(), extensions::UNINSTALL_REASON_FOR_TESTING, |
| 115 base::Bind(&base::DoNothing), nullptr); | 111 base::Bind(&base::DoNothing), nullptr); |
| 116 base::RunLoop().RunUntilIdle(); | 112 base::RunLoop().RunUntilIdle(); |
| 117 CheckBubbleIsNotPresent(second_browser); | 113 CheckBubbleIsNotPresent(second_browser); |
| 118 } | 114 } |
| 119 | 115 |
| 120 void ExtensionMessageBubbleBrowserTest::PreBubbleShowsOnStartup() { | 116 void ExtensionMessageBubbleBrowserTest::PreBubbleShowsOnStartup() { |
| 121 LoadExtension(test_data_dir_.AppendASCII("good_unpacked")); | 117 LoadExtension(test_data_dir_.AppendASCII("good_unpacked")); |
| 122 } | 118 } |
| 123 | 119 |
| 124 void ExtensionMessageBubbleBrowserTest::TestBubbleShowsOnStartup() { | 120 void ExtensionMessageBubbleBrowserTest::TestBubbleShowsOnStartup() { |
| 125 base::RunLoop().RunUntilIdle(); | 121 base::RunLoop().RunUntilIdle(); |
| 126 CheckBubble(browser(), ANCHOR_BROWSER_ACTION); | 122 CheckBubble(browser(), ANCHOR_BROWSER_ACTION); |
| 127 CloseBubble(browser()); | 123 CloseBubble(browser()); |
| 128 } | 124 } |
| OLD | NEW |