Fix import error in mac_platform_backend.py
[chromium-blink-merge.git] / tools / perf / profile_creators / small_profile_creator.py
blob71fe137925263fc362225a8a3cd363a7919fa735
1 # Copyright (c) 2013 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 import os
7 from telemetry.core import util
8 from telemetry.page import page_set
9 from telemetry.page import profile_creator
12 class SmallProfileCreator(profile_creator.ProfileCreator):
13 """
14 Runs a browser through a series of operations to fill in a small test profile.
15 """
17 def __init__(self):
18 super(SmallProfileCreator, self).__init__()
19 typical_25 = os.path.join(util.GetBaseDir(), 'page_sets', 'typical_25.json')
20 self._page_set = page_set.PageSet.FromFile(typical_25)
22 # Open all links in the same tab save for the last _NUM_TABS links which
23 # are each opened in a new tab.
24 self._NUM_TABS = 5
26 def TabForPage(self, page, browser):
27 idx = page.page_set.pages.index(page)
28 # The last _NUM_TABS pages open a new tab.
29 if idx <= (len(page.page_set.pages) - self._NUM_TABS):
30 return browser.tabs[0]
31 else:
32 return browser.tabs.New()
34 def MeasurePage(self, _, tab, results):
35 # Can't use WaitForDocumentReadyStateToBeComplete() here due to
36 # crbug.com/280750 .
37 tab.WaitForDocumentReadyStateToBeInteractiveOrBetter()