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_EXTENSION_OPTIONS_EXTENSION_OPTIONS_GUEST_DELEGATE_H_
6 #define EXTENSIONS_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_GUEST_DELEGATE_H_
8 #include "base/macros.h"
11 struct ContextMenuParams
;
16 namespace extensions
{
18 class ExtensionOptionsGuest
;
20 // Interface to handle communication between ExtensionOptionsGuest (in
21 // extensions) with the browser.
22 class ExtensionOptionsGuestDelegate
{
24 explicit ExtensionOptionsGuestDelegate(ExtensionOptionsGuest
* guest
);
25 virtual ~ExtensionOptionsGuestDelegate();
27 // Called from ExtensionOptionsGuest::DidInitialize().
28 virtual void DidInitialize() = 0;
30 // Shows the context menu for the guest.
31 // Returns true if the context menu was handled.
32 virtual bool HandleContextMenu(const content::ContextMenuParams
& params
) = 0;
34 virtual content::WebContents
* OpenURLInNewTab(
35 const content::OpenURLParams
& params
) = 0;
37 ExtensionOptionsGuest
* extension_options_guest() const { return guest_
; }
40 ExtensionOptionsGuest
* const guest_
;
42 DISALLOW_COPY_AND_ASSIGN(ExtensionOptionsGuestDelegate
);
45 } // namespace extensions
47 #endif // EXTENSIONS_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_GUEST_DELEGATE_H_