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_MIME_HANDLER_VIEW_MIME_HANDLER_VIEW_GUEST_H_
6 #define EXTENSIONS_BROWSER_GUEST_VIEW_MIME_HANDLER_VIEW_MIME_HANDLER_VIEW_GUEST_H_
8 #include "extensions/browser/guest_view/guest_view.h"
10 namespace extensions
{
12 class MimeHandlerViewGuestDelegate
;
14 class MimeHandlerViewGuest
: public GuestView
<MimeHandlerViewGuest
> {
16 static GuestViewBase
* Create(content::BrowserContext
* browser_context
,
17 int guest_instance_id
);
19 static const char Type
[];
21 // GuestViewBase implementation.
22 virtual const char* GetAPINamespace() const OVERRIDE
;
23 virtual int GetTaskPrefix() const OVERRIDE
;
24 virtual void CreateWebContents(
25 const std::string
& embedder_extension_id
,
26 int embedder_render_process_id
,
27 const base::DictionaryValue
& create_params
,
28 const WebContentsCreatedCallback
& callback
) OVERRIDE
;
29 virtual void DidAttachToEmbedder() OVERRIDE
;
30 virtual void DidInitialize() OVERRIDE
;
32 // WebContentsDelegate implementation.
33 virtual void HandleKeyboardEvent(
34 content::WebContents
* source
,
35 const content::NativeWebKeyboardEvent
& event
) OVERRIDE
;
38 MimeHandlerViewGuest(content::BrowserContext
* browser_context
,
39 int guest_instance_id
);
40 virtual ~MimeHandlerViewGuest();
42 scoped_ptr
<MimeHandlerViewGuestDelegate
> delegate_
;
44 DISALLOW_COPY_AND_ASSIGN(MimeHandlerViewGuest
);
47 } // namespace extensions
49 #endif // EXTENSIONS_BROWSER_GUEST_VIEW_MIME_HANDLER_VIEW_MIME_HANDLER_VIEW_GUEST_H_