xpcom/glue/standalone/nsXPCOMGlue.h

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
     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/. */
     6 #ifndef nsXPCOMGlue_h__
     7 #define nsXPCOMGlue_h__
     9 #include "nscore.h"
    11 #ifdef XPCOM_GLUE
    13 /**
    14  * The following functions are only available in the standalone glue.
    15  */
    17 /**
    18  * Enabled preloading of dynamically loaded libraries
    19  */
    20 extern "C" NS_HIDDEN_(void)
    21 XPCOMGlueEnablePreload();
    23 /**
    24  * Initialize the XPCOM glue by dynamically linking against the XPCOM
    25  * shared library indicated by xpcomFile.
    26  */
    27 extern "C" NS_HIDDEN_(nsresult)
    28 XPCOMGlueStartup(const char* xpcomFile);
    30 typedef void (*NSFuncPtr)();
    32 struct nsDynamicFunctionLoad
    33 {
    34     const char *functionName;
    35     NSFuncPtr  *function;
    36 };
    38 /**
    39  * Dynamically load functions from libxul.
    40  *
    41  * @throws NS_ERROR_NOT_INITIALIZED if XPCOMGlueStartup() was not called or
    42  *         if the libxul DLL was not found.
    43  * @throws NS_ERROR_LOSS_OF_SIGNIFICANT_DATA if only some of the required
    44  *         functions were found.
    45  */
    46 extern "C" NS_HIDDEN_(nsresult)
    47 XPCOMGlueLoadXULFunctions(const nsDynamicFunctionLoad *symbols);
    49 #endif // XPCOM_GLUE
    50 #endif // nsXPCOMGlue_h__

mercurial