• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include "chrome/browser/extensions/extension_action.h"
6 #include "chrome/browser/extensions/extension_apitest.h"
7 #include "chrome/browser/extensions/extension_service.h"
8 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/browser/ui/browser.h"
10 #include "chrome/test/base/ui_test_utils.h"
11 
12 namespace extensions {
13 
14 // Times out on win syzyasan, http://crbug.com/166026
15 #if defined(SYZYASAN)
16 #define MAYBE_ContextMenus DISABLED_ContextMenus
17 #else
18 #define MAYBE_ContextMenus ContextMenus
19 #endif
IN_PROC_BROWSER_TEST_F(ExtensionApiTest,MAYBE_ContextMenus)20 IN_PROC_BROWSER_TEST_F(ExtensionApiTest, MAYBE_ContextMenus) {
21   ASSERT_TRUE(RunExtensionTest("context_menus/basics")) << message_;
22   ASSERT_TRUE(RunExtensionTest("context_menus/no_perms")) << message_;
23   ASSERT_TRUE(RunExtensionTest("context_menus/item_ids")) << message_;
24   ASSERT_TRUE(RunExtensionTest("context_menus/event_page")) << message_;
25 }
26 
27 // crbug.com/51436 -- creating context menus from multiple script contexts
28 // should work.
IN_PROC_BROWSER_TEST_F(ExtensionApiTest,ContextMenusFromMultipleContexts)29 IN_PROC_BROWSER_TEST_F(ExtensionApiTest, ContextMenusFromMultipleContexts) {
30   ASSERT_TRUE(test_server()->Start());
31   ASSERT_TRUE(RunExtensionTest("context_menus/add_from_multiple_contexts"))
32       << message_;
33   const extensions::Extension* extension = GetSingleLoadedExtension();
34   ASSERT_TRUE(extension) << message_;
35 
36   {
37     // Tell the extension to update the page action state.
38     ResultCatcher catcher;
39     ui_test_utils::NavigateToURL(browser(),
40         extension->GetResourceURL("popup.html"));
41     ASSERT_TRUE(catcher.GetNextResult());
42   }
43 
44   {
45     // Tell the extension to update the page action state again.
46     ResultCatcher catcher;
47     ui_test_utils::NavigateToURL(browser(),
48         extension->GetResourceURL("popup2.html"));
49     ASSERT_TRUE(catcher.GetNextResult());
50   }
51 }
52 
53 }  // namespace extensions
54