If our UI informed the page of a DPI change, we would store the new device pixel ratio and leave it at that. It would take a layout/style update (e.g. by clicking the page) to actually render the page using the new DPI. This is very visible on macOS when moving the Ladybird window from a 1x resolution monitor to a HiDPI 2x monitor. We now instantly update the backing stores and mark media queries for reevaluation. Moving the Ladybird window on macOS now immediately updates the page when dragging it to a HiDPI monitor.
78 lines
2.6 KiB
Text
78 lines
2.6 KiB
Text
#import <DOM/EventTarget.idl>
|
|
#import <HTML/HTMLElement.idl>
|
|
#import <Internals/InternalAnimationTimeline.idl>
|
|
#import <Internals/InternalGamepad.idl>
|
|
|
|
[Exposed=Nobody]
|
|
interface Internals {
|
|
|
|
undefined signalTestIsDone(DOMString text);
|
|
undefined setTestTimeout(double milliseconds);
|
|
undefined loadReferenceTestMetadata();
|
|
undefined loadTestVariants();
|
|
|
|
DOMString setTimeZone(DOMString timeZone);
|
|
|
|
undefined gc();
|
|
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;
|
|
|
|
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();
|
|
|
|
undefined click(double x, double y);
|
|
undefined doubleclick(double x, double y);
|
|
undefined middleClick(double x, double y);
|
|
undefined mouseDown(double x, double y);
|
|
undefined movePointerTo(double x, double y);
|
|
undefined wheel(double x, double y, double deltaX, double deltaY);
|
|
undefined pinch(double x, double y, double scaleDelta);
|
|
|
|
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 enableCookiesOnFileDomains();
|
|
undefined expireCookiesWithTimeOffset(long long seconds);
|
|
|
|
boolean setHttpMemoryCacheEnabled(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 dumpStackingContextTree();
|
|
DOMString dumpGCGraph();
|
|
|
|
// 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();
|
|
|
|
InternalGamepad connectVirtualGamepad();
|
|
|
|
undefined setHighlightedNode(Node? node);
|
|
|
|
};
|