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

Side by Side Diff: content/browser/frame_host/render_frame_host_impl.cc

Issue 2948613002: [AudioStreamMonitor] Adds API to collect frame-level audibility. (Closed)
Patch Set: Correct comments in code 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/browser/frame_host/render_frame_host_impl.h" 5 #include "content/browser/frame_host/render_frame_host_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 pending_commit_(false), 430 pending_commit_(false),
431 nav_entry_id_(0), 431 nav_entry_id_(0),
432 accessibility_reset_token_(0), 432 accessibility_reset_token_(0),
433 accessibility_reset_count_(0), 433 accessibility_reset_count_(0),
434 browser_plugin_embedder_ax_tree_id_(ui::AXTreeIDRegistry::kNoAXTreeID), 434 browser_plugin_embedder_ax_tree_id_(ui::AXTreeIDRegistry::kNoAXTreeID),
435 no_create_browser_accessibility_manager_for_testing_(false), 435 no_create_browser_accessibility_manager_for_testing_(false),
436 web_ui_type_(WebUI::kNoWebUI), 436 web_ui_type_(WebUI::kNoWebUI),
437 pending_web_ui_type_(WebUI::kNoWebUI), 437 pending_web_ui_type_(WebUI::kNoWebUI),
438 should_reuse_web_ui_(false), 438 should_reuse_web_ui_(false),
439 has_selection_(false), 439 has_selection_(false),
440 is_audible_(false),
440 last_navigation_previews_state_(PREVIEWS_UNSPECIFIED), 441 last_navigation_previews_state_(PREVIEWS_UNSPECIFIED),
441 frame_host_interface_broker_binding_(this), 442 frame_host_interface_broker_binding_(this),
442 frame_host_associated_binding_(this), 443 frame_host_associated_binding_(this),
443 waiting_for_init_(renderer_initiated_creation), 444 waiting_for_init_(renderer_initiated_creation),
444 has_focused_editable_element_(false), 445 has_focused_editable_element_(false),
445 weak_ptr_factory_(this) { 446 weak_ptr_factory_(this) {
446 frame_tree_->AddRenderViewHostRef(render_view_host_); 447 frame_tree_->AddRenderViewHostRef(render_view_host_);
447 GetProcess()->AddRoute(routing_id_, this); 448 GetProcess()->AddRoute(routing_id_, this);
448 g_routing_id_frame_map.Get().insert(std::make_pair( 449 g_routing_id_frame_map.Get().insert(std::make_pair(
449 RenderFrameHostID(GetProcess()->GetID(), routing_id_), 450 RenderFrameHostID(GetProcess()->GetID(), routing_id_),
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after
988 ResetLoadingState(); 989 ResetLoadingState();
989 990
990 // The renderer process is gone, so the |stream_handle_| will no longer be 991 // The renderer process is gone, so the |stream_handle_| will no longer be
991 // used. It can be released. 992 // used. It can be released.
992 // TODO(clamy): Remove this when we switch to Mojo streams. 993 // TODO(clamy): Remove this when we switch to Mojo streams.
993 stream_handle_.reset(); 994 stream_handle_.reset();
994 995
995 // Any future UpdateState or UpdateTitle messages from this or a recreated 996 // Any future UpdateState or UpdateTitle messages from this or a recreated
996 // process should be ignored until the next commit. 997 // process should be ignored until the next commit.
997 set_nav_entry_id(0); 998 set_nav_entry_id(0);
999
1000 if (IsAudible())
nasko 2017/06/21 21:04:07 Why not use is_audible_? It is used directly in ot
lpy 2017/06/21 22:28:18 Done.
1001 GetProcess()->OnAudioStreamRemoved();
998 } 1002 }
999 1003
1000 void RenderFrameHostImpl::ReportContentSecurityPolicyViolation( 1004 void RenderFrameHostImpl::ReportContentSecurityPolicyViolation(
1001 const CSPViolationParams& violation_params) { 1005 const CSPViolationParams& violation_params) {
1002 Send(new FrameMsg_ReportContentSecurityPolicyViolation(routing_id_, 1006 Send(new FrameMsg_ReportContentSecurityPolicyViolation(routing_id_,
1003 violation_params)); 1007 violation_params));
1004 } 1008 }
1005 1009
1006 void RenderFrameHostImpl::SanitizeDataForUseInCspViolation( 1010 void RenderFrameHostImpl::SanitizeDataForUseInCspViolation(
1007 bool is_redirect, 1011 bool is_redirect,
(...skipping 2551 matching lines...) Expand 10 before | Expand all | Expand 10 after
3559 } 3563 }
3560 } 3564 }
3561 3565
3562 Send(new FrameMsg_RunFileChooserResponse(routing_id_, files)); 3566 Send(new FrameMsg_RunFileChooserResponse(routing_id_, files));
3563 } 3567 }
3564 3568
3565 bool RenderFrameHostImpl::HasSelection() { 3569 bool RenderFrameHostImpl::HasSelection() {
3566 return has_selection_; 3570 return has_selection_;
3567 } 3571 }
3568 3572
3573 bool RenderFrameHostImpl::IsAudible() {
3574 return is_audible_;
3575 }
3576
3577 void RenderFrameHostImpl::OnAudioStateChanged(bool is_audible) {
3578 if (is_audible != is_audible_) {
3579 if (is_audible)
3580 GetProcess()->OnAudioStreamAdded();
3581 else
3582 GetProcess()->OnAudioStreamRemoved();
3583 }
3584 is_audible_ = is_audible;
3585 }
3586
3569 void RenderFrameHostImpl::GetInterfaceProvider( 3587 void RenderFrameHostImpl::GetInterfaceProvider(
3570 service_manager::mojom::InterfaceProviderRequest interfaces) { 3588 service_manager::mojom::InterfaceProviderRequest interfaces) {
3571 service_manager::Identity child_identity = GetProcess()->GetChildIdentity(); 3589 service_manager::Identity child_identity = GetProcess()->GetChildIdentity();
3572 service_manager::Connector* connector = 3590 service_manager::Connector* connector =
3573 BrowserContext::GetConnectorFor(GetProcess()->GetBrowserContext()); 3591 BrowserContext::GetConnectorFor(GetProcess()->GetBrowserContext());
3574 service_manager::mojom::InterfaceProviderPtr provider; 3592 service_manager::mojom::InterfaceProviderPtr provider;
3575 interface_provider_bindings_.AddBinding(this, mojo::MakeRequest(&provider)); 3593 interface_provider_bindings_.AddBinding(this, mojo::MakeRequest(&provider));
3576 connector->FilterInterfaces(mojom::kNavigation_FrameSpec, child_identity, 3594 connector->FilterInterfaces(mojom::kNavigation_FrameSpec, child_identity,
3577 std::move(interfaces), std::move(provider)); 3595 std::move(interfaces), std::move(provider));
3578 } 3596 }
(...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after
4119 } 4137 }
4120 4138
4121 void RenderFrameHostImpl::ForwardGetInterfaceToRenderFrame( 4139 void RenderFrameHostImpl::ForwardGetInterfaceToRenderFrame(
4122 const std::string& interface_name, 4140 const std::string& interface_name,
4123 mojo::ScopedMessagePipeHandle pipe) { 4141 mojo::ScopedMessagePipeHandle pipe) {
4124 GetRemoteInterfaces()->GetInterface(interface_name, std::move(pipe)); 4142 GetRemoteInterfaces()->GetInterface(interface_name, std::move(pipe));
4125 } 4143 }
4126 #endif 4144 #endif
4127 4145
4128 } // namespace content 4146 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698