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 }