Remove linux_chromium_gn_dbg from the chromium CQ.
[chromium-blink-merge.git] / extensions / browser / guest_view / web_view / web_view_guest_delegate.h
blobafee25935e2da120b42024de48a9920f8adc9adf
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 #ifndef EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_GUEST_DELEGATE_H_
6 #define EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_GUEST_DELEGATE_H_
8 #include "base/callback.h"
9 #include "components/guest_view/browser/guest_view_base.h"
11 namespace content {
12 class RenderViewHost;
13 class WebContents;
14 } // namespace content
16 namespace extensions {
18 class WebViewGuest;
20 namespace api {
21 namespace web_view_internal {
23 struct ContextMenuItem;
24 } // namespace web_view_internal
25 } // namespace api
27 // A delegate class of WebViewGuest that are not a part of chrome.
28 class WebViewGuestDelegate {
29 public :
30 virtual ~WebViewGuestDelegate() {}
32 typedef std::vector<linked_ptr<api::web_view_internal::ContextMenuItem> >
33 MenuItemVector;
35 // Called when context menu operation was handled.
36 virtual bool HandleContextMenu(const content::ContextMenuParams& params) = 0;
38 // Called just after additional initialization is performed.
39 virtual void OnDidInitialize() = 0;
41 // Shows the context menu for the guest.
42 // |items| acts as a filter. This restricts the current context's default
43 // menu items to contain only the items from |items|.
44 // |items| == NULL means no filtering will be applied.
45 virtual void OnShowContextMenu(
46 int request_id,
47 const MenuItemVector* items) = 0;
49 // Returns true if the WebViewGuest should handle find requests for its
50 // embedder.
51 virtual bool ShouldHandleFindRequestsForEmbedder() const = 0;
53 virtual void SetContextMenuPosition(const gfx::Point& position) = 0;
56 } // namespace extensions
58 #endif // EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_GUEST_DELEGATE_H_