| {% extends "layout.html" %} |
| |
| {% block header -%} |
| {{ super() }} |
| <hr/> |
| <script> |
| function autoLink(className) { |
| var comments = document.querySelectorAll(className); |
| for(var i = 0; i < comments.length; i++) { |
| comments[i].innerHTML = comments[i].innerHTML.replace(/http:\/\/[^ \t\n<]*/g, '<a href="$&">$&</a>'); |
| } |
| } |
| |
| window.onload = function() { |
| autoLink('.DevComment'); |
| } |
| |
| /** |
| * A simple HTML table string. |
| * @param {String} attributes A set of HTML attributes for the table. |
| * @param {String} contents The contents. |
| * @returns {!String} |
| */ |
| function table(attributes, contents) { |
| return '<table ' + attributes + '>' + contents + '</table>\n'; |
| }; |
| |
| /** |
| * A simple HTML table row string. |
| * @param {String} attributes A set of HTML attributes for the table row. |
| * @param {String} contents The contents. |
| * @returns {!String} |
| */ |
| function tr(contents) { |
| return '<tr>' + contents + '</tr>\n'; |
| }; |
| |
| /** |
| * A simple HTML table cell string. |
| * @param {String} attributes A set of HTML attributes for the table cell. |
| * @param {String} contents The contents. |
| * @returns {!String} |
| */ |
| function td(attributes, contents) { |
| return '<td ' + attributes + '>' + contents + '</td>'; |
| }; |
| |
| /** |
| * A simple HTML anchor string. |
| * @param {String} url The value for the href. |
| * @param {String} attributes A set of HTML attributes for the table. |
| * @param {String} contents The contents. |
| * @returns {!String} |
| */ |
| function a(url, contents, attributes) { |
| return '<a href="' + url + '" ' + attributes + '>' + contents + '</a>'; |
| }; |
| |
| /** |
| * A simple HTML iframe string. |
| * @param {String} attributes A set of HTML attributes for the table. |
| * @param {String} url The source of the iframe. |
| * @returns {!String} the iframe or an empty string if noframe is specified. |
| */ |
| function iFrame(attributes, url) { |
| if (window.location.href.search('noframe') == -1) { |
| return '<iframe ' + attributes + ' src="' + url + '"></iframe>'; |
| } |
| return '' |
| }; |
| |
| function maybeLink(link_url, link_text) { |
| if (document.location.pathname.indexOf('/' + link_url + '/') == 2) { |
| return '<nobr><b>' + link_text + '</b></nobr>'; |
| } else { |
| return '<nobr><a href="/i/' + link_url + '/console">' + link_text + '</a></nobr>'; |
| } |
| } |
| </script> |
| |
| <div class="Announcement"> |
| |
| <center style="padding-left: 7px; padding-right: 7px"> |
| <table width="100%" valign="top" bgcolor="#efefef" style="-webkit-border-bottom-left-radius: 24px; -webkit-border-bottom-right-radius: 24px; -moz-border-bottom-right-radius: 24px; -moz-border-bottom-right-radius: 24px; box-shadow: 2px 2px 6px rgba(0,0,0,0.6); -moz-box-shadow: 2px 2px 6px rgba(0,0,0,0.6); -webkit-box-shadow: 2px 2px 6px rgba(0,0,0,0.6);"> |
| <tr> |
| <td width="23%"> |
| <table><tr><td><img width="64" height="64" |
| src="https://upload.wikimedia.org/wikipedia/commons/3/34/Android_Studio_icon.svg"></td><td> |
| <table valign="top" width="100%"> |
| <tr> |
| <td style="text-align: right;"> |
| <b>Navigate:</b> |
| </td> |
| <td colspan="2"> |
| <a href="one_line_per_build">manage all</a> | |
| <a href="./waterfall/help">customize</a> | |
| <a href="./waterfall">waterfall</a> | |
| <a href="./console">console</a> |
| </td> |
| </tr> |
| </table> |
| </td></tr></table> |
| </td> |
| <td width="1" bgcolor="#CCCCCC"> |
| </td> |
| <td width="2%"> |
| </td> |
| <td width="72%"> |
| <table width="100%"> |
| <script language="javascript"> |
| var raw_flavors = [ |
| ["Windows", "", [ |
| "Win 7 32-bit HD 4400", |
| "Win 7 64-bit HD 4400", |
| "Win 8 64-bit Quadro 600", |
| "Win 8.1 64-bit Quadro 600", |
| "Win 10 64-bit Quadro 600", |
| ]], |
| ["Mac", "", [ |
| "Mac 10.10.5 Intel HD 5000", |
| "Mac 10.10.5 Iris Pro", |
| "Mac 10.8.5 Intel HD 5000", |
| "Mac 10.11.1 Iris Pro", |
| ]], |
| ["Linux", "", [ |
| "Ubuntu 12.04 HD Graphics 4000", |
| "Ubuntu 14.04 HD 4400", |
| "Ubuntu 14.04 Quadro 600", |
| "Ubuntu 15.04 Quadro K600", |
| ]], |
| ]; |
| var flavors = []; |
| for(var i in raw_flavors) { |
| var row = Array(); |
| for (var j in raw_flavors[i][2]) { |
| row.push("builder=" + raw_flavors[i][2][j]); |
| } |
| flavors.push([raw_flavors[i][0], raw_flavors[i][1], row.join("&")]); |
| } |
| |
| var bar = "./horizontal_one_box_per_builder" |
| var waterfall = "./waterfall" |
| |
| if (document.location.port == 8016 || document.location.port == 8019) { |
| bar = 'http://' + document.location.hostname + ':8010/' + bar |
| waterfall = 'http://' + document.location.hostname + ':8010/' + waterfall |
| } else if (document.location.pathname == '/buildbot/waterfall.fyi/waterfall' || |
| document.location.pathname == '/buildbot/waterfall.fyi/grid') { |
| bar = '../waterfall/' + bar |
| waterfall = '../waterfall/' + waterfall |
| } |
| |
| function GetUrl(type, content) { |
| return type + "?" + content + "&reload=30"; |
| } |
| |
| function GetBarUrl(type, content, base_url) { |
| return base_url + "/" + GetUrl(type, content) |
| } |
| |
| /** |
| * The most detailed specification of a builder bar with boxes. |
| * Reutrns an HTMLstring with 2 <td>s |
| * @param {String} status_url URL portion for the title link. |
| * @param {String} bar_url URL portion for the array of boxes. |
| * @param {String} content specification for the references, e.g.. |
| * @param {String} name what to call this bar. |
| * @returns {String} |
| */ |
| function HTMLBaseBar(status_url, bar_url, content, name, base_url, |
| bar_properties, link_properties) { |
| return td('', |
| a(GetBarUrl(status_url, '', base_url), name, '')) + |
| td('', |
| iFrame(['width="100%"', 'height="20"', |
| 'frameborder="0"', 'scrolling="no"'].join(' '), |
| GetBarUrl(bar_url, content, base_url))); |
| } |
| |
| function DisplayBar(content, name, base_url) { |
| document.write( |
| tr(HTMLBaseBar(waterfall, bar, content, name, |
| base_url, 'width=\"100%\"'))); |
| } |
| |
| for(var i in flavors) { |
| DisplayBar(flavors[i][2], flavors[i][0], flavors[i][1]); |
| } |
| </script> |
| </table> |
| </td> |
| <td width="3%"> |
| </td> |
| </tr> |
| </table> |
| </center> |
| |
| </div> |
| {% endblock header %} |
| |
| {% block footer %} |
| |
| {{ super() }} |
| {# <p>Debug info: {{ debuginfo }}</p> #} |
| {% endblock %} |