From 8dfb222edf2cebb304569ebea30d3b1cc654337b Mon Sep 17 00:00:00 2001 From: Bhavesh Patel Date: Wed, 15 Feb 2017 11:55:16 -0800 Subject: [PATCH] 8151743: Header can still disappear behind the navbar Reviewed-by: jjg, ksrini --- .../formats/html/HtmlDocletWriter.java | 7 +++ .../doclets/toolkit/resources/script.js | 3 + .../doclets/toolkit/resources/stylesheet.css | 2 +- .../testHtmlVersion/TestHtmlVersion.java | 58 ++++++++++++++++++- .../doclet/testJavascript/TestJavascript.java | 15 ++++- .../doclet/testNavigation/TestNavigation.java | 36 +++++++++++- .../doclet/testStylesheet/TestStylesheet.java | 9 ++- 7 files changed, 120 insertions(+), 10 deletions(-) diff --git a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java index 432806b8844..a7dfa8f76ad 100644 --- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java +++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java @@ -647,6 +647,13 @@ public class HtmlDocletWriter extends HtmlDocWriter { tree.addContent(fixedNavDiv); HtmlTree paddingDiv = HtmlTree.DIV(HtmlStyle.navPadding, Contents.SPACE); tree.addContent(paddingDiv); + HtmlTree scriptTree = HtmlTree.SCRIPT(); + String scriptCode = "\n"; + RawHtml scriptContent = new RawHtml(scriptCode.replace("\n", DocletConstants.NL)); + scriptTree.addContent(scriptContent); + tree.addContent(scriptTree); } else { subDiv.addContent(getMarkerAnchor(SectionName.SKIP_NAVBAR_BOTTOM)); tree.addContent(subDiv); diff --git a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/script.js b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/script.js index 56c76bdc172..50a08ad366f 100644 --- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/script.js +++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/script.js @@ -92,6 +92,9 @@ function loadScripts(doc, tag) { if (!tagSearchIndex) { createElem(doc, tag, 'tag-search-index.js'); } + $(window).resize(function() { + $('.navPadding').css('padding-top', $('.fixedNav').css("height")); + }); } function createElem(doc, tag, path) { diff --git a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css index 98aec12202a..fce177f31b8 100644 --- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css +++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css @@ -144,7 +144,7 @@ Navigation bar styles margin:0; } .navPadding { - padding-top: 100px; + padding-top: 107px; } .fixedNav { position:fixed; diff --git a/langtools/test/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java b/langtools/test/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java index 0ff1c996d5e..b5ca0681671 100644 --- a/langtools/test/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java +++ b/langtools/test/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java @@ -23,7 +23,7 @@ /* * @test - * @bug 8072945 8081854 8141492 8148985 8150188 4649116 8173707 + * @bug 8072945 8081854 8141492 8148985 8150188 4649116 8173707 8151743 * @summary Test the version of HTML generated by the javadoc tool. * @author bpatel * @library ../lib @@ -710,6 +710,10 @@ public class TestHtmlVersion extends JavadocTester { "\n" + "\n" + "
 
\n" + + "\n" + "
", ""); @@ -723,6 +727,10 @@ public class TestHtmlVersion extends JavadocTester { "\n" + "\n" + "
 
\n" + + "\n" + "
\n" + "

Deprecated API

\n" + "

Contents

", @@ -747,6 +755,10 @@ public class TestHtmlVersion extends JavadocTester { "\n" + "
\n" + "
 
\n" + + "\n" + "
", "
  • \n" + "

    Package pkg

    "); @@ -761,6 +773,10 @@ public class TestHtmlVersion extends JavadocTester { "\n" + "
  • \n" + "
     
    \n" + + "\n" + "
    ", "
    \n" + "

    Class Hierarchy

    ", @@ -779,6 +795,10 @@ public class TestHtmlVersion extends JavadocTester { "\n" + "
    \n" + "
     
    \n" + + "\n" + "
    "); // Negated test for src-html page @@ -797,6 +817,10 @@ public class TestHtmlVersion extends JavadocTester { "\n" + "
    \n" + "
     
    \n" + + "\n" + "
    ", "
      \n" + "
    • \n" @@ -1005,6 +1029,10 @@ public class TestHtmlVersion extends JavadocTester { "\n" + "
    \n" + "
     
    \n" + + "\n" + "
    ", "
    ", "
  • \n" @@ -1123,6 +1151,10 @@ public class TestHtmlVersion extends JavadocTester { "\n" + "\n" + "
     
    \n" + + "\n" + "
    ", "
  • "); @@ -1136,6 +1168,10 @@ public class TestHtmlVersion extends JavadocTester { "\n" + "\n" + "
     
    \n" + + "\n" + "
    \n" + "

    Deprecated API

    \n" + "

    Contents

    ", @@ -1160,6 +1196,10 @@ public class TestHtmlVersion extends JavadocTester { "\n" + "
    \n" + "
     
    \n" + + "\n" + "
    ", "
  • \n" + "

    Package pkg

    "); @@ -1175,6 +1215,10 @@ public class TestHtmlVersion extends JavadocTester { "\n" + "
  • \n" + "
     
    \n" + + "\n" + "
    ", "

    Hierarchy For All Packages

    \n" + "Package Hierarchies:", @@ -1195,6 +1239,10 @@ public class TestHtmlVersion extends JavadocTester { "\n" + "
    \n" + "
     
    \n" + + "\n" + "
    "); // Test for src-html page @@ -1213,6 +1261,10 @@ public class TestHtmlVersion extends JavadocTester { "\n" + "
    \n" + "
     
    \n" + + "\n" + "
    ", "
      \n" + "
    • \n" @@ -1421,6 +1473,10 @@ public class TestHtmlVersion extends JavadocTester { "\n" + "
    \n" + "
     
    \n" + + "\n" + "
    ", "
    ", "
  • \n" diff --git a/langtools/test/jdk/javadoc/doclet/testJavascript/TestJavascript.java b/langtools/test/jdk/javadoc/doclet/testJavascript/TestJavascript.java index 246265efcac..4b27ccd34a5 100644 --- a/langtools/test/jdk/javadoc/doclet/testJavascript/TestJavascript.java +++ b/langtools/test/jdk/javadoc/doclet/testJavascript/TestJavascript.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,7 +23,7 @@ /* * @test - * @bug 4665566 4855876 7025314 8012375 8015997 8016328 8024756 8148985 8151921 + * @bug 4665566 4855876 7025314 8012375 8015997 8016328 8024756 8148985 8151921 8151743 * @summary Verify that the output has the right javascript. * @author jamieh * @library ../lib @@ -47,7 +47,11 @@ public class TestJavascript extends JavadocTester { checkExit(Exit.OK); checkOutput("pkg/C.html", true, - "Frames"); + "Frames", + ""); checkOutput("TestJavascript.html", true, "Frames"); @@ -119,5 +123,10 @@ public class TestJavascript extends JavadocTester { + " }\n" + " catch(err) {\n" + " }"); + + checkOutput("script.js", true, + "$(window).resize(function() {\n" + + " $('.navPadding').css('padding-top', $('.fixedNav').css(\"height\"));\n" + + " });"); } } diff --git a/langtools/test/jdk/javadoc/doclet/testNavigation/TestNavigation.java b/langtools/test/jdk/javadoc/doclet/testNavigation/TestNavigation.java index f8a50424202..2f219a7e3e1 100644 --- a/langtools/test/jdk/javadoc/doclet/testNavigation/TestNavigation.java +++ b/langtools/test/jdk/javadoc/doclet/testNavigation/TestNavigation.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,7 +23,7 @@ /* * @test - * @bug 4131628 4664607 7025314 8023700 7198273 8025633 8026567 8081854 8150188 + * @bug 4131628 4664607 7025314 8023700 7198273 8025633 8026567 8081854 8150188 8151743 * @summary Make sure the Next/Prev Class links iterate through all types. * Make sure the navagation is 2 columns, not 3. * @author jamieh @@ -77,12 +77,20 @@ public class TestNavigation extends JavadocTester { "\n" + "\n" + "
     
    \n" + + "\n" + ""); checkOutput("pkg/package-summary.html", true, "\n" + "\n" + "
     
    \n" + + "\n" + "
    "); } @@ -98,6 +106,10 @@ public class TestNavigation extends JavadocTester { "\n" + "
    \n" + "
     
    \n" + + "\n" + "\n" + "\n" + ""); @@ -106,6 +118,10 @@ public class TestNavigation extends JavadocTester { "\n" + "\n" + "
     
    \n" + + "\n" + ""); } @@ -121,12 +137,20 @@ public class TestNavigation extends JavadocTester { "\n" + "\n" + "
     
    \n" + + "\n" + ""); checkOutput("pkg/package-summary.html", false, "\n" + "\n" + "
     
    \n" + + "\n" + "
    "); } @@ -142,6 +166,10 @@ public class TestNavigation extends JavadocTester { "\n" + "
    \n" + "
     
    \n" + + "\n" + "\n" + "\n" + ""); @@ -150,6 +178,10 @@ public class TestNavigation extends JavadocTester { "\n" + "\n" + "
     
    \n" + + "\n" + ""); } } diff --git a/langtools/test/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java b/langtools/test/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java index c54e98cc11c..944d99494b7 100644 --- a/langtools/test/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java +++ b/langtools/test/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,7 +23,7 @@ /* * @test - * @bug 4494033 7028815 7052425 8007338 8023608 8008164 8016549 8072461 8154261 8162363 8160196 + * @bug 4494033 7028815 7052425 8007338 8023608 8008164 8016549 8072461 8154261 8162363 8160196 8151743 * @summary Run tests on doclet stylesheet. * @author jamieh * @library ../lib @@ -159,7 +159,10 @@ public class TestStylesheet extends JavadocTester { + " float:none;\n" + " display:inline;\n" + "}", - "@import url('resources/fonts/dejavu.css');"); + "@import url('resources/fonts/dejavu.css');", + ".navPadding {\n" + + " padding-top: 107px;\n" + + "}"); // Test whether a link to the stylesheet file is inserted properly // in the class documentation.