js/src/gc/Rooting.h

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
     2  * vim: set ts=8 sts=4 et sw=4 tw=99:
     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/. */
     7 #ifndef gc_Rooting_h
     8 #define gc_Rooting_h
    10 #include "js/RootingAPI.h"
    12 class JSAtom;
    14 namespace js {
    16 class PropertyName;
    17 class Shape;
    19 namespace types { struct TypeObject; }
    21 // These are internal counterparts to the public types such as HandleObject.
    23 typedef JS::Handle<Shape*>             HandleShape;
    24 typedef JS::Handle<types::TypeObject*> HandleTypeObject;
    25 typedef JS::Handle<JSAtom*>            HandleAtom;
    26 typedef JS::Handle<PropertyName*>      HandlePropertyName;
    27 typedef JS::Handle<js::ScriptSourceObject*> HandleScriptSource;
    29 typedef JS::MutableHandle<Shape*>      MutableHandleShape;
    30 typedef JS::MutableHandle<JSAtom*>     MutableHandleAtom;
    32 typedef JS::Rooted<Shape*>             RootedShape;
    33 typedef JS::Rooted<types::TypeObject*> RootedTypeObject;
    34 typedef JS::Rooted<JSAtom*>            RootedAtom;
    35 typedef JS::Rooted<PropertyName*>      RootedPropertyName;
    36 typedef JS::Rooted<js::ScriptSourceObject*> RootedScriptSource;
    38 } /* namespace js */
    40 #endif /* gc_Rooting_h */

mercurial