/* 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 nsIURI; %{C++ namespace mozilla { namespace dom { class BlobImpl; }} %} [ptr] native BlobImplPtr(mozilla::dom::BlobImpl); /** * nsIURIWithBlobImpl is implemented by URIs which are associated with a * specific BlobImpl. */ [builtinclass, builtinclass, uuid(331b41d3-3506-4ab5-bef9-aab41e3202a3)] interface nsIURIWithBlobImpl : nsISupports { /** * The BlobImpl associated with the resource returned when loading this uri. */ readonly attribute nsISupports blobImpl; }; [builtinclass, uuid(d3e8c9fa-ff07-47cc-90dc-0cc5445ddb59)] interface nsIBlobURIMutator : nsISupports { /** * Associates a blobImpl to the mutated URI. * Would normally return nsIURIMutator, but since it only gets called * from C++, there is no need for that. */ [must_use, noscript] void setBlobImpl(in BlobImplPtr blobImpl); };