Commit 923b834d authored by Nigel Tao's avatar Nigel Tao Committed by Commit Bot

Keep pending load-icon call when disconnected

Also add another nullptr check for the AppConnectionHolder, similar to
crrev.com/c/1750467

Change-Id: Id6c8fc6a02aa21908fa89e6d624cd94cf099712f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1752568Reviewed-by: default avatarDominick Ng <dominickn@chromium.org>
Commit-Queue: Nigel Tao <nigeltao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#686729}
parent 65527ea7
...@@ -395,10 +395,12 @@ void ArcApps::OnConnectionReady() { ...@@ -395,10 +395,12 @@ void ArcApps::OnConnectionReady() {
return; return;
} }
AppConnectionHolder* app_connection_holder = prefs->app_connection_holder(); AppConnectionHolder* app_connection_holder = prefs->app_connection_holder();
if (app_connection_holder && app_connection_holder->IsConnected()) {
for (auto& pending : pending_load_icon_calls_) { for (auto& pending : pending_load_icon_calls_) {
std::move(pending).Run(app_connection_holder); std::move(pending).Run(app_connection_holder);
} }
pending_load_icon_calls_.clear(); pending_load_icon_calls_.clear();
}
} }
void ArcApps::OnAppRegistered(const std::string& app_id, void ArcApps::OnAppRegistered(const std::string& app_id,
...@@ -527,8 +529,7 @@ void ArcApps::LoadIconFromVM(const std::string app_id, ...@@ -527,8 +529,7 @@ void ArcApps::LoadIconFromVM(const std::string app_id,
AppConnectionHolder* app_connection_holder = AppConnectionHolder* app_connection_holder =
prefs->app_connection_holder(); prefs->app_connection_holder();
if (app_connection_holder) { if (app_connection_holder && app_connection_holder->IsConnected()) {
if (app_connection_holder->IsConnected()) {
std::move(pending).Run(app_connection_holder); std::move(pending).Run(app_connection_holder);
} else { } else {
pending_load_icon_calls_.push_back(std::move(pending)); pending_load_icon_calls_.push_back(std::move(pending));
...@@ -536,7 +537,6 @@ void ArcApps::LoadIconFromVM(const std::string app_id, ...@@ -536,7 +537,6 @@ void ArcApps::LoadIconFromVM(const std::string app_id,
return; return;
} }
} }
}
// On failure, we still run the callback, with the zero IconValue. // On failure, we still run the callback, with the zero IconValue.
std::move(callback).Run(apps::mojom::IconValue::New()); std::move(callback).Run(apps::mojom::IconValue::New());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment