blob: abdadf08af3fe3f4de637877a5b9d73b1e1a6805 [file] [log] [blame]
<!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/event_target.html">
<script>
'use strict';
/**
* @fileoverview Time currentDisplayUnit
*/
tr.exportTo('tr.b.units', function() {
var ms = {
suffix: 'ms',
format: function(ts) {
var tsRounded = Math.round(ts * 1000.0) / 1000.0;
var n = new Number(tsRounded);
return n.toLocaleString(undefined, { minimumFractionDigits: 3 }) + ' ms';
}
};
var ns = {
suffix: 'ns',
format: function(ts) {
var tsRounded = Math.round(ts * 1000000.0);
var n = new Number(tsRounded);
return n.toLocaleString(undefined, { maximumFractionDigits: 0 }) + ' ns';
}
};
var Time = {
supportedUnits: {
ms: ms,
ns: ns
},
reset: function() {
this.currentDisplayUnit = ms;
},
currentDisplayUnit_: ms,
get currentDisplayUnit() {
return this.currentDisplayUnit_;
},
set currentDisplayUnit(value) {
if (this.currentDisplayUnit_ == value)
return;
this.currentDisplayUnit_ = value;
this.dispatchEvent(new Event('display-unit-changed'));
}
};
tr.b.EventTarget.decorate(Time);
return {
Time: Time
};
});
</script>