accessible/src/xpcom/xpcAccessibleValue.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.

     1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
     2 /* vim: set ts=2 et sw=2 tw=80: */
     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 file,
     5  * You can obtain one at http://mozilla.org/MPL/2.0/. */
     7 #include "xpcAccessibleValue.h"
     8 #include "Accessible.h"
    10 using namespace mozilla;
    11 using namespace mozilla::a11y;
    13 NS_IMETHODIMP
    14 xpcAccessibleValue::GetMaximumValue(double* aValue)
    15 {
    16   NS_ENSURE_ARG_POINTER(aValue);
    17   *aValue = 0;
    19   Accessible* acc = static_cast<Accessible*>(this);
    20   if (acc->IsDefunct())
    21     return NS_ERROR_FAILURE;
    23   double value = acc->MaxValue();
    24   if (!IsNaN(value))
    25     *aValue = value;
    27   return NS_OK;
    28 }
    30 NS_IMETHODIMP
    31 xpcAccessibleValue::GetMinimumValue(double* aValue)
    32 {
    33   NS_ENSURE_ARG_POINTER(aValue);
    34   *aValue = 0;
    36   Accessible* acc = static_cast<Accessible*>(this);
    37   if (acc->IsDefunct())
    38     return NS_ERROR_FAILURE;
    40   double value = acc->MinValue();
    41   if (!IsNaN(value))
    42     *aValue = value;
    44   return NS_OK;
    45 }
    47 NS_IMETHODIMP
    48 xpcAccessibleValue::GetCurrentValue(double* aValue)
    49 {
    50   NS_ENSURE_ARG_POINTER(aValue);
    51   *aValue = 0;
    53   Accessible* acc = static_cast<Accessible*>(this);
    54   if (acc->IsDefunct())
    55     return NS_ERROR_FAILURE;
    57   double value = acc->CurValue();
    58   if (!IsNaN(value))
    59     *aValue = value;
    61   return NS_OK;
    62 }
    64 NS_IMETHODIMP
    65 xpcAccessibleValue::SetCurrentValue(double aValue)
    66 {
    67   Accessible* acc = static_cast<Accessible*>(this);
    68   if (acc->IsDefunct())
    69     return NS_ERROR_FAILURE;
    71   acc->SetCurValue(aValue);
    72   return NS_OK;
    73 }
    75 NS_IMETHODIMP
    76 xpcAccessibleValue::GetMinimumIncrement(double* aValue)
    77 {
    78   NS_ENSURE_ARG_POINTER(aValue);
    79   *aValue = 0;
    81   Accessible* acc = static_cast<Accessible*>(this);
    82   if (acc->IsDefunct())
    83     return NS_ERROR_FAILURE;
    85   double value = acc->Step();
    86   if (!IsNaN(value))
    87     *aValue = value;
    89   return NS_OK;
    90 }

mercurial