RFR: 8210047 : api/overview-summary.html contains content outside of landmark region

Jonathan Gibbons jonathan.gibbons at oracle.com
Tue Sep 18 21:28:24 UTC 2018


Ok, close enough.

Minor,

In HtmlDocWriter:

2110     /**
2111      * creates the HTML tag if the tag is supported by this specific HTML version
2112      * otherwise return the Content instance provided by Supplier ifNotSupported
2113      * @param tag the HTML tag
2114      * @param ifSupported create this instance if HTML tag is supported
2115      * @param ifNotSupported create this instance if HTML tag is not supported
2116      * @return
2117      */

2111: Should be "Creates" (starts with capital letter.)
2112: Should end with "." (period)

No need to re-review.

-- Jon

On 09/14/2018 01:14 AM, Priya Lakshmi Muthuswamy wrote:
> Thanks Jon. Updated the fix with the change.
>
> webrev : http://cr.openjdk.java.net/~pmuthuswamy/8210047/webrev.01/
>
> Thanks,
> Priya
>
> On 9/13/2018 3:47 AM, Jonathan Gibbons wrote:
>> Wow, that turned out really nicely; well done.
>>
>> I have one minor stylistic suggestion.
>>
>> Code like this turns up in a number of places:
>>
>>  119         Content header;
>>  120         if (configuration.allowTag(HtmlTag.HEADER)) {
>>  121             header = HtmlTree.HEADER();
>>  122         } else {
>>  123             header = new ContentBuilder();
>>  124         }
>>
>> It ought to be possible to use method handles and a new shared 
>> utility method to simplify it
>> in all places to something like this:
>>
>>  119         Content header = 
>> createIfAllowed(HtmlTag.HEADER,HtmlTree::HEADER, ContentBuilder::new);
>>
>> where the utility method is something like
>>
>>          Content createIfAllowed(HtmlTag tag, Supplier<Content> 
>> ifSupported, Supplier<Content> ifNotSupported) {
>>  120         if (configuration.allowTag(tag)) {
>>  121             return ifSupported.get();
>>  122         } else {
>>  123             return ifNotSupported.get();
>>  124         }
>>          }
>>
>>
>> The name could maybe be improved. The method could reasonably be a 
>> protected method in HtmlDocletWriter.
>>
>>
>> For what it's worth, it could be simplified even more:
>>
>>  119         Content header = createTreeOrContent(HtmlTag.HEADER);
>>
>> where the utility method is something like
>>
>>          Content createTreeOrContent(HtmlTag tag) {
>>  120         if (configuration.allowTag(tag)) {
>>  121             return new HtmlTree(tag);
>>  122         } else {
>>  123             return new ContentBuilder();
>>  124         }
>>          }
>>
>>
>>
>>
>>
>> -- Jon
>>
>>
>> On 09/12/2018 04:57 AM, Priya Lakshmi Muthuswamy wrote:
>>> Hi Jon,
>>>
>>> updated the webrev with the changes for frames and the refactoring 
>>> done for handling the tags.
>>>
>>> webrev : http://cr.openjdk.java.net/~pmuthuswamy/8210047/webrev.00/
>>> [accidentally uploaded the changes in webrev.00 itself]
>>>
>>> Thanks,
>>> Priya
>>>
>>> On 8/31/2018 5:54 AM, Jonathan Gibbons wrote:
>>>>
>>>>
>>>> On 08/28/2018 01:25 AM, Priya Lakshmi Muthuswamy wrote:
>>>>> Hi,
>>>>>
>>>>> Kindly review the fix for 
>>>>> https://bugs.openjdk.java.net/browse/JDK-8210047
>>>>> webrev : http://cr.openjdk.java.net/~pmuthuswamy/8210047/webrev.00/
>>>>>
>>>>> Thanks,
>>>>> Priya
>>>>
>>>>
>>>> Just because we don't use frames in the JDK API docs doesn't mean 
>>>> they're
>>>> not a supported feature, for a while at least.
>>>>
>>>> So, shouldn't the fix also cover docs where frames -are- in use.
>>>>
>>>>
>>>>
>>>> Separately, the fix is "ugly" because it makes a (different) bad 
>>>> situation worse,
>>>> and I'm not sure at this stage what the best way forward is.
>>>>
>>>> The general bad situation, that needs cleaning up, is the overall 
>>>> handling
>>>> of "htmlTree" and HtmlTag.MAIN.  The existing code is pretty ugly 
>>>> in the
>>>> way that htmlTree is set up (too early) and then later handled with 
>>>> code
>>>> like
>>>>
>>>>  165             if (configuration.allowTag(HtmlTag.MAIN)) {
>>>>  166                 htmlTree.addContent(div);
>>>>  167             } else {
>>>>  168                 body.addContent(div);
>>>>  169             }
>>>>
>>>> It would be better to be building stuff in a more bottom up 
>>>> approach so
>>>> that you build the content, and then at a single place, decide whether
>>>> it needs to be wrapped in a MAIN tag.
>>>>
>>>> I need to think whether we should go with your fix, and make more 
>>>> places
>>>> that need to be cleaned up later, or whether we should just get it 
>>>> right, now.
>>>>
>>>> -- Jon
>>>
>>
>



More information about the javadoc-dev mailing list