<!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="/extras/rail/rail_interaction_record.html">

<script>
'use strict';

/**
 * @fileoverview The Response phase of RAIL.
 */
tr.exportTo('tr.e.rail', function() {
  function ResponseInteractionRecord(start, duration) {
    tr.e.rail.RAILInteractionRecord.call(
        this, 'Response', 'rail_response',
        start, duration);
  }

  ResponseInteractionRecord.prototype = {
    __proto__: tr.e.rail.RAILInteractionRecord.prototype,

    get normalizedUserPain() {
      return 0;
    },

    get normalizedEfficiency() {
      return 1;
    }
  };

  return {
    ResponseInteractionRecord: ResponseInteractionRecord
  };
});
</script>
