Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Tools / GardeningServer / model / ct-builder-list.html
1 <!--
2 Copyright 2014 The Chromium Authors. All rights reserved.
3 Use of this source code is governed by a BSD-style license that can be
4 found in the LICENSE file.
5 -->
6
7 <link rel='import' href='ct-builder.html'>
8
9 <script>
10 // .builders[i] will have the CTBuilder objects
11 function CTBuilderList(failures) {
12   this.builders = [];
13
14   if (!Array.isArray(failures))
15     failures = [failures];
16
17   var builderMap = {};
18   failures.forEach(function(failure) {
19     var results = failure.resultNodesByBuilder;
20     Object.keys(results, (function(builder, result) {
21       if (!builderMap[builder])
22         builderMap[builder] = {};
23       // This assumes that duplicate builder/master pairs all have the same
24       // earliestFailingBuild.
25       builderMap[builder][result.masterUrl] = {
26         earliestFailingBuild: result.earliestFailingBuild,
27         failingBuildCount: result.failingBuildCount,
28       };
29     }).bind(this));
30   }, this);
31
32   Object.keys(builderMap).sort().forEach(function(builder) {
33     Object.keys(builderMap[builder]).sort().forEach(function(masterUrl) {
34       var result = builderMap[builder][masterUrl];
35       this.builders.push(new CTBuilder(masterUrl, builder,
36           result.earliestFailingBuild, result.failingBuildCount));
37     }, this);
38   }, this);
39 }
40 </script>