| 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/renderer_host/render_view_host_impl.h" | 5 #include "content/browser/renderer_host/render_view_host_impl.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 160 return static_cast<RenderViewHostImpl*>(RenderWidgetHostImpl::From(widget)); | 160 return static_cast<RenderViewHostImpl*>(RenderWidgetHostImpl::From(widget)); |
| 161 } | 161 } |
| 162 | 162 |
| 163 RenderViewHostImpl::RenderViewHostImpl( | 163 RenderViewHostImpl::RenderViewHostImpl( |
| 164 SiteInstance* instance, | 164 SiteInstance* instance, |
| 165 RenderViewHostDelegate* delegate, | 165 RenderViewHostDelegate* delegate, |
| 166 RenderWidgetHostDelegate* widget_delegate, | 166 RenderWidgetHostDelegate* widget_delegate, |
| 167 int routing_id, | 167 int routing_id, |
| 168 int main_frame_routing_id, | 168 int main_frame_routing_id, |
| 169 bool swapped_out, | 169 bool swapped_out, |
| 170 bool hidden) | 170 bool hidden, |
| 171 bool has_initialized_audio_host) |
| 171 : RenderWidgetHostImpl(widget_delegate, | 172 : RenderWidgetHostImpl(widget_delegate, |
| 172 instance->GetProcess(), | 173 instance->GetProcess(), |
| 173 routing_id, | 174 routing_id, |
| 174 hidden), | 175 hidden), |
| 175 frames_ref_count_(0), | 176 frames_ref_count_(0), |
| 176 delegate_(delegate), | 177 delegate_(delegate), |
| 177 instance_(static_cast<SiteInstanceImpl*>(instance)), | 178 instance_(static_cast<SiteInstanceImpl*>(instance)), |
| 178 waiting_for_drag_context_response_(false), | 179 waiting_for_drag_context_response_(false), |
| 179 enabled_bindings_(0), | 180 enabled_bindings_(0), |
| 180 page_id_(-1), | 181 page_id_(-1), |
| 181 is_active_(!swapped_out), | 182 is_active_(!swapped_out), |
| 182 is_swapped_out_(swapped_out), | 183 is_swapped_out_(swapped_out), |
| 183 main_frame_routing_id_(main_frame_routing_id), | 184 main_frame_routing_id_(main_frame_routing_id), |
| 184 run_modal_reply_msg_(NULL), | 185 run_modal_reply_msg_(NULL), |
| 185 run_modal_opener_id_(MSG_ROUTING_NONE), | 186 run_modal_opener_id_(MSG_ROUTING_NONE), |
| 186 is_waiting_for_close_ack_(false), | 187 is_waiting_for_close_ack_(false), |
| 187 sudden_termination_allowed_(false), | 188 sudden_termination_allowed_(false), |
| 188 render_view_termination_status_(base::TERMINATION_STATUS_STILL_RUNNING), | 189 render_view_termination_status_(base::TERMINATION_STATUS_STILL_RUNNING), |
| 189 virtual_keyboard_requested_(false), | 190 virtual_keyboard_requested_(false), |
| 190 is_focused_element_editable_(false), | 191 is_focused_element_editable_(false), |
| 191 updating_web_preferences_(false), | 192 updating_web_preferences_(false), |
| 192 weak_factory_(this) { | 193 weak_factory_(this) { |
| 193 DCHECK(instance_.get()); | 194 DCHECK(instance_.get()); |
| 194 CHECK(delegate_); // http://crbug.com/82827 | 195 CHECK(delegate_); // http://crbug.com/82827 |
| 195 | 196 |
| 196 GetProcess()->EnableSendQueue(); | 197 GetProcess()->EnableSendQueue(); |
| 197 | 198 |
| 198 if (ResourceDispatcherHostImpl::Get()) { | 199 if (ResourceDispatcherHostImpl::Get()) { |
| 200 bool has_active_audio = false; |
| 201 if (has_initialized_audio_host) { |
| 202 scoped_refptr<AudioRendererHost> arh = |
| 203 static_cast<RenderProcessHostImpl*>(GetProcess()) |
| 204 ->audio_renderer_host(); |
| 205 if (arh.get()) |
| 206 has_active_audio = arh->RenderViewHasActiveAudio(GetRoutingID()); |
| 207 } |
| 199 BrowserThread::PostTask( | 208 BrowserThread::PostTask( |
| 200 BrowserThread::IO, FROM_HERE, | 209 BrowserThread::IO, |
| 210 FROM_HERE, |
| 201 base::Bind(&ResourceDispatcherHostImpl::OnRenderViewHostCreated, | 211 base::Bind(&ResourceDispatcherHostImpl::OnRenderViewHostCreated, |
| 202 base::Unretained(ResourceDispatcherHostImpl::Get()), | 212 base::Unretained(ResourceDispatcherHostImpl::Get()), |
| 203 GetProcess()->GetID(), GetRoutingID(), !is_hidden())); | 213 GetProcess()->GetID(), |
| 214 GetRoutingID(), |
| 215 !is_hidden(), |
| 216 has_active_audio)); |
| 204 } | 217 } |
| 205 | |
| 206 #if defined(ENABLE_BROWSER_CDMS) | 218 #if defined(ENABLE_BROWSER_CDMS) |
| 207 media_web_contents_observer_.reset(new MediaWebContentsObserver(this)); | 219 media_web_contents_observer_.reset(new MediaWebContentsObserver(this)); |
| 208 #endif | 220 #endif |
| 209 } | 221 } |
| 210 | 222 |
| 211 RenderViewHostImpl::~RenderViewHostImpl() { | 223 RenderViewHostImpl::~RenderViewHostImpl() { |
| 212 if (ResourceDispatcherHostImpl::Get()) { | 224 if (ResourceDispatcherHostImpl::Get()) { |
| 213 BrowserThread::PostTask( | 225 BrowserThread::PostTask( |
| 214 BrowserThread::IO, FROM_HERE, | 226 BrowserThread::IO, FROM_HERE, |
| 215 base::Bind(&ResourceDispatcherHostImpl::OnRenderViewHostDeleted, | 227 base::Bind(&ResourceDispatcherHostImpl::OnRenderViewHostDeleted, |
| (...skipping 1179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1395 FrameTree* frame_tree = delegate_->GetFrameTree(); | 1407 FrameTree* frame_tree = delegate_->GetFrameTree(); |
| 1396 | 1408 |
| 1397 frame_tree->ResetForMainFrameSwap(); | 1409 frame_tree->ResetForMainFrameSwap(); |
| 1398 } | 1410 } |
| 1399 | 1411 |
| 1400 void RenderViewHostImpl::SelectWordAroundCaret() { | 1412 void RenderViewHostImpl::SelectWordAroundCaret() { |
| 1401 Send(new ViewMsg_SelectWordAroundCaret(GetRoutingID())); | 1413 Send(new ViewMsg_SelectWordAroundCaret(GetRoutingID())); |
| 1402 } | 1414 } |
| 1403 | 1415 |
| 1404 } // namespace content | 1416 } // namespace content |
| OLD | NEW |