Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  PBackgroundStorage.ipdl   Sprache: unbekannt

 
/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
/* vim: set sw=4 ts=8 et tw=80 ft=cpp : */
/* 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 protocol PBackground;

include "mozilla/dom/quota/SerializationHelpers.h";

using mozilla::OriginAttributesPattern
  from "mozilla/OriginAttributes.h";

namespace mozilla {
namespace dom {

/* This protocol bridges async access to the database thread running on the
 * parent process and caches running on the child process.
 */
[ManualDealloc, ChildImpl=virtual, ParentImpl=virtual]
sync protocol PBackgroundStorage
{
  manager PBackground;

parent:
  async DeleteMe();

  sync Preload(nsCString originSuffix,
               nsCString originNoSuffix,
               uint32_t alreadyLoadedCount)
    returns (nsString[] keys, nsString[] values, nsresult rv);

  async AsyncPreload(nsCString originSuffix, nsCString originNoSuffix,
                     bool priority);
  async AsyncGetUsage(nsCString scope);
  async AsyncAddItem(nsCString originSuffix, nsCString originNoSuffix,
                     nsString key, nsString value);
  async AsyncUpdateItem(nsCString originSuffix, nsCString originNoSuffix,
                        nsString key, nsString value);
  async AsyncRemoveItem(nsCString originSuffix, nsCString originNoSuffix,
                        nsString key);
  async AsyncClear(nsCString originSuffix, nsCString originNoSuffix);
  async AsyncFlush();

  // These are privileged operations for use only by the observer API for
  // delayed initialization and clearing origins and will never be used from
  // content process children.  Ideally these would be guarded by checks or
  // exist on a separate, privileged interface, but PBackgroundStorage is
  // already insecure.
  async Startup();
  async ClearAll();
  async ClearMatchingOrigin(nsCString originNoSuffix);
  async ClearMatchingOriginAttributes(OriginAttributesPattern pattern);

child:
  async __delete__();

  async Observe(nsCString topic,
                nsString originAttributesPattern,
                nsCString originScope);
  async OriginsHavingData(nsCString[] origins);
  async LoadItem(nsCString originSuffix, nsCString originNoSuffix, nsString key,
                 nsString value);
  async LoadDone(nsCString originSuffix, nsCString originNoSuffix, nsresult rv);
  async LoadUsage(nsCString scope, int64_t usage);
  async Error(nsresult rv);
};

}
}

[ Dauer der Verarbeitung: 0.26 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge