Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / extensions / browser / guest_view / web_view / web_view_guest_delegate.h
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.
4
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_
7
8 #include "extensions/browser/guest_view/guest_view_base.h"
9
10 namespace content {
11 class RenderViewHost;
12 class WebContents;
13 }  // namespace content
14
15 namespace extensions {
16
17 class WebViewGuest;
18
19 namespace api {
20 namespace web_view_internal {
21
22 struct ContextMenuItem;
23 }  // namespace web_view_internal
24 }  // namespace api
25
26 // A delegate class of WebViewGuest that are not a part of chrome.
27 class WebViewGuestDelegate {
28  public :
29   virtual ~WebViewGuestDelegate() {}
30
31   typedef std::vector<linked_ptr<api::web_view_internal::ContextMenuItem> >
32       MenuItemVector;
33
34   // Returns the current zoom factor.
35   virtual double GetZoom() = 0;
36
37   // Called when context menu operation was handled.
38   virtual bool HandleContextMenu(const content::ContextMenuParams& params) = 0;
39
40   // Called to attach helpers just after additional initialization is performed.
41   virtual void OnAttachWebViewHelpers(content::WebContents* contents) = 0;
42
43   // Called after the guest has been attached to an embedder and suspended
44   // resource loads have been resumed.
45   virtual void OnDidAttachToEmbedder() = 0;
46
47   // Called when the guest WebContents commits a provisional load in any frame.
48   virtual void OnDidCommitProvisionalLoadForFrame(bool is_main_frame) = 0;
49
50   // Called just after additional initialization is performed.
51   virtual void OnDidInitialize() = 0;
52
53   virtual void OnDocumentLoadedInFrame(
54       content::RenderFrameHost* render_frame_host) = 0;
55
56   // Called before the embedder is destroyed.
57   virtual void OnEmbedderWillBeDestroyed() = 0;
58
59   // Called immediately after the guest WebContents has been destroyed.
60   virtual void OnGuestDestroyed() = 0;
61
62   // Called when to set the zoom factor.
63   virtual void OnSetZoom(double zoom_factor) = 0;
64
65   // Shows the context menu for the guest.
66   // |items| acts as a filter. This restricts the current context's default
67   // menu items to contain only the items from |items|.
68   // |items| == NULL means no filtering will be applied.
69   virtual void OnShowContextMenu(
70       int request_id,
71       const MenuItemVector* items) = 0;
72 };
73
74 }  // namespace extensions
75
76 #endif  // EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_GUEST_DELEGATE_H_