Home | History | Annotate | Download | only in ui
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_BROWSER_UI_BROWSER_TAB_RESTORE_SERVICE_DELEGATE_H_
      6 #define CHROME_BROWSER_UI_BROWSER_TAB_RESTORE_SERVICE_DELEGATE_H_
      7 
      8 #include <string>
      9 #include <vector>
     10 
     11 #include "base/compiler_specific.h"
     12 #include "chrome/browser/sessions/tab_restore_service_delegate.h"
     13 
     14 class Browser;
     15 class Profile;
     16 class SessionStorageNamespace;
     17 class TabContents;
     18 class TabNavigation;
     19 
     20 // Implementation of TabRestoreServiceDelegate which uses an instance of
     21 // Browser in order to fulfil its duties.
     22 class BrowserTabRestoreServiceDelegate : public TabRestoreServiceDelegate {
     23  public:
     24   explicit BrowserTabRestoreServiceDelegate(Browser* browser)
     25       : browser_(browser) {}
     26   virtual ~BrowserTabRestoreServiceDelegate() {}
     27 
     28   // Overridden from TabRestoreServiceDelegate:
     29   virtual void ShowBrowserWindow() OVERRIDE;
     30   virtual const SessionID& GetSessionID() const OVERRIDE;
     31   virtual int GetTabCount() const OVERRIDE;
     32   virtual int GetSelectedIndex() const OVERRIDE;
     33   virtual TabContents* GetTabContentsAt(int index) const OVERRIDE;
     34   virtual TabContents* GetSelectedTabContents() const OVERRIDE;
     35   virtual bool IsTabPinned(int index) const OVERRIDE;
     36   virtual TabContents* AddRestoredTab(
     37       const std::vector<TabNavigation>& navigations,
     38       int tab_index,
     39       int selected_navigation,
     40       const std::string& extension_app_id,
     41       bool select,
     42       bool pin,
     43       bool from_last_session,
     44       SessionStorageNamespace* storage_namespace) OVERRIDE;
     45   virtual void ReplaceRestoredTab(
     46       const std::vector<TabNavigation>& navigations,
     47       int selected_navigation,
     48       bool from_last_session,
     49       const std::string& extension_app_id,
     50       SessionStorageNamespace* session_storage_namespace) OVERRIDE;
     51   virtual void CloseTab() OVERRIDE;
     52 
     53  private:
     54   Browser* browser_;
     55 
     56   DISALLOW_COPY_AND_ASSIGN(BrowserTabRestoreServiceDelegate);
     57 };
     58 
     59 #endif  // CHROME_BROWSER_UI_BROWSER_TAB_RESTORE_SERVICE_DELEGATE_H_
     60