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/bind.h" | 10 #include "base/bind.h" |
(...skipping 5663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5674 | 5674 |
5675 void RenderViewImpl::DidHandleTouchEvent(const WebTouchEvent& event) { | 5675 void RenderViewImpl::DidHandleTouchEvent(const WebTouchEvent& event) { |
5676 FOR_EACH_OBSERVER(RenderViewObserver, observers_, DidHandleTouchEvent(event)); | 5676 FOR_EACH_OBSERVER(RenderViewObserver, observers_, DidHandleTouchEvent(event)); |
5677 } | 5677 } |
5678 | 5678 |
5679 void RenderViewImpl::OnWasHidden() { | 5679 void RenderViewImpl::OnWasHidden() { |
5680 RenderWidget::OnWasHidden(); | 5680 RenderWidget::OnWasHidden(); |
5681 | 5681 |
5682 #if defined(OS_ANDROID) | 5682 #if defined(OS_ANDROID) |
5683 // Inform WebMediaPlayerManagerAndroid to release all media player resources. | 5683 // Inform WebMediaPlayerManagerAndroid to release all media player resources. |
5684 media_player_manager_->ReleaseMediaResources(); | 5684 // unless some media is playing. |
| 5685 // If something is in progress the resource will not be freed, it will |
| 5686 // only be freed once the tab is destroyed or if the user navigates away |
| 5687 // via WebMediaPlayerAndroid::Destroy |
| 5688 media_player_manager_->ReleaseMediaResourcesIfNotPlaying(); |
5685 #endif | 5689 #endif |
5686 | 5690 |
5687 if (webview()) { | 5691 if (webview()) { |
5688 webview()->settings()->setMinimumTimerInterval( | 5692 webview()->settings()->setMinimumTimerInterval( |
5689 webkit_glue::kBackgroundTabTimerInterval); | 5693 webkit_glue::kBackgroundTabTimerInterval); |
5690 webview()->setVisibilityState(visibilityState(), false); | 5694 webview()->setVisibilityState(visibilityState(), false); |
5691 } | 5695 } |
5692 | 5696 |
5693 // Inform PPAPI plugins that their page is no longer visible. | 5697 // Inform PPAPI plugins that their page is no longer visible. |
5694 pepper_delegate_.PageVisibilityChanged(false); | 5698 pepper_delegate_.PageVisibilityChanged(false); |
(...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6361 } | 6365 } |
6362 #endif | 6366 #endif |
6363 | 6367 |
6364 void RenderViewImpl::OnReleaseDisambiguationPopupDIB( | 6368 void RenderViewImpl::OnReleaseDisambiguationPopupDIB( |
6365 TransportDIB::Handle dib_handle) { | 6369 TransportDIB::Handle dib_handle) { |
6366 TransportDIB* dib = TransportDIB::CreateWithHandle(dib_handle); | 6370 TransportDIB* dib = TransportDIB::CreateWithHandle(dib_handle); |
6367 RenderProcess::current()->ReleaseTransportDIB(dib); | 6371 RenderProcess::current()->ReleaseTransportDIB(dib); |
6368 } | 6372 } |
6369 | 6373 |
6370 } // namespace content | 6374 } // namespace content |
OLD | NEW |