Index: mojo/shell/application_instance.cc |
diff --git a/mojo/shell/application_instance.cc b/mojo/shell/application_instance.cc |
index 643cfa2289e849666cd5c89017cebaef149bd675..d98dd32296ee3d6acf33a55f26eba118b390e479 100644 |
--- a/mojo/shell/application_instance.cc |
+++ b/mojo/shell/application_instance.cc |
@@ -14,38 +14,17 @@ |
namespace mojo { |
namespace shell { |
-namespace { |
- |
-// It's valid to specify mojo: URLs in the filter either as mojo:foo or |
-// mojo://foo/ - but we store the filter in the latter form. |
-CapabilityFilter CanonicalizeFilter(const CapabilityFilter& filter) { |
- CapabilityFilter canonicalized; |
- for (CapabilityFilter::const_iterator it = filter.begin(); |
- it != filter.end(); |
- ++it) { |
- if (it->first == "*") |
- canonicalized[it->first] = it->second; |
- else |
- canonicalized[GURL(it->first).spec()] = it->second; |
- } |
- return canonicalized; |
-} |
- |
-} // namespace |
ApplicationInstance::ApplicationInstance( |
ApplicationPtr application, |
ApplicationManager* manager, |
- const Identity& originator_identity, |
const Identity& identity, |
- const CapabilityFilter& filter, |
uint32_t requesting_content_handler_id, |
const base::Closure& on_application_end) |
: manager_(manager), |
- originator_identity_(originator_identity), |
identity_(identity), |
- filter_(CanonicalizeFilter(filter)), |
- allow_any_application_(filter.size() == 1 && filter.count("*") == 1), |
+ allow_any_application_(identity.filter().size() == 1 && |
+ identity.filter().count("*") == 1), |
requesting_content_handler_id_(requesting_content_handler_id), |
on_application_end_(on_application_end), |
application_(application.Pass()), |
@@ -90,18 +69,20 @@ void ApplicationInstance::ConnectToApplication( |
callback.Run(kInvalidContentHandlerID); |
return; |
} |
- if (allow_any_application_ || filter_.find(url.spec()) != filter_.end()) { |
+ if (allow_any_application_ || |
+ identity_.filter().find(url.spec()) != identity_.filter().end()) { |
CapabilityFilter capability_filter = GetPermissiveCapabilityFilter(); |
if (!filter.is_null()) |
capability_filter = filter->filter.To<CapabilityFilter>(); |
scoped_ptr<ConnectToApplicationParams> params( |
new ConnectToApplicationParams); |
- params->SetOriginatorInfo(this); |
- params->SetURLInfo(app_request.Pass()); |
+ params->SetSource(this); |
+ params->SetTargetURLRequest( |
+ app_request.Pass(), |
+ Identity(GURL(app_request->url), std::string(), capability_filter)); |
params->set_services(services.Pass()); |
params->set_exposed_services(exposed_services.Pass()); |
- params->set_filter(capability_filter); |
params->set_connect_callback(callback); |
manager_->ConnectToApplication(params.Pass()); |
} else { |
@@ -123,13 +104,13 @@ void ApplicationInstance::CallAcceptConnection( |
params->connect_callback().Run(requesting_content_handler_id_); |
AllowedInterfaces interfaces; |
interfaces.insert("*"); |
- if (!params->originator_identity().is_null()) |
- interfaces = GetAllowedInterfaces(params->originator_filter(), identity_); |
+ if (!params->source().is_null()) |
+ interfaces = GetAllowedInterfaces(params->source().filter(), identity_); |
application_->AcceptConnection( |
- params->originator_identity().url.spec(), params->TakeServices(), |
+ params->source().url.spec(), params->TakeServices(), |
params->TakeExposedServices(), Array<String>::From(interfaces).Pass(), |
- params->app_url().spec()); |
+ params->target_url().spec()); |
} |
void ApplicationInstance::OnConnectionError() { |
@@ -142,7 +123,7 @@ void ApplicationInstance::OnConnectionError() { |
// If any queued requests came to shell during time it was shutting down, |
// start them now. |
for (auto request : queued_client_requests) { |
- // Unfortunately, it is possible that |request->app_url_request()| is null |
+ // Unfortunately, it is possible that |request->target_request()| is null |
yzshen1
2015/09/18 06:07:53
nit: |request->target_url_request()|
|
// at this point. Consider the following sequence: |
// 1) connect_request_1 arrives at the application manager; the manager |
// decides to fetch the app. |
@@ -160,10 +141,10 @@ void ApplicationInstance::OnConnectionError() { |
// before starting the fetch. So at step (2) the application manager knows |
// that it can wait for the first fetch to complete instead of doing a |
// second one directly. |
- if (!request->app_url_request()) { |
+ if (!request->target_url_request()) { |
URLRequestPtr url_request = mojo::URLRequest::New(); |
- url_request->url = request->app_url().spec(); |
- request->SetURLInfo(url_request.Pass()); |
+ url_request->url = request->target_url().spec(); |
+ request->SetTargetURLRequest(url_request.Pass(), request->target()); |
} |
manager->ConnectToApplication(make_scoped_ptr(request)); |
} |