js/src/vm/CommonPropertyNames.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 /* A higher-order macro for enumerating all cached property names. */
     9 #ifndef vm_CommonPropertyNames_h
    10 #define vm_CommonPropertyNames_h
    12 #include "jsprototypes.h"
    14 #define FOR_EACH_COMMON_PROPERTYNAME(macro) \
    15     macro(anonymous, anonymous, "anonymous") \
    16     macro(Any, Any, "Any") \
    17     macro(apply, apply, "apply") \
    18     macro(arguments, arguments, "arguments") \
    19     macro(as, as, "as") \
    20     macro(ArrayIteratorNext, ArrayIteratorNext, "ArrayIteratorNext") \
    21     macro(ArrayType, ArrayType, "ArrayType") \
    22     macro(ArrayValues, ArrayValues, "ArrayValues") \
    23     macro(buffer, buffer, "buffer") \
    24     macro(builder, builder, "builder") \
    25     macro(byteLength, byteLength, "byteLength") \
    26     macro(byteAlignment, byteAlignment, "byteAlignment") \
    27     macro(byteOffset, byteOffset, "byteOffset") \
    28     macro(bytes, bytes, "bytes") \
    29     macro(BYTES_PER_ELEMENT, BYTES_PER_ELEMENT, "BYTES_PER_ELEMENT") \
    30     macro(call, call, "call") \
    31     macro(callee, callee, "callee") \
    32     macro(caller, caller, "caller") \
    33     macro(callFunction, callFunction, "callFunction") \
    34     macro(caseFirst, caseFirst, "caseFirst") \
    35     macro(Collator, Collator, "Collator") \
    36     macro(CollatorCompareGet, CollatorCompareGet, "Intl_Collator_compare_get") \
    37     macro(columnNumber, columnNumber, "columnNumber") \
    38     macro(comma, comma, ",") \
    39     macro(compare, compare, "compare") \
    40     macro(configurable, configurable, "configurable") \
    41     macro(construct, construct, "construct") \
    42     macro(constructor, constructor, "constructor") \
    43     macro(ConvertAndCopyTo, ConvertAndCopyTo, "ConvertAndCopyTo") \
    44     macro(currency, currency, "currency") \
    45     macro(currencyDisplay, currencyDisplay, "currencyDisplay") \
    46     macro(std_iterator, std_iterator, "@@iterator") \
    47     macro(DateTimeFormat, DateTimeFormat, "DateTimeFormat") \
    48     macro(DateTimeFormatFormatGet, DateTimeFormatFormatGet, "Intl_DateTimeFormat_format_get") \
    49     macro(decodeURI, decodeURI, "decodeURI") \
    50     macro(decodeURIComponent, decodeURIComponent, "decodeURIComponent") \
    51     macro(default_, default_, "default") \
    52     macro(defineProperty, defineProperty, "defineProperty") \
    53     macro(defineGetter, defineGetter, "__defineGetter__") \
    54     macro(defineSetter, defineSetter, "__defineSetter__") \
    55     macro(delete, delete_, "delete") \
    56     macro(deleteProperty, deleteProperty, "deleteProperty") \
    57     macro(displayURL, displayURL, "displayURL") \
    58     macro(done, done, "done") \
    59     macro(each, each, "each") \
    60     macro(elementType, elementType, "elementType") \
    61     macro(empty, empty, "") \
    62     macro(encodeURI, encodeURI, "encodeURI") \
    63     macro(encodeURIComponent, encodeURIComponent, "encodeURIComponent") \
    64     macro(enumerable, enumerable, "enumerable") \
    65     macro(enumerate, enumerate, "enumerate") \
    66     macro(escape, escape, "escape") \
    67     macro(eval, eval, "eval") \
    68     macro(false, false_, "false") \
    69     macro(fieldOffsets, fieldOffsets, "fieldOffsets") \
    70     macro(fieldTypes, fieldTypes, "fieldTypes") \
    71     macro(fileName, fileName, "fileName") \
    72     macro(FillTypedArrayWithValue, FillTypedArrayWithValue, "FillTypedArrayWithValue") \
    73     macro(fix, fix, "fix") \
    74     macro(float32, float32, "float32") \
    75     macro(float32x4, float32x4, "float32x4") \
    76     macro(float64, float64, "float64") \
    77     macro(format, format, "format") \
    78     macro(from, from, "from") \
    79     macro(get, get, "get") \
    80     macro(getInternals, getInternals, "getInternals") \
    81     macro(getOwnPropertyDescriptor, getOwnPropertyDescriptor, "getOwnPropertyDescriptor") \
    82     macro(getOwnPropertyNames, getOwnPropertyNames, "getOwnPropertyNames") \
    83     macro(getPropertyDescriptor, getPropertyDescriptor, "getPropertyDescriptor") \
    84     macro(global, global, "global") \
    85     macro(Handle, Handle, "Handle") \
    86     macro(has, has, "has") \
    87     macro(hasOwn, hasOwn, "hasOwn") \
    88     macro(hasOwnProperty, hasOwnProperty, "hasOwnProperty") \
    89     macro(ignoreCase, ignoreCase, "ignoreCase") \
    90     macro(ignorePunctuation, ignorePunctuation, "ignorePunctuation") \
    91     macro(index, index, "index") \
    92     macro(InitializeCollator, InitializeCollator, "InitializeCollator") \
    93     macro(InitializeDateTimeFormat, InitializeDateTimeFormat, "InitializeDateTimeFormat") \
    94     macro(InitializeNumberFormat, InitializeNumberFormat, "InitializeNumberFormat") \
    95     macro(innermost, innermost, "innermost") \
    96     macro(input, input, "input") \
    97     macro(int32x4, int32x4, "int32x4") \
    98     macro(isFinite, isFinite, "isFinite") \
    99     macro(isNaN, isNaN, "isNaN") \
   100     macro(isPrototypeOf, isPrototypeOf, "isPrototypeOf") \
   101     macro(iterate, iterate, "iterate") \
   102     macro(Infinity, Infinity, "Infinity") \
   103     macro(int8, int8, "int8") \
   104     macro(int16, int16, "int16") \
   105     macro(int32, int32, "int32") \
   106     macro(isExtensible, isExtensible, "isExtensible") \
   107     macro(iterator, iterator, "iterator") \
   108     macro(iteratorIntrinsic, iteratorIntrinsic, "__iterator__") \
   109     macro(join, join, "join") \
   110     macro(keys, keys, "keys") \
   111     macro(lastIndex, lastIndex, "lastIndex") \
   112     macro(length, length, "length") \
   113     macro(let, let, "let") \
   114     macro(line, line, "line") \
   115     macro(lineNumber, lineNumber, "lineNumber") \
   116     macro(loc, loc, "loc") \
   117     macro(locale, locale, "locale") \
   118     macro(lookupGetter, lookupGetter, "__lookupGetter__") \
   119     macro(lookupSetter, lookupSetter, "__lookupSetter__") \
   120     macro(maximumFractionDigits, maximumFractionDigits, "maximumFractionDigits") \
   121     macro(maximumSignificantDigits, maximumSignificantDigits, "maximumSignificantDigits") \
   122     macro(message, message, "message") \
   123     macro(minimumFractionDigits, minimumFractionDigits, "minimumFractionDigits") \
   124     macro(minimumIntegerDigits, minimumIntegerDigits, "minimumIntegerDigits") \
   125     macro(minimumSignificantDigits, minimumSignificantDigits, "minimumSignificantDigits") \
   126     macro(module, module, "module") \
   127     macro(multiline, multiline, "multiline") \
   128     macro(name, name, "name") \
   129     macro(NaN, NaN, "NaN") \
   130     macro(next, next, "next") \
   131     macro(NFC, NFC, "NFC") \
   132     macro(NFD, NFD, "NFD") \
   133     macro(NFKC, NFKC, "NFKC") \
   134     macro(NFKD, NFKD, "NFKD") \
   135     macro(noSuchMethod, noSuchMethod, "__noSuchMethod__") \
   136     macro(NumberFormat, NumberFormat, "NumberFormat") \
   137     macro(NumberFormatFormatGet, NumberFormatFormatGet, "Intl_NumberFormat_format_get") \
   138     macro(numeric, numeric, "numeric") \
   139     macro(objectArray, objectArray, "[object Array]") \
   140     macro(objectFunction, objectFunction, "[object Function]") \
   141     macro(objectNull, objectNull, "[object Null]") \
   142     macro(objectNumber, objectNumber, "[object Number]") \
   143     macro(objectObject, objectObject, "[object Object]") \
   144     macro(objectString, objectString, "[object String]") \
   145     macro(objectUndefined, objectUndefined, "[object Undefined]") \
   146     macro(objectWindow, objectWindow, "[object Window]") \
   147     macro(of, of, "of") \
   148     macro(offset, offset, "offset") \
   149     macro(optimizedOut, optimizedOut, "optimizedOut") \
   150     macro(missingArguments, missingArguments, "missingArguments") \
   151     macro(outOfMemory, outOfMemory, "out of memory") \
   152     macro(parseFloat, parseFloat, "parseFloat") \
   153     macro(parseInt, parseInt, "parseInt") \
   154     macro(pattern, pattern, "pattern") \
   155     macro(preventExtensions, preventExtensions, "preventExtensions") \
   156     macro(propertyIsEnumerable, propertyIsEnumerable, "propertyIsEnumerable") \
   157     macro(proto, proto, "__proto__") \
   158     macro(prototype, prototype, "prototype") \
   159     macro(Reify, Reify, "Reify") \
   160     macro(return, return_, "return") \
   161     macro(sensitivity, sensitivity, "sensitivity") \
   162     macro(set, set, "set") \
   163     macro(shape, shape, "shape") \
   164     macro(source, source, "source") \
   165     macro(stack, stack, "stack") \
   166     macro(sticky, sticky, "sticky") \
   167     macro(StructType, StructType, "StructType") \
   168     macro(style, style, "style") \
   169     macro(test, test, "test") \
   170     macro(throw, throw_, "throw") \
   171     macro(timeZone, timeZone, "timeZone") \
   172     macro(toGMTString, toGMTString, "toGMTString") \
   173     macro(toISOString, toISOString, "toISOString") \
   174     macro(toJSON, toJSON, "toJSON") \
   175     macro(toLocaleString, toLocaleString, "toLocaleString") \
   176     macro(toSource, toSource, "toSource") \
   177     macro(toString, toString, "toString") \
   178     macro(toUTCString, toUTCString, "toUTCString") \
   179     macro(true, true_, "true") \
   180     macro(unescape, unescape, "unescape") \
   181     macro(uneval, uneval, "uneval") \
   182     macro(uint8, uint8, "uint8") \
   183     macro(uint8Clamped, uint8Clamped, "uint8Clamped") \
   184     macro(uint16, uint16, "uint16") \
   185     macro(uint32, uint32, "uint32") \
   186     macro(unsized, unsized, "unsized") \
   187     macro(unwatch, unwatch, "unwatch") \
   188     macro(url, url, "url") \
   189     macro(usage, usage, "usage") \
   190     macro(useGrouping, useGrouping, "useGrouping") \
   191     macro(useAsm, useAsm, "use asm") \
   192     macro(useStrict, useStrict, "use strict") \
   193     macro(value, value, "value") \
   194     macro(valueOf, valueOf, "valueOf") \
   195     macro(var, var, "var") \
   196     macro(variable, variable, "variable") \
   197     macro(void0, void0, "(void 0)") \
   198     macro(watch, watch, "watch") \
   199     macro(writable, writable, "writable") \
   200     macro(w, w, "w") \
   201     macro(x, x, "x") \
   202     macro(y, y, "y") \
   203     macro(yield, yield, "yield") \
   204     macro(z, z, "z") \
   205     /* Type names must be contiguous and ordered; see js::TypeName. */ \
   206     macro(undefined, undefined, "undefined") \
   207     macro(object, object, "object") \
   208     macro(function, function, "function") \
   209     macro(string, string, "string") \
   210     macro(number, number, "number") \
   211     macro(boolean, boolean, "boolean") \
   212     macro(null, null, "null")
   214 #endif /* vm_CommonPropertyNames_h */

mercurial