tab_model_list.h revision 424c4d7b64af9d0d8fd9624f381f469654d5e3d2
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_ANDROID_TAB_MODEL_TAB_MODEL_LIST_H_ 6#define CHROME_BROWSER_UI_ANDROID_TAB_MODEL_TAB_MODEL_LIST_H_ 7 8#include <vector> 9 10#include "chrome/browser/sessions/session_id.h" 11 12class Profile; 13class TabModel; 14 15namespace chrome { 16struct NavigateParams; 17} 18 19// Stores a list of all TabModel objects. 20class TabModelList { 21 public: 22 typedef std::vector<TabModel*> TabModelVector; 23 typedef TabModelVector::iterator iterator; 24 typedef TabModelVector::const_iterator const_iterator; 25 26 static void HandlePopupNavigation(chrome::NavigateParams* params); 27 static void AddTabModel(TabModel* tab_model); 28 static void RemoveTabModel(TabModel* tab_model); 29 30 static TabModel* GetTabModelWithProfile(Profile* profile); 31 static TabModel* FindTabModelWithId(SessionID::id_type desired_id); 32 static bool IsOffTheRecordSessionActive(); 33 34 static const_iterator begin(); 35 static const_iterator end(); 36 static bool empty(); 37 static size_t size(); 38 39 private: 40 DISALLOW_IMPLICIT_CONSTRUCTORS(TabModelList); 41}; 42 43#endif // CHROME_BROWSER_UI_ANDROID_TAB_MODEL_TAB_MODEL_LIST_H_ 44