/* This Source Code Form is subject to the terms of the Mozilla Public *License,v.2.0.IfacopyoftheMPLwasnotdistributedwiththis
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/** *Getthelastusedlayertransactionidforthiswindow'srefreshdriver.
*/
readonly attribute unsigned long long lastTransactionId;
/** *Informationretrievedfromthe<metaname="viewport">tag. *SeeDocument::GetViewportInfoformoreinformation.
*/ void getViewportInfo(in uint32_t aDisplayWidth, in uint32_t aDisplayHeight,
out double aDefaultZoom, out boolean aAllowZoom,
out double aMinZoom, out double aMaxZoom,
out uint32_t aWidth, out uint32_t aHeight,
out boolean aAutoSize); /* *Informationretrievedfromtheviewport-fitvalueof<metaname="viewport"> *element.
*/
AString getViewportFitInfo();
/** *Informationaboutthewindowsizeindevicepixels.
*/ void getDocumentViewerSize(out uint32_t aDisplayWidth, out uint32_t aDisplayHeight);
/** *Foranyscrollableelement,thisallowsyoutooverridethedefault *scrollbehaviourandforceautodir(whichallowsamousewheelto *horizontallyscrollregionsthatonlyscrollonthatoneaxis). * *Seethedocumentationformousewheel.autodir.enabledand *mousewheel.autodir.honourrootforamorethoroughexplanationof *whatthesebehavioursdo.
*/ void setMousewheelAutodir(in Element aElement, in boolean aEnabled, in boolean aHonourRoot);
/** *Foranyscrollableelement,thisallowsyoutooverridethe *visibleregionanddrawmorethanwhatisvisible,whichis *usefulforasynchronousdrawing.The"displayport"willbe *<xPx,yPx,widthPx,heightPx>inunitsofCSSpixels, *regardlessofthesizeoftheenclosingcontainer.This *will*not*triggerreflow. * *Fortherootscrollarea,passintherootdocumentelement. *Forscrollableelements,passinthecontainerelement(for *instance,theelementwithoverflow:scroll). * *<x,y>isrelativetothetop-leftofwhatwouldnormallybe *thevisibleareaoftheelement.Thismeansthatthepixels *renderedtothedisplayporttakescrollingintoaccount, *forexample. * *It'slegaltosetadisplayportthatextendsbeyondtheoverflow *areainanydirection(left/right/top/bottom). * *It'salsolegaltosetadisplayportthatextendsbeyondthe *area'sbounds.Nopixelsarerenderedoutsidetheareabounds. * *Thecallerofthismethodmusthavechromeprivileges. * *Callingthiswillalwaysforcearecomposite,soitshouldbe *avoidedifatallpossible.Clientcodeshoulddochecksbefore *callingthissothatduplicatesetsarenotmadewiththesame *displayport. * *aPriorityisrecordedalongwiththedisplayportrectangle.Ifthis *methodiscalledwithalowerprioritythanthecurrentpriority,the *callisignored.
*/ void setDisplayPortForElement(in float aXPx, in float aYPx,
in float aWidthPx, in float aHeightPx,
in Element aElement,
in uint32_t aPriority); /** *Analternatewaytorepresentadisplayportrectasasetofmarginsanda *baserecttoapplythosemarginsto.Aconsumerofpixelsmayaskforas *manyextrapixelsasitwouldlikeineachdirection.Layoutthensets *thebaserecttothe"visiblerect"oftheelement,whichisjustthe *subrectoftheelementthatisdrawn(itdoesnottakeinaccountcontent *coveringtheelement). * *Ifbothadisplayportrectanddisplayportmarginswithcorrespondingbase *rectaresetwiththesameprioritythenthemarginswilltakeprecendence. * *Specifyinganalignmentvaluewillensurethatafterthebaserecthas *beenexpandedbythedisplayportmargins,itwillbefurtherexpandedso *thateachedgeislocatedatamultipleofthe"alignment"value. * *Notethatboththemarginvaluesandalignmentaretreatedasvaluesin *ScreenPixels.Refertolayout/base/Units.hforadescriptionofthisunit. *Thebaserectvaluesareinappunits.
*/ void setDisplayPortMarginsForElement(in float aLeftMargin,
in float aTopMargin,
in float aRightMargin,
in float aBottomMargin,
in Element aElement,
in uint32_t aPriority);
void setDisplayPortBaseForElement(in int32_t aX,
in int32_t aY,
in int32_t aWidth,
in int32_t aHeight,
in Element aElement);
/** *If|aElement|isascrollcontainer,returnstheamountoflayout *spacetakenupbyitsscrollbars(thatis,thewidthofthevertical *scrollbarandtheheightofthehorizontalscrollbar)inCSSpixels; *otherwisereturnszero. * *Notethatonsomeplatforms,scrollbarsdon'ttakeuplayoutspace *("overlayscrollbars").Onsuchplatforms,thereturnedsizesare *alwayszero. * *Layoutscrollbarsthatnormallytakeupspacebutwereonlyshownto *scrollthevisualviewportinsidethelayoutviewport(thelayoutviewport *cannotbescrolled)donottakeupspacebuttheystillreturntheirsize *fromthisfunction.
*/ void getScrollbarSizes(in Element aElement,
out uint32_t aVerticalScrollbarWidth,
out uint32_t aHorizontalScrollbarHeight);
/** Synthesize a wheel event for a window. The event types supported is only *wheel. * *EventsaresentincoordinatesoffsetbyaXandaYfromthewindow. * *Cannotbeaccessedfromunprivilegedcontext(notcontent-accessible) *WillthrowaDOMsecurityerrorifcalledwithoutchromeprivileges. * *@paramaXxoffsetinCSSpixels *@paramaYyoffsetinCSSpixels *@paramaDeltaXdeltaXvalue. *@paramaDeltaYdeltaYvalue. *@paramaDeltaZdeltaZvalue. *@paramaDeltaModedeltaModevaluewhichmustbeoneofthe *WheelEventDOM_DELTA_*constants. *@paramaModifiersmodifierspressed,usingconstantsdefinedas *MODIFIER_* *@paramaLineOrPageDeltaXIfyousetthisvaluenon-zerofor *DOM_DELTA_PIXELevent,EventStateManagerwill *dispatchNS_MOUSE_SCROLLeventforhorizontal *scroll. *@paramaLineOrPageDeltaYIfyousetthisvaluenon-zerofor *DOM_DELTA_PIXELevent,EventStateManagerwill *dispatchNS_MOUSE_SCROLLeventforvertical *scroll. *@paramaOptionsSetfollowingflags. *@paramaCallbackThecallbackwillbenotifiedwhenthe *synthesizedwheeleventhasbeendispatched. *XXX:Thisisnotimplementedinthecontent *processwhenasyncisenabled(i.e.,eitherthe *optionhasWHEEL_EVENT_ASYNC_ENABLEDorthe *test.events.async.enabledprefistrue).Insuch *cases,passingaCallbackwillthrowanexception.
*/ constunsigned long WHEEL_EVENT_CAUSED_BY_NO_LINE_OR_PAGE_DELTA_DEVICE = 0x0001; constunsigned long WHEEL_EVENT_CAUSED_BY_MOMENTUM = 0x0002; constunsigned long WHEEL_EVENT_CUSTOMIZED_BY_USER_PREFS = 0x0004; constunsigned long WHEEL_EVENT_ASYNC_ENABLED = 0x0008; // If any of the following flags is specified this method will throw an // exception in case the relevant overflowDelta has an unexpected value. constunsigned long WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_ZERO = 0x0010; constunsigned long WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_POSITIVE = 0x0020; constunsigned long WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_NEGATIVE = 0x0040; constunsigned long WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_ZERO = 0x0100; constunsigned long WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_POSITIVE = 0x0200; constunsigned long WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_NEGATIVE = 0x0400; void sendWheelEvent(in float aX,
in float aY,
in double aDeltaX,
in double aDeltaY,
in double aDeltaZ,
in unsigned long aDeltaMode,
in long aModifiers,
in long aLineOrPageDeltaX,
in long aLineOrPageDeltaY,
in unsigned long aOptions,
[optional] in nsISynthesizedEventCallback aCallback);
/** *NativemodifiersforsendNativeKeyEventandsendNativeMouseEvent. *TODO:TheothersendNative*Eventshouldtakethesevaluesinstead.
*/ constunsigned long NATIVE_MODIFIER_CAPS_LOCK = 0x00000001; constunsigned long NATIVE_MODIFIER_NUM_LOCK = 0x00000002; constunsigned long NATIVE_MODIFIER_SHIFT_LEFT = 0x00000100; constunsigned long NATIVE_MODIFIER_SHIFT_RIGHT = 0x00000200; constunsigned long NATIVE_MODIFIER_CONTROL_LEFT = 0x00000400; constunsigned long NATIVE_MODIFIER_CONTROL_RIGHT = 0x00000800; constunsigned long NATIVE_MODIFIER_ALT_LEFT = 0x00001000; constunsigned long NATIVE_MODIFIER_ALT_RIGHT = 0x00002000; constunsigned long NATIVE_MODIFIER_COMMAND_LEFT = 0x00004000; constunsigned long NATIVE_MODIFIER_COMMAND_RIGHT = 0x00008000; constunsigned long NATIVE_MODIFIER_HELP = 0x00010000; // On Windows, AltGraph key emulates the AltRight key on specific keyboard // layouts. Therefore, this shouldn't be used without `synthesizeNativeKey`. constunsigned long NATIVE_MODIFIER_ALT_GRAPH = 0x00020000; // Available only on macOS. constunsigned long NATIVE_MODIFIER_FUNCTION = 0x00100000; // Available only on macOS. When pressing a key in numeric key pad, this // must be included. constunsigned long NATIVE_MODIFIER_NUMERIC_KEY_PAD = 0x01000000;
/** *SeensIWidget::SynthesizeNativeKeyEvent * *Cannotbeaccessedfromunprivilegedcontext(notcontent-accessible) *WillthrowaDOMsecurityerrorifcalledwithoutchromeprivileges. * *Whenyouusethisfortests,usetheconstantsdefinedinNativeKeyCodes.js * *NOTE:Thesynthesizednativeeventwillbefiredasynchronously,andupon *completionthecallback,ifprovided,willbenotified.
*/ void sendNativeKeyEvent(in long aNativeKeyboardLayout,
in long aNativeKeyCode,
in unsigned long aModifierFlags,
in AString aCharacters,
in AString aUnmodifiedCharacters,
[optional] in nsISynthesizedEventCallback aCallback);
/** *SeensIWidget::SynthesizeNativeMouseEvent * *WillbecalledonthewidgetthatcontainsaElement. *Cannotbeaccessedfromunprivilegedcontext(notcontent-accessible) *WillthrowaDOMsecurityerrorifcalledwithoutchromeprivileges. * *@paramaScreenXXoffsetinthescreenindevicepixels. *@paramaScreenYYoffsetinthescreeninderivepixels. *@paramaNativeMessageOneofNATIVE_MOUSE_MESSAGE_* *@paramaButtonSameas`MouseEvent.button`value. *@paramaModifierFlagsSeensIWidget'snativemodifierflags. *@paramaElementOnWidgetAnelementwhichisonawidget. *@paramaCallbackThesynthesizednativeeventwillbefired *asynchronously,anduponcompletionthecallback,if *provided,willbenotified.
*/ constunsigned long NATIVE_MOUSE_MESSAGE_BUTTON_DOWN = 0x00000001; constunsigned long NATIVE_MOUSE_MESSAGE_BUTTON_UP = 0x00000002; constunsigned long NATIVE_MOUSE_MESSAGE_MOVE = 0x00000003; constunsigned long NATIVE_MOUSE_MESSAGE_ENTER_WINDOW = 0x00000004; constunsigned long NATIVE_MOUSE_MESSAGE_LEAVE_WINDOW = 0x00000005; void sendNativeMouseEvent(in long aScreenX,
in long aScreenY,
in unsigned long aNativeMessage,
in short aButton,
in unsigned long aModifierFlags,
in Element aElementOnWidget,
[optional] in nsISynthesizedEventCallback aCallback);
/** *IfMOUSESCROLL_WIN_SCROLL_LPARAM_NOT_NULLissetandaNativeMessageis *WM_VSCROLLorWM_HSCROLL,widgetwillsetthewindowhandletothelParam *insteadofNULL.
*/ constunsigned long MOUSESCROLL_WIN_SCROLL_LPARAM_NOT_NULL = 0x00010000;
/** *SeensIWidget::SynthesizeNativeMouseScrollEvent * *WillbecalledonthewidgetthatcontainsaElement. *Cannotbeaccessedfromunprivilegedcontext(notcontent-accessible) *WillthrowaDOMsecurityerrorifcalledwithoutchromeprivileges. * *NOTE:Thesynthesizednativeeventwillbefiredasynchronously,andupon *completionthecallback,ifprovided,willbenotified. * *@paramaNativeMessage *OnWindows:WM_MOUSEWHEEL(0x020A),WM_MOUSEHWHEEL(0x020E), *WM_VSCROLL(0x0115)orWM_HSCROLL(0x114).
*/ void sendNativeMouseScrollEvent(in long aScreenX,
in long aScreenY,
in unsigned long aNativeMessage,
in double aDeltaX,
in double aDeltaY,
in double aDeltaZ,
in unsigned long aModifierFlags,
in unsigned long aAdditionalFlags,
in Element aElement,
[optional] in nsISynthesizedEventCallback aCallback);
// The pointer is in a hover state above the digitizer const long TOUCH_HOVER = 0x01; // The pointer is in contact with the digitizer const long TOUCH_CONTACT = 0x02; // The pointer has been removed from the digitizer detection area const long TOUCH_REMOVE = 0x04; // The pointer has been canceled. Will cancel any pending os level // gestures that would be triggered as a result of completion of the // input sequence. This may not cancel moz platform related events // that might get tirggered by input already delivered. const long TOUCH_CANCEL = 0x08;
/** *PhasestatesforsendNativeTouchPadPinch.
*/ const long PHASE_BEGIN = 0; const long PHASE_UPDATE = 1; const long PHASE_END = 2;
/** *Createaneworupdateanexistingtouchpointonthedigitizer. *Totriggeroslevelgestures,individualtouchpointsshould *transitionthroughacompletesetoftouchstateswhichshouldbe *sentasindividualcalls.Forexample: *tap-msg1:TOUCH_CONTACT,msg2:TOUCH_REMOVE *drag-msg1-n:TOUCH_CONTACT(moving),msgn+1:TOUCH_REMOVE *hoverdrag-msg1-n:TOUCH_HOVER(moving),msgn+1:TOUCH_REMOVE * *Widgetsupport:Windows8.0+,Winrt/Win32.Otherwidgetswillthrow. * *@paramaPointerIdThetouchpointidtocreateorupdate. *@paramaTouchStateoneormoreofthetouchstateslistedabove *@paramaScreenX,aScreenYscreencoordsofthisevent *@paramaPressure0.0->1.0floatvalindicatingpressure *@paramaOrientation0->359degreevalueindicatingthe *orientationofthepointer.Use90fornormaltaps. *@paramaCallbackThesynthesizednativeeventwillbefiredasynchronously, *anduponcompletionthecallback,ifprovided,willbenotified. *@paramaElementIfthetouchpointneedstohappenonapopupwindow, *aElementinsidethepopupwindowneedstobespecified.
*/ void sendNativeTouchPoint(in unsigned long aPointerId,
in unsigned long aTouchState,
in long aScreenX,
in long aScreenY,
in double aPressure,
in unsigned long aOrientation,
[optional] in nsISynthesizedEventCallback aCallback,
[optional] in Element aElement); /** *Thesevaluesindicatetouchpadpinchphasestates: *PHASE_BEGIN *PHASE_UPDATE *PHASE_END *Widgetsupport:LinuxGTK3.18+. *@paramaEventPhaseThetouchpadpinchphaseusingstateslistedabove. *@paramaScaleEventswithPHASE_UPDATEwillchangethezoomlevelby *theratiobetweenthescaleofthecurrenteventandthescaleofthelastevent. *@paramaScreenX,aScreenYscreencoordsofthefocuspointofthisevent. *@paramaModifierFlagsisexpectedtocontainnativemodifiervalues.
*/ void sendNativeTouchpadPinch(in unsigned long aEventPhase,
in float aScale,
in long aScreenX,
in long aScreenY,
in long aModifierFlags);
/** *Simulatesnativetouchbasedtapsontheinputdigitizer.Events *triggeredbythiscallareinjectedattheoslevel.Eventsdonot *bypasswidgetlevelinputprocessingandassuchcanbeusedto *testwidgeteventlogicandasyncpan-zoomcontrollerfunctionality. *Cannotbeaccessedfromanunprivilegedcontext. * *Longtaps(basedontheaLongTapparameter)willbecompleted *asynchrnouslyafterthecallreturns.Longtapdelayisbasedon *theui.click_hold_context_menus.delayprefor1500msecifpref *isnotset. * *Widgetsupport:Windows8.0+,Winrt/Win32.Otherwidgetswill *throw. * *NOTE:Thesynthesizednativeeventwillbefiredasynchronously,andupon *completionthecallback,ifprovided,willbenotified. * *@paramaScreenX,aScreenYscreencoordsofthisevent *@paramaLongTaptrueifthetapshouldbelong,falseforashort *tap.
*/ void sendNativeTouchTap(in long aScreenX,
in long aScreenY,
in boolean aLongTap,
[optional] in nsISynthesizedEventCallback aCallback);
/** *Createaneworupdateanexistingpeninputonthedigitizer. * *Widgetsupport:Windows101809+.Otherwidgetswillthrow. * *NOTE:Thesynthesizednativeeventwillbefiredasynchronously,andupon *completionthecallback,ifprovided,willbenotified. * *@paramaPointerIdThetouchpointidtocreateorupdate. *@paramaPointerStateoneormoreoftheTOUCH_*listedabove *@paramaScreenXxscreencoordofthisevent *@paramaScreenYyscreencoordofthisevent *@paramaPressure0.0->1.0floatvalindicatingpressure *@paramaRotation0->359degreevalueindicatingtherotationofthe *pointer.Use0fornormaltaps. *@paramaTiltX-90->90degreevalueindicatingthetiltalongthex-axis *ofthepointer.Use0fornormaltaps. *@paramaTiltY-90->90degreevalueindicatingthetiltalongthey-axis *ofthepointer.Use0fornormaltaps. *@paramaButtonSameasMouseEvent::button.
*/ void sendNativePenInput(in unsigned long aPointerId,
in unsigned long aPointerState,
in long aScreenX,
in long aScreenY,
in double aPressure,
in unsigned long aRotation,
in long aTiltX,
in long aTiltY,
in long aButton,
[optional] in nsISynthesizedEventCallback aCallback,
[optional] in Element aElement);
/** *Sendanativeeventasiftheuserdoubletappedthetouchpadwithtwo *fingers. * *Widgetsupport:macOS. *@paramaScreenX,aScreenYscreencoordsofthefocuspointofthisevent. *@paramaModifierFlagsisexpectedtocontainnativemodifiervalues.
*/ void sendNativeTouchpadDoubleTap(in long aScreenX,
in long aScreenY,
in long aModifierFlags);
/** *Sendanativeeventasiftheuserpannedonthetouchpadwithtwo *fingers. * *NOTE:Thesynthesizednativeeventwillbefiredasynchronously,andupon *completionthecallback,ifprovided,willbenotified. * *Widgetsupport:Windows. *@paramaScreenX,aScreenYscreencoordsofthefocuspointofthisevent. *@paramaDeltaX,aDeltaYtheamountofdeltainthepan. *@paramaModifierFlagsisexpectedtocontainnativemodifiervalues.
*/ void sendNativeTouchpadPan(in unsigned long aEventPhase,
in long aScreenX,
in long aScreenY,
in double aDeltaX,
in double aDeltaY,
in long aModifierFlags,
[optional] in nsISynthesizedEventCallback aCallback);
/** *Returnsthenumberofstylesheetsthathavebeenparsedonthisdocument. *Usefultotestcaching.
*/
readonly attribute unsigned long parsedStyleSheets;
/** Synthesize a simple gesture event for a window. The event types *supportedare:MozSwipeGestureMayStart,MozSwipeGestureStart, *MozSwipeGestureUpdate,MozSwipeGestureEnd,MozSwipeGesture, *MozMagnifyGestureStart,MozMagnifyGestureUpdate,MozMagnifyGesture, *MozRotateGestureStart,MozRotateGestureUpdate,MozRotateGesture, *MozPressTapGesture,MozTapGesture,andMozEdgeUIGesture. * *Cannotbeaccessedfromunprivilegedcontext(not *content-accessible)WillthrowaDOMsecurityerrorifcalled *withoutchromeprivileges. * *@paramaTypeeventtype *@paramaXxoffsetinCSSpixels *@paramaYyoffsetinCSSpixels *@paramaDirectiondirection,usingconstantsdefinedinSimpleGestureEvent.webidl *@paramaDeltaamountofmagnificationorrotationformagnifyandrotationevents *@paramaModifiersmodifierspressed,usingconstantsdefinedinEvent.webidl *@paramaClickCountFortapgestures,thenumberoftaps.
*/ void sendSimpleGestureEvent(in AString aType,
in float aX,
in float aY,
in unsigned long aDirection,
in double aDelta,
in long aModifiers,
[optional] in unsigned long aClickCount);
/** *RetrievetheelementatpointaX,aYinthewindow'sdocument. * *@paramaIgnoreRootScrollFramewhetherornottoignoretherootscroll *framewhenretrievingtheelement.Iffalse,thismethodreturns *nullforcoordinatesoutsideoftheviewport. *@paramaFlushLayoutflusheslayoutiftrue.Otherwise,noflushoccurs.
*/
Element elementFromPoint(in float aX,
in float aY,
in boolean aIgnoreRootScrollFrame,
in boolean aFlushLayout);
/** *Retrieveallnodesthatintersectarectinthewindow'sdocument. * *@paramaXxreferencefortherectangleinCSSpixels *@paramaYyreferencefortherectangleinCSSpixels *@paramaTopSizeHowmuchtoexpanduptherectangle *@paramaRightSizeHowmuchtoexpandrighttherectangle *@paramaBottomSizeHowmuchtoexpanddowntherectangle *@paramaLeftSizeHowmuchtoexpandlefttherectangle *@paramaIgnoreRootScrollFramewhetherornottoignoretherootscroll *framewhenretrievingtheelement.Iffalse,thismethodreturns *nullforcoordinatesoutsideoftheviewport. *@paramaFlushLayoutflusheslayoutiftrue.Otherwise,noflushoccurs. *@paramaOnlyVisibleSettotrueifyouonlywantnodesthatpassavisibility *hittest. *@paramaTransparencyThresholdOnlyhasaneffectifaOnlyVisibleistrue. *Returnswhatamountoftransparencyisconsidered"opaqueenough" *toconsiderelements"notvisible".Thedefaultiseffectively"1" *(so,onlyopaqueelementswillstopanelementfrombeing *"visible").
*/
NodeList nodesFromRect(in float aX,
in float aY,
in float aTopSize,
in float aRightSize,
in float aBottomSize,
in float aLeftSize,
in boolean aIgnoreRootScrollFrame,
in boolean aFlushLayout,
in boolean aOnlyVisible,
[optional] in float aTransparencyThreshold);
/** *Comparethetwocanvases,returningthenumberofdifferingpixelsand *themaximumdifferenceinachannel.Thiswillthrowanerrorif *thedimensionsofthetwocanvasesaredifferent. * *Thismethodrequireschromeprivileges.
*/
uint32_t compareCanvases(in nsISupports aCanvas1,
in nsISupports aCanvas2,
out unsigned long aMaxDifference);
/** *Returnsthescrollpositionofthewindow'scurrentlyloadeddocument. * *@paramaFlushLayoutflusheslayoutiftrue.Otherwise,noflushoccurs. *@seensIDOMWindow::scrollX/Y
*/ void getScrollXY(in boolean aFlushLayout, out long aScrollX, out long aScrollY);
/** *Returnsthescrollpositionofthewindow'scurrentlyloadeddocument. * *@paramaFlushLayoutflusheslayoutiftrue.Otherwise,noflushoccurs. *@seensIDOMWindow::scrollX/Y
*/ void getScrollXYFloat(in boolean aFlushLayout, out float aScrollX, out float aScrollY);
/** *Returnsthescrollbarwidthofthewindow'sscrollframe. * *@paramaFlushLayoutflusheslayoutiftrue.Otherwise,noflushoccurs.
*/ void getScrollbarSize(in boolean aFlushLayout, out long aWidth, out long aHeight);
/** *Returnsthegivenelement'sboundswithoutflushingpendinglayoutchanges.
*/
DOMRect getBoundsWithoutFlushing(in Element aElement);
/** Returns the opaque region, for testing */
Array<DOMRect> getWidgetOpaqueRegion();
/** *Scrollthevisualviewporttothegivencoordinates,relativetothe *documentorigin. *Onlyapplicabletothewindowassociatedwiththerootcontentdocument. *Note:thisdoesnottakeeffectrightaway.Rather,thevisualscroll *requestissenttoAPZwiththenexttransaction,andwillbe *reflectedinthemainthreadwiththesubsequentAPZrepaintrequest. *PleaseseethecaveatsmentionedatPresShell::ScrollToVisual(),and *requestAPZreviewifaddinganewcalltothis.
*/ const long UPDATE_TYPE_RESTORE = 0; const long UPDATE_TYPE_MAIN_THREAD = 1; const long SCROLL_MODE_INSTANT = 0; const long SCROLL_MODE_SMOOTH = 1; void scrollToVisual(in float aOffsetX, in float aOffsetY,
in long aUpdateType, in long aScrollMode);
/** *Generateacontentcommandevent. * *Cannotbeaccessedfromunprivilegedcontext(notcontent-accessible) *WillthrowaDOMsecurityerrorifcalledwithoutchromeprivileges. * *@paramaTypeTypeofcommandcontenteventtosend.Canbeoneof"cut", *"copy","paste","delete","undo","redo","insertText", *"pasteTransferable",or"replaceText" *@paramaTransferableaninstanceofnsITransferablewhenaTypeis *"pasteTransferable" *@paramaStringThestringtobeinsertedintofocusededitorwhenaTypeis *"insertText"or"replaceText" *@ParamaOffsetTherelativetostartofselection *@paramaReplaceSrcStringthesourcestringofreplaceText.Ifnotmatched,donothing. *@paramaAdditionalFlagsSeethedescriptionofCONTENT_COMMAND_FLAG_*.
*/ void sendContentCommandEvent(in AString aType,
[optional] in nsITransferable aTransferable,
[optional] in AString aString,
[optional] in uint32_t aOffset,
[optional] in AString aReplaceSrcString,
[optional] in unsigned long aAdditionalFlags);
/** *sendQueryContentEvent()'saAdditionalFlagsmayhaveoneoffollowing *flagswhenaTypeisQUERY_SELECTED_TEXT.Ifoneofthemisset, *theresultisthefirstrangeoftheselectiontype.Seealso *nsISelectionController::SELECTION_*.
*/ constunsigned long QUERY_CONTENT_FLAG_SELECTION_SPELLCHECK = 0x0002; constunsigned long QUERY_CONTENT_FLAG_SELECTION_IME_RAWINPUT = 0x0004; constunsigned long QUERY_CONTENT_FLAG_SELECTION_IME_SELECTEDRAWTEXT = 0x0008; constunsigned long QUERY_CONTENT_FLAG_SELECTION_IME_CONVERTEDTEXT = 0x0010; constunsigned long QUERY_CONTENT_FLAG_SELECTION_IME_SELECTEDCONVERTEDTEXT = 0x0020; constunsigned long QUERY_CONTENT_FLAG_SELECTION_ACCESSIBILITY = 0x0040; constunsigned long QUERY_CONTENT_FLAG_SELECTION_FIND = 0x0080; constunsigned long QUERY_CONTENT_FLAG_SELECTION_URLSECONDARY = 0x0100; constunsigned long QUERY_CONTENT_FLAG_SELECTION_URLSTRIKEOUT = 0x0200;
/** *OneofsendQueryContentEvent()'saAdditionalFlags.Ifthisisspecified, *aOffsetisrelativetostartofselectionorcomposition.
*/ constunsigned long QUERY_CONTENT_FLAG_OFFSET_RELATIVE_TO_INSERTION_POINT = 0x0400;
/** *Synthesizeaquerycontentevent.Notethattheresultvaluereturnedhere *isinLayoutDevicepixelsratherthanCSSpixels. * *@paramaTypeOneofthefollowingconstvalues.Andseealsoeachcomment *fortheotherparametersandtheresult. *@paramaAdditionalFlagsSeethedescriptionofQUERY_CONTENT_FLAG_*.
*/
nsIQueryContentEventResult sendQueryContentEvent(
in unsigned long aType,
in long long aOffset,
in unsigned long aLength,
in long aX,
in long aY,
[optional] in unsigned long aAdditionalFlags);
/** *Calledwhentheremotechildframehaschangeditsfullscreenstate, *whenenteringfullscreen,andwhentheoriginwhichisfullscreenchanges. *aFrameElementistheiframeelementwhichcontainsthechild-process *fullscreendocument.
*/ void remoteFrameFullscreenChanged(
in Element aFrameElement,
[optional] in boolean aFullscreenKeyboardLockEnabled);
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.213Bemerkung:
(vorverarbeitet am 2026-08-27)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.