gecko-dev/dom/interfaces/base/nsITabParent.idl
Botond Ballo 61926bc8e4 Bug 1386777 - Interpret autoscroll anchor coordinates correctly when there is a device scale. r=kats
MozReview-Commit-ID: 6caXxWjuqxm

--HG--
extra : rebase_source : 4052dd05a4c05cc8fc4effe0f7911179aa8005d0
2017-08-02 20:11:07 -04:00

97 lines
3.0 KiB
Plaintext

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "domstubs.idl"
interface nsIPrincipal;
typedef unsigned long long nsViewID;
[builtinclass, scriptable, uuid(8e49f7b0-1f98-4939-bf91-e9c39cd56434)]
interface nsITabParent : nsISupports
{
void getChildProcessOffset(out int32_t aCssX, out int32_t aCssY);
readonly attribute boolean useAsyncPanZoom;
/**
* Manages the docshell active state of the remote browser.
*/
attribute boolean docShellIsActive;
/**
* Whether this tabParent is in prerender mode.
*/
[infallible] readonly attribute boolean isPrerendered;
/**
* As an optimisation, setting the docshell's active state to
* inactive also triggers a layer invalidation to free up some
* potentially unhelpful memory usage. Calling preserveLayers
* will cause the layers to be preserved even for inactive
* docshells.
*/
void preserveLayers(in boolean aPreserveLayers);
/**
* During interactions where painting performance
* is more important than scrolling, we may temporarily
* suppress the displayport. Each enable called must be matched
* with a disable call.
*/
void suppressDisplayport(in bool aEnabled);
readonly attribute uint64_t tabId;
/**
* The OS level process Id of the related child process.
*/
readonly attribute int32_t osPid;
/**
* Navigate by key. If aForDocumentNavigation is true, navigate by document.
* If aForDocumentNavigation is false, navigate by element.
*
* If aForward is true, navigate to the first focusable element or document.
* If aForward is false, navigate to the last focusable element or document.
*/
void navigateByKey(in bool aForward, in bool aForDocumentNavigation);
readonly attribute boolean hasContentOpener;
/**
* True if we've previously received layers for this tab when switching to
* it.
*/
readonly attribute boolean hasPresented;
/**
* Ensures that the content process which has this tab parent has all of the
* permissions required to load a document with the given principal.
*/
void transmitPermissionsForPrincipal(in nsIPrincipal aPrincipal);
/**
* True if any of the frames loaded in the TabChild have registered
* an onbeforeunload event handler.
*/
readonly attribute boolean hasBeforeUnload;
/**
* Notify APZ to start autoscrolling.
* (aAnchorX, aAnchorY) are the coordinates of the autoscroll anchor,
* in CSS coordinates relative to the screen. aScrollId and
* aPresShellId identify the scroll frame that content chose to scroll.
*/
void startApzAutoscroll(in float aAnchorX, in float aAnchorY,
in nsViewID aScrollId, in uint32_t aPresShellId);
/**
* Notify APZ to stop autoscrolling.
* aScrollId and aPresShellId identify the scroll frame that is being
* autoscrolled.
*/
void stopApzAutoscroll(in nsViewID aScrollId, in uint32_t aPresShellId);
};