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 |