JDK-8215599 : Remove support for javadoc "frames" mode
  • Type: Sub-task
  • Component: tools
  • Sub-Component: javadoc(tool)
  • Affected Version: 13
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2018-12-19
  • Updated: 2021-06-25
  • Resolved: 2019-04-01
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 13
13 b15Fixed
Related Reports
Blocks :  
CSR :  
Relates :  
Relates :  
The javadoc Standard Doclet has been moving away from the use of frames to navigate around the documentation to the use of javadoc Search.

In recent releases, we have been through a sequence of steps:
  1. Frames, no Search (up to JDK 8)
  2. Frames generated by not displayed by default
  3. Frames not generated by default
In addition, we have taken steps to ensure that all navigation that could be done with frames can be done some other way, such as using Javadoc Search (assuming JavaScript is enabled) or via the index pages (when JavaScript is disabled.)

Now, the final step is to remove all support for frames in the generated documentation.

This will also mean removing the `--frames` option. The `--no-frames` option will be retained but will effectively become a no-op.

When we remove support for frames, we might want to examine the mechanism to set the window title, which was required in the frames world, but which should not be required in a non-frames world. There may be more dead code we can remove in this area. Look (grep) for words like `includeScript` and `winTitle` in the source.

The work should primarily consist of: * remove the --frames option * remove the corresponding field HtmlConfiguration.frames and references to it * remove the following files. $ find src/jdk.javadoc -name \*.java | grep Frame src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageFrameWriter.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FrameOutputWriter.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesFrameWriter.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexFrameWriter.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModulePackageIndexFrameWriter.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleFrameWriter.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexFrameWriter.java