tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

PWebBrowserPersistSerialize.ipdl (1187B)


      1 /* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3  * License, v. 2.0. If a copy of the MPL was not distributed with this
      4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      5 
      6 include protocol PWebBrowserPersistDocument;
      7 
      8 namespace mozilla {
      9 
     10 // This actor represents both an nsIWebBrowserPersistWriteCompletion
     11 // and the nsIOutputStream passed with it to the writeContent method.
     12 [ManualDealloc, ChildImpl=virtual, ParentImpl=virtual]
     13 protocol PWebBrowserPersistSerialize {
     14   manager PWebBrowserPersistDocument;
     15 
     16 parent:
     17   // This sends the data with no flow control, so the parent could
     18   // wind up buffering an arbitrarily large amount of data...  but
     19   // it's a serialized DOM that's already in memory as DOM nodes, so
     20   // this is at worst just a constant-factor increase in memory usage.
     21   // Also, Chromium does the same thing; see
     22   // content::RenderViewImpl::didSerializeDataForFrame.
     23   async WriteData(uint8_t[] aData);
     24 
     25   // This is the onFinish method.
     26   async __delete__(nsCString aContentType,
     27                    nsresult aStatus);
     28 };
     29 
     30 } // namespace mozilla