8202959: Rearrange the top and bottom navigation bar in the javadoc generated pages
authorjjg
Thu, 28 Jun 2018 15:46:27 -0700
changeset 50895 83ed34655f59
parent 50894 e8d55141afd2
child 50896 1308189b0848
8202959: Rearrange the top and bottom navigation bar in the javadoc generated pages Reviewed-by: darcy, jjg Contributed-by: bhavesh.x.patel@oracle.com, jonathan.gibbons@oracle.com
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesFrameWriter.java
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Navigation.java
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css
test/langtools/jdk/javadoc/doclet/WindowTitles/WindowTitles.java
test/langtools/jdk/javadoc/doclet/testFramesNoFrames/TestFramesNoFrames.java
test/langtools/jdk/javadoc/doclet/testGeneratedBy/TestGeneratedBy.java
test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java
test/langtools/jdk/javadoc/doclet/testModuleDirs/TestModuleDirs.java
test/langtools/jdk/javadoc/doclet/testModules/TestModules.java
test/langtools/jdk/javadoc/doclet/testNavigation/TestModuleNavigation.java
test/langtools/jdk/javadoc/doclet/testNavigation/TestNavigation.java
test/langtools/jdk/javadoc/doclet/testOrdering/TestOrdering.java
test/langtools/jdk/javadoc/tool/api/basic/APITest.java
test/langtools/tools/javadoc/api/basic/APITest.java
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesFrameWriter.java	Thu Jun 28 22:28:41 2018 +0200
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesFrameWriter.java	Thu Jun 28 15:46:27 2018 -0700
@@ -85,16 +85,13 @@
      * "allclasses-frame.html" file. Generate the file in the current or the
      * destination directory.
      *
-     * @param indexBuilder IndexBuilder object for all classes index.
+     * @param configuration the configuration for this javadoc run
      * @throws DocFileIOException
      */
     public static void generate(HtmlConfiguration configuration,
             IndexBuilder indexBuilder) throws DocFileIOException {
         if (configuration.frames) {
             generate(configuration, indexBuilder, DocPaths.ALLCLASSES_FRAME, true);
-            generate(configuration, indexBuilder, DocPaths.ALLCLASSES_NOFRAME, false);
-        } else {
-            generate(configuration, indexBuilder, DocPaths.ALLCLASSES, false);
         }
     }
 
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java	Thu Jun 28 22:28:41 2018 +0200
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java	Thu Jun 28 15:46:27 2018 -0700
@@ -375,23 +375,6 @@
             ul.addContent(htmlTree);
         }
 
-        // All Classes
-        Content allclassesHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
-                contents.allClassesLabel);
-        htmlTree = (configuration.allowTag(HtmlTag.SECTION))
-                ? HtmlTree.SECTION(allclassesHead)
-                : HtmlTree.LI(HtmlStyle.blockList, allclassesHead);
-        Content allClassesBody = contents.getContent("doclet.help.all_classes.body",
-                links.createLink(DocPaths.AllClasses(configuration.frames),
-                resources.getText("doclet.All_Classes")));
-        Content allclassesPara = HtmlTree.P(allClassesBody);
-        htmlTree.addContent(allclassesPara);
-        if (configuration.allowTag(HtmlTag.SECTION)) {
-            ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
-        } else {
-            ul.addContent(htmlTree);
-        }
-
         // Serialized Form
         Content sHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
                 contents.serializedForm);
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Navigation.java	Thu Jun 28 22:28:41 2018 +0200
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Navigation.java	Thu Jun 28 15:46:27 2018 -0700
@@ -106,23 +106,17 @@
     }
 
     enum Position {
-        BOTTOM("allclasses_navbar_bottom", HtmlConstants.START_OF_BOTTOM_NAVBAR, HtmlConstants.END_OF_BOTTOM_NAVBAR),
-        TOP("allclasses_navbar_top", HtmlConstants.START_OF_TOP_NAVBAR, HtmlConstants.END_OF_TOP_NAVBAR);
+        BOTTOM(HtmlConstants.START_OF_BOTTOM_NAVBAR, HtmlConstants.END_OF_BOTTOM_NAVBAR),
+        TOP(HtmlConstants.START_OF_TOP_NAVBAR, HtmlConstants.END_OF_TOP_NAVBAR);
 
-        final String allClassesLinkId;
         final Content startOfNav;
         final Content endOfNav;
 
-        Position(String allClassesLinkId, Content startOfNav, Content endOfNav) {
-            this.allClassesLinkId = allClassesLinkId;
+        Position(Content startOfNav, Content endOfNav) {
             this.startOfNav = startOfNav;
             this.endOfNav = endOfNav;
         }
 
-        String allClassesLinkId() {
-            return allClassesLinkId;
-        }
-
         Content startOfNav() {
             return startOfNav;
         }
@@ -130,20 +124,6 @@
         Content endOfNav() {
             return endOfNav;
         }
-
-        Script allClassesLinkScript() {
-            return new Script("<!--\n"
-                    + "  allClassesLink = document.getElementById(")
-                    .appendStringLiteral(allClassesLinkId)
-                    .append(");\n"
-                            + "  if(window==top) {\n"
-                            + "    allClassesLink.style.display = \"block\";\n"
-                            + "  }\n"
-                            + "  else {\n"
-                            + "    allClassesLink.style.display = \"none\";\n"
-                            + "  }\n"
-                            + "  //-->\n");
-        }
     }
 
     /**
@@ -971,13 +951,6 @@
         tree.addContent(HtmlTree.LI(noFramesContent));
     }
 
-    private void addNavLinkClassIndex(Content tree) {
-        Content allClassesContent = links.createLink(pathToRoot.resolve(
-                DocPaths.AllClasses(configuration.frames)),
-                contents.allClassesLabel, "", "");
-        tree.addContent(HtmlTree.LI(allClassesContent));
-    }
-
     private void addSearch(Content tree) {
         String searchValueId = "search";
         String reset = "reset";
@@ -990,16 +963,6 @@
         tree.addContent(ulSearch);
     }
 
-    private void addAllClassesLinkScript(Content tree, boolean top) {
-        Content div = HtmlTree.DIV(top
-                ? Position.TOP.allClassesLinkScript().asContent()
-                : Position.BOTTOM.allClassesLinkScript().asContent());
-        Content div_noscript = HtmlTree.DIV(contents.noScriptMessage);
-        Content noScript = HtmlTree.NOSCRIPT(div_noscript);
-        div.addContent(noScript);
-        tree.addContent(div);
-    }
-
     private void addFixedNavScript(Content tree) {
         tree.addContent(FIXED_NAV_SCRIPT.asContent());
     }
@@ -1046,26 +1009,6 @@
             }
             HtmlTree subDiv = new HtmlTree(HtmlTag.DIV);
             subDiv.setStyle(HtmlStyle.subNav);
-            HtmlTree ulFrames = new HtmlTree(HtmlTag.UL);
-            ulFrames.setStyle(HtmlStyle.navList);
-            if (!configuration.nonavbar) {
-                if (configuration.frames) {
-                    addNavShowLists(ulFrames);
-                    addNavHideLists(ulFrames);
-                }
-            }
-            subDiv.addContent(ulFrames);
-            HtmlTree ulAllClasses = new HtmlTree(HtmlTag.UL);
-            ulAllClasses.setStyle(HtmlStyle.navList);
-            ulAllClasses.addAttr(HtmlAttr.ID, top
-                    ? Position.TOP.allClassesLinkId()
-                    : Position.BOTTOM.allClassesLinkId());
-            addNavLinkClassIndex(ulAllClasses);
-            subDiv.addContent(ulAllClasses);
-            if (top && configuration.createindex) {
-                addSearch(subDiv);
-            }
-            addAllClassesLinkScript(subDiv, top);
             HtmlTree div = new HtmlTree(HtmlTag.DIV);
             // Add the summary links if present.
             HtmlTree ulNavSummary = new HtmlTree(HtmlTag.UL);
@@ -1077,10 +1020,22 @@
             ulNavDetail.setStyle(HtmlStyle.subNavList);
             addDetailLinks(ulNavDetail);
             div.addContent(ulNavDetail);
+            HtmlTree ulFrames = new HtmlTree(HtmlTag.UL);
+            ulFrames.setStyle(HtmlStyle.navList);
+            if (!configuration.nonavbar) {
+                if (configuration.frames) {
+                    addNavShowLists(ulFrames);
+                    addNavHideLists(ulFrames);
+                }
+            }
+            div.addContent(ulFrames);
             subDiv.addContent(div);
-            subDiv.addContent(queue.poll());
+            if (top && configuration.createindex) {
+                addSearch(subDiv);
+            }
             if (top) {
                 fixedNavDiv.addContent(subDiv);
+                fixedNavDiv.addContent(queue.poll());
                 fixedNavDiv.addContent(Position.TOP.endOfNav());
                 tree.addContent(fixedNavDiv);
                 HtmlTree paddingDiv = HtmlTree.DIV(HtmlStyle.navPadding, Contents.SPACE);
@@ -1088,6 +1043,7 @@
                 addFixedNavScript(tree);
             } else {
                 tree.addContent(subDiv);
+                tree.addContent(queue.poll());
                 tree.addContent(Position.BOTTOM.endOfNav());
             }
             return tree;
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties	Thu Jun 28 22:28:41 2018 +0200
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties	Thu Jun 28 15:46:27 2018 -0700
@@ -168,8 +168,6 @@
     Frames/No Frames
 doclet.help.frames.body=\
     These links show and hide the HTML frames.  All pages are available with or without frames.
-doclet.help.all_classes.body=\
-    The {0} link shows all classes and interfaces except non-static nested types.
 doclet.help.serial_form.body=\
     Each serializable or externalizable class has a description of its serialization fields and \
     methods. This information is of interest to re-implementors, not to developers using the API. \
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css	Thu Jun 28 22:28:41 2018 +0200
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css	Thu Jun 28 15:46:27 2018 -0700
@@ -191,6 +191,9 @@
     padding:0 0 5px 6px;
     text-transform:uppercase;
 }
+.subNav .navList {
+    padding-top:5px;
+}
 ul.navList, ul.subNavList {
     float:left;
     margin:0 25px 0 0;
@@ -220,6 +223,7 @@
 ul.subNavList li {
     list-style:none;
     float:left;
+    padding-top:10px;
 }
 .topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
     color:#FFFFFF;
@@ -784,6 +788,7 @@
     padding-left:20px;
     position:relative;
     right:-18px;
+    width:400px;
 }
 #reset {
     background-color: rgb(255,255,255);
--- a/test/langtools/jdk/javadoc/doclet/WindowTitles/WindowTitles.java	Thu Jun 28 22:28:41 2018 +0200
+++ b/test/langtools/jdk/javadoc/doclet/WindowTitles/WindowTitles.java	Thu Jun 28 15:46:27 2018 -0700
@@ -51,6 +51,7 @@
                 "-sourcepath", testSrc,
                 "p1", "p2");
         checkExit(Exit.OK);
+        checkFiles(false, "allclasses-noframe.html");
 
         checkTitle("overview-summary.html",     "Overview");
         checkTitle("overview-tree.html",        "Class Hierarchy");
@@ -61,7 +62,6 @@
         checkTitle("p1/package-use.html",       "Uses of Package p1");
         checkTitle("p1/C1.html",                "C1");
         checkTitle("allclasses-frame.html",     "All Classes");
-        checkTitle("allclasses-noframe.html",   "All Classes");
         checkTitle("constant-values.html",      "Constant Field Values");
         checkTitle("deprecated-list.html",      "Deprecated List");
         checkTitle("serialized-form.html",      "Serialized Form");
--- a/test/langtools/jdk/javadoc/doclet/testFramesNoFrames/TestFramesNoFrames.java	Thu Jun 28 22:28:41 2018 +0200
+++ b/test/langtools/jdk/javadoc/doclet/testFramesNoFrames/TestFramesNoFrames.java	Thu Jun 28 15:46:27 2018 -0700
@@ -287,24 +287,19 @@
         private void checkAllClassesFiles() {
             // these files are only generated in frames mode
             checkFiles(frames,
-                    "allclasses-frame.html",
-                    "allclasses-noframe.html");
+                    "allclasses-frame.html");
 
-            // this file is only generated when not in frames mode
-            checkFiles(!frames,
+            checkFiles(false,
                     "allclasses.html");
 
+            checkFiles(false,
+                    "allclasses-noframe.html");
+
             if (frames) {
                 checkOutput("allclasses-frame.html", true,
                         classes.stream()
                             .map(c -> "title=\"class in " + packagePart(c) + "\" target=\"classFrame\">" + classPart(c) + "</a>")
                             .toArray(String[]::new));
-                checkOutput("allclasses-noframe.html", false,
-                            "target=\"classFrame\">");
-            } else {
-                checkOutput("allclasses.html", false,
-                            "target=\"classFrame\">");
-
             }
         }
 
--- a/test/langtools/jdk/javadoc/doclet/testGeneratedBy/TestGeneratedBy.java	Thu Jun 28 22:28:41 2018 +0200
+++ b/test/langtools/jdk/javadoc/doclet/testGeneratedBy/TestGeneratedBy.java	Thu Jun 28 15:46:27 2018 -0700
@@ -45,6 +45,7 @@
             "-sourcepath", testSrc,
             "pkg");
         checkExit(Exit.OK);
+        checkFiles(false, "allclasses-noframe.html");
 
         checkTimestamps(true);
     }
@@ -57,6 +58,7 @@
             "-sourcepath", testSrc,
             "pkg");
         checkExit(Exit.OK);
+        checkFiles(false, "allclasses-noframe.html");
 
         checkTimestamps(false);
     }
@@ -67,7 +69,6 @@
         "pkg/package-summary.html",
         "pkg/package-frame.html",
         "pkg/package-tree.html",
-        "allclasses-noframe.html",
         "constant-values.html",
         "allclasses-frame.html",
         "overview-tree.html",
--- a/test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java	Thu Jun 28 22:28:41 2018 +0200
+++ b/test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java	Thu Jun 28 15:46:27 2018 -0700
@@ -117,14 +117,6 @@
                 + "<ul>\n"
                 + "<li>");
 
-        // Test for allclasses-noframe page
-        checkOutput("allclasses-noframe.html", true,
-                "<!DOCTYPE HTML>",
-                "<meta name=\"dc.created\"",
-                "<main role=\"main\" class=\"indexContainer\">\n"
-                + "<ul>\n"
-                + "<li>");
-
         // Test for overview-summary page
         checkOutput("overview-summary.html", true,
                 "<!DOCTYPE HTML>",
@@ -655,14 +647,6 @@
                 + "<ul>\n"
                 + "<li>");
 
-        // Negated test for allclasses-noframe page
-        checkOutput("allclasses-noframe.html", false,
-                "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
-                "<meta name=\"date\"",
-                "<div class=\"indexContainer\">\n"
-                + "<ul>\n"
-                + "<li>");
-
         // Negated test for overview-summary page
         checkOutput("overview-summary.html", false,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
@@ -1088,14 +1072,6 @@
                 + "<ul>\n"
                 + "<li>");
 
-        // Test for allclasses-noframe page
-        checkOutput("allclasses-noframe.html", true,
-                "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
-                "<meta name=\"date\"",
-                "<div class=\"indexContainer\">\n"
-                + "<ul>\n"
-                + "<li>");
-
         // Test for overview-summary page
         checkOutput("overview-summary.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
@@ -1539,14 +1515,6 @@
                 + "<ul>\n"
                 + "<li>");
 
-        // Negated test for allclasses-noframe page
-        checkOutput("allclasses-noframe.html", false,
-                "<!DOCTYPE HTML>",
-                "<meta name=\"dc.created\"",
-                "<main role=\"main\" class=\"indexContainer\">\n"
-                + "<ul>\n"
-                + "<li>");
-
         // Negated test for overview-summary page
         checkOutput("overview-summary.html", false,
                 "<!DOCTYPE HTML>",
--- a/test/langtools/jdk/javadoc/doclet/testModuleDirs/TestModuleDirs.java	Thu Jun 28 22:28:41 2018 +0200
+++ b/test/langtools/jdk/javadoc/doclet/testModuleDirs/TestModuleDirs.java	Thu Jun 28 15:46:27 2018 -0700
@@ -102,7 +102,7 @@
                 + "<li><a href=\"overview-frame.html\" target=\"packageListFrame\">All&nbsp;Packages</a></li>\n"
                 + "<li><a href=\"module-overview-frame.html\" target=\"packageListFrame\">All&nbsp;Modules</a></li>\n"
                 + "</ul>\n");
-        checkOutput("ma-summary.html", true,
+        checkOutput("ma-summary.html", false,
                 "<ul class=\"navList\" id=\"allclasses_navbar_top\">\n"
                 + "<li><a href=\"allclasses-noframe.html\">All&nbsp;Classes</a></li>\n"
                 + "</ul>\n");
@@ -145,7 +145,7 @@
                 + "<li><a href=\"../overview-frame.html\" target=\"packageListFrame\">All&nbsp;Packages</a></li>\n"
                 + "<li><a href=\"../module-overview-frame.html\" target=\"packageListFrame\">All&nbsp;Modules</a></li>\n"
                 + "</ul>\n");
-        checkOutput("ma/module-summary.html", true,
+        checkOutput("ma/module-summary.html", false,
                 "<ul class=\"navList\" id=\"allclasses_navbar_top\">\n"
                 + "<li><a href=\"../allclasses-noframe.html\">All&nbsp;Classes</a></li>\n"
                 + "</ul>\n");
--- a/test/langtools/jdk/javadoc/doclet/testModules/TestModules.java	Thu Jun 28 22:28:41 2018 +0200
+++ b/test/langtools/jdk/javadoc/doclet/testModules/TestModules.java	Thu Jun 28 15:46:27 2018 -0700
@@ -1148,7 +1148,8 @@
                 "module-overview-frame.html");
         checkFiles(true,
                 "moduleC/module-summary.html",
-                "allclasses-frame.html",
+                "allclasses-frame.html");
+        checkFiles(false,
                 "allclasses-noframe.html");
     }
 
--- a/test/langtools/jdk/javadoc/doclet/testNavigation/TestModuleNavigation.java	Thu Jun 28 22:28:41 2018 +0200
+++ b/test/langtools/jdk/javadoc/doclet/testNavigation/TestModuleNavigation.java	Thu Jun 28 15:46:27 2018 -0700
@@ -81,34 +81,73 @@
 
         checkOutput("overview-summary.html", false,
                 "Prev",
-                "Next");
+                "Next",
+                "All&nbsp;Classes",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_top\");",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_bottom\");");
 
         checkOutput("m/module-summary.html", false,
                 "Prev&nbsp;Module",
-                "Next&nbsp;Module");
+                "Next&nbsp;Module",
+                "All&nbsp;Classes",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_top\");",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_bottom\");");
 
         checkOutput("m2/m2p1/package-summary.html", false,
                 "Prev&nbsp;Package",
-                "Next&nbsp;Package");
+                "Next&nbsp;Package",
+                "All&nbsp;Classes",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_top\");",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_bottom\");");
 
         checkOutput("m2/m2p1/Am2.html", false,
                 "Prev&nbsp;Class",
-                "Next&nbsp;Class");
+                "Next&nbsp;Class",
+                "All&nbsp;Classes",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_top\");",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_bottom\");");
 
         checkOutput("m2/m2p1/class-use/Am2.html", false,
                 "Prev",
-                "Next");
+                "Next",
+                "All&nbsp;Classes",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_top\");",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_bottom\");");
 
         checkOutput("m2/m2p1/package-tree.html", false,
                 "Prev",
-                "Next");
+                "Next",
+                "All&nbsp;Classes",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_top\");",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_bottom\");");
 
         checkOutput("deprecated-list.html", false,
                 "Prev",
-                "Next");
+                "Next",
+                "All&nbsp;Classes",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_top\");",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_bottom\");");
 
         checkOutput("index-all.html", false,
                 "Prev",
-                "Next");
+                "Next",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_top\");",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_bottom\");");
     }
 }
--- a/test/langtools/jdk/javadoc/doclet/testNavigation/TestNavigation.java	Thu Jun 28 22:28:41 2018 +0200
+++ b/test/langtools/jdk/javadoc/doclet/testNavigation/TestNavigation.java	Thu Jun 28 15:46:27 2018 -0700
@@ -60,6 +60,7 @@
                 "-sourcepath", testSrc,
                 "pkg");
         checkExit(Exit.OK);
+        checkSubNav();
 
         checkOutput("pkg/A.html", true,
                 "<ul class=\"navList\" title=\"Navigation\">\n" +
@@ -117,6 +118,7 @@
                 "-sourcepath", testSrc,
                 "pkg");
         checkExit(Exit.OK);
+        checkSubNav();
 
         checkOutput("pkg/I.html", true,
                 // Test for 4664607
@@ -156,6 +158,7 @@
                 "-sourcepath", testSrc,
                 "pkg");
         checkExit(Exit.OK);
+        checkSubNav();
 
         checkOutput("pkg/A.html", true,
                 "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@@ -189,6 +192,7 @@
                 "-sourcepath", testSrc,
                 "pkg");
         checkExit(Exit.OK);
+        checkSubNav();
 
         checkOutput("pkg/A.html", false,
                 "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@@ -221,6 +225,7 @@
                 "-sourcepath", testSrc,
                 "pkg");
         checkExit(Exit.OK);
+        checkSubNav();
 
         checkOutput("pkg/A.html", false,
                 "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@@ -329,4 +334,42 @@
                 "<li>Constr&nbsp;|&nbsp;</li>",
                 "<li>Method</li>");
     }
+
+    private void checkSubNav() {
+
+        checkOutput("pkg/A.html", false,
+                "All&nbsp;Classes",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_top\");",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_bottom\");");
+
+        checkOutput("pkg/C.html", false,
+                "All&nbsp;Classes",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_top\");",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_bottom\");");
+
+        checkOutput("pkg/E.html", false,
+                "All&nbsp;Classes",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_top\");",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_bottom\");");
+
+        checkOutput("pkg/I.html", false,
+                "All&nbsp;Classes",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_top\");",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_bottom\");");
+
+        checkOutput("pkg/package-summary.html", false,
+                "All&nbsp;Classes",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_top\");",
+                "<script type=\"text/javascript\"><!--\n"
+                + "  allClassesLink = document.getElementById(\"allclasses_navbar_bottom\");");
 }
+}
--- a/test/langtools/jdk/javadoc/doclet/testOrdering/TestOrdering.java	Thu Jun 28 22:28:41 2018 +0200
+++ b/test/langtools/jdk/javadoc/doclet/testOrdering/TestOrdering.java	Thu Jun 28 15:46:27 2018 -0700
@@ -132,6 +132,7 @@
                     "--frames",
                     "pkg1");
             tester.checkExit(Exit.OK);
+            tester.checkFiles(false, "allclasses-noframe.html");
 
             checkClassUseOrdering("pkg1/class-use/UsedClass.html");
 
@@ -182,20 +183,6 @@
                     "<dd><code>iterator</code>&nbsp;in interface&nbsp;<code>java.util.Collection&lt;",
                     "<dd><code>iterator</code>&nbsp;in interface&nbsp;<code>java.lang.Iterable&lt;");
 
-            tester.checkOrder("allclasses-noframe.html",
-                    "pkg1/A.html\" title=\"class in pkg1",
-                    "pkg1/A.C.html\" title=\"class in pkg1",
-                    "pkg1/B.html\" title=\"class in pkg1",
-                    "pkg1/B.A.html\" title=\"class in pkg1",
-                    "pkg1/C1.html\" title=\"class in pkg1",
-                    "pkg1/C2.html\" title=\"class in pkg1",
-                    "pkg1/C3.html\" title=\"class in pkg1",
-                    "pkg1/C4.html\" title=\"class in pkg1",
-                    "pkg1/ImplementsOrdering.html\" title=\"interface in pkg1",
-                    "pkg1/MethodOrder.html\" title=\"class in pkg1",
-                    "pkg1/OverrideOrdering.html\" title=\"class in pkg1",
-                    "pkg1/UsedClass.html\" title=\"class in pkg1");
-
             tester.checkOrder("allclasses-frame.html",
                     "pkg1/A.html\" title=\"class in pkg1",
                     "pkg1/A.C.html\" title=\"class in pkg1",
--- a/test/langtools/jdk/javadoc/tool/api/basic/APITest.java	Thu Jun 28 22:28:41 2018 +0200
+++ b/test/langtools/jdk/javadoc/tool/api/basic/APITest.java	Thu Jun 28 15:46:27 2018 -0700
@@ -190,7 +190,6 @@
      * Standard files generated by processing a documented class pkg.C.
      */
     protected static Set<String> standardExpectFiles = new HashSet<>(Arrays.asList(
-            "allclasses.html",
             "allclasses-index.html",
             "allpackages-index.html",
             "constant-values.html",
--- a/test/langtools/tools/javadoc/api/basic/APITest.java	Thu Jun 28 22:28:41 2018 +0200
+++ b/test/langtools/tools/javadoc/api/basic/APITest.java	Thu Jun 28 15:46:27 2018 -0700
@@ -190,7 +190,6 @@
      * Standard files generated by processing a documented class pkg.C.
      */
     protected static Set<String> standardExpectFiles = new HashSet<>(Arrays.asList(
-            "allclasses.html",
             "allclasses-index.html",
             "allpackages-index.html",
             "constant-values.html",