tor-browser

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

PSessionStorageObserver.ipdl (1514B)


      1 /* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
      2 /* vim: set sw=4 ts=8 et tw=80 ft=cpp : */
      3 /* This Source Code Form is subject to the terms of the Mozilla Public
      4  * License, v. 2.0. If a copy of the MPL was not distributed with this
      5  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      6 
      7 include protocol PContent;
      8 
      9 namespace mozilla {
     10 namespace dom {
     11 
     12 /**
     13  * Protocol used to relay chrome observer notifications related to clearing data
     14  * to SessionStorageManager instances in content processes. A single instance is
     15  * created by each content process when LocalStorage NextGen is enabled. When
     16  * LSNG is disabled, the notifications are instead propagated via
     17  * PBackgroundStorageChild. This does mean there are potentially slight ordering
     18  * differences in when the notification will be received and processed. It's
     19  * okay for this protocol to be managed by PContent rather than PBackground
     20  * because these notifications are both rare and to-child-only. (Legacy
     21  * LocalStorage was moved to PBackground from PContent because of parent-process
     22  * main-thread contention for the processing of "parent:" messages in a very
     23  * performance-sensitive context!)
     24  */
     25 [ManualDealloc, ChildImpl=virtual, ParentImpl=virtual]
     26 async protocol PSessionStorageObserver
     27 {
     28   manager PContent;
     29 
     30 parent:
     31   async DeleteMe();
     32 
     33 child:
     34   async __delete__();
     35 
     36   async Observe(nsCString topic,
     37                 nsString originAttributesPattern,
     38                 nsCString originScope);
     39 };
     40 
     41 }
     42 }