| 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/renderer/render_view_impl.h" | 5 #include "content/renderer/render_view_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 | 9 |
| 10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 #include "content/renderer/load_progress_tracker.h" | 87 #include "content/renderer/load_progress_tracker.h" |
| 88 #include "content/renderer/media/audio_device_factory.h" | 88 #include "content/renderer/media/audio_device_factory.h" |
| 89 #include "content/renderer/media/audio_renderer_mixer_manager.h" | 89 #include "content/renderer/media/audio_renderer_mixer_manager.h" |
| 90 #include "content/renderer/media/media_stream_dependency_factory.h" | 90 #include "content/renderer/media/media_stream_dependency_factory.h" |
| 91 #include "content/renderer/media/media_stream_dispatcher.h" | 91 #include "content/renderer/media/media_stream_dispatcher.h" |
| 92 #include "content/renderer/media/media_stream_impl.h" | 92 #include "content/renderer/media/media_stream_impl.h" |
| 93 #include "content/renderer/media/render_media_log.h" | 93 #include "content/renderer/media/render_media_log.h" |
| 94 #include "content/renderer/media/renderer_audio_output_device.h" | 94 #include "content/renderer/media/renderer_audio_output_device.h" |
| 95 #include "content/renderer/media/renderer_gpu_video_decoder_factories.h" | 95 #include "content/renderer/media/renderer_gpu_video_decoder_factories.h" |
| 96 #include "content/renderer/media/rtc_peer_connection_handler.h" | 96 #include "content/renderer/media/rtc_peer_connection_handler.h" |
| 97 #include "content/renderer/media/video_capture_impl_manager.h" |
| 97 #include "content/renderer/mhtml_generator.h" | 98 #include "content/renderer/mhtml_generator.h" |
| 98 #include "content/renderer/notification_provider.h" | 99 #include "content/renderer/notification_provider.h" |
| 99 #include "content/renderer/pepper/pepper_plugin_delegate_impl.h" | 100 #include "content/renderer/pepper/pepper_plugin_delegate_impl.h" |
| 100 #include "content/renderer/plugin_channel_host.h" | 101 #include "content/renderer/plugin_channel_host.h" |
| 101 #include "content/renderer/render_process.h" | 102 #include "content/renderer/render_process.h" |
| 102 #include "content/renderer/render_thread_impl.h" | 103 #include "content/renderer/render_thread_impl.h" |
| 103 #include "content/renderer/render_view_impl_params.h" | 104 #include "content/renderer/render_view_impl_params.h" |
| 104 #include "content/renderer/render_view_mouse_lock_dispatcher.h" | 105 #include "content/renderer/render_view_mouse_lock_dispatcher.h" |
| 105 #include "content/renderer/render_widget_fullscreen_pepper.h" | 106 #include "content/renderer/render_widget_fullscreen_pepper.h" |
| 106 #include "content/renderer/renderer_date_time_picker.h" | 107 #include "content/renderer/renderer_date_time_picker.h" |
| (...skipping 5745 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5852 void RenderViewImpl::OnWasHidden() { | 5853 void RenderViewImpl::OnWasHidden() { |
| 5853 RenderWidget::OnWasHidden(); | 5854 RenderWidget::OnWasHidden(); |
| 5854 | 5855 |
| 5855 #if defined(OS_ANDROID) | 5856 #if defined(OS_ANDROID) |
| 5856 // Inform WebMediaPlayerManagerAndroid to release all media player resources. | 5857 // Inform WebMediaPlayerManagerAndroid to release all media player resources. |
| 5857 // unless some audio is playing. | 5858 // unless some audio is playing. |
| 5858 // If something is in progress the resource will not be freed, it will | 5859 // If something is in progress the resource will not be freed, it will |
| 5859 // only be freed once the tab is destroyed or if the user navigates away | 5860 // only be freed once the tab is destroyed or if the user navigates away |
| 5860 // via WebMediaPlayerAndroid::Destroy | 5861 // via WebMediaPlayerAndroid::Destroy |
| 5861 media_player_manager_->ReleaseMediaResources(); | 5862 media_player_manager_->ReleaseMediaResources(); |
| 5863 |
| 5864 #if defined(ENABLE_WEBRTC) |
| 5865 RenderThreadImpl::current()->video_capture_impl_manager()-> |
| 5866 SuspendDevices(true); |
| 5867 #endif |
| 5862 #endif | 5868 #endif |
| 5863 | 5869 |
| 5864 if (webview()) { | 5870 if (webview()) { |
| 5865 webview()->settings()->setMinimumTimerInterval( | 5871 webview()->settings()->setMinimumTimerInterval( |
| 5866 webkit_glue::kBackgroundTabTimerInterval); | 5872 webkit_glue::kBackgroundTabTimerInterval); |
| 5867 webview()->setVisibilityState(visibilityState(), false); | 5873 webview()->setVisibilityState(visibilityState(), false); |
| 5868 } | 5874 } |
| 5869 | 5875 |
| 5870 // Inform PPAPI plugins that their page is no longer visible. | 5876 // Inform PPAPI plugins that their page is no longer visible. |
| 5871 pepper_helper_->PageVisibilityChanged(false); | 5877 pepper_helper_->PageVisibilityChanged(false); |
| 5872 | 5878 |
| 5873 #if defined(OS_MACOSX) | 5879 #if defined(OS_MACOSX) |
| 5874 // Inform NPAPI plugins that their container is no longer visible. | 5880 // Inform NPAPI plugins that their container is no longer visible. |
| 5875 std::set<WebPluginDelegateProxy*>::iterator plugin_it; | 5881 std::set<WebPluginDelegateProxy*>::iterator plugin_it; |
| 5876 for (plugin_it = plugin_delegates_.begin(); | 5882 for (plugin_it = plugin_delegates_.begin(); |
| 5877 plugin_it != plugin_delegates_.end(); ++plugin_it) { | 5883 plugin_it != plugin_delegates_.end(); ++plugin_it) { |
| 5878 (*plugin_it)->SetContainerVisibility(false); | 5884 (*plugin_it)->SetContainerVisibility(false); |
| 5879 } | 5885 } |
| 5880 #endif // OS_MACOSX | 5886 #endif // OS_MACOSX |
| 5881 } | 5887 } |
| 5882 | 5888 |
| 5883 void RenderViewImpl::OnWasShown(bool needs_repainting) { | 5889 void RenderViewImpl::OnWasShown(bool needs_repainting) { |
| 5884 RenderWidget::OnWasShown(needs_repainting); | 5890 RenderWidget::OnWasShown(needs_repainting); |
| 5885 | 5891 |
| 5892 #if defined(OS_ANDROID) && defined(ENABLE_WEBRTC) |
| 5893 RenderThreadImpl::current()->video_capture_impl_manager()-> |
| 5894 SuspendDevices(false); |
| 5895 #endif |
| 5896 |
| 5886 if (webview()) { | 5897 if (webview()) { |
| 5887 webview()->settings()->setMinimumTimerInterval( | 5898 webview()->settings()->setMinimumTimerInterval( |
| 5888 webkit_glue::kForegroundTabTimerInterval); | 5899 webkit_glue::kForegroundTabTimerInterval); |
| 5889 webview()->setVisibilityState(visibilityState(), false); | 5900 webview()->setVisibilityState(visibilityState(), false); |
| 5890 } | 5901 } |
| 5891 | 5902 |
| 5892 // Inform PPAPI plugins that their page is visible. | 5903 // Inform PPAPI plugins that their page is visible. |
| 5893 pepper_helper_->PageVisibilityChanged(true); | 5904 pepper_helper_->PageVisibilityChanged(true); |
| 5894 | 5905 |
| 5895 #if defined(OS_MACOSX) | 5906 #if defined(OS_MACOSX) |
| (...skipping 707 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6603 WebURL url = icon_urls[i].iconURL(); | 6614 WebURL url = icon_urls[i].iconURL(); |
| 6604 if (!url.isEmpty()) | 6615 if (!url.isEmpty()) |
| 6605 urls.push_back(FaviconURL(url, | 6616 urls.push_back(FaviconURL(url, |
| 6606 ToFaviconType(icon_urls[i].iconType()))); | 6617 ToFaviconType(icon_urls[i].iconType()))); |
| 6607 } | 6618 } |
| 6608 SendUpdateFaviconURL(urls); | 6619 SendUpdateFaviconURL(urls); |
| 6609 } | 6620 } |
| 6610 | 6621 |
| 6611 | 6622 |
| 6612 } // namespace content | 6623 } // namespace content |
| OLD | NEW |