diff --git a/Ladybird/Qt/Tab.cpp b/Ladybird/Qt/Tab.cpp index adea6d5e9c871f..c0232206feeb9e 100644 --- a/Ladybird/Qt/Tab.cpp +++ b/Ladybird/Qt/Tab.cpp @@ -61,11 +61,15 @@ Tab::Tab(BrowserWindow* window, WebContentOptions const& web_content_options, St m_toolbar = new QToolBar(this); m_location_edit = new LocationEdit(this); - m_hover_label = new QLabel(this); + m_hover_label = new HyperlinkLabel(this); m_hover_label->hide(); m_hover_label->setFrameShape(QFrame::Shape::Box); m_hover_label->setAutoFillBackground(true); + QObject::connect(m_hover_label, &HyperlinkLabel::mouse_entered, [this] { + update_hover_label(); + }); + auto* focus_location_editor_action = new QAction("Edit Location", this); focus_location_editor_action->setShortcut(QKeySequence("Ctrl+L")); addAction(focus_location_editor_action); @@ -862,12 +866,18 @@ void Tab::resizeEvent(QResizeEvent* event) void Tab::update_hover_label() { + m_hover_label->setText(QFontMetrics(m_hover_label->font()).elidedText(m_hover_label->text(), Qt::ElideRight, width() / 2 - 10)); m_hover_label->resize(QFontMetrics(m_hover_label->font()).boundingRect(m_hover_label->text()).adjusted(-4, -2, 4, 2).size()); - auto hover_label_height = height() - m_hover_label->height() - 8; + + auto hover_label_height = height() - m_hover_label->height(); if (m_find_in_page->isVisible()) - hover_label_height -= m_find_in_page->height() - 4; + hover_label_height -= m_find_in_page->height(); + + if (m_hover_label->underMouse() && m_hover_label->x() == 0) + m_hover_label->move(width() / 2 + (width() / 2 - m_hover_label->width()), hover_label_height); + else + m_hover_label->move(0, hover_label_height); - m_hover_label->move(6, hover_label_height); m_hover_label->raise(); } diff --git a/Ladybird/Qt/Tab.h b/Ladybird/Qt/Tab.h index 1b3cf66f4489bd..45bc455562c350 100644 --- a/Ladybird/Qt/Tab.h +++ b/Ladybird/Qt/Tab.h @@ -25,6 +25,25 @@ namespace Ladybird { class BrowserWindow; class InspectorWidget; +class HyperlinkLabel final : public QLabel { + Q_OBJECT + +public: + explicit HyperlinkLabel(QWidget* parent = nullptr) + : QLabel(parent) + { + setMouseTracking(true); + } + + virtual void enterEvent(QEnterEvent* event) override + { + emit mouse_entered(event); + } + +signals: + void mouse_entered(QEnterEvent*); +}; + class Tab final : public QWidget { Q_OBJECT @@ -114,7 +133,7 @@ public slots: FindInPageWidget* m_find_in_page { nullptr }; BrowserWindow* m_window { nullptr }; QString m_title; - QLabel* m_hover_label { nullptr }; + HyperlinkLabel* m_hover_label { nullptr }; QIcon m_favicon; QMenu* m_context_menu { nullptr }; diff --git a/Ladybird/Qt/WebContentView.cpp b/Ladybird/Qt/WebContentView.cpp index fbb9b2645e931b..8a093319d32e13 100644 --- a/Ladybird/Qt/WebContentView.cpp +++ b/Ladybird/Qt/WebContentView.cpp @@ -423,6 +423,7 @@ void WebContentView::mouseMoveEvent(QMouseEvent* event) } enqueue_native_event(Web::MouseEvent::Type::MouseMove, *event); + QWidget::mouseMoveEvent(event); } void WebContentView::mousePressEvent(QMouseEvent* event) diff --git a/Meta/gn/secondary/Userland/Libraries/LibGfx/BUILD.gn b/Meta/gn/secondary/Userland/Libraries/LibGfx/BUILD.gn index 852a9db03f9eb1..373955b7937d66 100644 --- a/Meta/gn/secondary/Userland/Libraries/LibGfx/BUILD.gn +++ b/Meta/gn/secondary/Userland/Libraries/LibGfx/BUILD.gn @@ -57,6 +57,7 @@ shared_library("LibGfx") { "Font/WOFF/Font.cpp", "Font/WOFF2/Font.cpp", "FontCascadeList.cpp", + "GlassWindowTheme.cpp", "GradientPainting.cpp", "ICC/BinaryWriter.cpp", "ICC/Enums.cpp", @@ -108,6 +109,7 @@ shared_library("LibGfx") { "Palette.cpp", "Path.cpp", "PathClipper.cpp", + "PlasticWindowTheme.cpp", "Point.cpp", "Rect.cpp", "ShareableBitmap.cpp", @@ -118,7 +120,6 @@ shared_library("LibGfx") { "TextLayout.cpp", "Triangle.cpp", "VectorGraphic.cpp", - "WindowTheme.cpp", ] sources += get_target_outputs(":generate_tiff_sources") diff --git a/Tests/LibCrypto/TestBigInteger.cpp b/Tests/LibCrypto/TestBigInteger.cpp index 615c78f3d67d66..890a472794a531 100644 --- a/Tests/LibCrypto/TestBigInteger.cpp +++ b/Tests/LibCrypto/TestBigInteger.cpp @@ -664,6 +664,17 @@ TEST_CASE(test_negative_zero_is_not_allowed) EXPECT(!zero.is_negative()); } +TEST_CASE(test_i32_limits) +{ + Crypto::SignedBigInteger min { AK::NumericLimits::min() }; + EXPECT(min.is_negative()); + EXPECT(min.unsigned_value().to_u64() == static_cast(AK::NumericLimits::max()) + 1); + + Crypto::SignedBigInteger max { AK::NumericLimits::max() }; + EXPECT(!max.is_negative()); + EXPECT(max.unsigned_value().to_u64() == AK::NumericLimits::max()); +} + TEST_CASE(double_comparisons) { #define EXPECT_LESS_THAN(bigint, double_value) EXPECT_EQ(bigint.compare_to_double(double_value), Crypto::UnsignedBigInteger::CompareResult::DoubleGreaterThanBigInt) diff --git a/Tests/LibWeb/Layout/expected/svg/standalone-h.txt b/Tests/LibWeb/Layout/expected/svg/standalone-h.txt new file mode 100644 index 00000000000000..4c1cbf64e89090 --- /dev/null +++ b/Tests/LibWeb/Layout/expected/svg/standalone-h.txt @@ -0,0 +1,18 @@ +Viewport <#document> at (0,0) content-size 800x600 [BFC] children: not-inline + SVGSVGBox at (0,0) content-size 128x600 [SVG] children: inline + TextNode <#text> + TextNode <#text> + SVGGeometryBox at (0,172) content-size 128x256 children: not-inline + TextNode <#text> + SVGGraphicsBox at (0,172) content-size 128x256 children: inline + TextNode <#text> + SVGGeometryBox at (0,172) content-size 128x256 children: not-inline + TextNode <#text> + TextNode <#text> + +ViewportPaintable (Viewport<#document>) [0,0 800x600] + SVGSVGPaintable (SVGSVGBox) [0,0 128x600] + SVGPathPaintable (SVGGeometryBox) [0,172 128x256] + SVGGraphicsPaintable (SVGGraphicsBox) [0,172 128x256] + SVGPathPaintable (SVGGeometryBox) [0,172 128x256] + diff --git a/Tests/LibWeb/Layout/expected/svg/standalone-vb-h.txt b/Tests/LibWeb/Layout/expected/svg/standalone-vb-h.txt new file mode 100644 index 00000000000000..fa98bcbc417499 --- /dev/null +++ b/Tests/LibWeb/Layout/expected/svg/standalone-vb-h.txt @@ -0,0 +1,18 @@ +Viewport <#document> at (0,0) content-size 800x600 [BFC] children: not-inline + SVGSVGBox at (0,0) content-size 128x600 [SVG] children: inline + TextNode <#text> + TextNode <#text> + SVGGeometryBox at (0,0) content-size 32x64 children: not-inline + TextNode <#text> + SVGGraphicsBox at (0,0) content-size 32x64 children: inline + TextNode <#text> + SVGGeometryBox at (0,0) content-size 32x64 children: not-inline + TextNode <#text> + TextNode <#text> + +ViewportPaintable (Viewport<#document>) [0,0 800x600] + SVGSVGPaintable (SVGSVGBox) [0,0 128x600] + SVGPathPaintable (SVGGeometryBox) [0,0 32x64] + SVGGraphicsPaintable (SVGGraphicsBox) [0,0 32x64] + SVGPathPaintable (SVGGeometryBox) [0,0 32x64] + diff --git a/Tests/LibWeb/Layout/expected/svg/standalone-vb-w.txt b/Tests/LibWeb/Layout/expected/svg/standalone-vb-w.txt new file mode 100644 index 00000000000000..e5759aadaa5a33 --- /dev/null +++ b/Tests/LibWeb/Layout/expected/svg/standalone-vb-w.txt @@ -0,0 +1,18 @@ +Viewport <#document> at (0,0) content-size 800x600 [BFC] children: not-inline + SVGSVGBox at (0,0) content-size 800x256 [SVG] children: inline + TextNode <#text> + TextNode <#text> + SVGGeometryBox at (0,0) content-size 32x64 children: not-inline + TextNode <#text> + SVGGraphicsBox at (0,0) content-size 32x64 children: inline + TextNode <#text> + SVGGeometryBox at (0,0) content-size 32x64 children: not-inline + TextNode <#text> + TextNode <#text> + +ViewportPaintable (Viewport<#document>) [0,0 800x600] + SVGSVGPaintable (SVGSVGBox) [0,0 800x256] + SVGPathPaintable (SVGGeometryBox) [0,0 32x64] + SVGGraphicsPaintable (SVGGraphicsBox) [0,0 32x64] + SVGPathPaintable (SVGGeometryBox) [0,0 32x64] + diff --git a/Tests/LibWeb/Layout/expected/svg/standalone-vb-wh.txt b/Tests/LibWeb/Layout/expected/svg/standalone-vb-wh.txt new file mode 100644 index 00000000000000..d1f3acb87174da --- /dev/null +++ b/Tests/LibWeb/Layout/expected/svg/standalone-vb-wh.txt @@ -0,0 +1,18 @@ +Viewport <#document> at (0,0) content-size 800x600 [BFC] children: not-inline + SVGSVGBox at (0,0) content-size 800x600 [SVG] children: inline + TextNode <#text> + TextNode <#text> + SVGGeometryBox at (0,0) content-size 32x64 children: not-inline + TextNode <#text> + SVGGraphicsBox at (0,0) content-size 32x64 children: inline + TextNode <#text> + SVGGeometryBox at (0,0) content-size 32x64 children: not-inline + TextNode <#text> + TextNode <#text> + +ViewportPaintable (Viewport<#document>) [0,0 800x600] + SVGSVGPaintable (SVGSVGBox) [0,0 800x600] + SVGPathPaintable (SVGGeometryBox) [0,0 32x64] + SVGGraphicsPaintable (SVGGraphicsBox) [0,0 32x64] + SVGPathPaintable (SVGGeometryBox) [0,0 32x64] + diff --git a/Tests/LibWeb/Layout/expected/svg/standalone-vb.txt b/Tests/LibWeb/Layout/expected/svg/standalone-vb.txt new file mode 100644 index 00000000000000..13db94c3ce5354 --- /dev/null +++ b/Tests/LibWeb/Layout/expected/svg/standalone-vb.txt @@ -0,0 +1,18 @@ +Viewport <#document> at (0,0) content-size 800x600 [BFC] children: not-inline + SVGSVGBox at (0,0) content-size 128x256 [SVG] children: inline + TextNode <#text> + TextNode <#text> + SVGGeometryBox at (0,0) content-size 32x64 children: not-inline + TextNode <#text> + SVGGraphicsBox at (0,0) content-size 32x64 children: inline + TextNode <#text> + SVGGeometryBox at (0,0) content-size 32x64 children: not-inline + TextNode <#text> + TextNode <#text> + +ViewportPaintable (Viewport<#document>) [0,0 800x600] + SVGSVGPaintable (SVGSVGBox) [0,0 128x256] + SVGPathPaintable (SVGGeometryBox) [0,0 32x64] + SVGGraphicsPaintable (SVGGraphicsBox) [0,0 32x64] + SVGPathPaintable (SVGGeometryBox) [0,0 32x64] + diff --git a/Tests/LibWeb/Layout/expected/svg/standalone-w.txt b/Tests/LibWeb/Layout/expected/svg/standalone-w.txt new file mode 100644 index 00000000000000..d131ba6efba589 --- /dev/null +++ b/Tests/LibWeb/Layout/expected/svg/standalone-w.txt @@ -0,0 +1,18 @@ +Viewport <#document> at (0,0) content-size 800x600 [BFC] children: not-inline + SVGSVGBox at (0,0) content-size 800x256 [SVG] children: inline + TextNode <#text> + TextNode <#text> + SVGGeometryBox at (336,0) content-size 128x256 children: not-inline + TextNode <#text> + SVGGraphicsBox at (336,0) content-size 128x256 children: inline + TextNode <#text> + SVGGeometryBox at (336,0) content-size 128x256 children: not-inline + TextNode <#text> + TextNode <#text> + +ViewportPaintable (Viewport<#document>) [0,0 800x600] + SVGSVGPaintable (SVGSVGBox) [0,0 800x256] + SVGPathPaintable (SVGGeometryBox) [336,0 128x256] + SVGGraphicsPaintable (SVGGraphicsBox) [336,0 128x256] + SVGPathPaintable (SVGGeometryBox) [336,0 128x256] + diff --git a/Tests/LibWeb/Layout/expected/svg/standalone-wh.txt b/Tests/LibWeb/Layout/expected/svg/standalone-wh.txt new file mode 100644 index 00000000000000..9748db92587233 --- /dev/null +++ b/Tests/LibWeb/Layout/expected/svg/standalone-wh.txt @@ -0,0 +1,18 @@ +Viewport <#document> at (0,0) content-size 800x600 [BFC] children: not-inline + SVGSVGBox at (0,0) content-size 800x600 [SVG] children: inline + TextNode <#text> + TextNode <#text> + SVGGeometryBox at (250,0) content-size 300x600 children: not-inline + TextNode <#text> + SVGGraphicsBox at (250,0) content-size 300x600 children: inline + TextNode <#text> + SVGGeometryBox at (250,0) content-size 300x600 children: not-inline + TextNode <#text> + TextNode <#text> + +ViewportPaintable (Viewport<#document>) [0,0 800x600] + SVGSVGPaintable (SVGSVGBox) [0,0 800x600] + SVGPathPaintable (SVGGeometryBox) [250,0 300x600] + SVGGraphicsPaintable (SVGGraphicsBox) [250,0 300x600] + SVGPathPaintable (SVGGeometryBox) [250,0 300x600] + diff --git a/Tests/LibWeb/Layout/expected/svg/standalone.txt b/Tests/LibWeb/Layout/expected/svg/standalone.txt new file mode 100644 index 00000000000000..a7b14e7bf2b224 --- /dev/null +++ b/Tests/LibWeb/Layout/expected/svg/standalone.txt @@ -0,0 +1,17 @@ +Viewport <#document> at (0,0) content-size 800x600 [BFC] children: not-inline + SVGSVGBox at (0,0) content-size 128x256 [SVG] children: inline + TextNode <#text> + TextNode <#text> + SVGGeometryBox at (0,0) content-size 128x256 children: not-inline + TextNode <#text> + SVGGraphicsBox at (0,0) content-size 128x256 children: inline + TextNode <#text> + SVGGeometryBox at (0,0) content-size 128x256 children: not-inline + TextNode <#text> + TextNode <#text> + +ViewportPaintable (Viewport<#document>) [0,0 800x600] + SVGSVGPaintable (SVGSVGBox) [0,0 128x256] + SVGPathPaintable (SVGGeometryBox) [0,0 128x256] + SVGGraphicsPaintable (SVGGraphicsBox) [0,0 128x256] + SVGPathPaintable (SVGGeometryBox) [0,0 128x256] diff --git a/Tests/LibWeb/Layout/input/svg/standalone-h.svg b/Tests/LibWeb/Layout/input/svg/standalone-h.svg new file mode 100644 index 00000000000000..33ac71492e2f0d --- /dev/null +++ b/Tests/LibWeb/Layout/input/svg/standalone-h.svg @@ -0,0 +1,7 @@ + + white diamond on blue; no height + + + + + diff --git a/Tests/LibWeb/Layout/input/svg/standalone-vb-h.svg b/Tests/LibWeb/Layout/input/svg/standalone-vb-h.svg new file mode 100644 index 00000000000000..134db81e09191d --- /dev/null +++ b/Tests/LibWeb/Layout/input/svg/standalone-vb-h.svg @@ -0,0 +1,7 @@ + + white diamond on blue; no viewBox; no height + + + + + diff --git a/Tests/LibWeb/Layout/input/svg/standalone-vb-w.svg b/Tests/LibWeb/Layout/input/svg/standalone-vb-w.svg new file mode 100644 index 00000000000000..2418d07a9cebc1 --- /dev/null +++ b/Tests/LibWeb/Layout/input/svg/standalone-vb-w.svg @@ -0,0 +1,7 @@ + + white diamond on blue; no viewBox; no width + + + + + diff --git a/Tests/LibWeb/Layout/input/svg/standalone-vb-wh.svg b/Tests/LibWeb/Layout/input/svg/standalone-vb-wh.svg new file mode 100644 index 00000000000000..12fbe0626903ae --- /dev/null +++ b/Tests/LibWeb/Layout/input/svg/standalone-vb-wh.svg @@ -0,0 +1,7 @@ + + white diamond on blue; no viewBox; no width; no height + + + + + diff --git a/Tests/LibWeb/Layout/input/svg/standalone-vb.svg b/Tests/LibWeb/Layout/input/svg/standalone-vb.svg new file mode 100644 index 00000000000000..f0d8c8639afff1 --- /dev/null +++ b/Tests/LibWeb/Layout/input/svg/standalone-vb.svg @@ -0,0 +1,7 @@ + + white diamond on blue; no viewBox + + + + + diff --git a/Tests/LibWeb/Layout/input/svg/standalone-w.svg b/Tests/LibWeb/Layout/input/svg/standalone-w.svg new file mode 100644 index 00000000000000..dd260571df4921 --- /dev/null +++ b/Tests/LibWeb/Layout/input/svg/standalone-w.svg @@ -0,0 +1,13 @@ + + + white diamond on blue; no width + + + + + diff --git a/Tests/LibWeb/Layout/input/svg/standalone-wh.svg b/Tests/LibWeb/Layout/input/svg/standalone-wh.svg new file mode 100644 index 00000000000000..6d8d736d62e145 --- /dev/null +++ b/Tests/LibWeb/Layout/input/svg/standalone-wh.svg @@ -0,0 +1,7 @@ + + white diamond on blue; no width ; no height + + + + + diff --git a/Tests/LibWeb/Layout/input/svg/standalone.svg b/Tests/LibWeb/Layout/input/svg/standalone.svg new file mode 100644 index 00000000000000..463f07a77e3be5 --- /dev/null +++ b/Tests/LibWeb/Layout/input/svg/standalone.svg @@ -0,0 +1,7 @@ + + white diamond on blue + + + + + diff --git a/Tests/LibWeb/Ref/css-keyframe-invalid-transform-should-not-render.html b/Tests/LibWeb/Ref/css-keyframe-invalid-transform-should-not-render.html index 19b1aa37dec743..4a87ec62de27f3 100644 --- a/Tests/LibWeb/Ref/css-keyframe-invalid-transform-should-not-render.html +++ b/Tests/LibWeb/Ref/css-keyframe-invalid-transform-should-not-render.html @@ -5,7 +5,7 @@ width: 100px; height: 100px; background-color: blue; - animation: anim 1s; + animation: anim 100s; } @keyframes anim { from { @@ -18,5 +18,5 @@
diff --git a/Tests/LibWeb/Ref/css-open-closed-selectors.html b/Tests/LibWeb/Ref/css-open-closed-selectors.html index 2845e8366e533a..1c11d631d32941 100644 --- a/Tests/LibWeb/Ref/css-open-closed-selectors.html +++ b/Tests/LibWeb/Ref/css-open-closed-selectors.html @@ -4,9 +4,6 @@ :open { color: green; } -:closed { - color: red; -}
Hi diff --git a/Tests/LibWeb/Ref/reference/css-open-closed-selectors-ref.html b/Tests/LibWeb/Ref/reference/css-open-closed-selectors-ref.html index 4dd0e89ae4bf9a..f169657966d294 100644 --- a/Tests/LibWeb/Ref/reference/css-open-closed-selectors-ref.html +++ b/Tests/LibWeb/Ref/reference/css-open-closed-selectors-ref.html @@ -3,15 +3,12 @@ .open { color: green; } - .closed { - color: red; - }
Hi Well hello friends!
-
+
Hi Well hello friends!
diff --git a/Tests/LibWeb/Text/expected/CloseWatcher-abort-requestClose.txt b/Tests/LibWeb/Text/expected/CloseWatcher-abort-requestClose.txt new file mode 100644 index 00000000000000..4b095fd0ff9ca0 --- /dev/null +++ b/Tests/LibWeb/Text/expected/CloseWatcher-abort-requestClose.txt @@ -0,0 +1,2 @@ +false +false diff --git a/Tests/LibWeb/Text/expected/CloseWatcher-already-aborted.txt b/Tests/LibWeb/Text/expected/CloseWatcher-already-aborted.txt new file mode 100644 index 00000000000000..4b095fd0ff9ca0 --- /dev/null +++ b/Tests/LibWeb/Text/expected/CloseWatcher-already-aborted.txt @@ -0,0 +1,2 @@ +false +false diff --git a/Tests/LibWeb/Text/expected/CloseWatcher-fire-once.txt b/Tests/LibWeb/Text/expected/CloseWatcher-fire-once.txt new file mode 100644 index 00000000000000..6ed281c757a969 --- /dev/null +++ b/Tests/LibWeb/Text/expected/CloseWatcher-fire-once.txt @@ -0,0 +1,2 @@ +1 +1 diff --git a/Tests/LibWeb/Text/expected/Crypto/Crypto-getRandomValues-respects-subarrays.txt b/Tests/LibWeb/Text/expected/Crypto/Crypto-getRandomValues-respects-subarrays.txt new file mode 100644 index 00000000000000..e0a8ef819ca181 --- /dev/null +++ b/Tests/LibWeb/Text/expected/Crypto/Crypto-getRandomValues-respects-subarrays.txt @@ -0,0 +1,2 @@ +Is first 2 bytes still 0x41? true +Is last 6 bytes still 0x41? true diff --git a/Tests/LibWeb/Text/expected/HTML/storage-does-not-have-legacy-override-builtins-flag.txt b/Tests/LibWeb/Text/expected/HTML/storage-does-not-have-legacy-override-builtins-flag.txt new file mode 100644 index 00000000000000..0a45f632ceb9f9 --- /dev/null +++ b/Tests/LibWeb/Text/expected/HTML/storage-does-not-have-legacy-override-builtins-flag.txt @@ -0,0 +1,10 @@ +key should still be native: 'function key() { [native code] }' +key's stringified function was added to storage: 'function () { println(`FAIL: Overriden ${functionName} was called`); }' +getItem should still be native: 'function getItem() { [native code] }' +getItem's stringified function was added to storage: 'function () { println(`FAIL: Overriden ${functionName} was called`); }' +setItem should still be native: 'function setItem() { [native code] }' +setItem's stringified function was added to storage: 'function () { println(`FAIL: Overriden ${functionName} was called`); }' +removeItem should still be native: 'function removeItem() { [native code] }' +removeItem's stringified function was added to storage: 'function () { println(`FAIL: Overriden ${functionName} was called`); }' +clear should still be native: 'function clear() { [native code] }' +clear's stringified function was added to storage: 'function () { println(`FAIL: Overriden ${functionName} was called`); }' diff --git a/Tests/LibWeb/Text/expected/css/unknown-pseudo-elements-crash.txt b/Tests/LibWeb/Text/expected/css/unknown-pseudo-elements-crash.txt new file mode 100644 index 00000000000000..aaecaf93c4a5b5 --- /dev/null +++ b/Tests/LibWeb/Text/expected/css/unknown-pseudo-elements-crash.txt @@ -0,0 +1 @@ +PASS (didn't crash) diff --git a/Tests/LibWeb/Text/expected/iterating-over-storage.txt b/Tests/LibWeb/Text/expected/iterating-over-storage.txt new file mode 100644 index 00000000000000..d64607a7bb03b3 --- /dev/null +++ b/Tests/LibWeb/Text/expected/iterating-over-storage.txt @@ -0,0 +1 @@ +PASS (didn't loop forever) diff --git a/Tests/LibWeb/Text/expected/localStorage.txt b/Tests/LibWeb/Text/expected/localStorage.txt index a5ea54de5425f7..37bc923eb44c8d 100644 --- a/Tests/LibWeb/Text/expected/localStorage.txt +++ b/Tests/LibWeb/Text/expected/localStorage.txt @@ -1,6 +1,10 @@ +undefined +null value value other other +undefined +null foo foo diff --git a/Tests/LibWeb/Text/input/CloseWatcher-abort-requestClose.html b/Tests/LibWeb/Text/input/CloseWatcher-abort-requestClose.html new file mode 100644 index 00000000000000..36bb3747e7a6ec --- /dev/null +++ b/Tests/LibWeb/Text/input/CloseWatcher-abort-requestClose.html @@ -0,0 +1,18 @@ + + + diff --git a/Tests/LibWeb/Text/input/CloseWatcher-already-aborted.html b/Tests/LibWeb/Text/input/CloseWatcher-already-aborted.html new file mode 100644 index 00000000000000..722b3ed59cbac0 --- /dev/null +++ b/Tests/LibWeb/Text/input/CloseWatcher-already-aborted.html @@ -0,0 +1,17 @@ + + + diff --git a/Tests/LibWeb/Text/input/CloseWatcher-fire-once.html b/Tests/LibWeb/Text/input/CloseWatcher-fire-once.html new file mode 100644 index 00000000000000..a2f08d41c4ecb6 --- /dev/null +++ b/Tests/LibWeb/Text/input/CloseWatcher-fire-once.html @@ -0,0 +1,18 @@ + + + diff --git a/Tests/LibWeb/Text/input/Crypto/Crypto-getRandomValues-respects-subarrays.html b/Tests/LibWeb/Text/input/Crypto/Crypto-getRandomValues-respects-subarrays.html new file mode 100644 index 00000000000000..e5ac90ba033bec --- /dev/null +++ b/Tests/LibWeb/Text/input/Crypto/Crypto-getRandomValues-respects-subarrays.html @@ -0,0 +1,11 @@ + + + diff --git a/Tests/LibWeb/Text/input/HTML/storage-does-not-have-legacy-override-builtins-flag.html b/Tests/LibWeb/Text/input/HTML/storage-does-not-have-legacy-override-builtins-flag.html new file mode 100644 index 00000000000000..c1435cff81937d --- /dev/null +++ b/Tests/LibWeb/Text/input/HTML/storage-does-not-have-legacy-override-builtins-flag.html @@ -0,0 +1,14 @@ + + + diff --git a/Tests/LibWeb/Text/input/css/unknown-pseudo-elements-crash.html b/Tests/LibWeb/Text/input/css/unknown-pseudo-elements-crash.html new file mode 100644 index 00000000000000..582ef65c89cfaa --- /dev/null +++ b/Tests/LibWeb/Text/input/css/unknown-pseudo-elements-crash.html @@ -0,0 +1,7 @@ + + diff --git a/Tests/LibWeb/Text/input/iterating-over-storage.html b/Tests/LibWeb/Text/input/iterating-over-storage.html new file mode 100644 index 00000000000000..dadf4fc54cea21 --- /dev/null +++ b/Tests/LibWeb/Text/input/iterating-over-storage.html @@ -0,0 +1,8 @@ + + + diff --git a/Tests/LibWeb/Text/input/localStorage.html b/Tests/LibWeb/Text/input/localStorage.html index 32715a3ecf2e62..85fc7b4df296fb 100644 --- a/Tests/LibWeb/Text/input/localStorage.html +++ b/Tests/LibWeb/Text/input/localStorage.html @@ -1,6 +1,10 @@