| Index: chrome/browser/sessions/chrome_tab_restore_service_client.cc
 | 
| diff --git a/chrome/browser/sessions/chrome_tab_restore_service_client.cc b/chrome/browser/sessions/chrome_tab_restore_service_client.cc
 | 
| index 760236aa6d6e421d44c13f8f852a6284695999e1..9019efad8f83b237f0f908d7884a956cc6c06905 100644
 | 
| --- a/chrome/browser/sessions/chrome_tab_restore_service_client.cc
 | 
| +++ b/chrome/browser/sessions/chrome_tab_restore_service_client.cc
 | 
| @@ -8,6 +8,7 @@
 | 
|  #include "chrome/browser/sessions/session_service.h"
 | 
|  #include "chrome/browser/sessions/session_service_factory.h"
 | 
|  #include "chrome/common/url_constants.h"
 | 
| +#include "components/sessions/content/content_open_tab.h"
 | 
|  #include "components/sessions/content/content_tab_client_data.h"
 | 
|  #include "content/public/browser/browser_thread.h"
 | 
|  
 | 
| @@ -63,14 +64,15 @@ ChromeTabRestoreServiceClient::CreateTabRestoreServiceDelegate(
 | 
|  }
 | 
|  
 | 
|  TabRestoreServiceDelegate*
 | 
| -ChromeTabRestoreServiceClient::FindTabRestoreServiceDelegateForWebContents(
 | 
| -    const content::WebContents* contents) {
 | 
| +ChromeTabRestoreServiceClient::FindTabRestoreServiceDelegateForTab(
 | 
| +    const sessions::OpenTab* tab) {
 | 
|  #if defined(OS_ANDROID)
 | 
|    // Android does not support TabRestoreServiceDelegate, as tab persistence
 | 
|    // is implemented on the Java side.
 | 
|    return nullptr;
 | 
|  #else
 | 
| -  return BrowserTabRestoreServiceDelegate::FindDelegateForWebContents(contents);
 | 
| +  return BrowserTabRestoreServiceDelegate::FindDelegateForWebContents(
 | 
| +      static_cast<const sessions::ContentOpenTab*>(tab)->web_contents());
 | 
|  #endif
 | 
|  }
 | 
|  
 | 
| @@ -92,13 +94,14 @@ bool ChromeTabRestoreServiceClient::ShouldTrackURLForRestore(const GURL& url) {
 | 
|    return ::ShouldTrackURLForRestore(url);
 | 
|  }
 | 
|  
 | 
| -std::string ChromeTabRestoreServiceClient::GetExtensionAppIDForWebContents(
 | 
| -    content::WebContents* web_contents) {
 | 
| +std::string ChromeTabRestoreServiceClient::GetExtensionAppIDForTab(
 | 
| +    sessions::OpenTab* tab) {
 | 
|    std::string extension_app_id;
 | 
|  
 | 
|  #if defined(ENABLE_EXTENSIONS)
 | 
|    extensions::TabHelper* extensions_tab_helper =
 | 
| -      extensions::TabHelper::FromWebContents(web_contents);
 | 
| +      extensions::TabHelper::FromWebContents(
 | 
| +          static_cast<sessions::ContentOpenTab*>(tab)->web_contents());
 | 
|    // extensions_tab_helper is NULL in some browser tests.
 | 
|    if (extensions_tab_helper) {
 | 
|      const extensions::Extension* extension =
 | 
| @@ -112,9 +115,9 @@ std::string ChromeTabRestoreServiceClient::GetExtensionAppIDForWebContents(
 | 
|  }
 | 
|  
 | 
|  scoped_ptr<sessions::TabClientData>
 | 
| -ChromeTabRestoreServiceClient::GetTabClientDataForWebContents(
 | 
| -    content::WebContents* web_contents) {
 | 
| -  return make_scoped_ptr(new sessions::ContentTabClientData(web_contents));
 | 
| +ChromeTabRestoreServiceClient::GetTabClientDataForTab(sessions::OpenTab* tab) {
 | 
| +  return make_scoped_ptr(new sessions::ContentTabClientData(
 | 
| +      static_cast<sessions::ContentOpenTab*>(tab)->web_contents()));
 | 
|  }
 | 
|  
 | 
|  base::SequencedWorkerPool* ChromeTabRestoreServiceClient::GetBlockingPool() {
 | 
| 
 |