dom/smil/nsSMILTimeValue.cpp

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.

michael@0 1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
michael@0 2 /* This Source Code Form is subject to the terms of the Mozilla Public
michael@0 3 * License, v. 2.0. If a copy of the MPL was not distributed with this
michael@0 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
michael@0 5
michael@0 6 #include "nsSMILTimeValue.h"
michael@0 7
michael@0 8 nsSMILTime nsSMILTimeValue::kUnresolvedMillis = INT64_MAX;
michael@0 9
michael@0 10 //----------------------------------------------------------------------
michael@0 11 // nsSMILTimeValue methods:
michael@0 12
michael@0 13 static inline int8_t
michael@0 14 Cmp(int64_t aA, int64_t aB)
michael@0 15 {
michael@0 16 return aA == aB ? 0 : (aA > aB ? 1 : -1);
michael@0 17 }
michael@0 18
michael@0 19 int8_t
michael@0 20 nsSMILTimeValue::CompareTo(const nsSMILTimeValue& aOther) const
michael@0 21 {
michael@0 22 int8_t result;
michael@0 23
michael@0 24 if (mState == STATE_DEFINITE) {
michael@0 25 result = (aOther.mState == STATE_DEFINITE)
michael@0 26 ? Cmp(mMilliseconds, aOther.mMilliseconds)
michael@0 27 : -1;
michael@0 28 } else if (mState == STATE_INDEFINITE) {
michael@0 29 if (aOther.mState == STATE_DEFINITE)
michael@0 30 result = 1;
michael@0 31 else if (aOther.mState == STATE_INDEFINITE)
michael@0 32 result = 0;
michael@0 33 else
michael@0 34 result = -1;
michael@0 35 } else {
michael@0 36 result = (aOther.mState != STATE_UNRESOLVED) ? 1 : 0;
michael@0 37 }
michael@0 38
michael@0 39 return result;
michael@0 40 }

mercurial