1
// vim:expandtab:shiftwidth=2:tabstop=2:
2
// Copyright (C) 2013 Canonical Ltd.
4
// This library is free software; you can redistribute it and/or
5
// modify it under the terms of the GNU Lesser General Public
6
// License as published by the Free Software Foundation; either
7
// version 2.1 of the License, or (at your option) any later version.
9
// This library is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
// Lesser General Public License for more details.
14
// You should have received a copy of the GNU Lesser General Public
15
// License along with this library; if not, write to the Free Software
16
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
#ifndef _OXIDE_BROWSER_WEB_CONTENTS_VIEW_H_
19
#define _OXIDE_BROWSER_WEB_CONTENTS_VIEW_H_
21
#include "base/basictypes.h"
22
#include "base/compiler_specific.h"
23
#include "content/port/browser/render_view_host_delegate_view.h"
24
#include "content/port/browser/web_contents_view_port.h"
25
#include "ui/gfx/size.h"
33
class WebContentsViewDelegate;
35
class WebContentsView FINAL : public content::WebContentsViewPort,
36
public content::RenderViewHostDelegateView {
39
WebContentsView(content::WebContents* web_contents);
41
void CreateView(const gfx::Size& initial_size,
42
gfx::NativeView context) FINAL;
43
content::RenderWidgetHostView* CreateViewForWidget(
44
content::RenderWidgetHost* render_widget_host) FINAL;
45
content::RenderWidgetHostView* CreateViewForPopupWidget(
46
content::RenderWidgetHost* render_widget_host) FINAL;
48
void SetPageTitle(const string16& title) FINAL;
50
void RenderViewCreated(content::RenderViewHost* host) FINAL;
51
void RenderViewSwappedIn(content::RenderViewHost* host) FINAL;
53
void SetOverscrollControllerEnabled(bool enabled) FINAL;
55
gfx::NativeView GetNativeView() const FINAL;
56
gfx::NativeView GetContentNativeView() const FINAL;
57
gfx::NativeWindow GetTopLevelNativeWindow() const FINAL;
59
void GetContainerBounds(gfx::Rect* out) const FINAL;
61
void OnTabCrashed(base::TerminationStatus status, int error_code) FINAL;
63
void SizeContents(const gfx::Size& size) FINAL;
66
void SetInitialFocus() FINAL;
67
void StoreFocus() FINAL;
68
void RestoreFocus() FINAL;
70
content::DropData* GetDropData() const FINAL;
72
gfx::Rect GetViewBounds() const FINAL;
74
void ShowPopupMenu(const gfx::Rect& bounds,
76
double item_font_size,
78
const std::vector<WebMenuItem>& items,
80
bool allow_multiple_selection) FINAL;
82
void SetDelegate(WebContentsViewDelegate* delegate);
85
content::WebContents* web_contents_;
86
WebContentsViewDelegate* delegate_;
87
gfx::Size requested_size_;
89
DISALLOW_IMPLICIT_CONSTRUCTORS(WebContentsView);
94
#endif // _OXIDE_BROWSER_WEB_CONTENTS_VIEW_H_