New issue
Advanced search Search tips

Issue 804531 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 2
Type: Task
Q1

Blocked on:
issue 804496

Blocking:
issue 804533



Sign in to add a comment

Have the view controller or coordinator implement the TabSwitcher protocol.

Project Member Reported by marq@chromium.org, Jan 22 2018

Issue description

Have the view controller or coordinator implement the TabSwitcher protocol.

Identify which TabSwitcher methods can be deprecated.

 

Comment 1 by marq@chromium.org, Jan 23 2018

Components: UI>Browser
Labels: MS-Tab-Grid Pri-2
Owner: marq@chromium.org
Status: Available (was: Unconfirmed)

Comment 2 by marq@chromium.org, Jan 23 2018

Labels: S-See-Open-Tabs

Comment 3 by marq@chromium.org, Jan 23 2018

Labels: medium

Comment 4 by marq@chromium.org, Jan 23 2018

Blockedon: 804496

Comment 5 by marq@chromium.org, Jan 23 2018

Blocking: 804533

Comment 6 by marq@chromium.org, Jan 23 2018

Labels: Q1

Comment 7 by marq@chromium.org, Jan 25 2018

Status: Assigned (was: Available)

Comment 8 by marq@chromium.org, Feb 15 2018

NextAction: 2018-02-28

Comment 9 by marq@chromium.org, Feb 15 2018

Status: Started (was: Assigned)
Project Member

Comment 10 by bugdroid1@chromium.org, Feb 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/481431db5646dca8a53dd35563a67a7c3f8fb81f

commit 481431db5646dca8a53dd35563a67a7c3f8fb81f
Author: Mark Cogan <marq@google.com>
Date: Fri Feb 16 17:52:32 2018

[iOS] Preliminary interfaces for TabGrid.

This CL wires the Tab Grid into MainController.

The TabGridCoordinator is the MainCoordinator in this case (it creates and assigns the
root view controller for the app).

The TabGridViewController adopts the ViewControllerSwapping
protocol to show a tab switcher or a BVC. Since the TabGridViewController is itself the
view controller for the tab switcher when the tab grid is enabled, showing the tab switcher
is a no-op if a BVC isn't shown. The other presentation logic is lifted from
MainPresentingViewController.

To make that a bit cleaner, this CL factors bvc_container_view_controller into its own file.

The new TabGridAdaptor object, created and owned by the TabGridCoordinator, is the object
that exposes the TabSwitcher protocol. Future CLs will add hooks for it into the tab grid
controller and coordinator, which will be opaque to MainController.

As another small cleanup, the 'tabSwitcherController' ivar in MainController is renamed to
'tabSwitcher', since it's no longer necessarily a UIViewController. MainCoordinator also
separates its view controller from its view controller swapper, since in the tab grid
coordinator subclass those aren't the same thing.

The TabGridCoordinator unit tests are largely cloned from MainPresentingViewController's
unit tests, since their APIs are (at this stage) essentially the same.

Bug:  804533 ,  804531 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: Ia39101fc384100ca9c1ea9c1f7b08bc7e08b70e0
Reviewed-on: https://chromium-review.googlesource.com/917671
Commit-Queue: Mark Cogan <marq@chromium.org>
Reviewed-by: edchin <edchin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537346}
[modify] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/app/application_delegate/url_opener_unittest.mm
[modify] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/app/main_controller.mm
[modify] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/app/main_controller_private.h
[modify] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/browser/ui/main/BUILD.gn
[add] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/browser/ui/main/bvc_container_view_controller.h
[add] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/browser/ui/main/bvc_container_view_controller.mm
[modify] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/browser/ui/main/main_coordinator.h
[modify] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/browser/ui/main/main_coordinator.mm
[modify] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/browser/ui/main/main_presenting_view_controller.mm
[modify] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/browser/ui/tab_grid/BUILD.gn
[add] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/browser/ui/tab_grid/tab_grid_adaptor.h
[add] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/browser/ui/tab_grid/tab_grid_adaptor.mm
[modify] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/browser/ui/tab_grid/tab_grid_coordinator.h
[modify] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm
[add] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/browser/ui/tab_grid/tab_grid_coordinator_unittest.mm
[modify] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.h
[modify] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm
[modify] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/browser/ui/tab_switcher/tab_switcher.h
[modify] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/test/BUILD.gn
[modify] https://crrev.com/481431db5646dca8a53dd35563a67a7c3f8fb81f/ios/chrome/test/app/stack_view_test_util.mm

Comment 11 by marq@chromium.org, Feb 16 2018

Status: Fixed (was: Started)
The NextAction date has arrived: 2018-02-28

Comment 13 by cmasso@google.com, Feb 28 2018

NextAction: ----

Sign in to add a comment