1*c8dee2aaSAndroid Build Coastguard Worker{{ define "formattedText" }} 2*c8dee2aaSAndroid Build Coastguard Worker <div class="grapheme invisible missing"> 3*c8dee2aaSAndroid Build Coastguard Worker {{ range $text := .FormattedMissingGraphemes }} 4*c8dee2aaSAndroid Build Coastguard Worker <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> 5*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 6*c8dee2aaSAndroid Build Coastguard Worker </div> 7*c8dee2aaSAndroid Build Coastguard Worker <div class="grapheme invisible extra"> 8*c8dee2aaSAndroid Build Coastguard Worker {{ range $text := .FormattedExtraGraphemes }} 9*c8dee2aaSAndroid Build Coastguard Worker <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> 10*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 11*c8dee2aaSAndroid Build Coastguard Worker </div> 12*c8dee2aaSAndroid Build Coastguard Worker 13*c8dee2aaSAndroid Build Coastguard Worker <div class="softBreak invisible missing"> 14*c8dee2aaSAndroid Build Coastguard Worker {{ range $text := .FormattedMissingSoftBreaks }} 15*c8dee2aaSAndroid Build Coastguard Worker <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> 16*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 17*c8dee2aaSAndroid Build Coastguard Worker </div> 18*c8dee2aaSAndroid Build Coastguard Worker <div class="softBreak invisible extra"> 19*c8dee2aaSAndroid Build Coastguard Worker {{ range $text := .FormattedExtraSoftBreaks }} 20*c8dee2aaSAndroid Build Coastguard Worker <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> 21*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 22*c8dee2aaSAndroid Build Coastguard Worker </div> 23*c8dee2aaSAndroid Build Coastguard Worker 24*c8dee2aaSAndroid Build Coastguard Worker <div class="hardBreak invisible missing"> 25*c8dee2aaSAndroid Build Coastguard Worker {{ range $text := .FormattedMissingHardBreaks }} 26*c8dee2aaSAndroid Build Coastguard Worker <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> 27*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 28*c8dee2aaSAndroid Build Coastguard Worker </div> 29*c8dee2aaSAndroid Build Coastguard Worker <div class="hardBreak invisible extra"> 30*c8dee2aaSAndroid Build Coastguard Worker {{ range $text := .FormattedExtraHardBreaks }} 31*c8dee2aaSAndroid Build Coastguard Worker <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> 32*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 33*c8dee2aaSAndroid Build Coastguard Worker </div> 34*c8dee2aaSAndroid Build Coastguard Worker 35*c8dee2aaSAndroid Build Coastguard Worker <div class="word invisible missing"> 36*c8dee2aaSAndroid Build Coastguard Worker {{ range $text := .FormattedMissingWords }} 37*c8dee2aaSAndroid Build Coastguard Worker <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> 38*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 39*c8dee2aaSAndroid Build Coastguard Worker </div> 40*c8dee2aaSAndroid Build Coastguard Worker <div class="word invisible extra"> 41*c8dee2aaSAndroid Build Coastguard Worker {{ range $text := .FormattedExtraWords }} 42*c8dee2aaSAndroid Build Coastguard Worker <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> 43*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 44*c8dee2aaSAndroid Build Coastguard Worker </div> 45*c8dee2aaSAndroid Build Coastguard Worker 46*c8dee2aaSAndroid Build Coastguard Worker <div class="whitespace invisible missing"> 47*c8dee2aaSAndroid Build Coastguard Worker {{ range $text := .FormattedMissingWhitespaces }} 48*c8dee2aaSAndroid Build Coastguard Worker <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> 49*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 50*c8dee2aaSAndroid Build Coastguard Worker </div> 51*c8dee2aaSAndroid Build Coastguard Worker <div class="whitespace invisible extra"> 52*c8dee2aaSAndroid Build Coastguard Worker {{ range $text := .FormattedExtraWhitespaces }} 53*c8dee2aaSAndroid Build Coastguard Worker <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> 54*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 55*c8dee2aaSAndroid Build Coastguard Worker </div> 56*c8dee2aaSAndroid Build Coastguard Worker 57*c8dee2aaSAndroid Build Coastguard Worker <div class="control invisible missing"> 58*c8dee2aaSAndroid Build Coastguard Worker {{ range $text := .FormattedMissingControls }} 59*c8dee2aaSAndroid Build Coastguard Worker <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> 60*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 61*c8dee2aaSAndroid Build Coastguard Worker </div> 62*c8dee2aaSAndroid Build Coastguard Worker <div class="control invisible extra"> 63*c8dee2aaSAndroid Build Coastguard Worker {{ range $text := .FormattedExtraControls }} 64*c8dee2aaSAndroid Build Coastguard Worker <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> 65*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 66*c8dee2aaSAndroid Build Coastguard Worker </div> 67*c8dee2aaSAndroid Build Coastguard Worker 68*c8dee2aaSAndroid Build Coastguard Worker{{ end }} 69*c8dee2aaSAndroid Build Coastguard Worker{{ define "rows" }} 70*c8dee2aaSAndroid Build Coastguard Worker {{ range $child := . }} 71*c8dee2aaSAndroid Build Coastguard Worker {{ if $child.IsImplementation }} 72*c8dee2aaSAndroid Build Coastguard Worker <tr class="{{ .Level }}" id="{{ .Id }}"> 73*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasChildren }} 74*c8dee2aaSAndroid Build Coastguard Worker <td><a href="#{{ .Id }}">+</a>{{ .Name }}</td> 75*c8dee2aaSAndroid Build Coastguard Worker {{/* 76*c8dee2aaSAndroid Build Coastguard Worker <td>{{ printf "%.6f" .Delta.Memory }}</td> 77*c8dee2aaSAndroid Build Coastguard Worker <td>{{ printf "%.6f" .Delta.Disk }}</td> 78*c8dee2aaSAndroid Build Coastguard Worker */}} 79*c8dee2aaSAndroid Build Coastguard Worker <td></td> 80*c8dee2aaSAndroid Build Coastguard Worker <td></td> 81*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.Performance.Percents }}</td> 82*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.Graphemes.Divide }}</td> 83*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.SoftBreaks.Divide }}</td> 84*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.HardBreaks.Divide }}</td> 85*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.Whitespaces.Divide }}</td> 86*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.Words.Divide }}</td> 87*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.Controls.Divide }}</td> 88*c8dee2aaSAndroid Build Coastguard Worker {{ else }} 89*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Name }}</td> 90*c8dee2aaSAndroid Build Coastguard Worker <td></td> 91*c8dee2aaSAndroid Build Coastguard Worker <td></td> 92*c8dee2aaSAndroid Build Coastguard Worker <td></td> 93*c8dee2aaSAndroid Build Coastguard Worker <td></td> 94*c8dee2aaSAndroid Build Coastguard Worker <td></td> 95*c8dee2aaSAndroid Build Coastguard Worker <td></td> 96*c8dee2aaSAndroid Build Coastguard Worker <td></td> 97*c8dee2aaSAndroid Build Coastguard Worker <td></td> 98*c8dee2aaSAndroid Build Coastguard Worker <td></td> 99*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 100*c8dee2aaSAndroid Build Coastguard Worker </tr> 101*c8dee2aaSAndroid Build Coastguard Worker {{ else if $child.IsFile }} 102*c8dee2aaSAndroid Build Coastguard Worker {{ if $child.HasNoDifferences }} 103*c8dee2aaSAndroid Build Coastguard Worker {{ else }} 104*c8dee2aaSAndroid Build Coastguard Worker <tr class="{{ .Level }} {{ .ParentId }}"> 105*c8dee2aaSAndroid Build Coastguard Worker <td> {{ .Name }} </td> 106*c8dee2aaSAndroid Build Coastguard Worker <td colspan="3"></td> 107*c8dee2aaSAndroid Build Coastguard Worker 108*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasNoGraphemes }} 109*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.Graphemes.Divide }}</td> 110*c8dee2aaSAndroid Build Coastguard Worker {{ else }} 111*c8dee2aaSAndroid Build Coastguard Worker <td class="one_line"> 112*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasMissingGraphemes }} 113*c8dee2aaSAndroid Build Coastguard Worker <input type="button" class="grapheme inactive" id='grapheme_missing{{ .Num }}' onClick="showDiff('{{ .Num }}', 'grapheme', 'missing')" value="-{{ .MissingGraphemeNum }}"/> 114*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 115*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasExtraGraphemes }} 116*c8dee2aaSAndroid Build Coastguard Worker <input type="button" class="grapheme inactive" id='grapheme_extra{{ .Num }}' onClick="showDiff('{{ .Num }}', 'grapheme', 'extra')" value="+{{ .ExtraGraphemeNum }}"/> 117*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 118*c8dee2aaSAndroid Build Coastguard Worker </td> 119*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 120*c8dee2aaSAndroid Build Coastguard Worker 121*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasNoSoftBreaks }} 122*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.SoftBreaks.Divide }}</td> 123*c8dee2aaSAndroid Build Coastguard Worker {{ else }} 124*c8dee2aaSAndroid Build Coastguard Worker <td class="one_line"> 125*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasMissingSoftBreaks }} 126*c8dee2aaSAndroid Build Coastguard Worker <input type="button" class="softBreak inactive" id='softBreak_missing{{ .Num }}' onClick="showDiff('{{ .Num }}', 'softBreak', 'missing')" value="-{{ .MissingSoftBreakNum }}"/> 127*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 128*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasExtraSoftBreaks }} 129*c8dee2aaSAndroid Build Coastguard Worker <input type="button" class="softBreak inactive" id='softBreak_extra{{ .Num }}' onClick="showDiff('{{ .Num }}', 'softBreak', 'extra')" value="+{{ .ExtraSoftBreakNum }}"/> 130*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 131*c8dee2aaSAndroid Build Coastguard Worker </td> 132*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 133*c8dee2aaSAndroid Build Coastguard Worker 134*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasNoHardBreaks }} 135*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.HardBreaks.Divide }}</td> 136*c8dee2aaSAndroid Build Coastguard Worker {{ else }} 137*c8dee2aaSAndroid Build Coastguard Worker <td class="one_line"> 138*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasMissingHardBreaks }} 139*c8dee2aaSAndroid Build Coastguard Worker <input type="button" class="hardBreak inactive" id='hardBreak_missing{{ .Num }}' onClick="showDiff('{{ .Num }}', 'hardBreak', 'missing')" value="+{{ .MissingHardBreakNum }}"/> 140*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 141*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasExtraHardBreaks }} 142*c8dee2aaSAndroid Build Coastguard Worker <input type="button" class="hardBreak inactive" id='hardBreak_extra{{ .Num }}' onClick="showDiff('{{ .Num }}', 'hardBreak', 'extra')" value="-{{ .ExtraHardBreakNum }}"/> 143*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 144*c8dee2aaSAndroid Build Coastguard Worker </td> 145*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 146*c8dee2aaSAndroid Build Coastguard Worker 147*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasNoWhitespaces }} 148*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.Whitespaces.Divide }}</td> 149*c8dee2aaSAndroid Build Coastguard Worker {{ else }} 150*c8dee2aaSAndroid Build Coastguard Worker <td class="one_line"> 151*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasMissingWhitespaces }} 152*c8dee2aaSAndroid Build Coastguard Worker <input type="button" class="whitespace inactive" id='whitespace_missing{{ .Num }}' onClick="showDiff('{{ .Num }}', 'whitespace', 'missing')" value="-{{ .MissingWhitespaceNum }}"/> 153*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 154*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasExtraWhitespaces }} 155*c8dee2aaSAndroid Build Coastguard Worker <input type="button" class="whitespace inactive" id='whitespace_extra{{ .Num }}' onClick="showDiff('{{ .Num }}', 'whitespace')" value="+{{ .ExtraWhitespaceNum }}"/> 156*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 157*c8dee2aaSAndroid Build Coastguard Worker </td> 158*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 159*c8dee2aaSAndroid Build Coastguard Worker 160*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasNoWords }} 161*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.Words.Divide }}</td> 162*c8dee2aaSAndroid Build Coastguard Worker {{ else }} 163*c8dee2aaSAndroid Build Coastguard Worker <td class="one_line"> 164*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasMissingWords }} 165*c8dee2aaSAndroid Build Coastguard Worker <input type="button" class="word inactive" id='word_missing{{ .Num }}' onClick="showDiff('{{ .Num }}', 'word', 'missing')" value="-{{ .MissingWordNum }}"/> 166*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 167*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasExtraWords }} 168*c8dee2aaSAndroid Build Coastguard Worker <input type="button" class="word inactive" id='word_extra{{ .Num }}' onClick="showDiff('{{ .Num }}', 'word', 'extra')" value="+{{ .ExtraWordNum }}"/> 169*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 170*c8dee2aaSAndroid Build Coastguard Worker </td> 171*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 172*c8dee2aaSAndroid Build Coastguard Worker 173*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasNoControls }} 174*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.Controls.Divide }}</td> 175*c8dee2aaSAndroid Build Coastguard Worker {{ else }} 176*c8dee2aaSAndroid Build Coastguard Worker <td class="one_line"> 177*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasMissingControls }} 178*c8dee2aaSAndroid Build Coastguard Worker <input type="button" class="control inactive" id='control_missing{{ .Num }}' onClick="showDiff('{{ .Num }}', 'control', 'missing')" value="-{{ .MissingControlNum }}"/> 179*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 180*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasExtraControls }} 181*c8dee2aaSAndroid Build Coastguard Worker <input type="button" class="control inactive" id='control_extra{{ .Num }}' onClick="showDiff('{{ .Num }}', 'control', 'extra')" value="+{{ .ExtraControlNum }}"/> 182*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 183*c8dee2aaSAndroid Build Coastguard Worker </td> 184*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 185*c8dee2aaSAndroid Build Coastguard Worker </tr> 186*c8dee2aaSAndroid Build Coastguard Worker <tr class="{{ .Level }} {{ .ParentId }}" id="{{ .Id }}"> 187*c8dee2aaSAndroid Build Coastguard Worker <td class="results results1">{{ .Implementation }} results</td> 188*c8dee2aaSAndroid Build Coastguard Worker <td colspan="9" class="results1"> 189*c8dee2aaSAndroid Build Coastguard Worker {{ template "formattedText" . }} 190*c8dee2aaSAndroid Build Coastguard Worker </td> 191*c8dee2aaSAndroid Build Coastguard Worker </tr> 192*c8dee2aaSAndroid Build Coastguard Worker <tr class="{{ .Level }} {{ .ParentId }}" id="{{ .Id }}a"> 193*c8dee2aaSAndroid Build Coastguard Worker <td class="results results2">Chrome results</td> 194*c8dee2aaSAndroid Build Coastguard Worker <td colspan="9" class="results2"> 195*c8dee2aaSAndroid Build Coastguard Worker <div> 196*c8dee2aaSAndroid Build Coastguard Worker <span>{{ .Text }}</span> 197*c8dee2aaSAndroid Build Coastguard Worker </div> 198*c8dee2aaSAndroid Build Coastguard Worker </td> 199*c8dee2aaSAndroid Build Coastguard Worker </tr> 200*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 201*c8dee2aaSAndroid Build Coastguard Worker {{ else }} 202*c8dee2aaSAndroid Build Coastguard Worker <tr class="{{ .Level }} {{ .ParentId }}" id="{{ .Id }}"> 203*c8dee2aaSAndroid Build Coastguard Worker {{ if .HasChildren }} 204*c8dee2aaSAndroid Build Coastguard Worker <td><a href="#{{ .Id }}">+</a> {{ .Name }} </td> 205*c8dee2aaSAndroid Build Coastguard Worker <td></td> 206*c8dee2aaSAndroid Build Coastguard Worker <td></td> 207*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.Performance.Percents }}</td> 208*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.Graphemes.Divide }}</td> 209*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.SoftBreaks.Divide }}</td> 210*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.HardBreaks.Divide }}</td> 211*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.Whitespaces.Divide }}</td> 212*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.Words.Divide }}</td> 213*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.Controls.Divide }}</td> 214*c8dee2aaSAndroid Build Coastguard Worker {{ else }} 215*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Name }} </td> 216*c8dee2aaSAndroid Build Coastguard Worker <td></td> 217*c8dee2aaSAndroid Build Coastguard Worker <td></td> 218*c8dee2aaSAndroid Build Coastguard Worker <td>{{ .Delta.Performance.Percents }}</td> 219*c8dee2aaSAndroid Build Coastguard Worker <td></td> 220*c8dee2aaSAndroid Build Coastguard Worker <td></td> 221*c8dee2aaSAndroid Build Coastguard Worker <td></td> 222*c8dee2aaSAndroid Build Coastguard Worker <td></td> 223*c8dee2aaSAndroid Build Coastguard Worker <td></td> 224*c8dee2aaSAndroid Build Coastguard Worker <td></td> 225*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 226*c8dee2aaSAndroid Build Coastguard Worker </tr> 227*c8dee2aaSAndroid Build Coastguard Worker {{ end}} 228*c8dee2aaSAndroid Build Coastguard Worker {{ template "rows" $child.Children }} 229*c8dee2aaSAndroid Build Coastguard Worker {{ end }} 230*c8dee2aaSAndroid Build Coastguard Worker{{ end }} 231