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

Unified Diff: chrome/browser/media/router/mojo/media_router_mojo_impl.cc

Issue 2627463003: Convert MediaRouter mojom apis to intake url::Origin objects instead of strings (Closed)
Patch Set: return an Origin instead of GURL for GetLastCommittedURLForFrame Created 3 years, 11 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: chrome/browser/media/router/mojo/media_router_mojo_impl.cc
diff --git a/chrome/browser/media/router/mojo/media_router_mojo_impl.cc b/chrome/browser/media/router/mojo/media_router_mojo_impl.cc
index 91c840db4e345016fb91f90ed364b62f39c13094..d80bc448fa41f78dd28d639973c5b8b5c0782742 100644
--- a/chrome/browser/media/router/mojo/media_router_mojo_impl.cc
+++ b/chrome/browser/media/router/mojo/media_router_mojo_impl.cc
@@ -176,7 +176,7 @@ void MediaRouterMojoImpl::OnIssue(const IssueInfo& issue) {
void MediaRouterMojoImpl::OnSinksReceived(
const std::string& media_source,
std::vector<mojom::MediaSinkPtr> sinks,
- const std::vector<std::string>& origins) {
+ const std::vector<url::Origin>& origins) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
DVLOG_WITH_INSTANCE(1) << "OnSinksReceived";
auto it = sinks_queries_.find(media_source);
@@ -185,16 +185,10 @@ void MediaRouterMojoImpl::OnSinksReceived(
return;
}
- std::vector<GURL> origin_list;
+ std::vector<url::Origin> origin_list;
origin_list.reserve(origins.size());
for (size_t i = 0; i < origins.size(); ++i) {
mark a. foltz 2017/01/24 04:04:17 Is the copying to origin_list necessary any more?
steimel 2017/01/25 19:01:11 Yes, because |origins| is a const std::vector<> an
- GURL origin(origins[i]);
- if (!origin.is_valid()) {
- LOG(WARNING) << "Received invalid origin: " << origin
- << ". Dropping result.";
- return;
- }
- origin_list.push_back(origin);
+ origin_list.push_back(origins[i]);
}
std::vector<MediaSink> sink_list;
@@ -279,55 +273,36 @@ void MediaRouterMojoImpl::RouteResponseReceived(
void MediaRouterMojoImpl::CreateRoute(
const MediaSource::Id& source_id,
const MediaSink::Id& sink_id,
- const GURL& origin,
+ const url::Origin& origin,
content::WebContents* web_contents,
const std::vector<MediaRouteResponseCallback>& callbacks,
base::TimeDelta timeout,
bool incognito) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
- if (!origin.is_valid()) {
- DVLOG_WITH_INSTANCE(1) << "Invalid origin: " << origin;
- std::unique_ptr<RouteRequestResult> result = RouteRequestResult::FromError(
- "Invalid origin", RouteRequestResult::INVALID_ORIGIN);
- MediaRouterMojoMetrics::RecordCreateRouteResultCode(result->result_code());
- RunRouteRequestCallbacks(std::move(result), callbacks);
- return;
- }
-
SetWakeReason(MediaRouteProviderWakeReason::CREATE_ROUTE);
int tab_id = SessionTabHelper::IdForTab(web_contents);
RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoCreateRoute,
- base::Unretained(this), source_id, sink_id,
- origin.is_empty() ? "" : origin.spec(), tab_id,
- callbacks, timeout, incognito));
+ base::Unretained(this), source_id, sink_id, origin,
+ tab_id, callbacks, timeout, incognito));
}
void MediaRouterMojoImpl::JoinRoute(
const MediaSource::Id& source_id,
const std::string& presentation_id,
- const GURL& origin,
+ const url::Origin& origin,
content::WebContents* web_contents,
const std::vector<MediaRouteResponseCallback>& callbacks,
base::TimeDelta timeout,
bool incognito) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
- std::unique_ptr<RouteRequestResult> error_result;
- if (!origin.is_valid()) {
- DVLOG_WITH_INSTANCE(1) << "Invalid origin: " << origin;
- error_result = RouteRequestResult::FromError(
- "Invalid origin", RouteRequestResult::INVALID_ORIGIN);
- } else if (!HasJoinableRoute()) {
+ if (!HasJoinableRoute()) {
DVLOG_WITH_INSTANCE(1) << "No joinable routes";
- error_result = RouteRequestResult::FromError(
+ std::unique_ptr<RouteRequestResult> result = RouteRequestResult::FromError(
"Route not found", RouteRequestResult::ROUTE_NOT_FOUND);
- }
-
- if (error_result) {
- MediaRouterMojoMetrics::RecordJoinRouteResultCode(
- error_result->result_code());
- RunRouteRequestCallbacks(std::move(error_result), callbacks);
+ MediaRouterMojoMetrics::RecordJoinRouteResultCode(result->result_code());
+ RunRouteRequestCallbacks(std::move(result), callbacks);
return;
}
@@ -335,35 +310,24 @@ void MediaRouterMojoImpl::JoinRoute(
int tab_id = SessionTabHelper::IdForTab(web_contents);
RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoJoinRoute,
base::Unretained(this), source_id, presentation_id,
- origin.is_empty() ? "" : origin.spec(), tab_id,
- callbacks, timeout, incognito));
+ origin, tab_id, callbacks, timeout, incognito));
}
void MediaRouterMojoImpl::ConnectRouteByRouteId(
const MediaSource::Id& source_id,
const MediaRoute::Id& route_id,
- const GURL& origin,
+ const url::Origin& origin,
content::WebContents* web_contents,
const std::vector<MediaRouteResponseCallback>& callbacks,
base::TimeDelta timeout,
bool incognito) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
- if (!origin.is_valid()) {
- DVLOG_WITH_INSTANCE(1) << "Invalid origin: " << origin;
- std::unique_ptr<RouteRequestResult> result = RouteRequestResult::FromError(
- "Invalid origin", RouteRequestResult::INVALID_ORIGIN);
- MediaRouterMojoMetrics::RecordJoinRouteResultCode(result->result_code());
- RunRouteRequestCallbacks(std::move(result), callbacks);
- return;
- }
-
SetWakeReason(MediaRouteProviderWakeReason::CONNECT_ROUTE_BY_ROUTE_ID);
int tab_id = SessionTabHelper::IdForTab(web_contents);
RunOrDefer(base::Bind(&MediaRouterMojoImpl::DoConnectRouteByRouteId,
- base::Unretained(this), source_id, route_id,
- origin.is_empty() ? "" : origin.spec(), tab_id,
- callbacks, timeout, incognito));
+ base::Unretained(this), source_id, route_id, origin,
+ tab_id, callbacks, timeout, incognito));
}
void MediaRouterMojoImpl::TerminateRoute(const MediaRoute::Id& route_id) {
@@ -459,7 +423,8 @@ bool MediaRouterMojoImpl::RegisterMediaSinksObserver(
// |observer| can be immediately notified with an empty list.
sinks_query->observers.AddObserver(observer);
if (availability_ == mojom::MediaRouter::SinkAvailability::UNAVAILABLE) {
- observer->OnSinksUpdated(std::vector<MediaSink>(), std::vector<GURL>());
+ observer->OnSinksUpdated(std::vector<MediaSink>(),
+ std::vector<url::Origin>());
} else {
// Need to call MRPM to start observing sinks if the query is new.
if (new_query) {
@@ -602,7 +567,7 @@ void MediaRouterMojoImpl::UnregisterRouteMessageObserver(
void MediaRouterMojoImpl::DoCreateRoute(
const MediaSource::Id& source_id,
const MediaSink::Id& sink_id,
- const std::string& origin,
+ const url::Origin& origin,
int tab_id,
const std::vector<MediaRouteResponseCallback>& callbacks,
base::TimeDelta timeout,
@@ -610,7 +575,6 @@ void MediaRouterMojoImpl::DoCreateRoute(
std::string presentation_id = MediaRouterBase::CreatePresentationId();
DVLOG_WITH_INSTANCE(1) << "DoCreateRoute " << source_id << "=>" << sink_id
<< ", presentation ID: " << presentation_id;
-
media_route_provider_->CreateRoute(
source_id, sink_id, presentation_id, origin, tab_id, timeout, incognito,
base::Bind(&MediaRouterMojoImpl::RouteResponseReceived,
@@ -621,7 +585,7 @@ void MediaRouterMojoImpl::DoCreateRoute(
void MediaRouterMojoImpl::DoJoinRoute(
const MediaSource::Id& source_id,
const std::string& presentation_id,
- const std::string& origin,
+ const url::Origin& origin,
int tab_id,
const std::vector<MediaRouteResponseCallback>& callbacks,
base::TimeDelta timeout,
@@ -639,7 +603,7 @@ void MediaRouterMojoImpl::DoJoinRoute(
void MediaRouterMojoImpl::DoConnectRouteByRouteId(
const MediaSource::Id& source_id,
const MediaRoute::Id& route_id,
- const std::string& origin,
+ const url::Origin& origin,
int tab_id,
const std::vector<MediaRouteResponseCallback>& callbacks,
base::TimeDelta timeout,

Powered by Google App Engine
This is Rietveld 408576698