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

Side by Side Diff: chrome/browser/extensions/extension_webui_apitest.cc

Issue 1871713002: Convert //chrome/browser/extensions from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and fix header Created 4 years, 8 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 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 "base/files/file_path.h" 5 #include "base/files/file_path.h"
6 #include "base/files/file_util.h" 6 #include "base/files/file_util.h"
7 #include "base/memory/ptr_util.h"
7 #include "base/path_service.h" 8 #include "base/path_service.h"
8 #include "base/values.h" 9 #include "base/values.h"
9 #include "build/build_config.h" 10 #include "build/build_config.h"
10 #include "chrome/browser/extensions/extension_apitest.h" 11 #include "chrome/browser/extensions/extension_apitest.h"
11 #include "chrome/browser/ui/browser.h" 12 #include "chrome/browser/ui/browser.h"
12 #include "chrome/browser/ui/tabs/tab_strip_model.h" 13 #include "chrome/browser/ui/tabs/tab_strip_model.h"
13 #include "chrome/common/chrome_paths.h" 14 #include "chrome/common/chrome_paths.h"
14 #include "chrome/test/base/ui_test_utils.h" 15 #include "chrome/test/base/ui_test_utils.h"
15 #include "content/public/browser/render_frame_host.h" 16 #include "content/public/browser/render_frame_host.h"
16 #include "content/public/browser/web_contents.h" 17 #include "content/public/browser/web_contents.h"
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 ASSERT_TRUE(RunTestOnChromeExtensions("sanity_check_available_apis.js")); 131 ASSERT_TRUE(RunTestOnChromeExtensions("sanity_check_available_apis.js"));
131 } 132 }
132 133
133 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, SanityCheckUnavailableAPIs) { 134 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, SanityCheckUnavailableAPIs) {
134 ASSERT_TRUE(RunTestOnAbout("sanity_check_available_apis.js")); 135 ASSERT_TRUE(RunTestOnAbout("sanity_check_available_apis.js"));
135 } 136 }
136 137
137 // Tests chrome.test.sendMessage, which exercises WebUI making a 138 // Tests chrome.test.sendMessage, which exercises WebUI making a
138 // function call and receiving a response. 139 // function call and receiving a response.
139 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, SendMessage) { 140 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, SendMessage) {
140 scoped_ptr<ExtensionTestMessageListener> listener( 141 std::unique_ptr<ExtensionTestMessageListener> listener(
141 new ExtensionTestMessageListener("ping", true)); 142 new ExtensionTestMessageListener("ping", true));
142 143
143 ASSERT_TRUE(RunTestOnExtensionsFrame("send_message.js")); 144 ASSERT_TRUE(RunTestOnExtensionsFrame("send_message.js"));
144 145
145 ASSERT_TRUE(listener->WaitUntilSatisfied()); 146 ASSERT_TRUE(listener->WaitUntilSatisfied());
146 listener->Reply("pong"); 147 listener->Reply("pong");
147 148
148 listener.reset(new ExtensionTestMessageListener(false)); 149 listener.reset(new ExtensionTestMessageListener(false));
149 ASSERT_TRUE(listener->WaitUntilSatisfied()); 150 ASSERT_TRUE(listener->WaitUntilSatisfied());
150 EXPECT_EQ("true", listener->message()); 151 EXPECT_EQ("true", listener->message());
151 } 152 }
152 153
153 // Tests chrome.runtime.onMessage, which exercises WebUI registering and 154 // Tests chrome.runtime.onMessage, which exercises WebUI registering and
154 // receiving an event. 155 // receiving an event.
155 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, OnMessage) { 156 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, OnMessage) {
156 ASSERT_TRUE(RunTestOnExtensionsFrame("on_message.js")); 157 ASSERT_TRUE(RunTestOnExtensionsFrame("on_message.js"));
157 158
158 OnMessage::Info info; 159 OnMessage::Info info;
159 info.data = "hi"; 160 info.data = "hi";
160 info.last_message = true; 161 info.last_message = true;
161 EventRouter::Get(profile())->BroadcastEvent(make_scoped_ptr( 162 EventRouter::Get(profile())->BroadcastEvent(base::WrapUnique(
162 new Event(events::RUNTIME_ON_MESSAGE, OnMessage::kEventName, 163 new Event(events::RUNTIME_ON_MESSAGE, OnMessage::kEventName,
163 OnMessage::Create(info)))); 164 OnMessage::Create(info))));
164 165
165 scoped_ptr<ExtensionTestMessageListener> listener( 166 std::unique_ptr<ExtensionTestMessageListener> listener(
166 new ExtensionTestMessageListener(false)); 167 new ExtensionTestMessageListener(false));
167 ASSERT_TRUE(listener->WaitUntilSatisfied()); 168 ASSERT_TRUE(listener->WaitUntilSatisfied());
168 EXPECT_EQ("true", listener->message()); 169 EXPECT_EQ("true", listener->message());
169 } 170 }
170 171
171 // Tests chrome.runtime.lastError, which exercises WebUI accessing a property 172 // Tests chrome.runtime.lastError, which exercises WebUI accessing a property
172 // on an API which it doesn't actually have access to. A bindings test really. 173 // on an API which it doesn't actually have access to. A bindings test really.
173 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, RuntimeLastError) { 174 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, RuntimeLastError) {
174 scoped_ptr<ExtensionTestMessageListener> listener( 175 std::unique_ptr<ExtensionTestMessageListener> listener(
175 new ExtensionTestMessageListener("ping", true)); 176 new ExtensionTestMessageListener("ping", true));
176 177
177 ASSERT_TRUE(RunTestOnExtensionsFrame("runtime_last_error.js")); 178 ASSERT_TRUE(RunTestOnExtensionsFrame("runtime_last_error.js"));
178 179
179 ASSERT_TRUE(listener->WaitUntilSatisfied()); 180 ASSERT_TRUE(listener->WaitUntilSatisfied());
180 listener->ReplyWithError("unknown host"); 181 listener->ReplyWithError("unknown host");
181 182
182 listener.reset(new ExtensionTestMessageListener(false)); 183 listener.reset(new ExtensionTestMessageListener(false));
183 ASSERT_TRUE(listener->WaitUntilSatisfied()); 184 ASSERT_TRUE(listener->WaitUntilSatisfied());
184 EXPECT_EQ("true", listener->message()); 185 EXPECT_EQ("true", listener->message());
185 } 186 }
186 187
187 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, CanEmbedExtensionOptions) { 188 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, CanEmbedExtensionOptions) {
188 scoped_ptr<ExtensionTestMessageListener> listener( 189 std::unique_ptr<ExtensionTestMessageListener> listener(
189 new ExtensionTestMessageListener("ready", true)); 190 new ExtensionTestMessageListener("ready", true));
190 191
191 const Extension* extension = 192 const Extension* extension =
192 LoadExtension(test_data_dir_.AppendASCII("extension_options") 193 LoadExtension(test_data_dir_.AppendASCII("extension_options")
193 .AppendASCII("embed_self")); 194 .AppendASCII("embed_self"));
194 ASSERT_TRUE(extension); 195 ASSERT_TRUE(extension);
195 196
196 ASSERT_TRUE(RunTestOnExtensionsFrame("can_embed_extension_options.js")); 197 ASSERT_TRUE(RunTestOnExtensionsFrame("can_embed_extension_options.js"));
197 198
198 ASSERT_TRUE(listener->WaitUntilSatisfied()); 199 ASSERT_TRUE(listener->WaitUntilSatisfied());
199 listener->Reply(extension->id()); 200 listener->Reply(extension->id());
200 listener.reset(new ExtensionTestMessageListener("load", false)); 201 listener.reset(new ExtensionTestMessageListener("load", false));
201 ASSERT_TRUE(listener->WaitUntilSatisfied()); 202 ASSERT_TRUE(listener->WaitUntilSatisfied());
202 } 203 }
203 204
204 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, ReceivesExtensionOptionsOnClose) { 205 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, ReceivesExtensionOptionsOnClose) {
205 scoped_ptr<ExtensionTestMessageListener> listener( 206 std::unique_ptr<ExtensionTestMessageListener> listener(
206 new ExtensionTestMessageListener("ready", true)); 207 new ExtensionTestMessageListener("ready", true));
207 208
208 const Extension* extension = 209 const Extension* extension =
209 InstallExtension(test_data_dir_.AppendASCII("extension_options") 210 InstallExtension(test_data_dir_.AppendASCII("extension_options")
210 .AppendASCII("close_self"), 1); 211 .AppendASCII("close_self"), 1);
211 ASSERT_TRUE(extension); 212 ASSERT_TRUE(extension);
212 213
213 ASSERT_TRUE( 214 ASSERT_TRUE(
214 RunTestOnExtensionsFrame("receives_extension_options_on_close.js")); 215 RunTestOnExtensionsFrame("receives_extension_options_on_close.js"));
215 216
216 ASSERT_TRUE(listener->WaitUntilSatisfied()); 217 ASSERT_TRUE(listener->WaitUntilSatisfied());
217 listener->Reply(extension->id()); 218 listener->Reply(extension->id());
218 listener.reset(new ExtensionTestMessageListener("onclose received", false)); 219 listener.reset(new ExtensionTestMessageListener("onclose received", false));
219 ASSERT_TRUE(listener->WaitUntilSatisfied()); 220 ASSERT_TRUE(listener->WaitUntilSatisfied());
220 } 221 }
221 222
222 // Regression test for crbug.com/414526. 223 // Regression test for crbug.com/414526.
223 // 224 //
224 // Same setup as CanEmbedExtensionOptions but disable the extension before 225 // Same setup as CanEmbedExtensionOptions but disable the extension before
225 // embedding. 226 // embedding.
226 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, EmbedDisabledExtension) { 227 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, EmbedDisabledExtension) {
227 scoped_ptr<ExtensionTestMessageListener> listener( 228 std::unique_ptr<ExtensionTestMessageListener> listener(
228 new ExtensionTestMessageListener("ready", true)); 229 new ExtensionTestMessageListener("ready", true));
229 230
230 std::string extension_id; 231 std::string extension_id;
231 { 232 {
232 const Extension* extension = 233 const Extension* extension =
233 LoadExtension(test_data_dir_.AppendASCII("extension_options") 234 LoadExtension(test_data_dir_.AppendASCII("extension_options")
234 .AppendASCII("embed_self")); 235 .AppendASCII("embed_self"));
235 ASSERT_TRUE(extension); 236 ASSERT_TRUE(extension);
236 extension_id = extension->id(); 237 extension_id = extension->id();
237 DisableExtension(extension_id); 238 DisableExtension(extension_id);
238 } 239 }
239 240
240 ASSERT_TRUE(RunTestOnExtensionsFrame("can_embed_extension_options.js")); 241 ASSERT_TRUE(RunTestOnExtensionsFrame("can_embed_extension_options.js"));
241 242
242 ASSERT_TRUE(listener->WaitUntilSatisfied()); 243 ASSERT_TRUE(listener->WaitUntilSatisfied());
243 listener->Reply(extension_id); 244 listener->Reply(extension_id);
244 listener.reset(new ExtensionTestMessageListener("createfailed", false)); 245 listener.reset(new ExtensionTestMessageListener("createfailed", false));
245 ASSERT_TRUE(listener->WaitUntilSatisfied()); 246 ASSERT_TRUE(listener->WaitUntilSatisfied());
246 } 247 }
247 248
248 #endif 249 #endif
249 250
250 } // namespace 251 } // namespace
251 252
252 } // namespace extensions 253 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_web_ui_unittest.cc ('k') | chrome/browser/extensions/external_install_error.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698