js/src/jit-test/lib/string.js

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

michael@0 1 /* This Source Code Form is subject to the terms of the Mozilla Public
michael@0 2 * License, v. 2.0. If a copy of the MPL was not distributed with this
michael@0 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
michael@0 4
michael@0 5
michael@0 6 if (typeof isHighSurrogate === 'undefined') {
michael@0 7 var isHighSurrogate = function isHighSurrogate(s) {
michael@0 8 var c = s.charCodeAt(0);
michael@0 9 return c >= 0xD800 && c <= 0xDBFF;
michael@0 10 }
michael@0 11 }
michael@0 12
michael@0 13 if (typeof isLowSurrogate === 'undefined') {
michael@0 14 var isLowSurrogate = function isLowSurrogate(s) {
michael@0 15 var c = s.charCodeAt(0);
michael@0 16 return c >= 0xDC00 && c <= 0xDFFF;
michael@0 17 }
michael@0 18 }
michael@0 19
michael@0 20 if (typeof isSurrogatePair === 'undefined') {
michael@0 21 var isSurrogatePair = function isSurrogatePair(s) {
michael@0 22 return s.length == 2 && isHighSurrogate(s[0]) && isLowSurrogate(s[1]);
michael@0 23 }
michael@0 24 }

mercurial