Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(309)

Side by Side Diff: content/renderer/render_view_impl.cc

Issue 11361239: Keep playing audio even when opening another tab, going to another app etc. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 5662 matching lines...) Expand 10 before | Expand all | Expand 10 after
5673 } 5673 }
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 DCHECK(media_player_manager_);
qinmin 2012/11/14 18:14:29 this DCHECK is useless, if media_player_manager_ i
Miguel Garcia 2012/11/14 18:50:32 Done.
5684
5683 // Inform WebMediaPlayerManagerAndroid to release all media player resources. 5685 // Inform WebMediaPlayerManagerAndroid to release all media player resources.
5684 media_player_manager_->ReleaseMediaResources(); 5686 // unless some audio is playing.
qinmin 2012/11/14 18:14:29 some media is playing
Miguel Garcia 2012/11/14 18:50:32 Done.
5687 // If something is in progress the resource will not be freed, it will
5688 // only be freed once the tab is destroyed or if the user navigates away
5689 // via WebMediaPlayerAndroid::Destroy
5690 media_player_manager_->ReleaseMediaResourcesIfNotPlaying();
5685 #endif 5691 #endif
5686 5692
5687 if (webview()) { 5693 if (webview()) {
5688 webview()->settings()->setMinimumTimerInterval( 5694 webview()->settings()->setMinimumTimerInterval(
5689 webkit_glue::kBackgroundTabTimerInterval); 5695 webkit_glue::kBackgroundTabTimerInterval);
5690 webview()->setVisibilityState(visibilityState(), false); 5696 webview()->setVisibilityState(visibilityState(), false);
5691 } 5697 }
5692 5698
5693 // Inform PPAPI plugins that their page is no longer visible. 5699 // Inform PPAPI plugins that their page is no longer visible.
5694 pepper_delegate_.PageVisibilityChanged(false); 5700 pepper_delegate_.PageVisibilityChanged(false);
(...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after
6361 } 6367 }
6362 #endif 6368 #endif
6363 6369
6364 void RenderViewImpl::OnReleaseDisambiguationPopupDIB( 6370 void RenderViewImpl::OnReleaseDisambiguationPopupDIB(
6365 TransportDIB::Handle dib_handle) { 6371 TransportDIB::Handle dib_handle) {
6366 TransportDIB* dib = TransportDIB::CreateWithHandle(dib_handle); 6372 TransportDIB* dib = TransportDIB::CreateWithHandle(dib_handle);
6367 RenderProcess::current()->ReleaseTransportDIB(dib); 6373 RenderProcess::current()->ReleaseTransportDIB(dib);
6368 } 6374 }
6369 6375
6370 } // namespace content 6376 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698