diff options
Diffstat (limited to 'dom/chrome-webidl/PrecompiledScript.webidl')
-rw-r--r-- | dom/chrome-webidl/PrecompiledScript.webidl | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/dom/chrome-webidl/PrecompiledScript.webidl b/dom/chrome-webidl/PrecompiledScript.webidl new file mode 100644 index 0000000000..4a71f67fc8 --- /dev/null +++ b/dom/chrome-webidl/PrecompiledScript.webidl @@ -0,0 +1,43 @@ +/* -*- 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/. + */ + +dictionary ExecuteInGlobalOptions { + /** + * If `reportExceptions` is set to true and any exception happens + * while executing the script, the exceptions will automatically be logged + * in the console. This helps log the exception with the right global innerWindowID + * and make it display in the right DevTools console. + */ + boolean reportExceptions = false; +}; + +/** + * Represents a pre-compiled JS script, which can be repeatedly executed in + * different globals without being re-parsed. + */ +[ChromeOnly, Exposed=Window] +interface PrecompiledScript { + /** + * Executes the script in the context of, and with the security principal + * of, the given object's global. If compiled with a return value, returns + * the value of the script's last expression. Otherwise returns undefined. + */ + [Throws] + any executeInGlobal(object global, optional ExecuteInGlobalOptions options = {}); + + /** + * The URL that the script was loaded from. + */ + [Pure] + readonly attribute DOMString url; + + /** + * True if the script was compiled with a return value, and will return the + * value of its last expression when executed. + */ + [Pure] + readonly attribute boolean hasReturnValue; +}; |