blob: 37a7eb19005c700b37f5e536b8a1ea4d7a47aa4f [file] [log] [blame]
{% 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 %}