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

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

Issue 655143003: Don't try to create extensionoptions for extensions that don't exist. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
« no previous file with comments | « no previous file | chrome/browser/resources/extensions/extension_list.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/path_service.h" 7 #include "base/path_service.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "chrome/browser/extensions/extension_apitest.h" 9 #include "chrome/browser/extensions/extension_apitest.h"
10 #include "chrome/browser/ui/browser.h" 10 #include "chrome/browser/ui/browser.h"
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 212
213 const Extension* extension = 213 const Extension* extension =
214 LoadExtension(test_data_dir_.AppendASCII("extension_options") 214 LoadExtension(test_data_dir_.AppendASCII("extension_options")
215 .AppendASCII("embed_self")); 215 .AppendASCII("embed_self"));
216 ASSERT_TRUE(extension); 216 ASSERT_TRUE(extension);
217 217
218 ASSERT_TRUE(RunTestOnExtensionsFrame("can_embed_extension_options.js")); 218 ASSERT_TRUE(RunTestOnExtensionsFrame("can_embed_extension_options.js"));
219 219
220 ASSERT_TRUE(listener->WaitUntilSatisfied()); 220 ASSERT_TRUE(listener->WaitUntilSatisfied());
221 listener->Reply(extension->id()); 221 listener->Reply(extension->id());
222 listener.reset(new ExtensionTestMessageListener("guest loaded", false)); 222 listener.reset(new ExtensionTestMessageListener("load", false));
223 ASSERT_TRUE(listener->WaitUntilSatisfied()); 223 ASSERT_TRUE(listener->WaitUntilSatisfied());
224 } 224 }
225 225
226 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, ReceivesExtensionOptionsOnClose) { 226 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, ReceivesExtensionOptionsOnClose) {
227 scoped_ptr<ExtensionTestMessageListener> listener( 227 scoped_ptr<ExtensionTestMessageListener> listener(
228 new ExtensionTestMessageListener("ready", true)); 228 new ExtensionTestMessageListener("ready", true));
229 229
230 const Extension* extension = 230 const Extension* extension =
231 InstallExtension(test_data_dir_.AppendASCII("extension_options") 231 InstallExtension(test_data_dir_.AppendASCII("extension_options")
232 .AppendASCII("close_self"), 1); 232 .AppendASCII("close_self"), 1);
233 ASSERT_TRUE(extension); 233 ASSERT_TRUE(extension);
234 234
235 ASSERT_TRUE( 235 ASSERT_TRUE(
236 RunTestOnExtensionsFrame("receives_extension_options_on_close.js")); 236 RunTestOnExtensionsFrame("receives_extension_options_on_close.js"));
237 237
238 ASSERT_TRUE(listener->WaitUntilSatisfied()); 238 ASSERT_TRUE(listener->WaitUntilSatisfied());
239 listener->Reply(extension->id()); 239 listener->Reply(extension->id());
240 listener.reset(new ExtensionTestMessageListener("onclose received", false)); 240 listener.reset(new ExtensionTestMessageListener("onclose received", false));
241 ASSERT_TRUE(listener->WaitUntilSatisfied()); 241 ASSERT_TRUE(listener->WaitUntilSatisfied());
242 } 242 }
243 243
244 // Regression test for crbug.com/414526.
245 //
246 // Same setup as CanEmbedExtensionOptions but disable the extension before
247 // embedding.
248 IN_PROC_BROWSER_TEST_F(ExtensionWebUITest, EmbedDisabledExtension) {
249 scoped_ptr<ExtensionTestMessageListener> listener(
250 new ExtensionTestMessageListener("ready", true));
251
252 std::string extension_id;
253 {
254 const Extension* extension =
255 LoadExtension(test_data_dir_.AppendASCII("extension_options")
256 .AppendASCII("embed_self"));
257 ASSERT_TRUE(extension);
258 extension_id = extension->id();
259 DisableExtension(extension_id);
260 }
261
262 ASSERT_TRUE(RunTestOnExtensionsFrame("can_embed_extension_options.js"));
263
264 ASSERT_TRUE(listener->WaitUntilSatisfied());
265 listener->Reply(extension_id);
266 listener.reset(new ExtensionTestMessageListener("createfailed", false));
267 ASSERT_TRUE(listener->WaitUntilSatisfied());
268 }
269
244 } // namespace 270 } // namespace
245 271
246 } // namespace extensions 272 } // namespace extensions
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/resources/extensions/extension_list.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698