| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <style> | 2 <style> |
| 3 html { | 3 html { |
| 4 height: 100%; | 4 height: 100%; |
| 5 } | 5 } |
| 6 body { | 6 body { |
| 7 margin: 0; | 7 margin: 0; |
| 8 font-family: Helvetica, sans-serif; | 8 font-family: Helvetica, sans-serif; |
| 9 font-size: 11pt; | 9 font-size: 11pt; |
| 10 display: -webkit-flex; | 10 display: -webkit-flex; |
| (...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 324 function appendHTML(node, html) | 324 function appendHTML(node, html) |
| 325 { | 325 { |
| 326 node.innerHTML += html; | 326 node.innerHTML += html; |
| 327 } | 327 } |
| 328 | 328 |
| 329 function expandExpectations(expandLink) | 329 function expandExpectations(expandLink) |
| 330 { | 330 { |
| 331 var row = parentOfType(expandLink, 'tr'); | 331 var row = parentOfType(expandLink, 'tr'); |
| 332 var parentTbody = row.parentNode; | 332 var parentTbody = row.parentNode; |
| 333 var existingResultsRow = parentTbody.querySelector('.results-row'); | 333 var existingResultsRow = parentTbody.querySelector('.results-row'); |
| 334 | 334 |
| 335 var enDash = '\u2013'; | 335 var enDash = '\u2013'; |
| 336 expandLink.textContent = enDash; | 336 expandLink.textContent = enDash; |
| 337 if (existingResultsRow) { | 337 if (existingResultsRow) { |
| 338 updateExpandedState(existingResultsRow, true); | 338 updateExpandedState(existingResultsRow, true); |
| 339 return; | 339 return; |
| 340 } | 340 } |
| 341 | 341 |
| 342 var newRow = document.createElement('tr'); | 342 var newRow = document.createElement('tr'); |
| 343 newRow.className = 'results-row'; | 343 newRow.className = 'results-row'; |
| 344 var newCell = document.createElement('td'); | 344 var newCell = document.createElement('td'); |
| 345 newCell.colSpan = row.querySelectorAll('td').length; | 345 newCell.colSpan = row.querySelectorAll('td').length; |
| 346 | 346 |
| 347 var resultLinks = row.querySelectorAll('.result-link'); | 347 var resultLinks = row.querySelectorAll('.result-link'); |
| 348 var hasTogglingImages = false; | 348 var hasTogglingImages = false; |
| 349 for (var i = 0; i < resultLinks.length; i++) { | 349 for (var i = 0; i < resultLinks.length; i++) { |
| 350 var link = resultLinks[i]; | 350 var link = resultLinks[i]; |
| 351 var result; | 351 var result; |
| 352 if (link.textContent == 'images') { | 352 if (link.textContent == 'images') { |
| 353 hasTogglingImages = true; | 353 hasTogglingImages = true; |
| 354 result = togglingImage(link.getAttribute('data-prefix')); | 354 result = togglingImage(link.getAttribute('data-prefix')); |
| 355 } else | 355 } else |
| 356 result = resultIframe(link.href); | 356 result = resultIframe(link.href); |
| 357 | 357 |
| 358 appendHTML(newCell, result); | 358 appendHTML(newCell, result); |
| 359 } | 359 } |
| 360 | 360 |
| 361 newRow.appendChild(newCell); | 361 newRow.appendChild(newCell); |
| 362 parentTbody.appendChild(newRow); | 362 parentTbody.appendChild(newRow); |
| 363 | 363 |
| 364 updateExpandedState(newRow, true); | 364 updateExpandedState(newRow, true); |
| 365 | 365 |
| 366 updateImageTogglingTimer(); | 366 updateImageTogglingTimer(); |
| 367 } | 367 } |
| 368 | 368 |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 459 } | 459 } |
| 460 | 460 |
| 461 function processGlobalStateFor(testObject) | 461 function processGlobalStateFor(testObject) |
| 462 { | 462 { |
| 463 var test = testObject.name; | 463 var test = testObject.name; |
| 464 if (testObject.has_stderr) | 464 if (testObject.has_stderr) |
| 465 globalState().testsWithStderr.push(testObject); | 465 globalState().testsWithStderr.push(testObject); |
| 466 | 466 |
| 467 globalState().hasHttpTests = globalState().hasHttpTests || test.indexOf('htt
p/') == 0; | 467 globalState().hasHttpTests = globalState().hasHttpTests || test.indexOf('htt
p/') == 0; |
| 468 | 468 |
| 469 var actual = testObject.actual; | 469 var actual = testObject.actual; |
| 470 var expected = testObject.expected || 'PASS'; | 470 var expected = testObject.expected || 'PASS'; |
| 471 | 471 |
| 472 if (actual == 'MISSING') { | 472 if (actual == 'MISSING') { |
| 473 // FIXME: make sure that new-run-webkit-tests spits out an -actual.txt f
ile for | 473 // FIXME: make sure that new-run-webkit-tests spits out an -actual.txt f
ile for |
| 474 // tests with MISSING results. | 474 // tests with MISSING results. |
| 475 globalState().missingResults.push(testObject); | 475 globalState().missingResults.push(testObject); |
| 476 return; | 476 return; |
| 477 } | 477 } |
| 478 | 478 |
| 479 var actualTokens = actual.split(' '); | 479 var actualTokens = actual.split(' '); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 497 | 497 |
| 498 if (actual == 'LEAK') { | 498 if (actual == 'LEAK') { |
| 499 globalState().leakTests.push(testObject); | 499 globalState().leakTests.push(testObject); |
| 500 return; | 500 return; |
| 501 } | 501 } |
| 502 | 502 |
| 503 if (actual == 'TIMEOUT') { | 503 if (actual == 'TIMEOUT') { |
| 504 globalState().timeoutTests.push(testObject); | 504 globalState().timeoutTests.push(testObject); |
| 505 return; | 505 return; |
| 506 } | 506 } |
| 507 | 507 |
| 508 globalState().failingTests.push(testObject); | 508 globalState().failingTests.push(testObject); |
| 509 } | 509 } |
| 510 | 510 |
| 511 function toggleImages() | 511 function toggleImages() |
| 512 { | 512 { |
| 513 var images = document.querySelectorAll('.animatedImage'); | 513 var images = document.querySelectorAll('.animatedImage'); |
| 514 var imageTexts = document.querySelectorAll('.imageText'); | 514 var imageTexts = document.querySelectorAll('.imageText'); |
| 515 for (var i = 0, len = images.length; i < len; i++) { | 515 for (var i = 0, len = images.length; i < len; i++) { |
| 516 var image = images[i]; | 516 var image = images[i]; |
| 517 var text = imageTexts[i]; | 517 var text = imageTexts[i]; |
| (...skipping 22 matching lines...) Expand all Loading... |
| 540 return html; | 540 return html; |
| 541 } | 541 } |
| 542 | 542 |
| 543 function imageResultsCell(testObject, testPrefix, actual) { | 543 function imageResultsCell(testObject, testPrefix, actual) { |
| 544 var row = ''; | 544 var row = ''; |
| 545 | 545 |
| 546 if (actual.indexOf('IMAGE') != -1) { | 546 if (actual.indexOf('IMAGE') != -1) { |
| 547 globalState().hasImageFailures = true; | 547 globalState().hasImageFailures = true; |
| 548 | 548 |
| 549 if (testObject.reftest_type && testObject.reftest_type.indexOf('!=') !=
-1) { | 549 if (testObject.reftest_type && testObject.reftest_type.indexOf('!=') !=
-1) { |
| 550 row += resultLink(testPrefix, '-expected-mismatch.html', 'ref mismat
ch html'); | 550 row += resultLink(testPrefix, '-expected-mismatch.sky', 'ref mismatc
h html'); |
| 551 row += resultLink(testPrefix, '-actual.png', 'actual'); | 551 row += resultLink(testPrefix, '-actual.png', 'actual'); |
| 552 } else { | 552 } else { |
| 553 if (testObject.reftest_type && testObject.reftest_type.indexOf('==')
!= -1) { | 553 if (testObject.reftest_type && testObject.reftest_type.indexOf('==')
!= -1) { |
| 554 row += resultLink(testPrefix, '-expected.html', 'ref html'); | 554 row += resultLink(testPrefix, '-expected.sky', 'ref html'); |
| 555 } | 555 } |
| 556 if (globalState().shouldToggleImages) { | 556 if (globalState().shouldToggleImages) { |
| 557 row += resultLink(testPrefix, '-diffs.html', 'images'); | 557 row += resultLink(testPrefix, '-diffs.html', 'images'); |
| 558 } else { | 558 } else { |
| 559 row += resultLink(testPrefix, '-expected.png', 'expected'); | 559 row += resultLink(testPrefix, '-expected.png', 'expected'); |
| 560 row += resultLink(testPrefix, '-actual.png', 'actual'); | 560 row += resultLink(testPrefix, '-actual.png', 'actual'); |
| 561 } | 561 } |
| 562 | 562 |
| 563 row += resultLink(testPrefix, '-diff.png', 'diff'); | 563 row += resultLink(testPrefix, '-diff.png', 'diff'); |
| 564 } | 564 } |
| 565 } | 565 } |
| 566 | 566 |
| 567 if (actual.indexOf('MISSING') != -1 && testObject.is_missing_image) | 567 if (actual.indexOf('MISSING') != -1 && testObject.is_missing_image) |
| 568 row += resultLink(testPrefix, '-actual.png', 'png result'); | 568 row += resultLink(testPrefix, '-actual.png', 'png result'); |
| 569 | 569 |
| 570 return row; | 570 return row; |
| 571 } | 571 } |
| 572 | 572 |
| 573 function tableRow(testObject) | 573 function tableRow(testObject) |
| 574 { | 574 { |
| 575 var row = '<tbody class="' + (testObject.is_unexpected ? '' : 'expected') +
'"'; | 575 var row = '<tbody class="' + (testObject.is_unexpected ? '' : 'expected') +
'"'; |
| 576 if (testObject.reftest_type && testObject.reftest_type.indexOf('!=') != -1) | 576 if (testObject.reftest_type && testObject.reftest_type.indexOf('!=') != -1) |
| 577 row += ' mismatchreftest=true'; | 577 row += ' mismatchreftest=true'; |
| 578 row += '><tr>'; | 578 row += '><tr>'; |
| 579 | 579 |
| 580 row += '<td>' + testLinkWithExpandButton(testObject.name) + '</td>'; | 580 row += '<td>' + testLinkWithExpandButton(testObject.name) + '</td>'; |
| 581 | 581 |
| 582 var testPrefix = stripExtension(testObject.name); | 582 var testPrefix = stripExtension(testObject.name); |
| 583 row += '<td>'; | 583 row += '<td>'; |
| 584 | 584 |
| 585 var actual = testObject.actual; | 585 var actual = testObject.actual; |
| 586 if (actual.indexOf('TEXT') != -1) { | 586 if (actual.indexOf('TEXT') != -1) { |
| 587 globalState().hasTextFailures = true; | 587 globalState().hasTextFailures = true; |
| 588 if (testObject.is_testharness_test) { | 588 if (testObject.is_testharness_test) { |
| 589 row += resultLink(testPrefix, '-actual.txt', 'actual'); | 589 row += resultLink(testPrefix, '-actual.txt', 'actual'); |
| 590 } else { | 590 } else { |
| 591 row += textResultLinks(testObject.name, testPrefix); | 591 row += textResultLinks(testObject.name, testPrefix); |
| 592 } | 592 } |
| 593 } | 593 } |
| 594 | 594 |
| 595 if (actual.indexOf('AUDIO') != -1) { | 595 if (actual.indexOf('AUDIO') != -1) { |
| 596 row += resultLink(testPrefix, '-expected.wav', 'expected audio'); | 596 row += resultLink(testPrefix, '-expected.wav', 'expected audio'); |
| 597 row += resultLink(testPrefix, '-actual.wav', 'actual audio'); | 597 row += resultLink(testPrefix, '-actual.wav', 'actual audio'); |
| 598 } | 598 } |
| 599 | 599 |
| 600 if (actual.indexOf('MISSING') != -1) { | 600 if (actual.indexOf('MISSING') != -1) { |
| 601 if (testObject.is_missing_audio) | 601 if (testObject.is_missing_audio) |
| 602 row += resultLink(testPrefix, '-actual.wav', 'audio result'); | 602 row += resultLink(testPrefix, '-actual.wav', 'audio result'); |
| 603 if (testObject.is_missing_text) | 603 if (testObject.is_missing_text) |
| 604 row += resultLink(testPrefix, '-actual.txt', 'result'); | 604 row += resultLink(testPrefix, '-actual.txt', 'result'); |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 701 html += resultLink(stripExtension(test), '-crash-log.txt', 'crash lo
g'); | 701 html += resultLink(stripExtension(test), '-crash-log.txt', 'crash lo
g'); |
| 702 html += resultLink(stripExtension(test), '-sample.txt', 'sample'); | 702 html += resultLink(stripExtension(test), '-sample.txt', 'sample'); |
| 703 if (testObject.has_stderr) | 703 if (testObject.has_stderr) |
| 704 html += resultLink(stripExtension(test), '-stderr.txt', 'stderr'
); | 704 html += resultLink(stripExtension(test), '-stderr.txt', 'stderr'
); |
| 705 } else if (tableId == 'leak-tests-table') | 705 } else if (tableId == 'leak-tests-table') |
| 706 html += resultLink(stripExtension(test), '-leak-log.txt', 'leak log'
); | 706 html += resultLink(stripExtension(test), '-leak-log.txt', 'leak log'
); |
| 707 else if (tableId == 'timeout-tests-table') { | 707 else if (tableId == 'timeout-tests-table') { |
| 708 // FIXME: only include timeout actual/diff results here if we actual
ly spit out results for timeout tests. | 708 // FIXME: only include timeout actual/diff results here if we actual
ly spit out results for timeout tests. |
| 709 html += textResultLinks(test, stripExtension(test)); | 709 html += textResultLinks(test, stripExtension(test)); |
| 710 } | 710 } |
| 711 | 711 |
| 712 if (testObject.has_repaint_overlay) | 712 if (testObject.has_repaint_overlay) |
| 713 html += resultLink(stripExtension(test), '-overlay.html?' + encodeUR
IComponent(testLinkTarget(test)), 'overlay'); | 713 html += resultLink(stripExtension(test), '-overlay.html?' + encodeUR
IComponent(testLinkTarget(test)), 'overlay'); |
| 714 | 714 |
| 715 html += '</td></tr></tbody>'; | 715 html += '</td></tr></tbody>'; |
| 716 } | 716 } |
| 717 html += '</table></div>'; | 717 html += '</table></div>'; |
| 718 return html; | 718 return html; |
| 719 } | 719 } |
| 720 | 720 |
| 721 function toArray(nodeList) | 721 function toArray(nodeList) |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 770 var testsTable = document.getElementById('results-table'); | 770 var testsTable = document.getElementById('results-table'); |
| 771 var headers = toArray(testsTable.querySelectorAll('th')); | 771 var headers = toArray(testsTable.querySelectorAll('th')); |
| 772 var sortColumn = headers.indexOf(newHeader); | 772 var sortColumn = headers.indexOf(newHeader); |
| 773 | 773 |
| 774 var rows = toArray(testsTable.querySelectorAll('tbody')); | 774 var rows = toArray(testsTable.querySelectorAll('tbody')); |
| 775 | 775 |
| 776 rows.sort(function(a, b) { | 776 rows.sort(function(a, b) { |
| 777 // Only need to support lexicographic sort for now. | 777 // Only need to support lexicographic sort for now. |
| 778 var aText = TableSorter._textContent(a, sortColumn); | 778 var aText = TableSorter._textContent(a, sortColumn); |
| 779 var bText = TableSorter._textContent(b, sortColumn); | 779 var bText = TableSorter._textContent(b, sortColumn); |
| 780 | 780 |
| 781 // Forward sort equal values by test name. | 781 // Forward sort equal values by test name. |
| 782 if (sortColumn && aText == bText) { | 782 if (sortColumn && aText == bText) { |
| 783 var aTestName = TableSorter._textContent(a, 0); | 783 var aTestName = TableSorter._textContent(a, 0); |
| 784 var bTestName = TableSorter._textContent(b, 0); | 784 var bTestName = TableSorter._textContent(b, 0); |
| 785 if (aTestName == bTestName) | 785 if (aTestName == bTestName) |
| 786 return 0; | 786 return 0; |
| 787 return aTestName < bTestName ? -1 : 1; | 787 return aTestName < bTestName ? -1 : 1; |
| 788 } | 788 } |
| 789 | 789 |
| 790 if (reversed) | 790 if (reversed) |
| (...skipping 16 matching lines...) Expand all Loading... |
| 807 { | 807 { |
| 808 var newHeader = e.target; | 808 var newHeader = e.target; |
| 809 if (newHeader.localName != 'th') | 809 if (newHeader.localName != 'th') |
| 810 return; | 810 return; |
| 811 TableSorter._sort(newHeader); | 811 TableSorter._sort(newHeader); |
| 812 } | 812 } |
| 813 | 813 |
| 814 TableSorter._sort = function(newHeader) | 814 TableSorter._sort = function(newHeader) |
| 815 { | 815 { |
| 816 TableSorter._updateHeaderClassNames(newHeader); | 816 TableSorter._updateHeaderClassNames(newHeader); |
| 817 | 817 |
| 818 var reversed = newHeader.classList.contains('reversed'); | 818 var reversed = newHeader.classList.contains('reversed'); |
| 819 var sortArrow = reversed ? TableSorter._backwardArrow : TableSorter._forward
Arrow; | 819 var sortArrow = reversed ? TableSorter._backwardArrow : TableSorter._forward
Arrow; |
| 820 newHeader.innerHTML = TableSorter._sortedContents(newHeader, sortArrow); | 820 newHeader.innerHTML = TableSorter._sortedContents(newHeader, sortArrow); |
| 821 | 821 |
| 822 TableSorter._sortRows(newHeader, reversed); | 822 TableSorter._sortRows(newHeader, reversed); |
| 823 } | 823 } |
| 824 | 824 |
| 825 var PixelZoomer = {}; | 825 var PixelZoomer = {}; |
| 826 | 826 |
| 827 PixelZoomer.showOnDelay = true; | 827 PixelZoomer.showOnDelay = true; |
| 828 PixelZoomer._zoomFactor = 6; | 828 PixelZoomer._zoomFactor = 6; |
| 829 | 829 |
| 830 var kResultWidth = 800; | 830 var kResultWidth = 800; |
| 831 var kResultHeight = 600; | 831 var kResultHeight = 600; |
| 832 | 832 |
| 833 var kZoomedResultWidth = kResultWidth * PixelZoomer._zoomFactor; | 833 var kZoomedResultWidth = kResultWidth * PixelZoomer._zoomFactor; |
| 834 var kZoomedResultHeight = kResultHeight * PixelZoomer._zoomFactor; | 834 var kZoomedResultHeight = kResultHeight * PixelZoomer._zoomFactor; |
| 835 | 835 |
| 836 PixelZoomer._zoomImageContainer = function(url) | 836 PixelZoomer._zoomImageContainer = function(url) |
| 837 { | 837 { |
| 838 var container = document.createElement('div'); | 838 var container = document.createElement('div'); |
| 839 container.className = 'zoom-image-container'; | 839 container.className = 'zoom-image-container'; |
| 840 | 840 |
| 841 var title = url.match(/\-([^\-]*)\.png/)[1]; | 841 var title = url.match(/\-([^\-]*)\.png/)[1]; |
| 842 | 842 |
| 843 var label = document.createElement('div'); | 843 var label = document.createElement('div'); |
| 844 label.className = 'label'; | 844 label.className = 'label'; |
| 845 label.appendChild(document.createTextNode(title)); | 845 label.appendChild(document.createTextNode(title)); |
| 846 container.appendChild(label); | 846 container.appendChild(label); |
| 847 | 847 |
| 848 var imageContainer = document.createElement('div'); | 848 var imageContainer = document.createElement('div'); |
| 849 imageContainer.className = 'scaled-image-container'; | 849 imageContainer.className = 'scaled-image-container'; |
| 850 | 850 |
| 851 var image = new Image(); | 851 var image = new Image(); |
| 852 image.src = url; | 852 image.src = url; |
| 853 image.style.display = 'none'; | 853 image.style.display = 'none'; |
| 854 | 854 |
| 855 var canvas = document.createElement('canvas'); | 855 var canvas = document.createElement('canvas'); |
| 856 | 856 |
| 857 imageContainer.appendChild(image); | 857 imageContainer.appendChild(image); |
| 858 imageContainer.appendChild(canvas); | 858 imageContainer.appendChild(canvas); |
| 859 container.appendChild(imageContainer); | 859 container.appendChild(imageContainer); |
| 860 | 860 |
| 861 return container; | 861 return container; |
| 862 } | 862 } |
| 863 | 863 |
| 864 PixelZoomer._createContainer = function(e) | 864 PixelZoomer._createContainer = function(e) |
| 865 { | 865 { |
| 866 var tbody = parentOfType(e.target, 'tbody'); | 866 var tbody = parentOfType(e.target, 'tbody'); |
| 867 var row = tbody.querySelector('tr'); | 867 var row = tbody.querySelector('tr'); |
| 868 var imageDiffLinks = row.querySelectorAll('a[href$=".png"]'); | 868 var imageDiffLinks = row.querySelectorAll('a[href$=".png"]'); |
| 869 | 869 |
| 870 var container = document.createElement('div'); | 870 var container = document.createElement('div'); |
| 871 container.className = 'pixel-zoom-container'; | 871 container.className = 'pixel-zoom-container'; |
| 872 | 872 |
| 873 var html = ''; | 873 var html = ''; |
| 874 | 874 |
| 875 var togglingImageLink = row.querySelector('a[href$="-diffs.html"]'); | 875 var togglingImageLink = row.querySelector('a[href$="-diffs.html"]'); |
| 876 if (togglingImageLink) { | 876 if (togglingImageLink) { |
| 877 var prefix = togglingImageLink.getAttribute('data-prefix'); | 877 var prefix = togglingImageLink.getAttribute('data-prefix'); |
| 878 container.appendChild(PixelZoomer._zoomImageContainer(prefix + '-expecte
d.png')); | 878 container.appendChild(PixelZoomer._zoomImageContainer(prefix + '-expecte
d.png')); |
| 879 container.appendChild(PixelZoomer._zoomImageContainer(prefix + '-actual.
png')); | 879 container.appendChild(PixelZoomer._zoomImageContainer(prefix + '-actual.
png')); |
| 880 } | 880 } |
| 881 | 881 |
| 882 for (var i = 0; i < imageDiffLinks.length; i++) | 882 for (var i = 0; i < imageDiffLinks.length; i++) |
| 883 container.appendChild(PixelZoomer._zoomImageContainer(imageDiffLinks[i].
href)); | 883 container.appendChild(PixelZoomer._zoomImageContainer(imageDiffLinks[i].
href)); |
| 884 | 884 |
| 885 document.body.appendChild(container); | 885 document.body.appendChild(container); |
| 886 PixelZoomer._drawAll(); | 886 PixelZoomer._drawAll(); |
| 887 } | 887 } |
| 888 | 888 |
| 889 PixelZoomer._draw = function(imageContainer) | 889 PixelZoomer._draw = function(imageContainer) |
| 890 { | 890 { |
| 891 var image = imageContainer.querySelector('img'); | 891 var image = imageContainer.querySelector('img'); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 928 } | 928 } |
| 929 | 929 |
| 930 PixelZoomer.handleMouseMove = function(e) { | 930 PixelZoomer.handleMouseMove = function(e) { |
| 931 if (PixelZoomer._mouseMoveTimeout) | 931 if (PixelZoomer._mouseMoveTimeout) |
| 932 clearTimeout(PixelZoomer._mouseMoveTimeout); | 932 clearTimeout(PixelZoomer._mouseMoveTimeout); |
| 933 | 933 |
| 934 if (parentOfType(e.target, '.pixel-zoom-container')) | 934 if (parentOfType(e.target, '.pixel-zoom-container')) |
| 935 return; | 935 return; |
| 936 | 936 |
| 937 var container = document.querySelector('.pixel-zoom-container'); | 937 var container = document.querySelector('.pixel-zoom-container'); |
| 938 | 938 |
| 939 var resultContainer = (e.target.className == 'result-container') ? | 939 var resultContainer = (e.target.className == 'result-container') ? |
| 940 e.target : parentOfType(e.target, '.result-container'); | 940 e.target : parentOfType(e.target, '.result-container'); |
| 941 if (!resultContainer || !resultContainer.querySelector('img')) { | 941 if (!resultContainer || !resultContainer.querySelector('img')) { |
| 942 if (container) | 942 if (container) |
| 943 remove(container); | 943 remove(container); |
| 944 return; | 944 return; |
| 945 } | 945 } |
| 946 | 946 |
| 947 var targetLocation = e.target.getBoundingClientRect(); | 947 var targetLocation = e.target.getBoundingClientRect(); |
| 948 PixelZoomer._percentX = (e.clientX - targetLocation.left) / targetLocation.w
idth; | 948 PixelZoomer._percentX = (e.clientX - targetLocation.left) / targetLocation.w
idth; |
| 949 PixelZoomer._percentY = (e.clientY - targetLocation.top) / targetLocation.he
ight; | 949 PixelZoomer._percentY = (e.clientY - targetLocation.top) / targetLocation.he
ight; |
| 950 | 950 |
| 951 if (!container) { | 951 if (!container) { |
| 952 if (PixelZoomer.showOnDelay) { | 952 if (PixelZoomer.showOnDelay) { |
| 953 PixelZoomer._mouseMoveTimeout = setTimeout(function() { | 953 PixelZoomer._mouseMoveTimeout = setTimeout(function() { |
| 954 PixelZoomer._createContainer(e); | 954 PixelZoomer._createContainer(e); |
| 955 }, 400); | 955 }, 400); |
| 956 return; | 956 return; |
| 957 } | 957 } |
| 958 | 958 |
| 959 PixelZoomer._createContainer(e); | 959 PixelZoomer._createContainer(e); |
| 960 return; | 960 return; |
| 961 } | 961 } |
| 962 | 962 |
| 963 PixelZoomer._drawAll(); | 963 PixelZoomer._drawAll(); |
| 964 } | 964 } |
| 965 | 965 |
| 966 document.addEventListener('mousemove', PixelZoomer.handleMouseMove, false); | 966 document.addEventListener('mousemove', PixelZoomer.handleMouseMove, false); |
| 967 document.addEventListener('mouseout', PixelZoomer.handleMouseOut, false); | 967 document.addEventListener('mouseout', PixelZoomer.handleMouseOut, false); |
| 968 | 968 |
| 969 var TestNavigator = {}; | 969 var TestNavigator = {}; |
| 970 | 970 |
| 971 TestNavigator.reset = function() { | 971 TestNavigator.reset = function() { |
| 972 TestNavigator.currentTestIndex = -1; | 972 TestNavigator.currentTestIndex = -1; |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1065 TestNavigator._toggleCurrentTestFlagged = function() | 1065 TestNavigator._toggleCurrentTestFlagged = function() |
| 1066 { | 1066 { |
| 1067 var testLink = TestNavigator._currentTestLink(); | 1067 var testLink = TestNavigator._currentTestLink(); |
| 1068 TestNavigator.flagTest(testLink, !testLink.classList.contains('flagged')); | 1068 TestNavigator.flagTest(testLink, !testLink.classList.contains('flagged')); |
| 1069 } | 1069 } |
| 1070 | 1070 |
| 1071 // FIXME: Test navigator shouldn't know anything about flagging. It should proba
bly call out to TestFlagger or something. | 1071 // FIXME: Test navigator shouldn't know anything about flagging. It should proba
bly call out to TestFlagger or something. |
| 1072 TestNavigator.flagTest = function(testTbody, shouldFlag) | 1072 TestNavigator.flagTest = function(testTbody, shouldFlag) |
| 1073 { | 1073 { |
| 1074 var testName = testTbody.querySelector('.test-link').innerText; | 1074 var testName = testTbody.querySelector('.test-link').innerText; |
| 1075 | 1075 |
| 1076 if (shouldFlag) { | 1076 if (shouldFlag) { |
| 1077 testTbody.classList.add('flagged'); | 1077 testTbody.classList.add('flagged'); |
| 1078 TestNavigator.flaggedTests[testName] = 1; | 1078 TestNavigator.flaggedTests[testName] = 1; |
| 1079 } else { | 1079 } else { |
| 1080 testTbody.classList.remove('flagged'); | 1080 testTbody.classList.remove('flagged'); |
| 1081 delete TestNavigator.flaggedTests[testName]; | 1081 delete TestNavigator.flaggedTests[testName]; |
| 1082 } | 1082 } |
| 1083 | 1083 |
| 1084 TestNavigator.updateFlaggedTests(); | 1084 TestNavigator.updateFlaggedTests(); |
| 1085 } | 1085 } |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1243 function handleToggleImagesChange() | 1243 function handleToggleImagesChange() |
| 1244 { | 1244 { |
| 1245 OptionWriter.save(); | 1245 OptionWriter.save(); |
| 1246 updateTogglingImages(); | 1246 updateTogglingImages(); |
| 1247 } | 1247 } |
| 1248 | 1248 |
| 1249 function updateTogglingImages() | 1249 function updateTogglingImages() |
| 1250 { | 1250 { |
| 1251 var shouldToggle = document.getElementById('toggle-images').checked; | 1251 var shouldToggle = document.getElementById('toggle-images').checked; |
| 1252 globalState().shouldToggleImages = shouldToggle; | 1252 globalState().shouldToggleImages = shouldToggle; |
| 1253 | 1253 |
| 1254 if (shouldToggle) { | 1254 if (shouldToggle) { |
| 1255 forEach(document.querySelectorAll('table:not(#missing-table) tbody:not([
mismatchreftest]) a[href$=".png"]'), convertToTogglingHandler(function(prefix) { | 1255 forEach(document.querySelectorAll('table:not(#missing-table) tbody:not([
mismatchreftest]) a[href$=".png"]'), convertToTogglingHandler(function(prefix) { |
| 1256 return resultLink(prefix, '-diffs.html', 'images'); | 1256 return resultLink(prefix, '-diffs.html', 'images'); |
| 1257 })); | 1257 })); |
| 1258 forEach(document.querySelectorAll('table:not(#missing-table) tbody:not([
mismatchreftest]) img[src$=".png"]'), convertToTogglingHandler(togglingImage)); | 1258 forEach(document.querySelectorAll('table:not(#missing-table) tbody:not([
mismatchreftest]) img[src$=".png"]'), convertToTogglingHandler(togglingImage)); |
| 1259 } else { | 1259 } else { |
| 1260 forEach(document.querySelectorAll('a[href$="-diffs.html"]'), convertToNo
nTogglingHandler(resultLink)); | 1260 forEach(document.querySelectorAll('a[href$="-diffs.html"]'), convertToNo
nTogglingHandler(resultLink)); |
| 1261 forEach(document.querySelectorAll('.animatedImage'), convertToNonTogglin
gHandler(function (absolutePrefix, suffix) { | 1261 forEach(document.querySelectorAll('.animatedImage'), convertToNonTogglin
gHandler(function (absolutePrefix, suffix) { |
| 1262 return resultIframe(absolutePrefix + suffix); | 1262 return resultIframe(absolutePrefix + suffix); |
| 1263 })); | 1263 })); |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1399 updateTestlistCounts(); | 1399 updateTestlistCounts(); |
| 1400 | 1400 |
| 1401 TestNavigator.reset(); | 1401 TestNavigator.reset(); |
| 1402 OptionWriter.apply(); | 1402 OptionWriter.apply(); |
| 1403 } | 1403 } |
| 1404 </script> | 1404 </script> |
| 1405 <!-- HACK: when json_results_test.js is included, loading this page runs the tes
ts. | 1405 <!-- HACK: when json_results_test.js is included, loading this page runs the tes
ts. |
| 1406 It is not copied to the layout-test-results output directory. --> | 1406 It is not copied to the layout-test-results output directory. --> |
| 1407 <script src="resources/results-test.js"></script> | 1407 <script src="resources/results-test.js"></script> |
| 1408 <body onload="generatePage()"></body> | 1408 <body onload="generatePage()"></body> |
| OLD | NEW |