OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/tab_contents/tab_contents_view_helper.h" | 5 #include "content/browser/tab_contents/tab_contents_view_helper.h" |
6 | 6 |
7 #include "content/browser/renderer_host/render_view_host.h" | 7 #include "content/browser/renderer_host/render_view_host.h" |
8 #include "content/browser/renderer_host/render_widget_host.h" | 8 #include "content/browser/renderer_host/render_widget_host.h" |
9 #include "content/browser/tab_contents/tab_contents.h" | 9 #include "content/browser/tab_contents/tab_contents.h" |
10 #include "content/common/view_messages.h" | 10 #include "content/common/view_messages.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 TabContentsViewHelper::~TabContentsViewHelper() {} | 29 TabContentsViewHelper::~TabContentsViewHelper() {} |
30 | 30 |
31 void TabContentsViewHelper::Observe( | 31 void TabContentsViewHelper::Observe( |
32 int type, | 32 int type, |
33 const content::NotificationSource& source, | 33 const content::NotificationSource& source, |
34 const content::NotificationDetails& details) { | 34 const content::NotificationDetails& details) { |
35 DCHECK_EQ(type, content::NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED); | 35 DCHECK_EQ(type, content::NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED); |
36 RenderWidgetHost* host = content::Source<RenderWidgetHost>(source).ptr(); | 36 RenderWidgetHost* host = content::Source<RenderWidgetHost>(source).ptr(); |
37 for (PendingWidgetViews::iterator i = pending_widget_views_.begin(); | 37 for (PendingWidgetViews::iterator i = pending_widget_views_.begin(); |
38 i != pending_widget_views_.end(); ++i) { | 38 i != pending_widget_views_.end(); ++i) { |
39 if (host->view() == i->second) { | 39 if (host->GetView() == i->second) { |
40 pending_widget_views_.erase(i); | 40 pending_widget_views_.erase(i); |
41 break; | 41 break; |
42 } | 42 } |
43 } | 43 } |
44 } | 44 } |
45 | 45 |
46 TabContents* TabContentsViewHelper::CreateNewWindow( | 46 TabContents* TabContentsViewHelper::CreateNewWindow( |
47 WebContents* web_contents, | 47 WebContents* web_contents, |
48 int route_id, | 48 int route_id, |
49 const ViewHostMsg_CreateWindow_Params& params) { | 49 const ViewHostMsg_CreateWindow_Params& params) { |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 // Certain systems can block the creation of new windows. If we didn't succeed | 112 // Certain systems can block the creation of new windows. If we didn't succeed |
113 // in creating one, just return NULL. | 113 // in creating one, just return NULL. |
114 if (iter == pending_contents_.end()) { | 114 if (iter == pending_contents_.end()) { |
115 return NULL; | 115 return NULL; |
116 } | 116 } |
117 | 117 |
118 TabContents* new_contents = iter->second; | 118 TabContents* new_contents = iter->second; |
119 pending_contents_.erase(route_id); | 119 pending_contents_.erase(route_id); |
120 | 120 |
121 if (!new_contents->GetRenderProcessHost()->HasConnection() || | 121 if (!new_contents->GetRenderProcessHost()->HasConnection() || |
122 !new_contents->GetRenderViewHost()->view()) | 122 !new_contents->GetRenderViewHost()->GetView()) |
123 return NULL; | 123 return NULL; |
124 | 124 |
125 // TODO(brettw): It seems bogus to reach into here and initialize the host. | 125 // TODO(brettw): It seems bogus to reach into here and initialize the host. |
126 new_contents->GetRenderViewHost()->Init(); | 126 static_cast<RenderViewHostImpl*>(new_contents->GetRenderViewHost())->Init(); |
127 return new_contents; | 127 return new_contents; |
128 } | 128 } |
129 | 129 |
130 RenderWidgetHostView* TabContentsViewHelper::GetCreatedWidget(int route_id) { | 130 RenderWidgetHostView* TabContentsViewHelper::GetCreatedWidget(int route_id) { |
131 PendingWidgetViews::iterator iter = pending_widget_views_.find(route_id); | 131 PendingWidgetViews::iterator iter = pending_widget_views_.find(route_id); |
132 if (iter == pending_widget_views_.end()) { | 132 if (iter == pending_widget_views_.end()) { |
133 DCHECK(false); | 133 DCHECK(false); |
134 return NULL; | 134 return NULL; |
135 } | 135 } |
136 | 136 |
137 RenderWidgetHostView* widget_host_view = iter->second; | 137 RenderWidgetHostView* widget_host_view = iter->second; |
138 pending_widget_views_.erase(route_id); | 138 pending_widget_views_.erase(route_id); |
139 | 139 |
140 RenderWidgetHost* widget_host = widget_host_view->GetRenderWidgetHost(); | 140 RenderWidgetHost* widget_host = widget_host_view->GetRenderWidgetHost(); |
141 if (!widget_host->process()->HasConnection()) { | 141 if (!widget_host->GetProcess()->HasConnection()) { |
142 // The view has gone away or the renderer crashed. Nothing to do. | 142 // The view has gone away or the renderer crashed. Nothing to do. |
143 return NULL; | 143 return NULL; |
144 } | 144 } |
145 | 145 |
146 return widget_host_view; | 146 return widget_host_view; |
147 } | 147 } |
148 | 148 |
149 TabContents* TabContentsViewHelper::ShowCreatedWindow( | 149 TabContents* TabContentsViewHelper::ShowCreatedWindow( |
150 WebContents* web_contents, | 150 WebContents* web_contents, |
151 int route_id, | 151 int route_id, |
(...skipping 19 matching lines...) Expand all Loading... |
171 web_contents->GetDelegate()->RenderWidgetShowing(); | 171 web_contents->GetDelegate()->RenderWidgetShowing(); |
172 | 172 |
173 RenderWidgetHostViewPort* widget_host_view = | 173 RenderWidgetHostViewPort* widget_host_view = |
174 RenderWidgetHostViewPort::FromRWHV(GetCreatedWidget(route_id)); | 174 RenderWidgetHostViewPort::FromRWHV(GetCreatedWidget(route_id)); |
175 if (is_fullscreen) { | 175 if (is_fullscreen) { |
176 widget_host_view->InitAsFullscreen(web_contents->GetRenderWidgetHostView()); | 176 widget_host_view->InitAsFullscreen(web_contents->GetRenderWidgetHostView()); |
177 } else { | 177 } else { |
178 widget_host_view->InitAsPopup(web_contents->GetRenderWidgetHostView(), | 178 widget_host_view->InitAsPopup(web_contents->GetRenderWidgetHostView(), |
179 initial_pos); | 179 initial_pos); |
180 } | 180 } |
181 RenderWidgetHostImpl::FromRWHV(widget_host_view)->Init(); | 181 RenderWidgetHostImpl::From(widget_host_view->GetRenderWidgetHost())->Init(); |
182 return widget_host_view; | 182 return widget_host_view; |
183 } | 183 } |
OLD | NEW |