Commit dd04950b authored by Hesen Zhang's avatar Hesen Zhang Committed by Commit Bot

Fix crash of query tiles internals in incognito mode.

- TileService not support incognito profile.

Bug: 1110285
Change-Id: Ief1c8025b74ec5df94c5e811d213a6679fd6069c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2324938Reviewed-by: default avatarMin Qin <qinmin@chromium.org>
Commit-Queue: Hesen Zhang <hesen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#792500}
parent 0a47b5b4
......@@ -19,9 +19,7 @@
QueryTilesInternalsUIMessageHandler::QueryTilesInternalsUIMessageHandler(
Profile* profile)
: tile_service_(query_tiles::TileServiceFactory::GetForKey(
profile->GetProfileKey())) {
DCHECK(tile_service_);
}
profile->GetProfileKey())) {}
QueryTilesInternalsUIMessageHandler::~QueryTilesInternalsUIMessageHandler() =
default;
......@@ -54,6 +52,8 @@ void QueryTilesInternalsUIMessageHandler::RegisterMessages() {
void QueryTilesInternalsUIMessageHandler::HandleGetTileData(
const base::ListValue* args) {
if (!tile_service_)
return;
AllowJavascript();
const base::Value* callback_id;
auto result = args->Get(0, &callback_id);
......@@ -64,6 +64,8 @@ void QueryTilesInternalsUIMessageHandler::HandleGetTileData(
void QueryTilesInternalsUIMessageHandler::HandleGetServiceStatus(
const base::ListValue* args) {
if (!tile_service_)
return;
AllowJavascript();
const base::Value* callback_id;
auto result = args->Get(0, &callback_id);
......@@ -74,6 +76,8 @@ void QueryTilesInternalsUIMessageHandler::HandleGetServiceStatus(
void QueryTilesInternalsUIMessageHandler::HandleStartFetch(
const base::ListValue* args) {
if (!tile_service_)
return;
AllowJavascript();
tile_service_->StartFetchForTiles(false /*is_from_reduce_mode*/,
base::BindOnce([](bool reschedule) {}));
......@@ -81,11 +85,14 @@ void QueryTilesInternalsUIMessageHandler::HandleStartFetch(
void QueryTilesInternalsUIMessageHandler::HandlePurgeDb(
const base::ListValue* args) {
if (tile_service_)
tile_service_->PurgeDb();
}
void QueryTilesInternalsUIMessageHandler::HandleSetServerUrl(
const base::ListValue* args) {
if (!tile_service_)
return;
AllowJavascript();
DCHECK_EQ(args->GetList().size(), 1u) << "Missing argument server URL.";
tile_service_->SetServerUrl(args->GetList()[0].GetString());
......@@ -102,6 +109,7 @@ void QueryTilesInternalsUIMessageHandler::OnTileDataAvailable(
}
void QueryTilesInternalsUIMessageHandler::OnJavascriptAllowed() {
if (tile_service_)
logger_observer_.Add(tile_service_->GetLogger());
}
......
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