intl/unicharutil/util/nsSpecialCasingData.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 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
     3  * You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 #include <stdint.h>
     7 namespace mozilla {
     8 namespace unicode {
    10 // Multi-character mappings (from SpecialCasing.txt) map a single Unicode
    11 // value to a sequence of 2 or 3 Unicode characters. There are currently none
    12 // defined outside the BMP, so we can use char16_t here. Unused trailing
    13 // positions in mMappedChars are set to 0.
    14 struct MultiCharMapping {
    15   char16_t mOriginalChar;
    16   char16_t mMappedChars[3];
    17 };
    19 // Return a pointer to the special case mapping for the given character;
    20 // returns nullptr if no such mapping is defined.
    21 const MultiCharMapping* SpecialUpper(uint32_t aCh);
    22 const MultiCharMapping* SpecialLower(uint32_t aCh);
    23 const MultiCharMapping* SpecialTitle(uint32_t aCh);
    25 } // namespace unicode
    26 } // namespace mozilla

mercurial