/* -*- 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/. */ #include "nsISupports.idl" interface nsFrameLoader; %{C++ class nsFrameLoader; %} native alreadyAddRefed_nsFrameLoader(already_AddRefed); // We define a "native" type for nsFrameLoader so that the rust xpidl // codegen doesn't try to do anything with it. [ptr] native nativeFrameLoader(nsFrameLoader); [scriptable, builtinclass, uuid(adc1b3ba-8deb-4943-8045-e6de0044f2ce)] interface nsIFrameLoaderOwner : nsISupports { /** * The frame loader owned by this nsIFrameLoaderOwner */ [noscript, notxpcom] alreadyAddRefed_nsFrameLoader GetFrameLoader(); /** * This method is used internally by SwapFrameLoaders to set the frame loader * on the target nsFrameLoader. * * Avoid using this method outside of that context, and instead prefer using * SwapFrameLoaders. */ [noscript, notxpcom] void internalSetFrameLoader(in nativeFrameLoader aNewFrameLoader); };