dom/interfaces/base/nsITabParent.idl
author Mike Conley <mconley@mozilla.com>
Sat, 04 Mar 2017 14:19:22 -0500
changeset 495477 0a095cccd2b35d336f3d33119d7db2ed238e1117
parent 414694 cfcd8c4f3a36b958002010a9c6d461a7769996d5
child 502424 f86ef08fdae0a012c28e1264e83238cfb31ccc2e
permissions -rw-r--r--
Bug 1342464 - Collect Telemetry on when a tab switch spinner is shown. r?billm, data-review=liuche MozReview-Commit-ID: 1Ss2f9A2JtK

/* 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"

[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;
};