| Index: third_party/buildbot_7_12/buildbot/status/web/console_js.py
|
| diff --git a/third_party/buildbot_7_12/buildbot/status/web/console_js.py b/third_party/buildbot_7_12/buildbot/status/web/console_js.py
|
| deleted file mode 100755
|
| index e7e49feafed03de7e82f0addbcd68d6e0aa55897..0000000000000000000000000000000000000000
|
| --- a/third_party/buildbot_7_12/buildbot/status/web/console_js.py
|
| +++ /dev/null
|
| @@ -1,306 +0,0 @@
|
| -JAVASCRIPT = '''
|
| -// <;![Cdata[
|
| -//
|
| -// Cookie functions
|
| -//
|
| -
|
| -// Creates a new cookie.
|
| -function createCookie(name, value, day) {
|
| - var date = new Date();
|
| - date.setTime(date.getTime() + (day * 24 * 60 * 60 * 1000));
|
| - var expires = "; expires=" + date.toGMTString();
|
| - document.cookie = name + "=" + value+expires + "; path=/";
|
| -}
|
| -
|
| -// Returns the vaue of a cookie, or null if it does not exist.
|
| -function readCookie(name) {
|
| - var begin = name + "=";
|
| - var data = document.cookie.split(';');
|
| - for(var i = 0; i < data.length; i++) {
|
| - var cookie = data[i];
|
| - while (cookie.charAt(0) == ' ')
|
| - cookie = cookie.substring(1, cookie.length);
|
| - if (cookie.indexOf(begin) == 0)
|
| - return cookie.substring(begin.length, cookie.length);
|
| - }
|
| -
|
| - return null;
|
| -}
|
| -
|
| -// Deletes a cookie.
|
| -function eraseCookie(name) {
|
| - createCookie(name, "", -1);
|
| -}
|
| -
|
| -//
|
| -// Functions to change the layout of the page.
|
| -//
|
| -
|
| -// Hides all "details" and "comments" section.
|
| -function collapse() {
|
| - // Hide all Comments sections.
|
| - var comments = document.querySelectorAll('.DevComment');
|
| - for(var i = 0; i < comments.length; i++) {
|
| - comments[i].style.display = "none";
|
| - }
|
| -
|
| - // Hide all details sections.
|
| - var details = document.querySelectorAll('.DevDetails');
|
| - for(var i = 0; i < details.length; i++) {
|
| - details[i].style.display = "none";
|
| - }
|
| -
|
| - // Fix the rounding on the Revision box. (Lower right corner must be round)
|
| - var revisions = document.querySelectorAll('.DevRev');
|
| - for(var i = 0; i < revisions.length; i++) {
|
| - revisions[i].className = revisions[i].className + ' DevRevCollapse';
|
| - }
|
| -
|
| - // Fix the rounding on the last category box. (Lower left corner must be round)
|
| - var status = document.querySelectorAll('.last');
|
| - for(var i = 0; i < status.length; i++) {
|
| - status[i].className = status[i].className + ' DevStatusCollapse';
|
| - }
|
| -
|
| - // Create a cookie to remember that we want the view to be collapsed.
|
| - createCookie('collapsed', 'true', 30)
|
| -
|
| - // Hide the collapse and the unmerge buttons.
|
| - document.querySelectorAll('.collapse')[0].style.display = 'none'
|
| - document.querySelectorAll('.unmerge')[0].style.display = 'none'
|
| -
|
| - // Activate the merge and expand buttons.
|
| - document.querySelectorAll('.expand')[0].style.display = 'inline'
|
| - document.querySelectorAll('.merge')[0].style.display = 'inline'
|
| -}
|
| -
|
| -// Expands the view. This is the opposite of "Collapse"
|
| -function expand() {
|
| - // Make the comments visible.
|
| - var comments = document.querySelectorAll('.DevComment');
|
| - for(var i = 0; i < comments.length; i++) {
|
| - comments[i].style.display = "";
|
| - }
|
| -
|
| - // Make the details visible.
|
| - var details = document.querySelectorAll('.DevDetails');
|
| - for(var i = 0; i < details.length; i++) {
|
| - details[i].style.display = "";
|
| - }
|
| -
|
| - // Remove the round corner (lower right) for the Revision box.
|
| - var revisions = document.querySelectorAll('.DevRev');
|
| - for(var i = 0; i < revisions.length; i++) {
|
| - revisions[i].className = revisions[i].className.replace('DevRevCollapse', '');
|
| - }
|
| -
|
| - // Remoe the round corner (lower left) for the last category box.
|
| - var status = document.querySelectorAll('.DevStatus');
|
| - for(var i = 0; i < status.length; i++) {
|
| - status[i].className = status[i].className.replace('DevStatusCollapse', '');
|
| - }
|
| -
|
| - // Delete the cookies that say that we want to be collapsed or merged.
|
| - eraseCookie('collapsed')
|
| - eraseCookie('merged')
|
| -
|
| - // Display the "collapse" and "merge" buttons.
|
| - document.querySelectorAll('.collapse')[0].style.display = 'inline'
|
| - document.querySelectorAll('.merge')[0].style.display = 'inline'
|
| -
|
| - // Remove the "expand" and "unmerge" buttons.
|
| - document.querySelectorAll('.expand')[0].style.display = 'none'
|
| - document.querySelectorAll('.unmerge')[0].style.display = 'none'
|
| -}
|
| -
|
| -//
|
| -// Merge all the status boxes together.
|
| -function merge() {
|
| - // First step is to collapse the view.
|
| - collapse();
|
| -
|
| - // Hide all the spacing.
|
| - var spacing = document.querySelectorAll('.DevStatusSpacing');
|
| - for(var i = 0; i < spacing.length; i++) {
|
| - spacing[i].style.display = "none";
|
| - }
|
| -
|
| - // Each boxes have, in the className, a tag that uniquely represents the
|
| - // build where this data comes from.
|
| - // Since we want to merge all the boxes coming from the same build, we
|
| - // parse the document to find all the builds, and then, for each build, we
|
| - // concatenate the boxes.
|
| -
|
| - var allTags = [];
|
| - all = document.getElementsByTagName('*')
|
| - for(var i = 0; i < all.length; i++) {
|
| - var element = all[i];
|
| - start = element.className.indexOf('Tag')
|
| - if (start != -1) {
|
| - var className = ""
|
| - end = element.className.indexOf(' ', start)
|
| - if (end != -1) {
|
| - className = element.className.substring(start, end);
|
| - } else {
|
| - className = element.className.substring(start);
|
| - }
|
| - allTags[className] = 1;
|
| - }
|
| - }
|
| -
|
| - // Mergeall tags that we found
|
| - for (i in allTags) {
|
| - var current = document.querySelectorAll('.' + i);
|
| -
|
| - // We do the work only if there is more than 1 box with the same
|
| - // build.
|
| - if (current.length > 1) {
|
| - // Add the noround class to all the boxes.
|
| - for(var i = 0; i < current.length; i++) {
|
| - current[i].className = current[i].className + ' noround';
|
| - }
|
| -
|
| - // Add the begin class to the first box.
|
| - current[0].className = current[0].className + ' begin';
|
| -
|
| - // Add the end class to the last box.
|
| - last = current.length - 1;
|
| - current[last].className = current[last].className + ' end';
|
| - }
|
| - }
|
| -
|
| - // Display the "unmerge" and "expand" button.
|
| - // TODO(nsylvain): expand does not work well here. we should remove it.
|
| - document.querySelectorAll('.unmerge')[0].style.display = 'inline'
|
| - document.querySelectorAll('.expand')[0].style.display = 'inline'
|
| -
|
| - // Remove the "collapse" and "merge" button.
|
| - document.querySelectorAll('.collapse')[0].style.display = 'none'
|
| - document.querySelectorAll('.merge')[0].style.display = 'none'
|
| -
|
| - // Create a cookie to remember that we want to be merged.
|
| - createCookie('merged', 'true', 30)
|
| -}
|
| -
|
| -// Un-merge the view. This is the opposite of "merge".
|
| -function unmerge() {
|
| - // We start by expanding the view.
|
| - expand();
|
| -
|
| - // We put back all the spacing.
|
| - var spacing = document.querySelectorAll('.DevStatusSpacing');
|
| - for(var i = 0; i < spacing.length; i++) {
|
| - spacing[i].style.display = "";
|
| - }
|
| -
|
| - // We remove the class added to all the boxes we modified.
|
| - var noround = document.querySelectorAll('.noround');
|
| - for(var i = 0; i < noround.length; i++) {
|
| - noround[i].className = noround[i].className.replace("begin", '');
|
| - noround[i].className = noround[i].className.replace("end", '');
|
| - noround[i].className = noround[i].className.replace("noround", '');
|
| - }
|
| -
|
| - // Delete the cookie, we don't want to be merged anymore.
|
| - eraseCookie('merged')
|
| -
|
| - // Display the "merge" and "collapse" button.
|
| - document.querySelectorAll('.collapse')[0].style.display = 'inline'
|
| - document.querySelectorAll('.merge')[0].style.display = 'inline'
|
| -
|
| - // Hide and "expand" and "unmerge" button.
|
| - document.querySelectorAll('.expand')[0].style.display = 'none'
|
| - document.querySelectorAll('.unmerge')[0].style.display = 'none'
|
| -}
|
| -
|
| -function SetupView() {
|
| - if (readCookie('merged')) {
|
| - merge();
|
| - } else if (readCookie('collapsed')) {
|
| - collapse();
|
| - } else {
|
| - unmerge();
|
| - expand();
|
| - }
|
| -}
|
| -
|
| -//
|
| -// Functions used to display the build status bubble on box click.
|
| -//
|
| -
|
| -// show the build status box. This is called when the user clicks on a block.
|
| -function showBuildBox(url, event) {
|
| - // Find the current curson position.
|
| - var cursorPosTop = (window.event ? window.event.clientY : event.pageY)
|
| - var cursorPosLeft = (window.event ? window.event.clientX : event.pageX)
|
| -
|
| - // Offset the position by 5, to make the window appears under the cursor.
|
| - cursorPosTop = cursorPosTop + document.body.scrollTop -5 ;
|
| - cursorPosLeft = cursorPosLeft + document.body.scrollLeft - 5;
|
| -
|
| - // Move the div (hidden) under the cursor.
|
| - var divBox = document.getElementById('divBox');
|
| - divBox.style.top = parseInt(cursorPosTop) + 'px';
|
| - divBox.style.left = parseInt(cursorPosLeft) + 'px';
|
| -
|
| - // Reload the hidden frame with the build page we want to show.
|
| - // The onload even on this frame will update the div and make it visible.
|
| - document.getElementById("frameBox").src = url
|
| -
|
| - // We don't want to reload the page.
|
| - return false;
|
| -}
|
| -
|
| -// OnLoad handler for the iframe containing the build to show.
|
| -function updateDiv(event) {
|
| - // Get the frame innerHTML.
|
| - var iframeContent = document.getElementById("frameBox").contentWindow.document.body.innerHTML;
|
| -
|
| - // If there is any content, update the div, and make it visible.
|
| - if (iframeContent) {
|
| - var divBox = document.getElementById('divBox');
|
| - divBox.innerHTML = iframeContent ;
|
| - divBox.style.display = "block";
|
| - }
|
| -}
|
| -
|
| -// Util functions to know if an element is contained inside another element.
|
| -// We use this to know when we mouse out our build status div.
|
| -function containsDOM (container, containee) {
|
| - var isParent = false;
|
| - do {
|
| - if ((isParent = container == containee))
|
| - break;
|
| - containee = containee.parentNode;
|
| - } while (containee != null);
|
| -
|
| - return isParent;
|
| -}
|
| -
|
| -// OnMouseOut handler. Returns true if the mouse moved out of the element.
|
| -// It is false if the mouse is still in the element, but in a blank part of it,
|
| -// like in an empty table cell.
|
| -function checkMouseLeave(element, event) {
|
| - if (element.contains && event.toElement) {
|
| - return !element.contains(event.toElement);
|
| - }
|
| - else if (event.relatedTarget) {
|
| - return !containsDOM(element, event.relatedTarget);
|
| - }
|
| -}
|
| -
|
| -function addBox(url, title, color, tag) {
|
| - document.write('<td class="DevStatusBox">')
|
| - document.write('<a href="#" onClick="showBuildBox(\\\'')
|
| - document.write(url);
|
| - document.write('\\\', event); return false;\" title="');
|
| - document.write(title);
|
| - document.write('" class="DevStatusBox ');
|
| - document.write(color + ' ' + tag);
|
| - document.write('" target=_blank></a></td>');
|
| -}
|
| -
|
| -document.addEventListener("DOMContentLoaded", SetupView, false);
|
| -
|
| -// ]]>
|
| -'''
|
|
|