summaryrefslogtreecommitdiffstats
path: root/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/pixelzoomer.js
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/pixelzoomer.js')
-rw-r--r--Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/pixelzoomer.js168
1 files changed, 0 insertions, 168 deletions
diff --git a/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/pixelzoomer.js b/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/pixelzoomer.js
deleted file mode 100644
index a88e22a0a..000000000
--- a/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/pixelzoomer.js
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (C) 2011 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-// pixelzoomer is shared with LayoutTests/fast/harness/results.html
-// Unfortuantely, there's no good way to share code between these two uses.
-
-var pixelzoomer = pixelzoomer || {};
-
-(function() {
-
-var kZoomFactor = 6;
-var kDelayTimeoutMS = 400;
-
-var kResultWidth = 800;
-var kResultHeight = 600;
-
-var kZoomedResultWidth = kResultWidth * kZoomFactor;
-var kZoomedResultHeight = kResultHeight * kZoomFactor;
-
-function matchesSelector(node, selector)
-{
- if (node.webkitMatchesSelector)
- return node.webkitMatchesSelector(selector);
-
- if (node.mozMatchesSelector)
- return node.mozMatchesSelector(selector);
-}
-
-function parentOfType(node, selector)
-{
- while (node = node.parentNode) {
- if (matchesSelector(node, selector))
- return node;
- }
- return null;
-}
-
-function zoomImageContainer(url)
-{
- var container = document.createElement('div');
- container.className = 'zoom-image-container';
-
- var title = url.match(/\-([^\-]*)\.png/)[1];
-
- var label = document.createElement('div');
- label.className = 'label';
- label.appendChild(document.createTextNode(title));
- container.appendChild(label);
-
- var imageContainer = document.createElement('div');
- imageContainer.className = 'scaled-image-container';
-
- var image = new Image();
- image.src = url;
- image.style.width = kZoomedResultWidth + 'px';
- image.style.height = kZoomedResultHeight + 'px';
- image.style.border = '1px solid black';
- imageContainer.appendChild(image);
- container.appendChild(imageContainer);
-
- return container;
-}
-
-function createContainer(e)
-{
- var tbody = parentOfType(e.target, 'tbody');
- var row = tbody.querySelector('tr');
- var images = row.querySelectorAll('img[src$=".png"]');
-
- var container = document.createElement('div');
- container.className = 'pixel-zoom-container';
-
- for (var i = 0; i < images.length; i++)
- container.appendChild(zoomImageContainer(images[i].src));
-
- document.body.appendChild(container);
- drawAll();
-}
-
-function draw(imageContainer)
-{
- var image = imageContainer.querySelector('img');
- var containerBounds = imageContainer.getBoundingClientRect();
- image.style.left = (containerBounds.width / 2 - pixelzoomer._percentX * kZoomedResultWidth) + 'px';
- image.style.top = (containerBounds.height / 2 - pixelzoomer._percentY * kZoomedResultHeight) + 'px';
-}
-
-function drawAll()
-{
- Array.prototype.forEach.call(document.querySelectorAll('.pixel-zoom-container .scaled-image-container'), draw);
-}
-
-function handleMouseOut(e)
-{
- if (e.relatedTarget && e.relatedTarget.tagName != 'IFRAME')
- return;
-
- // If e.relatedTarget is null, we've moused out of the document.
- $('pixel-zoom-container').detach();
-}
-
-function handleMouseMove(e)
-{
- if (pixelzoomer._mouseMoveTimeout)
- clearTimeout(pixelzoomer._mouseMoveTimeout);
-
- if (parentOfType(e.target, '.pixel-zoom-container'))
- return;
-
- var container = document.querySelector('.pixel-zoom-container');
-
- var resultContainer = (e.target.className == 'result-container') ?
- e.target : parentOfType(e.target, '.result-container');
- if (!resultContainer || !resultContainer.querySelector('img')) {
- $(container).detach();
- return;
- }
-
- var targetLocation = e.target.getBoundingClientRect();
- pixelzoomer._percentX = (e.clientX - targetLocation.left) / targetLocation.width;
- pixelzoomer._percentY = (e.clientY - targetLocation.top) / targetLocation.height;
-
- if (!container) {
- if (pixelzoomer.showOnDelay) {
- pixelzoomer._mouseMoveTimeout = setTimeout(function() {
- createContainer(e);
- }, kDelayTimeoutMS);
- return;
- }
-
- createContainer(e);
- return;
- }
-
- drawAll();
-}
-
-pixelzoomer.showOnDelay = true;
-
-pixelzoomer.installEventListeners = function()
-{
- document.addEventListener('mousemove', handleMouseMove, false);
- document.addEventListener('mouseout', handleMouseOut, false);
-};
-
-})();