Index: content/browser/web_contents/web_contents_impl.cc |
=================================================================== |
--- content/browser/web_contents/web_contents_impl.cc (revision 267930) |
+++ content/browser/web_contents/web_contents_impl.cc (working copy) |
@@ -514,6 +514,10 @@ |
IPC_MESSAGE_HANDLER(FrameHostMsg_EndColorChooser, OnEndColorChooser) |
IPC_MESSAGE_HANDLER(FrameHostMsg_SetSelectedColorInColorChooser, |
OnSetSelectedColorInColorChooser) |
+ IPC_MESSAGE_HANDLER(FrameHostMsg_MediaPlayingNotification, |
+ OnMediaPlayingNotification) |
+ IPC_MESSAGE_HANDLER(FrameHostMsg_MediaPausedNotification, |
+ OnMediaPausedNotification) |
IPC_MESSAGE_HANDLER(ViewHostMsg_DidLoadResourceFromMemoryCache, |
OnDidLoadResourceFromMemoryCache) |
IPC_MESSAGE_HANDLER(ViewHostMsg_DidDisplayInsecureContent, |
@@ -536,10 +540,6 @@ |
OnBrowserPluginMessage(message)) |
IPC_MESSAGE_HANDLER(ImageHostMsg_DidDownloadImage, OnDidDownloadImage) |
IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateFaviconURL, OnUpdateFaviconURL) |
- IPC_MESSAGE_HANDLER(ViewHostMsg_MediaPlayingNotification, |
- OnMediaPlayingNotification) |
- IPC_MESSAGE_HANDLER(ViewHostMsg_MediaPausedNotification, |
- OnMediaPausedNotification) |
IPC_MESSAGE_HANDLER(ViewHostMsg_DidFirstVisuallyNonEmptyPaint, |
OnFirstVisuallyNonEmptyPaint) |
IPC_MESSAGE_HANDLER(ViewHostMsg_ShowValidationMessage, |
@@ -2828,7 +2828,7 @@ |
} |
if (blocker) { |
- power_save_blockers_[render_view_message_source_][player_cookie] = |
+ power_save_blockers_[render_frame_message_source_][player_cookie] = |
blocker.release(); |
} |
#endif // !defined(OS_CHROMEOS) |
@@ -2837,8 +2837,8 @@ |
void WebContentsImpl::OnMediaPausedNotification(int64 player_cookie) { |
// Chrome OS does its own detection of audio and video. |
#if !defined(OS_CHROMEOS) |
- delete power_save_blockers_[render_view_message_source_][player_cookie]; |
- power_save_blockers_[render_view_message_source_].erase(player_cookie); |
+ delete power_save_blockers_[render_frame_message_source_][player_cookie]; |
+ power_save_blockers_[render_frame_message_source_].erase(player_cookie); |
#endif // !defined(OS_CHROMEOS) |
} |
@@ -3047,6 +3047,7 @@ |
} |
void WebContentsImpl::RenderFrameDeleted(RenderFrameHost* render_frame_host) { |
+ ClearPowerSaveBlockers(render_frame_host); |
FOR_EACH_OBSERVER(WebContentsObserver, |
observers_, |
RenderFrameDeleted(render_frame_host)); |
@@ -3259,7 +3260,6 @@ |
if (dialog_manager_) |
dialog_manager_->CancelActiveAndPendingDialogs(this); |
- ClearPowerSaveBlockers(rvh); |
SetIsLoading(rvh, false, true, NULL); |
NotifyDisconnected(); |
SetIsCrashed(status, error_code); |
@@ -3271,7 +3271,6 @@ |
} |
void WebContentsImpl::RenderViewDeleted(RenderViewHost* rvh) { |
- ClearPowerSaveBlockers(rvh); |
GetRenderManager()->RenderViewDeleted(rvh); |
FOR_EACH_OBSERVER(WebContentsObserver, observers_, RenderViewDeleted(rvh)); |
} |
@@ -3894,9 +3893,9 @@ |
} |
void WebContentsImpl::ClearPowerSaveBlockers( |
- RenderViewHost* render_view_host) { |
- STLDeleteValues(&power_save_blockers_[render_view_host]); |
- power_save_blockers_.erase(render_view_host); |
+ RenderFrameHost* render_frame_host) { |
+ STLDeleteValues(&power_save_blockers_[render_frame_host]); |
+ power_save_blockers_.erase(render_frame_host); |
} |
void WebContentsImpl::ClearAllPowerSaveBlockers() { |