ladybird/Libraries/LibWeb/Internals/Internals.idl
Andreas Kling 6ca9214b4c LibWeb: Respect root color scheme for loading canvases
Only use the loading-time top-level canvas fallback when the root
color-scheme value is still normal. An explicit light scheme on the
root element already gives the canvas a light used scheme, so replacing
it with the preferred dark scheme makes the viewport disagree with the
computed system colors until readiness advances.

Add internals coverage for the document canvas scheme and a text test
that exercises the loading state with a dark preferred color scheme.
2026-05-27 20:57:38 +02:00

113 lines
5 KiB
Text

[Exposed=Nobody]
interface Internals {
undefined signalTestIsDone(DOMString text);
undefined setTestTimeout(double milliseconds);
undefined loadReferenceTestMetadata();
undefined loadTestVariants();
DOMString setTimeZone(DOMString timeZone);
undefined gc();
Promise<undefined> gcAsync();
// Clears a named environment binding and forces its current cell to be treated as garbage.
// This does not work for values stored only in optimized locals or registers.
undefined markAsGarbage(DOMString variableName);
object hitTest(double x, double y);
const unsigned short MOD_NONE = 0;
const unsigned short MOD_ALT = 1;
const unsigned short MOD_CTRL = 2;
const unsigned short MOD_SHIFT = 4;
const unsigned short MOD_SUPER = 8;
const unsigned short MOD_KEYPAD = 16;
const unsigned short BUTTON_LEFT = 0;
const unsigned short BUTTON_MIDDLE = 1;
const unsigned short BUTTON_RIGHT = 2;
undefined sendText(HTMLElement target, DOMString text, optional unsigned short modifiers = 0);
undefined sendKey(HTMLElement target, DOMString keyName, optional unsigned short modifiers = 0);
undefined paste(HTMLElement target, Utf16DOMString text);
undefined commitText();
// Low-level mouse primitives
undefined mouseDown(double x, double y, optional unsigned short clickCount = 1, optional unsigned short button = 0, optional unsigned short modifiers = 0);
undefined mouseUp(double x, double y, optional unsigned short button = 0, optional unsigned short modifiers = 0);
undefined mouseMove(double x, double y, optional unsigned short modifiers = 0);
undefined mouseLeave();
// High-level mouse conveniences
undefined click(double x, double y, optional unsigned short clickCount = 1, optional unsigned short button = 0, optional unsigned short modifiers = 0);
undefined clickAndHold(double x, double y, optional unsigned short clickCount = 1, optional unsigned short button = 0, optional unsigned short modifiers = 0);
Promise<undefined> wheel(double x, double y, double deltaX, double deltaY);
undefined pinch(double x, double y, double scaleDelta, optional unsigned short modifiers = 0);
DOMString currentCursor();
boolean dispatchUserActivatedEvent(EventTarget target, Event event);
undefined spoofCurrentURL(USVString url);
InternalAnimationTimeline createInternalAnimationTimeline();
undefined simulateDragStart(double x, double y, DOMString mimeType, DOMString contents);
undefined simulateDragMove(double x, double y);
undefined simulateDrop(double x, double y);
undefined expireCookiesWithTimeOffset(long long seconds);
boolean setHttpMemoryCacheEnabled(boolean enabled);
undefined setContentBlockers(DOMString patterns);
undefined setContentBlockingEnabled(boolean enabled);
DOMString getComputedRole(Element element);
DOMString getComputedLabel(Element element);
DOMString getComputedAriaLevel(Element element);
unsigned short getEchoServerPort();
undefined setBrowserZoom(double factor);
undefined setDevicePixelRatio(double ratio);
readonly attribute boolean headless;
DOMString dumpDisplayList();
DOMString dumpLayoutTree(Node node);
DOMString dumpPaintableTree(Node node);
DOMString dumpStackingContextTree();
DOMString dumpGCGraph();
DOMString dumpSessionHistory();
// Returns the shadow root of the element, if it has one, even if it's not normally accessible to JS.
ShadowRoot? getShadowRoot(Element element);
undefined handleSDLInputEvents();
undefined setEnvironmentsTopLevelURL(USVString url);
InternalGamepad connectVirtualGamepad();
undefined setHighlightedNode(Node? node);
undefined clearElement(HTMLElement element);
// Returns a snapshot of the style-invalidation and recomputation counters for the current document.
// Keys include hasAncestorWalkInvocations, hasInvalidationRuleCacheBuilds,
// styleInvalidations, elementStyleRecomputations, and elementStyleNoopRecomputations.
object getStyleInvalidationCounters();
undefined resetStyleInvalidationCounters();
// Flushes pending style work without forcing layout.
undefined updateStyle();
undefined setPreferredColorScheme(DOMString colorScheme);
DOMString canvasColorScheme();
// Returns the selector-insight cache state for stylesheet invalidation tests.
boolean styleSheetMayHaveHasSelectors(CSSStyleSheet sheet);
unsigned long long activeImageStyleValueAnimationCount();
object asyncScrollingState();
boolean asyncScrollingStateBlocksWheelEventAt(double x, double y);
boolean asyncScrollingStateCanWheelScrollAt(double x, double y, double deltaX, double deltaY, optional boolean forceStaleWheelEventRegions = false);
DOMString asyncScrollingStateWheelRoutingAdmission();
DOMString asyncScrollingStateWheelScrollAdmissionAt(double x, double y, double deltaX, double deltaY, optional boolean forceStaleWheelEventRegions = false);
DOMString asyncScrollingStateWheelTargetAt(double x, double y, double deltaX, double deltaY);
};