Author: Denys Petrov Date: 2020-05-27T09:04:30+03:00 New Revision: 6bbaa62d26b6061c93eb62c82048c14014ab7bd7
URL: https://github.com/llvm/llvm-project/commit/6bbaa62d26b6061c93eb62c82048c14014ab7bd7 DIFF: https://github.com/llvm/llvm-project/commit/6bbaa62d26b6061c93eb62c82048c14014ab7bd7.diff LOG: [analyzer] Add support for IE of keyboard and mouse navigation in HTML report IE throws errors while using key and mouse navigation through the error path tips. querySelectorAll method returns NodeList. NodeList belongs to browser API. IE doesn't have forEach among NodeList's methods. At the same time Array is a JavaScript object and can be used instead. The fix is in the converting NodeList into Array and keeps using forEach method as before. Checked in IE11, Chrome and Opera. Differential Revision: https://reviews.llvm.org/D80444 Added: Modified: clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp Removed: ################################################################################ diff --git a/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp b/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp index 184fdcfb3d4b..bc7c41d039c4 100644 --- a/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp +++ b/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp @@ -1070,8 +1070,13 @@ StringRef HTMLDiagnostics::generateKeyboardNavigationJavascript() { <script type='text/javascript'> var digitMatcher = new RegExp("[0-9]+"); +var querySelectorAllArray = function(selector) { + return Array.prototype.slice.call( + document.querySelectorAll(selector)); +} + document.addEventListener("DOMContentLoaded", function() { - document.querySelectorAll(".PathNav > a").forEach( + querySelectorAllArray(".PathNav > a").forEach( function(currentValue, currentIndex) { var hrefValue = currentValue.getAttribute("href"); currentValue.onclick = function() { @@ -1091,7 +1096,7 @@ var findNum = function() { }; var scrollTo = function(el) { - document.querySelectorAll(".selected").forEach(function(s) { + querySelectorAllArray(".selected").forEach(function(s) { s.classList.remove("selected"); }); el.classList.add("selected"); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits