tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

xpcAccessibleValue.cpp (2184B)


      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/. */
      6 
      7 #include "xpcAccessibleGeneric.h"
      8 #include "LocalAccessible.h"
      9 #include "LocalAccessible-inl.h"
     10 
     11 using namespace mozilla;
     12 using namespace mozilla::a11y;
     13 
     14 NS_IMETHODIMP
     15 xpcAccessibleValue::GetMaximumValue(double* aValue) {
     16  NS_ENSURE_ARG_POINTER(aValue);
     17  *aValue = 0;
     18 
     19  if (!Intl()) return NS_ERROR_FAILURE;
     20 
     21  if (Intl()->IsLocal() && Intl()->AsLocal()->IsDefunct()) {
     22    return NS_ERROR_FAILURE;
     23  }
     24 
     25  double value = Intl()->MaxValue();
     26 
     27  if (!std::isnan(value)) *aValue = value;
     28 
     29  return NS_OK;
     30 }
     31 
     32 NS_IMETHODIMP
     33 xpcAccessibleValue::GetMinimumValue(double* aValue) {
     34  NS_ENSURE_ARG_POINTER(aValue);
     35  *aValue = 0;
     36 
     37  if (!Intl()) return NS_ERROR_FAILURE;
     38 
     39  if (Intl()->IsLocal() && Intl()->AsLocal()->IsDefunct()) {
     40    return NS_ERROR_FAILURE;
     41  }
     42 
     43  double value = Intl()->MinValue();
     44 
     45  if (!std::isnan(value)) *aValue = value;
     46 
     47  return NS_OK;
     48 }
     49 
     50 NS_IMETHODIMP
     51 xpcAccessibleValue::GetCurrentValue(double* aValue) {
     52  NS_ENSURE_ARG_POINTER(aValue);
     53  *aValue = 0;
     54 
     55  if (!Intl()) return NS_ERROR_FAILURE;
     56 
     57  if (Intl()->IsLocal() && Intl()->AsLocal()->IsDefunct()) {
     58    return NS_ERROR_FAILURE;
     59  }
     60 
     61  double value = Intl()->CurValue();
     62 
     63  if (!std::isnan(value)) *aValue = value;
     64 
     65  return NS_OK;
     66 }
     67 
     68 NS_IMETHODIMP
     69 xpcAccessibleValue::SetCurrentValue(double aValue) {
     70  if (!Intl()) return NS_ERROR_FAILURE;
     71 
     72  if (Intl()->IsLocal() && Intl()->AsLocal()->IsDefunct()) {
     73    return NS_ERROR_FAILURE;
     74  }
     75 
     76  if (!Intl()->SetCurValue(aValue)) {
     77    return NS_ERROR_FAILURE;
     78  }
     79 
     80  return NS_OK;
     81 }
     82 
     83 NS_IMETHODIMP
     84 xpcAccessibleValue::GetMinimumIncrement(double* aValue) {
     85  NS_ENSURE_ARG_POINTER(aValue);
     86  *aValue = 0;
     87 
     88  if (!Intl()) return NS_ERROR_FAILURE;
     89 
     90  if (Intl()->IsLocal() && Intl()->AsLocal()->IsDefunct()) {
     91    return NS_ERROR_FAILURE;
     92  }
     93 
     94  double value = Intl()->Step();
     95 
     96  if (!std::isnan(value)) *aValue = value;
     97 
     98  return NS_OK;
     99 }