133259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck# Copyright 2012 The Chromium Authors. All rights reserved.
233259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck# Use of this source code is governed by a BSD-style license that can be
333259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck# found in the LICENSE file.
433259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reckclass TabList(object):
533259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck  def __init__(self, tab_list_backend):
633259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck    self._tab_list_backend = tab_list_backend
733259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck
833259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck  def New(self, timeout=300):
933259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck    return self._tab_list_backend.New(timeout)
1033259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck
1133259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck  def __iter__(self):
1233259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck    return self._tab_list_backend.__iter__()
1333259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck
1433259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck  def __len__(self):
1533259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck    return self._tab_list_backend.__len__()
1633259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck
1733259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck  def __getitem__(self, index):
1833259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck    return self._tab_list_backend.__getitem__(index)
1933259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck
2033259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck  def GetTabById(self, identifier):
2133259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck    """The identifier of a tab can be accessed with tab.id."""
2233259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck    return self._tab_list_backend.GetTabById(identifier)
2333259e44c8229f70ffe0cf3bb5ca9375c4feb2f9John Reck
24