tree: 99844f1190f7ee1927583784993fbbcb12bbfafa [path history] [tgz]
  1. android/
  2. internal/
  3. proto/
  4. test/
  5. BUILD.gn
  6. components_unittests.filter
  7. DEPS
  8. logger.h
  9. OWNERS
  10. README.md
  11. switches.cc
  12. switches.h
  13. tile.cc
  14. tile.h
  15. tile_service.h
  16. tile_service_factory_helper.cc
  17. tile_service_factory_helper.h
  18. tile_service_prefs.cc
  19. tile_service_prefs.h
  20. tile_unittest.cc
components/query_tiles/README.md

Query Tiles Service

Introduction

Query tiles is a new feature to bring down the barriers for NIU users and boost their confidence when using Chrome in Android. It encourages users to explore the internet by simply clicking on a few image tiles, and building a search query to find the information they want.

With this feature enabled, users will see a list of image tiles with the corresponding query strings shown on NTP(new tab page) and Omnibox suggestions. By clicking on those tiles, users will be directed to the search result page provided.

The client side will schedule fetch tasks from Google server periodically to update the latest data and images based on the user's locale.

Code structure

components/query_tiles Public interfaces and data structure.

components/query_tiles/internal internal implementations.

components/query_tiles/proto Protobuf structure.

components/query_tiles/android UI related code.

chrome/browser/query_tiles include service factory and background task client code.

components/browser_ui/widget/image_tiles Generic widget representing image tiles carousel.

TileService - Public interface for query tile service.

TileServiceScheduer - Handles scheduling tasks to fetch tiles from the server.

TileManager - Store and dispense query tiles.

ImageTileCoordinator - UI widget representing the carousel.

TileProvider - Handles backend interaction from the Java layer

QueryTileSection - Query tiles widget on NTP.

QueryTileProvider - Provider for omnibox query tile suggestions.

Test and debug

Feature flags

In chrome://flags,

  • Disable Start surface

  • Enable Query tiles

  • Enable Query tiles in omnibox

  • Set Country code for getting tiles to IN or US

  • If you’d like to see the UI immediately, enable Query tile instant fetch, restart Chrome twice and wait for 10 seconds.

WebUI

Use chrome://internals/query-tiles to manually tune the flow(start/reset) and show the internal status and data.