| 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/web_contents/web_contents_impl.h" | 5 #include "content/browser/web_contents/web_contents_impl.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 #include "content/browser/manifest/manifest_manager_host.h" | 47 #include "content/browser/manifest/manifest_manager_host.h" |
| 48 #include "content/browser/media/audio_stream_monitor.h" | 48 #include "content/browser/media/audio_stream_monitor.h" |
| 49 #include "content/browser/media/capture/web_contents_audio_muter.h" | 49 #include "content/browser/media/capture/web_contents_audio_muter.h" |
| 50 #include "content/browser/message_port_message_filter.h" | 50 #include "content/browser/message_port_message_filter.h" |
| 51 #include "content/browser/plugin_content_origin_whitelist.h" | 51 #include "content/browser/plugin_content_origin_whitelist.h" |
| 52 #include "content/browser/power_save_blocker_impl.h" | 52 #include "content/browser/power_save_blocker_impl.h" |
| 53 #include "content/browser/renderer_host/render_process_host_impl.h" | 53 #include "content/browser/renderer_host/render_process_host_impl.h" |
| 54 #include "content/browser/renderer_host/render_view_host_delegate_view.h" | 54 #include "content/browser/renderer_host/render_view_host_delegate_view.h" |
| 55 #include "content/browser/renderer_host/render_view_host_impl.h" | 55 #include "content/browser/renderer_host/render_view_host_impl.h" |
| 56 #include "content/browser/renderer_host/render_widget_host_impl.h" | 56 #include "content/browser/renderer_host/render_widget_host_impl.h" |
| 57 #include "content/browser/renderer_host/render_widget_host_input_event_router.h" |
| 57 #include "content/browser/renderer_host/render_widget_host_view_base.h" | 58 #include "content/browser/renderer_host/render_widget_host_view_base.h" |
| 58 #include "content/browser/screen_orientation/screen_orientation_dispatcher_host_
impl.h" | 59 #include "content/browser/screen_orientation/screen_orientation_dispatcher_host_
impl.h" |
| 59 #include "content/browser/site_instance_impl.h" | 60 #include "content/browser/site_instance_impl.h" |
| 60 #include "content/browser/web_contents/web_contents_view_guest.h" | 61 #include "content/browser/web_contents/web_contents_view_guest.h" |
| 61 #include "content/browser/webui/generic_handler.h" | 62 #include "content/browser/webui/generic_handler.h" |
| 62 #include "content/browser/webui/web_ui_controller_factory_registry.h" | 63 #include "content/browser/webui/web_ui_controller_factory_registry.h" |
| 63 #include "content/browser/webui/web_ui_impl.h" | 64 #include "content/browser/webui/web_ui_impl.h" |
| 64 #include "content/common/browser_plugin/browser_plugin_constants.h" | 65 #include "content/common/browser_plugin/browser_plugin_constants.h" |
| 65 #include "content/common/browser_plugin/browser_plugin_messages.h" | 66 #include "content/common/browser_plugin/browser_plugin_messages.h" |
| 66 #include "content/common/frame_messages.h" | 67 #include "content/common/frame_messages.h" |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 415 #if defined(OS_ANDROID) | 416 #if defined(OS_ANDROID) |
| 416 audio_state_provider_.reset(new MediaPlayersObserver(this)); | 417 audio_state_provider_.reset(new MediaPlayersObserver(this)); |
| 417 #else | 418 #else |
| 418 audio_state_provider_.reset(new AudioStreamMonitor(this)); | 419 audio_state_provider_.reset(new AudioStreamMonitor(this)); |
| 419 #endif | 420 #endif |
| 420 } | 421 } |
| 421 | 422 |
| 422 WebContentsImpl::~WebContentsImpl() { | 423 WebContentsImpl::~WebContentsImpl() { |
| 423 is_being_destroyed_ = true; | 424 is_being_destroyed_ = true; |
| 424 | 425 |
| 426 rwh_input_event_router_.reset(); |
| 427 |
| 425 // Delete all RFH pending shutdown, which will lead the corresponding RVH to | 428 // Delete all RFH pending shutdown, which will lead the corresponding RVH to |
| 426 // shutdown and be deleted as well. | 429 // shutdown and be deleted as well. |
| 427 frame_tree_.ForEach( | 430 frame_tree_.ForEach( |
| 428 base::Bind(&RenderFrameHostManager::ClearRFHsPendingShutdown)); | 431 base::Bind(&RenderFrameHostManager::ClearRFHsPendingShutdown)); |
| 429 | 432 |
| 430 ClearAllPowerSaveBlockers(); | 433 ClearAllPowerSaveBlockers(); |
| 431 | 434 |
| 432 for (std::set<RenderWidgetHostImpl*>::iterator iter = | 435 for (std::set<RenderWidgetHostImpl*>::iterator iter = |
| 433 created_widgets_.begin(); iter != created_widgets_.end(); ++iter) { | 436 created_widgets_.begin(); iter != created_widgets_.end(); ++iter) { |
| 434 (*iter)->DetachDelegate(); | 437 (*iter)->DetachDelegate(); |
| (...skipping 1133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1568 } | 1571 } |
| 1569 #endif | 1572 #endif |
| 1570 return false; | 1573 return false; |
| 1571 } | 1574 } |
| 1572 | 1575 |
| 1573 bool WebContentsImpl::PreHandleGestureEvent( | 1576 bool WebContentsImpl::PreHandleGestureEvent( |
| 1574 const blink::WebGestureEvent& event) { | 1577 const blink::WebGestureEvent& event) { |
| 1575 return delegate_ && delegate_->PreHandleGestureEvent(this, event); | 1578 return delegate_ && delegate_->PreHandleGestureEvent(this, event); |
| 1576 } | 1579 } |
| 1577 | 1580 |
| 1581 RenderWidgetHostInputEventRouter* WebContentsImpl::GetInputEventRouter() { |
| 1582 // Currently only supported in site per process mode (--site-per-process). |
| 1583 if (!rwh_input_event_router_.get() && !is_being_destroyed_ && |
| 1584 SiteIsolationPolicy::AreCrossProcessFramesPossible()) |
| 1585 rwh_input_event_router_.reset(new RenderWidgetHostInputEventRouter); |
| 1586 return rwh_input_event_router_.get(); |
| 1587 } |
| 1588 |
| 1578 void WebContentsImpl::EnterFullscreenMode(const GURL& origin) { | 1589 void WebContentsImpl::EnterFullscreenMode(const GURL& origin) { |
| 1579 // This method is being called to enter renderer-initiated fullscreen mode. | 1590 // This method is being called to enter renderer-initiated fullscreen mode. |
| 1580 // Make sure any existing fullscreen widget is shut down first. | 1591 // Make sure any existing fullscreen widget is shut down first. |
| 1581 RenderWidgetHostView* const widget_view = GetFullscreenRenderWidgetHostView(); | 1592 RenderWidgetHostView* const widget_view = GetFullscreenRenderWidgetHostView(); |
| 1582 if (widget_view) | 1593 if (widget_view) |
| 1583 RenderWidgetHostImpl::From(widget_view->GetRenderWidgetHost())->Shutdown(); | 1594 RenderWidgetHostImpl::From(widget_view->GetRenderWidgetHost())->Shutdown(); |
| 1584 | 1595 |
| 1585 if (delegate_) | 1596 if (delegate_) |
| 1586 delegate_->EnterFullscreenModeForTab(this, origin); | 1597 delegate_->EnterFullscreenModeForTab(this, origin); |
| 1587 | 1598 |
| (...skipping 3027 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4615 player_map->erase(it); | 4626 player_map->erase(it); |
| 4616 } | 4627 } |
| 4617 | 4628 |
| 4618 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { | 4629 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { |
| 4619 force_disable_overscroll_content_ = force_disable; | 4630 force_disable_overscroll_content_ = force_disable; |
| 4620 if (view_) | 4631 if (view_) |
| 4621 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); | 4632 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); |
| 4622 } | 4633 } |
| 4623 | 4634 |
| 4624 } // namespace content | 4635 } // namespace content |
| OLD | NEW |