Introduce TabRestoreServiceClient and //chrome implementation.
commit56789fe3d6f16eb33bb949ef697baed8c5458df0
authorblundell <blundell@chromium.org>
Thu, 10 Sep 2015 05:11:16 +0000 (9 22:11 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 10 Sep 2015 05:12:10 +0000 (10 05:12 +0000)
tree56679d1f5ad5eb6e52e9aa7e104514f391e95e44
parentb5f050b561372e9bed7a6789258dafcc5daac535
Introduce TabRestoreServiceClient and //chrome implementation.

Core tab restore code from //chrome/browser/sessions is targeted for
componentization in order to cleanly integrate with iOS. To achieve this goal,
the code needs to be cleaned of //content and //chrome dependencies. This CL
introduces the TabRestoreServiceClient interface, which is an abstraction of
Profile for usage within the core tab restore code. It also adds initial usage
of this interface to eliminate knowledge of //chrome-level factories and the
//chrome-level SessionService from PersistentTabRestoreService. Finally, it
moves the //chrome-level static functions for creating a TabRestoreService out
of the classes to be componentized and into TabRestoreServiceFactory.

BUG=528883

Review URL: https://codereview.chromium.org/1319473014

Cr-Commit-Position: refs/heads/master@{#348099}
20 files changed:
chrome/browser/sessions/chrome_tab_restore_service_client.cc [new file with mode: 0644]
chrome/browser/sessions/chrome_tab_restore_service_client.h [new file with mode: 0644]
chrome/browser/sessions/in_memory_tab_restore_service.cc
chrome/browser/sessions/persistent_tab_restore_service.cc
chrome/browser/sessions/persistent_tab_restore_service.h
chrome/browser/sessions/persistent_tab_restore_service_unittest.cc
chrome/browser/sessions/session_service.cc
chrome/browser/sessions/session_service.h
chrome/browser/sessions/session_service_utils.cc
chrome/browser/sessions/session_service_utils.h
chrome/browser/sessions/tab_restore_service_factory.cc
chrome/browser/sessions/tab_restore_service_factory.h
chrome/browser/ui/cocoa/history_menu_bridge_unittest.mm
chrome/browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc
chrome/chrome_browser.gypi
components/sessions.gypi
components/sessions/BUILD.gn
components/sessions/core/session_constants.cc [new file with mode: 0644]
components/sessions/core/session_constants.h [new file with mode: 0644]
components/sessions/core/tab_restore_service_client.h [new file with mode: 0644]