tor-browser

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

CSSValue.h (1314B)


      1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
      2 /* vim: set ts=8 sts=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
      5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      6 
      7 /* DOM object representing values in DOM computed style */
      8 
      9 #ifndef mozilla_dom_CSSValue_h_
     10 #define mozilla_dom_CSSValue_h_
     11 
     12 #include "mozilla/RefCounted.h"
     13 #include "nsStringFwd.h"
     14 
     15 class nsROCSSPrimitiveValue;
     16 namespace mozilla {
     17 class ErrorResult;
     18 }  // namespace mozilla
     19 
     20 namespace mozilla::dom {
     21 
     22 /**
     23 * CSSValue - a DOM object representing values in DOM computed style.
     24 */
     25 class CSSValue : public RefCounted<CSSValue> {
     26 public:
     27  MOZ_DECLARE_REFCOUNTED_TYPENAME(CSSValue);
     28  enum : uint16_t {
     29    CSS_INHERIT,
     30    CSS_PRIMITIVE_VALUE,
     31    CSS_VALUE_LIST,
     32    CSS_CUSTOM,
     33  };
     34 
     35  // CSSValue
     36  virtual void GetCssText(nsAString&) = 0;
     37  virtual uint16_t CssValueType() const = 0;
     38 
     39  virtual ~CSSValue() = default;
     40 
     41  // Downcasting
     42 
     43  /**
     44   * Return this as a nsROCSSPrimitiveValue* if its a primitive value, and null
     45   * otherwise.
     46   *
     47   * Defined in nsROCSSPrimitiveValue.h.
     48   */
     49  inline nsROCSSPrimitiveValue* AsPrimitiveValue();
     50 };
     51 
     52 }  // namespace mozilla::dom
     53 
     54 #endif