зеркало из https://github.com/mozilla/gecko-dev.git
127 строки
4.1 KiB
Plaintext
127 строки
4.1 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;
|
|
webidl Element;
|
|
|
|
[builtinclass, scriptable, uuid(8e49f7b0-1f98-4939-bf91-e9c39cd56434)]
|
|
interface nsITabParent : nsISupports
|
|
{
|
|
void getChildProcessOffset(out int32_t aCssX, out int32_t aCssY);
|
|
|
|
/**
|
|
* Manages the docshell active state of the remote browser. Setting the
|
|
* docShell to be active will also cause it to render layers and upload
|
|
* them to the compositor. Setting the docShell as not active will clear
|
|
* those layers.
|
|
*/
|
|
attribute boolean docShellIsActive;
|
|
|
|
/**
|
|
* When set to true, this tells the child to paint and upload layers to
|
|
* the compositor. When set to false, previous layers are cleared from
|
|
* the compositor, but only if preserveLayers is also set to false.
|
|
*/
|
|
attribute boolean renderLayers;
|
|
|
|
/**
|
|
* True if layers are being rendered and the compositor has reported
|
|
* receiving them.
|
|
*/
|
|
readonly attribute boolean hasLayers;
|
|
|
|
/**
|
|
* Sends a message to the child ensuring that they paint as early as
|
|
* possible. This will send the message to paint even if renderLayers
|
|
* is already true.
|
|
*/
|
|
void forceRepaint();
|
|
|
|
/**
|
|
* Adjusts the tab's active state in the process priority manager,
|
|
* allowing its process to be given a lower priority.
|
|
*/
|
|
void deprioritize();
|
|
|
|
/**
|
|
* 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);
|
|
|
|
readonly attribute uint64_t tabId;
|
|
|
|
/**
|
|
* The OS level process Id of the related child process.
|
|
*/
|
|
readonly attribute int32_t osPid;
|
|
|
|
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;
|
|
|
|
/**
|
|
* The frame element which currently embeds this nsITabParent object.
|
|
*/
|
|
readonly attribute Element ownerElement;
|
|
|
|
/**
|
|
* 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.
|
|
* Returns whether we were successfully able to notify APZ.
|
|
* If this function returns true, APZ (which may live in another process)
|
|
* may still reject the autoscroll, but it's then APZ's reponsibility
|
|
* to notify content via an "autoscroll-rejected-by-apz" message.
|
|
*/
|
|
boolean 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);
|
|
|
|
/**
|
|
* Save a recording of the associated content process' behavior to the
|
|
* specified filename. Returns whether the process is being recorded.
|
|
*/
|
|
bool saveRecording(in AString aFileName);
|
|
|
|
/**
|
|
* Asynchronously retrieve a JSON string representing a log of the
|
|
* content blocking events happened so far in the current tab from the
|
|
* content process.
|
|
*
|
|
* This returns a Promise which resolves to a string on success, and is
|
|
* rejected on failure. For documentation on the string format, please
|
|
* see nsISecureBrowserUI.contentBlockingLogJSON.
|
|
*/
|
|
Promise getContentBlockingLog();
|
|
};
|