Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Side by Side Diff: chrome/browser/tab_contents/tab_contents_view.cc

Issue 6537015: Start moving core pieces of Chrome multi-process code to src\content. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 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 #include "chrome/browser/tab_contents/tab_contents_view.h"
6
7 #include "chrome/browser/renderer_host/render_process_host.h"
8 #include "chrome/browser/renderer_host/render_view_host.h"
9 #include "chrome/browser/renderer_host/render_widget_host.h"
10 #include "chrome/browser/renderer_host/render_view_host_delegate.h"
11 #include "chrome/browser/renderer_host/render_widget_host_view.h"
12 #include "chrome/browser/tab_contents/tab_contents.h"
13 #include "chrome/browser/tab_contents/tab_contents_delegate.h"
14 #include "chrome/common/notification_service.h"
15 #include "chrome/common/render_messages_params.h"
16
17 TabContentsView::TabContentsView(TabContents* tab_contents)
18 : tab_contents_(tab_contents) {
19 }
20
21 TabContentsView::~TabContentsView() {}
22
23 void TabContentsView::RenderWidgetHostDestroyed(RenderWidgetHost* host) {
24 if (host->view())
25 host->view()->WillDestroyRenderWidget(host);
26 delegate_view_helper_.RenderWidgetHostDestroyed(host);
27 }
28
29 void TabContentsView::RenderViewCreated(RenderViewHost* host) {
30 // Default implementation does nothing. Platforms may override.
31 }
32
33 void TabContentsView::CreateNewWindow(
34 int route_id,
35 const ViewHostMsg_CreateWindow_Params& params) {
36 TabContents* new_contents = delegate_view_helper_.CreateNewWindow(
37 route_id,
38 tab_contents_->profile(),
39 tab_contents_->GetSiteInstance(),
40 WebUIFactory::GetWebUIType(tab_contents_->profile(),
41 tab_contents_->GetURL()),
42 tab_contents_,
43 params.window_container_type,
44 params.frame_name);
45
46 if (new_contents) {
47 NotificationService::current()->Notify(
48 NotificationType::CREATING_NEW_WINDOW,
49 Source<TabContents>(tab_contents_),
50 Details<const ViewHostMsg_CreateWindow_Params>(&params));
51
52 if (tab_contents_->delegate())
53 tab_contents_->delegate()->TabContentsCreated(new_contents);
54 }
55 }
56
57 void TabContentsView::CreateNewWidget(int route_id,
58 WebKit::WebPopupType popup_type) {
59 CreateNewWidgetInternal(route_id, popup_type);
60 }
61
62 void TabContentsView::CreateNewFullscreenWidget(int route_id) {
63 CreateNewFullscreenWidgetInternal(route_id);
64 }
65
66 void TabContentsView::ShowCreatedWindow(int route_id,
67 WindowOpenDisposition disposition,
68 const gfx::Rect& initial_pos,
69 bool user_gesture) {
70 TabContents* contents = delegate_view_helper_.GetCreatedWindow(route_id);
71 if (contents) {
72 tab_contents()->AddNewContents(contents, disposition, initial_pos,
73 user_gesture);
74 }
75 }
76
77 void TabContentsView::ShowCreatedWidget(int route_id,
78 const gfx::Rect& initial_pos) {
79 RenderWidgetHostView* widget_host_view =
80 delegate_view_helper_.GetCreatedWidget(route_id);
81 ShowCreatedWidgetInternal(widget_host_view, initial_pos);
82 }
83
84 void TabContentsView::Activate() {
85 tab_contents_->Activate();
86 }
87
88 void TabContentsView::Deactivate() {
89 tab_contents_->Deactivate();
90 }
91
92 void TabContentsView::ShowCreatedFullscreenWidget(int route_id) {
93 RenderWidgetHostView* widget_host_view =
94 delegate_view_helper_.GetCreatedWidget(route_id);
95 ShowCreatedFullscreenWidgetInternal(widget_host_view);
96 }
97
98 void TabContentsView::LostCapture() {
99 if (tab_contents_->delegate())
100 tab_contents_->delegate()->LostCapture();
101 }
102
103 bool TabContentsView::PreHandleKeyboardEvent(
104 const NativeWebKeyboardEvent& event, bool* is_keyboard_shortcut) {
105 return tab_contents_->delegate() &&
106 tab_contents_->delegate()->PreHandleKeyboardEvent(
107 event, is_keyboard_shortcut);
108 }
109
110 void TabContentsView::UpdatePreferredSize(const gfx::Size& pref_size) {
111 if (tab_contents_->delegate())
112 tab_contents_->delegate()->UpdatePreferredSize(pref_size);
113 }
114
115 bool TabContentsView::IsDoingDrag() const {
116 return false;
117 }
118
119 bool TabContentsView::IsEventTracking() const {
120 return false;
121 }
122
123 TabContentsView::TabContentsView() : tab_contents_(NULL) {}
124
125 void TabContentsView::HandleKeyboardEvent(const NativeWebKeyboardEvent& event) {
126 if (tab_contents_->delegate())
127 tab_contents_->delegate()->HandleKeyboardEvent(event);
128 }
129
130 void TabContentsView::HandleMouseUp() {
131 if (tab_contents_->delegate())
132 tab_contents_->delegate()->HandleMouseUp();
133 }
134
135 void TabContentsView::HandleMouseActivate() {
136 if (tab_contents_->delegate())
137 tab_contents_->delegate()->HandleMouseActivate();
138 }
139
140 RenderWidgetHostView* TabContentsView::CreateNewWidgetInternal(
141 int route_id, WebKit::WebPopupType popup_type) {
142 return delegate_view_helper_.CreateNewWidget(route_id, popup_type,
143 tab_contents()->render_view_host()->process());
144 }
145
146 RenderWidgetHostView* TabContentsView::CreateNewFullscreenWidgetInternal(
147 int route_id) {
148 return delegate_view_helper_.CreateNewFullscreenWidget(
149 route_id, tab_contents()->render_view_host()->process());
150 }
151
152 void TabContentsView::ShowCreatedWidgetInternal(
153 RenderWidgetHostView* widget_host_view, const gfx::Rect& initial_pos) {
154 if (tab_contents_->delegate())
155 tab_contents_->delegate()->RenderWidgetShowing();
156
157 widget_host_view->InitAsPopup(tab_contents_->GetRenderWidgetHostView(),
158 initial_pos);
159 widget_host_view->GetRenderWidgetHost()->Init();
160 }
161
162 void TabContentsView::ShowCreatedFullscreenWidgetInternal(
163 RenderWidgetHostView* widget_host_view) {
164 if (tab_contents_->delegate())
165 tab_contents_->delegate()->RenderWidgetShowing();
166
167 widget_host_view->InitAsFullscreen();
168 widget_host_view->GetRenderWidgetHost()->Init();
169 }
OLDNEW
« no previous file with comments | « chrome/browser/tab_contents/tab_contents_view.h ('k') | chrome/browser/tab_contents/test_tab_contents.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698