[Query Tiles]: instant fetch switch hookup
Bug: 1079411
Change-Id: I0f5c47dfe75817498cc599f94961097f514552b7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2188510
Commit-Queue: Shakti Sahu <[email protected]>
Reviewed-by: Hesen Zhang <[email protected]>
Reviewed-by: David Trainor <[email protected]>
Cr-Commit-Position: refs/heads/master@{#767098}
diff --git a/components/query_tiles/internal/tile_service_impl.cc b/components/query_tiles/internal/tile_service_impl.cc
index 298c99f8..cd8bf1b 100644
--- a/components/query_tiles/internal/tile_service_impl.cc
+++ b/components/query_tiles/internal/tile_service_impl.cc
@@ -8,10 +8,14 @@
#include <utility>
#include "base/bind.h"
+#include "base/bind_helpers.h"
+#include "base/command_line.h"
#include "base/guid.h"
#include "base/rand_util.h"
+#include "base/threading/thread_task_runner_handle.h"
#include "components/query_tiles/internal/proto_conversion.h"
#include "components/query_tiles/internal/tile_config.h"
+#include "components/query_tiles/switches.h"
namespace upboarding {
namespace {
@@ -28,6 +32,8 @@
constexpr base::TimeDelta kBackgroundTaskFlexTime =
base::TimeDelta::FromHours(2);
+void OnInstantFetchComplete(bool success) {}
+
} // namespace
TileServiceImpl::TileServiceImpl(
@@ -41,8 +47,6 @@
scheduler_(scheduler),
tile_fetcher_(std::move(tile_fetcher)),
clock_(clock) {
- // TODO(crbug.com/1077172): Initialize tile_db within tile_manager from
- // init_aware layer.
ScheduleDailyTask();
}
@@ -60,6 +64,16 @@
DCHECK(callback);
// TODO(xingliu): Handle TileGroupStatus::kInvalidGroup.
std::move(callback).Run(success);
+
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kQueryTilesInstantBackgroundTask)) {
+ base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
+ FROM_HERE,
+ base::BindOnce(&TileServiceImpl::StartFetchForTiles,
+ weak_ptr_factory_.GetWeakPtr(),
+ base::BindOnce(&OnInstantFetchComplete)),
+ base::TimeDelta::FromSeconds(2));
+ }
}
void TileServiceImpl::GetQueryTiles(GetTilesCallback callback) {