From 280397cf5c93c8fcb83401a92975a91a2c949efd Mon Sep 17 00:00:00 2001 From: Kershaw Chang Date: Mon, 30 May 2016 08:47:00 +0200 Subject: [PATCH] Bug 1258600 - Part1: Add PresentationConnectionClosedEvent, r=smaug --- .../PresentationConnectionClosedEvent.webidl | 39 +++++++++++++++++++ dom/webidl/moz.build | 1 + 2 files changed, 40 insertions(+) create mode 100644 dom/webidl/PresentationConnectionClosedEvent.webidl diff --git a/dom/webidl/PresentationConnectionClosedEvent.webidl b/dom/webidl/PresentationConnectionClosedEvent.webidl new file mode 100644 index 000000000000..aac79150e064 --- /dev/null +++ b/dom/webidl/PresentationConnectionClosedEvent.webidl @@ -0,0 +1,39 @@ +/* -*- 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/. + */ + +enum PresentationConnectionClosedReason +{ + // The communication encountered an unrecoverable error. + "error", + + // |PresentationConnection.close()| is called by controlling browsing context + // or the receiving browsing context. + "closed", + + // The connection is closed because the destination browsing context + // that owned the connection navigated or was discarded. + "wentaway" +}; + +[Constructor(DOMString type, + PresentationConnectionClosedEventInit eventInitDict), + Pref="dom.presentation.enabled", + Func="Navigator::HasPresentationSupport"] +interface PresentationConnectionClosedEvent : Event +{ + readonly attribute PresentationConnectionClosedReason reason; + + // The message is a human readable description of + // how the communication channel encountered an error. + // It is empty when the closed reason is closed or wentaway. + readonly attribute DOMString message; +}; + +dictionary PresentationConnectionClosedEventInit : EventInit +{ + required PresentationConnectionClosedReason reason; + DOMString message = ""; +}; diff --git a/dom/webidl/moz.build b/dom/webidl/moz.build index 16b5ed339e59..907412f2f6dc 100644 --- a/dom/webidl/moz.build +++ b/dom/webidl/moz.build @@ -803,6 +803,7 @@ GENERATED_EVENTS_WEBIDL_FILES = [ 'PopStateEvent.webidl', 'PopupBlockedEvent.webidl', 'PresentationConnectionAvailableEvent.webidl', + 'PresentationConnectionClosedEvent.webidl', 'ProgressEvent.webidl', 'RecordErrorEvent.webidl', 'ScrollViewChangeEvent.webidl',