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

Unified Diff: content/browser/frame_host/render_frame_host_impl.cc

Issue 2948613002: [AudioStreamMonitor] Adds API to collect frame-level audibility. (Closed)
Patch Set: Removed public API, fixed tests Created 3 years, 6 months 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/frame_host/render_frame_host_impl.cc
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index 3754bebcc1199260ee1c9cc6f5b904c7936652a3..d72ef14963b6777e7862d03e0544f5ed2008d56c 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -437,6 +437,7 @@ RenderFrameHostImpl::RenderFrameHostImpl(SiteInstance* site_instance,
pending_web_ui_type_(WebUI::kNoWebUI),
should_reuse_web_ui_(false),
has_selection_(false),
+ is_audible_(false),
last_navigation_previews_state_(PREVIEWS_UNSPECIFIED),
frame_host_interface_broker_binding_(this),
frame_host_associated_binding_(this),
@@ -995,6 +996,9 @@ void RenderFrameHostImpl::RenderProcessGone(SiteInstanceImpl* site_instance) {
// Any future UpdateState or UpdateTitle messages from this or a recreated
// process should be ignored until the next commit.
set_nav_entry_id(0);
+
+ if (is_audible_)
+ GetProcess()->OnAudioStreamRemoved();
}
void RenderFrameHostImpl::ReportContentSecurityPolicyViolation(
@@ -1182,6 +1186,20 @@ void RenderFrameHostImpl::Init() {
}
}
+bool RenderFrameHostImpl::IsAudible() {
+ return is_audible_;
+}
+
+void RenderFrameHostImpl::OnAudioStateChanged(bool is_audible) {
+ if (is_audible != is_audible_) {
DaleCurtis 2017/06/22 00:35:54 early return is preferred.
lpy 2017/06/22 02:28:52 Done.
+ if (is_audible)
+ GetProcess()->OnAudioStreamAdded();
+ else
+ GetProcess()->OnAudioStreamRemoved();
+ }
+ is_audible_ = is_audible;
+}
+
void RenderFrameHostImpl::OnDidAddMessageToConsole(
int32_t level,
const base::string16& message,

Powered by Google App Engine
This is Rietveld 408576698