tree: d9707e38cea33cbd8b98f2f5c2f2ee856792a842 [path history] [tgz]
  1. java/
  2. javatests/
  3. junit/
  4. public/
  5. BUILD.gn
  6. DEPS
  7. OWNERS
  8. README.md
  9. tab_management_java_sources.gni
chrome/android/features/tab_ui/README.md

Tab UI & Tab Management

This directory contains the majority of the code for the Tabs related UI on Chrome Android. Notably it does not contain the tablet tab strip code which can be found in //chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/.

The code in this directory builds a UI layer based upon the data layer in chrome/browser/tabmodel/.

UI Elements

The central MVC component of this directory is the TabList* family of classes which binds a TabModel to a RecyclerView to present a list of tabs.

The TabList* MVC component is hosted by one of a few parent containers.

  • TabGroupUi* - the bottom tab strip showing tab group information on phone form-factor devices.
  • TabGridDialog* - the tab group dialog accessible from the tab switcher or bottom tab strip.
  • TabSwitcherPane* - grid tab switcher or GTS, represents a Pane in the hub chrome/browser/hub/ that host either incognito or regular tabs.
  • TabListEditor* - represents a UI for bulk actions on tabs.
  • TabGroupList* - notably does not use TabList* but rather hosts a list of tab groups with a different recycler view structure.

This directory also houses an assortment of UI related helper classes for handling various operations such as picking tab group colors.