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

Unified Diff: mojo/shell/application_manager.cc

Issue 1578473002: Pass application ids via AcceptConnection & ConnectToApplication callback. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 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
« no previous file with comments | « mojo/shell/application_manager.h ('k') | mojo/shell/application_manager_apptest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/shell/application_manager.cc
diff --git a/mojo/shell/application_manager.cc b/mojo/shell/application_manager.cc
index e8d42635af0e5263d4840c2311a2a6af033caeaa..b1deb85b8c96e29f31293023ad76858cba7b788f 100644
--- a/mojo/shell/application_manager.cc
+++ b/mojo/shell/application_manager.cc
@@ -32,7 +32,8 @@ namespace {
// Used by TestAPI.
bool has_created_instance = false;
-void OnEmptyOnConnectCallback(uint32_t content_handler_id) {}
+void OnEmptyOnConnectCallback(uint32_t remote_id, uint32_t content_handler_id) {
+}
} // namespace
@@ -74,6 +75,8 @@ ApplicationManager::ApplicationManager(
ApplicationManager::~ApplicationManager() {
TerminateShellConnections();
STLDeleteValues(&url_to_loader_);
+ for (auto& runner : native_runners_)
+ runner.reset();
}
void ApplicationManager::TerminateShellConnections() {
@@ -156,7 +159,7 @@ void ApplicationManager::AddListener(
}
void ApplicationManager::ApplicationPIDAvailable(
- int id,
+ uint32_t id,
base::ProcessId pid) {
for (auto& instance : identity_to_instance_) {
if (instance.second->id() == id) {
@@ -189,7 +192,7 @@ InterfaceRequest<Application> ApplicationManager::CreateInstance(
ApplicationPtr application;
InterfaceRequest<Application> application_request = GetProxy(&application);
ApplicationInstance* instance = new ApplicationInstance(
- std::move(application), this, target_id, Shell::kInvalidContentHandlerID,
+ std::move(application), this, target_id, Shell::kInvalidApplicationID,
on_application_end);
DCHECK(identity_to_instance_.find(target_id) ==
identity_to_instance_.end());
@@ -211,7 +214,8 @@ void ApplicationManager::HandleFetchCallback(
scoped_ptr<Fetcher> fetcher) {
if (!fetcher) {
// Network error. Drop |params| to tell the requestor.
- params->connect_callback().Run(Shell::kInvalidContentHandlerID);
+ params->connect_callback().Run(Shell::kInvalidApplicationID,
+ Shell::kInvalidApplicationID);
return;
}
@@ -247,9 +251,9 @@ void ApplicationManager::HandleFetchCallback(
uint32_t content_handler_id = package_manager_->HandleWithContentHandler(
fetcher.get(), source, target.url(), target.filter(), &request);
- if (content_handler_id != Shell::kInvalidContentHandlerID) {
+ if (content_handler_id != Shell::kInvalidApplicationID) {
app->set_requesting_content_handler_id(content_handler_id);
- connect_callback.Run(content_handler_id);
+ connect_callback.Run(app->id(), content_handler_id);
return;
}
@@ -263,7 +267,7 @@ void ApplicationManager::HandleFetchCallback(
target.url() == GURL("mojo://html_viewer/");
}
- connect_callback.Run(Shell::kInvalidContentHandlerID);
+ connect_callback.Run(app->id(), Shell::kInvalidApplicationID);
fetcher->AsPath(
task_runner_,
« no previous file with comments | « mojo/shell/application_manager.h ('k') | mojo/shell/application_manager_apptest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698