Refactor away the private "tab creation and selection" methods in BrowserViewController.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3c86aa454442704cbfc07d7bf5aaf6a7e301b70c commit 3c86aa454442704cbfc07d7bf5aaf6a7e301b70c Author: Mark Cogan <marq@google.com> Date: Fri Nov 09 14:15:19 2018 [iOS] Decouple completion handler from new tab creation in BVC. This CL decouples the addition of a tab completion block from the other tab opening code in the BVC. This will allow the tab opening logic (which is just tab model manipulation) to be moved out of the BVC. Bug: 903338 Change-Id: Ibc7ba411c2cbec58dd11ac7cb65e2b9284eb811c Reviewed-on: https://chromium-review.googlesource.com/c/1323558 Commit-Queue: Mark Cogan <marq@chromium.org> Reviewed-by: Gauthier Ambard <gambard@chromium.org> Cr-Commit-Position: refs/heads/master@{#606825} [modify] https://crrev.com/3c86aa454442704cbfc07d7bf5aaf6a7e301b70c/ios/chrome/app/application_delegate/url_opener_unittest.mm [modify] https://crrev.com/3c86aa454442704cbfc07d7bf5aaf6a7e301b70c/ios/chrome/app/main_controller.mm [modify] https://crrev.com/3c86aa454442704cbfc07d7bf5aaf6a7e301b70c/ios/chrome/browser/ui/browser_view_controller.h [modify] https://crrev.com/3c86aa454442704cbfc07d7bf5aaf6a7e301b70c/ios/chrome/browser/ui/browser_view_controller.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fb485c335ced9fb2eaacd41d9c14aad982e5b4ea commit fb485c335ced9fb2eaacd41d9c14aad982e5b4ea Author: Mark Cogan <marq@google.com> Date: Tue Nov 13 10:37:07 2018 [iOS] Factor web params creation into a tab utility. This CL creates a tab utility file (free functions used in managing tabs), and adds a function to it to create web navigation params from a URL, transition type, and post data. It factors this code out of BVC. Additionally, it moves the logic for translating a tab model index of NSNotFound into the last index of the model into TabModel. This was also in the BVC. Bug: 903338 Change-Id: I856163785d34bb064ea27b76c3094834d3f31626 Reviewed-on: https://chromium-review.googlesource.com/c/1326509 Commit-Queue: Mark Cogan <marq@chromium.org> Reviewed-by: edchin <edchin@chromium.org> Cr-Commit-Position: refs/heads/master@{#607548} [modify] https://crrev.com/fb485c335ced9fb2eaacd41d9c14aad982e5b4ea/ios/chrome/app/application_delegate/url_opener_unittest.mm [modify] https://crrev.com/fb485c335ced9fb2eaacd41d9c14aad982e5b4ea/ios/chrome/app/main_controller.mm [modify] https://crrev.com/fb485c335ced9fb2eaacd41d9c14aad982e5b4ea/ios/chrome/browser/tabs/BUILD.gn [modify] https://crrev.com/fb485c335ced9fb2eaacd41d9c14aad982e5b4ea/ios/chrome/browser/tabs/tab_model.mm [add] https://crrev.com/fb485c335ced9fb2eaacd41d9c14aad982e5b4ea/ios/chrome/browser/tabs/tab_util.h [add] https://crrev.com/fb485c335ced9fb2eaacd41d9c14aad982e5b4ea/ios/chrome/browser/tabs/tab_util.mm [add] https://crrev.com/fb485c335ced9fb2eaacd41d9c14aad982e5b4ea/ios/chrome/browser/tabs/tab_util_unittest.mm [modify] https://crrev.com/fb485c335ced9fb2eaacd41d9c14aad982e5b4ea/ios/chrome/browser/ui/browser_view_controller.mm
Comment 1 by kkhorimoto@chromium.org
, Nov 8