Chromium change: https://source.chromium.org/chromium/chromium/src/+/2eb1baa19a3548ac2bee87fdd1231ea4051442f0 [E2E] Encapsulate TopInsetProvider observer two-step pattern This CL introduces a new class to encapsulates the common two-step pattern of: 1. Waiting for TopInsetProvider to become available via a supplier 2. Adding an observer to the provider once available This pattern was duplicated in ToolbarPositionController, AutocompleteCoordinator, and NewTabPage. The new utility class manage TopInsetProvider access with clear separation between owners and consumers TransitiveTopInsetProvider: - Provides access to consumers who need to observe inset changes - Automatically manages observer registration when provider becomes available - Queues observers added before provider is set Bug: 478739083 Change-Id: Ib818c4f16df88f1d6ab6befc633f1fb9031ba3d5 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7509092