Home | History | Annotate | Download | only in ui
      1 // Copyright (c) 2012 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 
     16 // Implementation of TabRestoreServiceDelegate which uses an instance of
     17 // Browser in order to fulfil its duties.
     18 class BrowserTabRestoreServiceDelegate : public TabRestoreServiceDelegate {
     19  public:
     20   explicit BrowserTabRestoreServiceDelegate(Browser* browser)
     21       : browser_(browser) {}
     22   virtual ~BrowserTabRestoreServiceDelegate() {}
     23 
     24   // Overridden from TabRestoreServiceDelegate:
     25   virtual void ShowBrowserWindow() OVERRIDE;
     26   virtual const SessionID& GetSessionID() const OVERRIDE;
     27   virtual int GetTabCount() const OVERRIDE;
     28   virtual int GetSelectedIndex() const OVERRIDE;
     29   virtual std::string GetAppName() const OVERRIDE;
     30   virtual content::WebContents* GetWebContentsAt(int index) const OVERRIDE;
     31   virtual content::WebContents* GetActiveWebContents() const OVERRIDE;
     32   virtual bool IsTabPinned(int index) const OVERRIDE;
     33   virtual content::WebContents* AddRestoredTab(
     34       const std::vector<sessions::SerializedNavigationEntry>& navigations,
     35       int tab_index,
     36       int selected_navigation,
     37       const std::string& extension_app_id,
     38       bool select,
     39       bool pin,
     40       bool from_last_session,
     41       content::SessionStorageNamespace* storage_namespace,
     42       const std::string& user_agent_override) OVERRIDE;
     43   virtual content::WebContents* ReplaceRestoredTab(
     44       const std::vector<sessions::SerializedNavigationEntry>& navigations,
     45       int selected_navigation,
     46       bool from_last_session,
     47       const std::string& extension_app_id,
     48       content::SessionStorageNamespace* session_storage_namespace,
     49       const std::string& user_agent_override) OVERRIDE;
     50   virtual void CloseTab() OVERRIDE;
     51 
     52  private:
     53   Browser* browser_;
     54 
     55   DISALLOW_COPY_AND_ASSIGN(BrowserTabRestoreServiceDelegate);
     56 };
     57 
     58 #endif  // CHROME_BROWSER_UI_BROWSER_TAB_RESTORE_SERVICE_DELEGATE_H_
     59