Skip to content

Commit 5031725

Browse files
committed
jdk17
1 parent 475f16a commit 5031725

File tree

13 files changed

+114
-242
lines changed

13 files changed

+114
-242
lines changed

src/main/java/org/htmlunit/HttpWebConnection.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,6 @@ private static HttpRequestBase buildHttpMethod(final HttpMethod submitMethod, fi
494494
case HEAD -> new HttpHead(uri);
495495
case TRACE -> new HttpTrace(uri);
496496
case PATCH -> new HttpPatch(uri);
497-
default -> throw new IllegalStateException("Submit method not yet supported: " + submitMethod);
498497
};
499498
return method;
500499
}

src/main/java/org/htmlunit/StorageHolder.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ public Map<String, String> getStore(final Type storageType, final Page page) {
5555
return switch (storageType) {
5656
case LOCAL_STORAGE -> getLocalStorage(page.getUrl());
5757
case SESSION_STORAGE -> getSessionStorage(page.getEnclosingWindow());
58-
default -> null;
5958
};
6059
}
6160

src/main/java/org/htmlunit/WebClient.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1859,7 +1859,7 @@ private void addDefaultHeaders(final WebRequest wrs) {
18591859
* @see #getTopLevelWindows()
18601860
*/
18611861
public List<WebWindow> getWebWindows() {
1862-
return Collections.unmodifiableList(new ArrayList<>(windows_));
1862+
return List.copyOf(windows_);
18631863
}
18641864

18651865
/**
@@ -1887,7 +1887,7 @@ public boolean containsWebWindow(final WebWindow webWindow) {
18871887
* @see #getWebWindows()
18881888
*/
18891889
public List<TopLevelWindow> getTopLevelWindows() {
1890-
return Collections.unmodifiableList(new ArrayList<>(topLevelWindows_));
1890+
return List.copyOf(topLevelWindows_);
18911891
}
18921892

18931893
/**

src/main/java/org/htmlunit/css/CssStyleSheet.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,8 +180,7 @@ public class CssStyleSheet implements Serializable {
180180
public static final Set<String> CSS4_PSEUDO_CLASSES;
181181

182182
static {
183-
CSS2_PSEUDO_CLASSES = Collections.unmodifiableSet(new HashSet<>(Arrays.asList(
184-
"link", "visited", "hover", "active", "focus", "lang", "first-child")));
183+
CSS2_PSEUDO_CLASSES = Set.of("link", "visited", "hover", "active", "focus", "lang", "first-child");
185184

186185
final Set<String> css3 = new HashSet<>(Arrays.asList(
187186
"checked", "disabled", "enabled", "indeterminated", "root", "target", "not()",

src/main/java/org/htmlunit/html/DefaultElementFactory.java

Lines changed: 1 addition & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -58,59 +58,7 @@ public class DefaultElementFactory implements ElementFactory {
5858
* You can generate your own test cases by looking into
5959
* org.htmlunit.source.ElementTestSource#generateTestForHtmlElements(String, String).
6060
*/
61-
public static final List<String> SUPPORTED_TAGS_ = Collections.unmodifiableList(Arrays.asList(
62-
HtmlAbbreviated.TAG_NAME, HtmlAcronym.TAG_NAME,
63-
HtmlAnchor.TAG_NAME, HtmlAddress.TAG_NAME, HtmlArea.TAG_NAME,
64-
HtmlArticle.TAG_NAME, HtmlAside.TAG_NAME, HtmlAudio.TAG_NAME,
65-
HtmlBase.TAG_NAME, HtmlBaseFont.TAG_NAME,
66-
HtmlBidirectionalIsolation.TAG_NAME, HtmlBidirectionalOverride.TAG_NAME, HtmlBig.TAG_NAME,
67-
HtmlBlockQuote.TAG_NAME, HtmlBody.TAG_NAME, HtmlBold.TAG_NAME,
68-
HtmlBreak.TAG_NAME, HtmlButton.TAG_NAME, HtmlCanvas.TAG_NAME, HtmlCaption.TAG_NAME,
69-
HtmlCenter.TAG_NAME, HtmlCitation.TAG_NAME, HtmlCode.TAG_NAME,
70-
HtmlData.TAG_NAME, HtmlDataList.TAG_NAME,
71-
HtmlDefinition.TAG_NAME, HtmlDefinitionDescription.TAG_NAME,
72-
HtmlDeletedText.TAG_NAME, HtmlDetails.TAG_NAME, HtmlDialog.TAG_NAME, HtmlDirectory.TAG_NAME,
73-
HtmlDivision.TAG_NAME, HtmlDefinitionList.TAG_NAME,
74-
HtmlDefinitionTerm.TAG_NAME, HtmlEmbed.TAG_NAME,
75-
HtmlEmphasis.TAG_NAME,
76-
HtmlFieldSet.TAG_NAME, HtmlFigureCaption.TAG_NAME, HtmlFigure.TAG_NAME,
77-
HtmlFont.TAG_NAME, HtmlForm.TAG_NAME, HtmlFooter.TAG_NAME,
78-
HtmlFrame.TAG_NAME, HtmlFrameSet.TAG_NAME,
79-
HtmlHead.TAG_NAME, HtmlHeader.TAG_NAME,
80-
HtmlHeading1.TAG_NAME, HtmlHeading2.TAG_NAME, HtmlHeading3.TAG_NAME,
81-
HtmlHeading4.TAG_NAME, HtmlHeading5.TAG_NAME, HtmlHeading6.TAG_NAME,
82-
HtmlHorizontalRule.TAG_NAME, HtmlHtml.TAG_NAME, HtmlInlineFrame.TAG_NAME,
83-
HtmlInlineQuotation.TAG_NAME,
84-
HtmlImage.TAG_NAME, HtmlImage.TAG_NAME2,
85-
HtmlInput.TAG_NAME,
86-
HtmlInsertedText.TAG_NAME,
87-
HtmlItalic.TAG_NAME,
88-
HtmlKeyboard.TAG_NAME, HtmlLabel.TAG_NAME, HtmlLayer.TAG_NAME,
89-
HtmlLegend.TAG_NAME, HtmlListing.TAG_NAME, HtmlListItem.TAG_NAME,
90-
HtmlLink.TAG_NAME, HtmlMain.TAG_NAME, HtmlMap.TAG_NAME, HtmlMark.TAG_NAME, HtmlMarquee.TAG_NAME,
91-
HtmlMenu.TAG_NAME, HtmlMeta.TAG_NAME, HtmlMeter.TAG_NAME,
92-
HtmlNav.TAG_NAME,
93-
HtmlNoBreak.TAG_NAME, HtmlNoEmbed.TAG_NAME, HtmlNoFrames.TAG_NAME,
94-
HtmlNoLayer.TAG_NAME,
95-
HtmlNoScript.TAG_NAME, HtmlObject.TAG_NAME, HtmlOrderedList.TAG_NAME,
96-
HtmlOptionGroup.TAG_NAME, HtmlOption.TAG_NAME, HtmlOutput.TAG_NAME,
97-
HtmlParagraph.TAG_NAME,
98-
HtmlParameter.TAG_NAME, HtmlPicture.TAG_NAME, HtmlPlainText.TAG_NAME, HtmlPreformattedText.TAG_NAME,
99-
HtmlProgress.TAG_NAME,
100-
HtmlRb.TAG_NAME, HtmlRp.TAG_NAME, HtmlRt.TAG_NAME, HtmlRtc.TAG_NAME, HtmlRuby.TAG_NAME,
101-
HtmlS.TAG_NAME, HtmlSample.TAG_NAME,
102-
HtmlScript.TAG_NAME, HtmlSection.TAG_NAME, HtmlSelect.TAG_NAME, HtmlSlot.TAG_NAME, HtmlSmall.TAG_NAME,
103-
HtmlSource.TAG_NAME, HtmlSpan.TAG_NAME,
104-
HtmlStrike.TAG_NAME, HtmlStrong.TAG_NAME, HtmlStyle.TAG_NAME,
105-
HtmlSubscript.TAG_NAME, HtmlSummary.TAG_NAME, HtmlSuperscript.TAG_NAME,
106-
HtmlSvg.TAG_NAME,
107-
HtmlTable.TAG_NAME, HtmlTableColumn.TAG_NAME, HtmlTableColumnGroup.TAG_NAME,
108-
HtmlTableBody.TAG_NAME, HtmlTableDataCell.TAG_NAME, HtmlTableHeaderCell.TAG_NAME,
109-
HtmlTableRow.TAG_NAME, HtmlTextArea.TAG_NAME, HtmlTableFooter.TAG_NAME,
110-
HtmlTableHeader.TAG_NAME, HtmlTeletype.TAG_NAME, HtmlTemplate.TAG_NAME, HtmlTime.TAG_NAME,
111-
HtmlTitle.TAG_NAME, HtmlTrack.TAG_NAME, HtmlUnderlined.TAG_NAME, HtmlUnorderedList.TAG_NAME,
112-
HtmlVariable.TAG_NAME, HtmlVideo.TAG_NAME, HtmlWordBreak.TAG_NAME, HtmlExample.TAG_NAME
113-
));
61+
public static final List<String> SUPPORTED_TAGS_ = List.of(HtmlAbbreviated.TAG_NAME, HtmlAcronym.TAG_NAME, HtmlAnchor.TAG_NAME, HtmlAddress.TAG_NAME, HtmlArea.TAG_NAME, HtmlArticle.TAG_NAME, HtmlAside.TAG_NAME, HtmlAudio.TAG_NAME, HtmlBase.TAG_NAME, HtmlBaseFont.TAG_NAME, HtmlBidirectionalIsolation.TAG_NAME, HtmlBidirectionalOverride.TAG_NAME, HtmlBig.TAG_NAME, HtmlBlockQuote.TAG_NAME, HtmlBody.TAG_NAME, HtmlBold.TAG_NAME, HtmlBreak.TAG_NAME, HtmlButton.TAG_NAME, HtmlCanvas.TAG_NAME, HtmlCaption.TAG_NAME, HtmlCenter.TAG_NAME, HtmlCitation.TAG_NAME, HtmlCode.TAG_NAME, HtmlData.TAG_NAME, HtmlDataList.TAG_NAME, HtmlDefinition.TAG_NAME, HtmlDefinitionDescription.TAG_NAME, HtmlDeletedText.TAG_NAME, HtmlDetails.TAG_NAME, HtmlDialog.TAG_NAME, HtmlDirectory.TAG_NAME, HtmlDivision.TAG_NAME, HtmlDefinitionList.TAG_NAME, HtmlDefinitionTerm.TAG_NAME, HtmlEmbed.TAG_NAME, HtmlEmphasis.TAG_NAME, HtmlFieldSet.TAG_NAME, HtmlFigureCaption.TAG_NAME, HtmlFigure.TAG_NAME, HtmlFont.TAG_NAME, HtmlForm.TAG_NAME, HtmlFooter.TAG_NAME, HtmlFrame.TAG_NAME, HtmlFrameSet.TAG_NAME, HtmlHead.TAG_NAME, HtmlHeader.TAG_NAME, HtmlHeading1.TAG_NAME, HtmlHeading2.TAG_NAME, HtmlHeading3.TAG_NAME, HtmlHeading4.TAG_NAME, HtmlHeading5.TAG_NAME, HtmlHeading6.TAG_NAME, HtmlHorizontalRule.TAG_NAME, HtmlHtml.TAG_NAME, HtmlInlineFrame.TAG_NAME, HtmlInlineQuotation.TAG_NAME, HtmlImage.TAG_NAME, HtmlImage.TAG_NAME2, HtmlInput.TAG_NAME, HtmlInsertedText.TAG_NAME, HtmlItalic.TAG_NAME, HtmlKeyboard.TAG_NAME, HtmlLabel.TAG_NAME, HtmlLayer.TAG_NAME, HtmlLegend.TAG_NAME, HtmlListing.TAG_NAME, HtmlListItem.TAG_NAME, HtmlLink.TAG_NAME, HtmlMain.TAG_NAME, HtmlMap.TAG_NAME, HtmlMark.TAG_NAME, HtmlMarquee.TAG_NAME, HtmlMenu.TAG_NAME, HtmlMeta.TAG_NAME, HtmlMeter.TAG_NAME, HtmlNav.TAG_NAME, HtmlNoBreak.TAG_NAME, HtmlNoEmbed.TAG_NAME, HtmlNoFrames.TAG_NAME, HtmlNoLayer.TAG_NAME, HtmlNoScript.TAG_NAME, HtmlObject.TAG_NAME, HtmlOrderedList.TAG_NAME, HtmlOptionGroup.TAG_NAME, HtmlOption.TAG_NAME, HtmlOutput.TAG_NAME, HtmlParagraph.TAG_NAME, HtmlParameter.TAG_NAME, HtmlPicture.TAG_NAME, HtmlPlainText.TAG_NAME, HtmlPreformattedText.TAG_NAME, HtmlProgress.TAG_NAME, HtmlRb.TAG_NAME, HtmlRp.TAG_NAME, HtmlRt.TAG_NAME, HtmlRtc.TAG_NAME, HtmlRuby.TAG_NAME, HtmlS.TAG_NAME, HtmlSample.TAG_NAME, HtmlScript.TAG_NAME, HtmlSection.TAG_NAME, HtmlSelect.TAG_NAME, HtmlSlot.TAG_NAME, HtmlSmall.TAG_NAME, HtmlSource.TAG_NAME, HtmlSpan.TAG_NAME, HtmlStrike.TAG_NAME, HtmlStrong.TAG_NAME, HtmlStyle.TAG_NAME, HtmlSubscript.TAG_NAME, HtmlSummary.TAG_NAME, HtmlSuperscript.TAG_NAME, HtmlSvg.TAG_NAME, HtmlTable.TAG_NAME, HtmlTableColumn.TAG_NAME, HtmlTableColumnGroup.TAG_NAME, HtmlTableBody.TAG_NAME, HtmlTableDataCell.TAG_NAME, HtmlTableHeaderCell.TAG_NAME, HtmlTableRow.TAG_NAME, HtmlTextArea.TAG_NAME, HtmlTableFooter.TAG_NAME, HtmlTableHeader.TAG_NAME, HtmlTeletype.TAG_NAME, HtmlTemplate.TAG_NAME, HtmlTime.TAG_NAME, HtmlTitle.TAG_NAME, HtmlTrack.TAG_NAME, HtmlUnderlined.TAG_NAME, HtmlUnorderedList.TAG_NAME, HtmlVariable.TAG_NAME, HtmlVideo.TAG_NAME, HtmlWordBreak.TAG_NAME, HtmlExample.TAG_NAME);
11462

11563
// for performance optimization
11664
static final class OrderedFastHashMapWithLowercaseKeys<K, V> extends OrderedFastHashMap<K, V> {

src/main/java/org/htmlunit/html/HtmlTable.java

Lines changed: 19 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -445,45 +445,29 @@ public DisplayStyle getDefaultStyleDisplay() {
445445
return DisplayStyle.TABLE;
446446
}
447447

448-
private static final class Position {
448+
private record Position(int posX_, int posY_) {
449449

450-
private final int posX_;
451-
private final int posY_;
452-
453-
Position(final int x, final int y) {
454-
posX_ = x;
455-
posY_ = y;
456-
}
457-
458-
/**
459-
* {@inheritDoc}
460-
*/
461450
@Override
462-
public int hashCode() {
463-
return Objects.hash(posX_, posY_);
464-
}
451+
public boolean equals(final Object obj) {
452+
if (this == obj) {
453+
return true;
454+
}
455+
if (obj == null) {
456+
return false;
457+
}
458+
if (getClass() != obj.getClass()) {
459+
return false;
460+
}
465461

466-
@Override
467-
public boolean equals(final Object obj) {
468-
if (this == obj) {
469-
return true;
470-
}
471-
if (obj == null) {
472-
return false;
473-
}
474-
if (getClass() != obj.getClass()) {
475-
return false;
476-
}
462+
final Position other = (Position) obj;
463+
if (posX_ != other.posX_) {
464+
return false;
465+
}
466+
if (posY_ != other.posY_) {
467+
return false;
468+
}
477469

478-
final Position other = (Position) obj;
479-
if (posX_ != other.posX_) {
480-
return false;
481-
}
482-
if (posY_ != other.posY_) {
483-
return false;
470+
return true;
484471
}
485-
486-
return true;
487472
}
488-
}
489473
}

src/main/java/org/htmlunit/javascript/host/URLSearchParams.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ protected Object nextValue(final Context cx, final Scriptable scope) {
128128
case KEYS -> e.getName();
129129
case VALUES -> e.getValue();
130130
case BOTH -> cx.newArray(scope, new Object[]{e.getName(), e.getValue()});
131-
default -> throw new AssertionError();
132131
};
133132
}
134133
}

src/main/java/org/htmlunit/javascript/host/Window.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -211,14 +211,7 @@ public class Window extends EventTarget implements WindowOrWorkerGlobalScope, Au
211211

212212
private transient List<AnimationFrame> animationFrames_ = new ArrayList<>();
213213

214-
private static final class AnimationFrame {
215-
private final long id_;
216-
private final Function callback_;
217-
218-
AnimationFrame(final long id, final Function callback) {
219-
id_ = id;
220-
callback_ = callback;
221-
}
214+
private record AnimationFrame(long id_, Function callback_) {
222215
}
223216

224217
/**

src/main/java/org/htmlunit/javascript/host/dom/Document.java

Lines changed: 5 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -186,39 +186,11 @@ public class Document extends Node {
186186
have a no-arg constructor.
187187
*/
188188
static {
189-
final Map<String, Class<? extends Event>> dom2EventMap = new HashMap<>();
190-
dom2EventMap.put("HTMLEvents", Event.class);
191-
dom2EventMap.put("MouseEvents", MouseEvent.class);
192-
dom2EventMap.put("MutationEvents", MutationEvent.class);
193-
dom2EventMap.put("UIEvents", UIEvent.class);
194-
SUPPORTED_DOM2_EVENT_TYPE_MAP = Collections.unmodifiableMap(dom2EventMap);
195-
196-
final Map<String, Class<? extends Event>> dom3EventMap = new HashMap<>();
197-
dom3EventMap.put("Event", Event.class);
198-
dom3EventMap.put("KeyboardEvent", KeyboardEvent.class);
199-
dom3EventMap.put("MouseEvent", MouseEvent.class);
200-
dom3EventMap.put("MessageEvent", MessageEvent.class);
201-
dom3EventMap.put("MutationEvent", MutationEvent.class);
202-
dom3EventMap.put("UIEvent", UIEvent.class);
203-
dom3EventMap.put("CustomEvent", CustomEvent.class);
204-
dom3EventMap.put("CloseEvent", CloseEvent.class);
205-
dom3EventMap.put("CompositionEvent", CompositionEvent.class);
206-
dom3EventMap.put("DragEvent", DragEvent.class);
207-
dom3EventMap.put("TextEvent", TextEvent.class);
208-
SUPPORTED_DOM3_EVENT_TYPE_MAP = Collections.unmodifiableMap(dom3EventMap);
209-
210-
final Map<String, Class<? extends Event>> additionalEventMap = new HashMap<>();
211-
additionalEventMap.put("BeforeUnloadEvent", BeforeUnloadEvent.class);
212-
additionalEventMap.put("Events", Event.class);
213-
additionalEventMap.put("HashChangeEvent", HashChangeEvent.class);
214-
additionalEventMap.put("KeyEvents", KeyboardEvent.class);
215-
additionalEventMap.put("PointerEvent", PointerEvent.class);
216-
additionalEventMap.put("PopStateEvent", PopStateEvent.class);
217-
additionalEventMap.put("ProgressEvent", ProgressEvent.class);
218-
additionalEventMap.put("FocusEvent", FocusEvent.class);
219-
additionalEventMap.put("WheelEvent", WheelEvent.class);
220-
additionalEventMap.put("AnimationEvent", AnimationEvent.class);
221-
SUPPORTED_VENDOR_EVENT_TYPE_MAP = Collections.unmodifiableMap(additionalEventMap);
189+
SUPPORTED_DOM2_EVENT_TYPE_MAP = Map.of("HTMLEvents", Event.class, "MouseEvents", MouseEvent.class, "MutationEvents", MutationEvent.class, "UIEvents", UIEvent.class);
190+
191+
SUPPORTED_DOM3_EVENT_TYPE_MAP = Map.ofEntries(Map.entry("Event", Event.class), Map.entry("KeyboardEvent", KeyboardEvent.class), Map.entry("MouseEvent", MouseEvent.class), Map.entry("MessageEvent", MessageEvent.class), Map.entry("MutationEvent", MutationEvent.class), Map.entry("UIEvent", UIEvent.class), Map.entry("CustomEvent", CustomEvent.class), Map.entry("CloseEvent", CloseEvent.class), Map.entry("CompositionEvent", CompositionEvent.class), Map.entry("DragEvent", DragEvent.class), Map.entry("TextEvent", TextEvent.class));
192+
193+
SUPPORTED_VENDOR_EVENT_TYPE_MAP = Map.of("BeforeUnloadEvent", BeforeUnloadEvent.class, "Events", Event.class, "HashChangeEvent", HashChangeEvent.class, "KeyEvents", KeyboardEvent.class, "PointerEvent", PointerEvent.class, "PopStateEvent", PopStateEvent.class, "ProgressEvent", ProgressEvent.class, "FocusEvent", FocusEvent.class, "WheelEvent", WheelEvent.class, "AnimationEvent", AnimationEvent.class);
222194
}
223195

224196
private Window window_;

src/main/java/org/htmlunit/javascript/host/event/Event.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -510,7 +510,7 @@ public class Event extends HtmlUnitScriptable {
510510
* @param type the event type
511511
*/
512512
public Event(final DomNode domNode, final String type) {
513-
this((EventTarget) domNode.getScriptableObject(), type);
513+
this(domNode.getScriptableObject(), type);
514514
setDomNode(domNode, false);
515515
}
516516

0 commit comments

Comments
 (0)