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
3 // found in the LICENSE file.
5 #include "chrome/browser/guest_view/web_view/context_menu_content_type_web_view.h"
7 #include "base/command_line.h"
8 #include "chrome/common/chrome_switches.h"
9 #include "extensions/common/extension.h"
10 #include "extensions/common/manifest.h"
12 ContextMenuContentTypeWebView::ContextMenuContentTypeWebView(
13 content::WebContents* web_contents,
14 const content::ContextMenuParams& params)
15 : ContextMenuContentType(web_contents, params, true) {
18 ContextMenuContentTypeWebView::~ContextMenuContentTypeWebView() {
21 bool ContextMenuContentTypeWebView::SupportsGroup(int group) {
24 case ITEM_GROUP_FRAME:
26 case ITEM_GROUP_SEARCHWEBFORIMAGE:
27 case ITEM_GROUP_SEARCH_PROVIDER:
28 case ITEM_GROUP_PRINT:
29 case ITEM_GROUP_ALL_EXTENSION:
30 case ITEM_GROUP_PRINT_PREVIEW:
32 case ITEM_GROUP_CURRENT_EXTENSION:
33 // Show contextMenus API items.
35 case ITEM_GROUP_DEVELOPER:
36 // TODO(lazyboy): Enable this for mac too when http://crbug.com/380405 is
38 #if !defined(OS_MACOSX)
40 // Add dev tools for unpacked extensions.
41 const extensions::Extension* embedder_platform_app = GetExtension();
42 return !embedder_platform_app ||
43 extensions::Manifest::IsUnpackedLocation(
44 embedder_platform_app->location()) ||
45 CommandLine::ForCurrentProcess()->HasSwitch(
46 switches::kDebugPackedApps);
49 return ContextMenuContentType::SupportsGroup(group);
52 return ContextMenuContentType::SupportsGroup(group);