[WebID] Mediated account selection UI - P5 - Add Header view

This CL is part of a series to implement prototype Android UI of the
account selection flow for WebID .

It adds the header to the view by adding it as the first item in sheet
data. It also adds relevant view and controller tests.

## Background on WebID mediation

Mediation is a formulation of WebID in which the user agent takes
responsibility in owning the identity exchange between RP and IDP.
It talks to the IDP directly to obtain user accounts and lets user
selects an account before completing the identity exchange between
RP and IDP.

[WebID](https://wicg.github.io/WebID/)
[WebID mediation](https://wicg.github.io/WebID/cookies.html#mediation)
[WebID detailed design](go/webid-detailed-design)

## Background on the CL series

This CL series is prototyping UI for this approach on Android based on
early exploration here: go/webid-mediated-ux

The specific use and structure of the code in this CL is documented
in two READMEs added as part of this CL:
chrome/browser/ui/android/webid/{README.md, internal/README.md}

The implementation here is inspired to some extent by touch_to_fill component
that is used for Chrome credential management on Android which creates
a bottom sheet.


Final screenshots for this prototype UI:
- https://storage.cloud.google.com/chromium-translation-screenshots/08019775363de674c8f549172ca75bf84c0a3461
- https://storage.cloud.google.com/chromium-translation-screenshots/c91fb7f6fa1a2d6827387313efb66f722f7383d4

[touch_to_fill component](https://chromium.googlesource.com/chromium/src/+/main/chrome/browser/touch_to_fill/android/README.md)


## This CL in the series

Here is where this CL sits in the series:

1. Add scaffold for C++ side
2. Create the Android UI component scaffold with an empty model.
3. Add VISIBLE, DISMISS_HANDLER properties to the model and create basic controller test.
4. Add view and view binder. Add view tests & integration test for these.
👉5. Add header to the view.
6. Add accounts list and "sign up" button to the view.


Bug: 1199088
Change-Id: I2b7246b47d47d362a34a390574d22296cbf018a8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2877959
Commit-Queue: Majid Valipour <majidvp@chromium.org>
Reviewed-by: Theresa  <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#890080}
11 files changed
tree: 2febc9bdb9f9ca5617c081f441c6abe6e130fc14
  1. android_webview/
  2. apps/
  3. ash/
  4. base/
  5. build/
  6. build_overrides/
  7. buildtools/
  8. cc/
  9. chrome/
  10. chromecast/
  11. chromeos/
  12. cloud_print/
  13. codelabs/
  14. components/
  15. content/
  16. courgette/
  17. crypto/
  18. dbus/
  19. device/
  20. docs/
  21. extensions/
  22. fuchsia/
  23. gin/
  24. google_apis/
  25. google_update/
  26. gpu/
  27. headless/
  28. infra/
  29. ios/
  30. ipc/
  31. jingle/
  32. media/
  33. mojo/
  34. native_client_sdk/
  35. net/
  36. pdf/
  37. ppapi/
  38. printing/
  39. remoting/
  40. rlz/
  41. sandbox/
  42. services/
  43. skia/
  44. sql/
  45. storage/
  46. styleguide/
  47. testing/
  48. third_party/
  49. tools/
  50. ui/
  51. url/
  52. weblayer/
  53. .clang-format
  54. .clang-tidy
  55. .eslintrc.js
  56. .git-blame-ignore-revs
  57. .gitattributes
  58. .gitignore
  59. .gn
  60. .mailmap
  61. .vpython
  62. .vpython3
  63. .yapfignore
  64. AUTHORS
  65. BUILD.gn
  66. CODE_OF_CONDUCT.md
  67. codereview.settings
  68. DEPS
  69. DIR_METADATA
  70. ENG_REVIEW_OWNERS
  71. LICENSE
  72. LICENSE.chromium_os
  73. OWNERS
  74. PRESUBMIT.py
  75. PRESUBMIT_test.py
  76. PRESUBMIT_test_mocks.py
  77. README.md
  78. WATCHLISTS
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure .

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.