| <!DOCTYPE html> |
| <!-- |
| Copyright (c) 2015 The Chromium Authors. All rights reserved. |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| |
| <link rel="import" href="/base/base.html"> |
| <link rel="import" href="/base/statistics.html"> |
| <link rel="import" href="/base/xhr.html"> |
| <link rel="import" href="/base/iteration_helpers.html"> |
| <link rel="import" href="/extras/deep_reports/scalar_value.html"> |
| <link rel="import" href="/extras/audits/rail_interaction_record.html"> |
| <link rel="import" href="/extras/audits/rail_score.html"> |
| <script> |
| 'use strict'; |
| |
| tv.exportTo('tv.e.deep_reports', function() { |
| |
| function RAILDeepReporter() { |
| }; |
| |
| RAILDeepReporter.addResultsForModel = function(results, page, model) { |
| var rirs = []; |
| model.interaction_records.forEach(function(ir) { |
| if (ir instanceof tv.e.audits.RAILInteractionRecord) |
| rirs.push(ir); |
| }); |
| |
| if (rirs.length === 0) |
| return; |
| |
| var railScore = tv.e.audits.RAILScore.compute(rirs); |
| |
| results.addValue( |
| new tv.e.deep_reports.ScalarValue( |
| page, 'numRailIRs', 'ms', rirs.length)); |
| |
| tv.b.iterItems(railScore, function(key, value) { |
| if (key === 'score') |
| return; |
| results.addValue( |
| new tv.e.deep_reports.ScalarValue( |
| page, key, 'rails', value)); |
| }); |
| |
| results.addValue( |
| new tv.e.deep_reports.ScalarValue( |
| page, 'railScore', 'rails', railScore.score)); |
| } |
| |
| return { |
| RAILDeepReporter: RAILDeepReporter |
| }; |
| }); |
| </script> |