gecko-dev/dom/webidl/PageTransitionEvent.webidl
J. Ryan Stinnett bbd75cba2e Bug 1438697 - Add inFrameSwap property on page transition. r=mrbkap
During a frame swap (using the `swapFrameLoaders` API on a frame loader owner),
we dispatch `pagehide` events before swapping and `pageshow` events after
swapping.

For some consumers that watch these events (such as DevTools), it would be
helpful to filter out the ones that sent because of frame swapping.  This change
adds a chrome-only `inFrameSwap` property to such events so that we can tell
them apart.

MozReview-Commit-ID: QzIDuaF2zC

--HG--
extra : rebase_source : 3ac15e34c18b648c4cb060e69587e39e4ebaab60
2018-02-16 13:05:06 -06:00

33 lines
1.1 KiB
Plaintext

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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/.
*/
/**
* The PageTransitionEvent interface is used for the pageshow and
* pagehide events, which are generic events that apply to both page
* load/unload and saving/restoring a document from session history.
*/
[Constructor(DOMString type, optional PageTransitionEventInit eventInitDict)]
interface PageTransitionEvent : Event
{
/**
* Set to true if the document has been or will be persisted across
* firing of the event. For example, if a document is being cached in
* session history, |persisted| is true for the PageHide event.
*/
readonly attribute boolean persisted;
// Whether the document is in the middle of a frame swap.
[ChromeOnly]
readonly attribute boolean inFrameSwap;
};
dictionary PageTransitionEventInit : EventInit
{
boolean persisted = false;
boolean inFrameSwap = false;
};