Index: chrome/browser/media/router/presentation_service_delegate_impl.cc |
diff --git a/chrome/browser/media/router/presentation_service_delegate_impl.cc b/chrome/browser/media/router/presentation_service_delegate_impl.cc |
index 2044080c6a7543274ad75b14bcb444018e172a4d..84ea5c89a35d92e2ea62ea6c7b668105605e0373 100644 |
--- a/chrome/browser/media/router/presentation_service_delegate_impl.cc |
+++ b/chrome/browser/media/router/presentation_service_delegate_impl.cc |
@@ -12,7 +12,6 @@ |
#include "base/containers/small_map.h" |
#include "base/guid.h" |
#include "base/memory/ptr_util.h" |
-#include "base/stl_util.h" |
#include "base/strings/string_util.h" |
#include "chrome/browser/media/router/create_presentation_connection_request.h" |
#include "chrome/browser/media/router/media_route.h" |
@@ -58,14 +57,10 @@ RenderFrameHostId GetRenderFrameHostId(RenderFrameHost* render_frame_host) { |
// Gets the last committed URL for the render frame specified by |
// |render_frame_host_id|. |
-GURL GetLastCommittedURLForFrame(RenderFrameHostId render_frame_host_id, |
- content::WebContents* web_contents) { |
+GURL GetLastCommittedURLForFrame(RenderFrameHostId render_frame_host_id) { |
RenderFrameHost* render_frame_host = RenderFrameHost::FromID( |
render_frame_host_id.first, render_frame_host_id.second); |
- // crbug.com/663740: The RFH may not be associated with the frame tree; in |
- // that case, GetLastCommittedOrigin() may crash. |
- if (!render_frame_host || |
- !base::ContainsValue(web_contents->GetAllFrames(), render_frame_host)) |
+ if (!render_frame_host) |
return GURL(); |
// TODO(crbug.com/632623): Use url::Origin in place of GURL for origins |
@@ -240,8 +235,7 @@ bool PresentationFrame::SetScreenAvailabilityListener( |
sinks_observer.reset(new PresentationMediaSinksObserver( |
router_, listener, source, |
- GetLastCommittedURLForFrame(render_frame_host_id_, web_contents_) |
- .GetOrigin())); |
+ GetLastCommittedURLForFrame(render_frame_host_id_).GetOrigin())); |
if (!sinks_observer->Init()) { |
url_to_sinks_observer_.erase(source.id()); |
@@ -565,8 +559,7 @@ void PresentationFrameManager::SetDefaultPresentationUrls( |
ClearDefaultPresentationRequest(); |
} else { |
DCHECK(!callback.is_null()); |
- GURL frame_url( |
- GetLastCommittedURLForFrame(render_frame_host_id, web_contents_)); |
+ GURL frame_url(GetLastCommittedURLForFrame(render_frame_host_id)); |
PresentationRequest request(render_frame_host_id, default_presentation_urls, |
frame_url); |
default_presentation_started_callback_ = callback; |
@@ -807,7 +800,7 @@ void PresentationServiceDelegateImpl::StartSession( |
std::unique_ptr<CreatePresentationConnectionRequest> request( |
new CreatePresentationConnectionRequest( |
render_frame_host_id, presentation_urls, |
- GetLastCommittedURLForFrame(render_frame_host_id, web_contents_), |
+ GetLastCommittedURLForFrame(render_frame_host_id), |
base::Bind(&PresentationServiceDelegateImpl::OnStartSessionSucceeded, |
weak_factory_.GetWeakPtr(), render_process_id, |
render_frame_id, success_cb), |
@@ -838,7 +831,7 @@ void PresentationServiceDelegateImpl::JoinSession( |
} |
const url::Origin& origin = url::Origin(GetLastCommittedURLForFrame( |
- RenderFrameHostId(render_process_id, render_frame_id), web_contents_)); |
+ RenderFrameHostId(render_process_id, render_frame_id))); |
#if !defined(OS_ANDROID) |
if (IsAutoJoinPresentationId(presentation_id) && |