RFR: 8351332: Line breaks in search tag descriptions corrupt JSON search index
Nizar Benalla
nbenalla at openjdk.org
Mon Mar 24 16:17:15 UTC 2025
On Mon, 24 Mar 2025 16:09:20 GMT, Chen Liang <liach at openjdk.org> wrote:
>> Please review this patch to fix an issue in the `tag-search-index.js` generation.
>>
>> The problem was in the `toJSON()` method of `IndexItem`. When adding the description, it's using `escapeQuotes(description)` which only escapes backslashes and quotes, but doesn't normalize whitespace.
>>
>> TIA
>
> src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/IndexItem.java line 645:
>
>> 643: if (!description.isEmpty()) {
>> 644: String normalizedDescription = description.replaceAll("\\s+", " ");
>> 645: builder.append("d", escapeQuotes(normalizedDescription));
>
> Should we just handle all whitespaces in `escapeQuotes`?
I thought about it but that may not be necessary because the other json keys (`l`, `h`, `u`) cannot have whitespace in them.
I'm not opposed to handing whitespace in an `escapeQuotesAndWhitespace` method though.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24202#discussion_r2010502316
More information about the javadoc-dev
mailing list