OLD | NEW |
---|---|
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 from measurements import startup | 5 from measurements import startup |
6 from metrics import cpu | 6 from metrics import cpu |
7 from metrics import startup_metric | 7 from metrics import startup_metric |
8 | 8 |
9 | 9 |
10 class SessionRestore(startup.Startup): | 10 class SessionRestore(startup.Startup): |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
43 | 43 |
44 if len(wpr_archives.keys()) > 1: | 44 if len(wpr_archives.keys()) > 1: |
45 raise Exception("Invalid pageset: more than 1 WPR archive found.: " + | 45 raise Exception("Invalid pageset: more than 1 WPR archive found.: " + |
46 ', '.join(wpr_archives.keys())) | 46 ', '.join(wpr_archives.keys())) |
47 | 47 |
48 def DidStartBrowser(self, browser): | 48 def DidStartBrowser(self, browser): |
49 self._cpu_metric = cpu.CpuMetric(browser) | 49 self._cpu_metric = cpu.CpuMetric(browser) |
50 self._cpu_metric.Start(None, None) | 50 self._cpu_metric.Start(None, None) |
51 | 51 |
52 def MeasurePage(self, page, tab, results): | 52 def MeasurePage(self, page, tab, results): |
53 # Wait for all tabs to finish loading. | 53 # Wait for foreground tab to finish loading. We can't wait for all tabs to |
54 for i in xrange(len(tab.browser.tabs)): | 54 # finish loading because on Android the data of the background tabs is |
55 t = tab.browser.tabs[i] | 55 # loaded on demand, when the user switches to them, rather than during |
56 t.WaitForDocumentReadyStateToBeComplete() | 56 # startup. |
57 | 57 # We are assuming that the foreground tab is tab[0]. This is true in current |
58 # code, but is not guaranteed by the APIs. | |
59 t = tab.browser.tabs[0] | |
jeremy
2014/02/13 13:35:26
Looks like we have no way of checking that this is
aberent
2014/02/13 15:59:30
Fixed, I think (just testing) although it only wor
| |
60 t.WaitForDocumentReadyStateToBeComplete() | |
58 # Record CPU usage from browser start to when all pages have loaded. | 61 # Record CPU usage from browser start to when all pages have loaded. |
59 self._cpu_metric.Stop(None, None) | 62 self._cpu_metric.Stop(None, None) |
60 self._cpu_metric.AddResults(tab, results, 'cpu_utilization') | 63 self._cpu_metric.AddResults(tab, results, 'cpu_utilization') |
61 | 64 |
62 startup_metric.StartupMetric().AddResults(tab, results) | 65 startup_metric.StartupMetric().AddResults(tab, results) |
63 | 66 |
64 # TODO(jeremy): Measure time to load - first, last and frontmost tab here. | 67 # TODO(jeremy): Measure time to load - first, last and frontmost tab here. |
OLD | NEW |