Add ICU message format support
[chromium-blink-merge.git] / chrome / browser / sessions / session_restore_delegate.h
blob63e40eee210d704ca7d36d75915e4dabbf15cf72
1 // Copyright 2015 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.
5 #ifndef CHROME_BROWSER_SESSIONS_SESSION_RESTORE_DELEGATE_H_
6 #define CHROME_BROWSER_SESSIONS_SESSION_RESTORE_DELEGATE_H_
8 #include <vector>
10 #include "base/time/time.h"
12 namespace content {
13 class WebContents;
16 // SessionRestoreDelegate is responsible for creating the tab loader and the
17 // stats collector.
18 class SessionRestoreDelegate {
19 public:
20 class RestoredTab {
21 public:
22 RestoredTab(content::WebContents* contents,
23 bool is_active,
24 bool is_app,
25 bool is_pinned);
27 bool operator<(const RestoredTab& right) const;
29 content::WebContents* contents() const { return contents_; }
30 bool is_active() const { return is_active_; }
31 bool is_app() const { return is_app_; }
32 bool is_internal_page() const { return is_internal_page_; }
33 bool is_pinned() const { return is_pinned_; }
35 private:
36 content::WebContents* contents_;
37 bool is_active_;
38 bool is_app_; // Browser window is an app.
39 bool is_internal_page_; // Internal web UI page, like NTP or Settings.
40 bool is_pinned_;
43 static void RestoreTabs(const std::vector<RestoredTab>& tabs,
44 const base::TimeTicks& restore_started);
46 private:
47 DISALLOW_IMPLICIT_CONSTRUCTORS(SessionRestoreDelegate);
50 #endif // CHROME_BROWSER_SESSIONS_SESSION_RESTORE_DELEGATE_H_