Commit f63f90fb authored by Sergei Datsenko's avatar Sergei Datsenko Committed by Commit Bot

Skip cloud queries if we know we are offline.

Cloud queries are being retried indefinetely in drivefs backend when
offline, which is a separate bug, but at least we shouldn't even try if
we know that it won't work.

BUG=chromium:854481

Change-Id: I5b1f182bf532864d01fc2c47740e72af0feddad4
Reviewed-on: https://chromium-review.googlesource.com/1249425Reviewed-by: default avatarSam McNally <sammc@chromium.org>
Commit-Queue: Sergei Datsenko <dats@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594935}
parent e495d5a4
......@@ -48,6 +48,7 @@
#include "google_apis/drive/auth_service.h"
#include "google_apis/drive/drive_api_url_generator.h"
#include "mojo/public/cpp/bindings/callback_helpers.h"
#include "net/base/network_change_notifier.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"
#include "storage/common/fileapi/file_system_info.h"
#include "storage/common/fileapi/file_system_util.h"
......@@ -825,10 +826,19 @@ void SearchDriveFs(
drivefs::mojom::SearchQueryPtr search;
integration_service->GetDriveFsInterface()->StartSearchQuery(
mojo::MakeRequest(&search), query.Clone());
auto* raw_search = search.get();
raw_search->GetNextPage(base::BindOnce(&OnSearchDriveFs, std::move(function),
std::move(search), std::move(query),
filter_dirs, std::move(callback)));
if (net::NetworkChangeNotifier::IsOffline() &&
query->query_source !=
drivefs::mojom::QueryParameters::QuerySource::kLocalOnly) {
// No point trying cloud query if we know we are offline.
OnSearchDriveFs(std::move(function), std::move(search), std::move(query),
filter_dirs, std::move(callback),
drive::FILE_ERROR_NO_CONNECTION, {});
} else {
auto* raw_search = search.get();
raw_search->GetNextPage(
base::BindOnce(&OnSearchDriveFs, std::move(function), std::move(search),
std::move(query), filter_dirs, std::move(callback)));
}
}
} // namespace
......
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