Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/layout/style/CSSValue.h
Line
Count
Source (jump to first uncovered line)
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 "nsStringFwd.h"
13
#include "mozilla/RefCounted.h"
14
15
class nsROCSSPrimitiveValue;
16
namespace mozilla {
17
class ErrorResult;
18
} // namespace mozilla
19
20
namespace mozilla {
21
namespace dom {
22
23
/**
24
 * CSSValue - a DOM object representing values in DOM computed style.
25
 */
26
class CSSValue : public RefCounted<CSSValue>
27
{
28
public:
29
  MOZ_DECLARE_REFCOUNTED_TYPENAME(CSSValue);
30
  enum : uint16_t {
31
    CSS_INHERIT,
32
    CSS_PRIMITIVE_VALUE,
33
    CSS_VALUE_LIST,
34
    CSS_CUSTOM,
35
  };
36
37
  // CSSValue
38
  virtual void GetCssText(nsString& aText, mozilla::ErrorResult& aRv) = 0;
39
  virtual void SetCssText(const nsAString& aText, mozilla::ErrorResult& aRv) = 0;
40
  virtual uint16_t CssValueType() const = 0;
41
42
0
  virtual ~CSSValue() { };
43
44
  // Downcasting
45
46
  /**
47
   * Return this as a nsROCSSPrimitiveValue* if its a primitive value, and null
48
   * otherwise.
49
   *
50
   * Defined in nsROCSSPrimitiveValue.h.
51
   */
52
  inline nsROCSSPrimitiveValue* AsPrimitiveValue();
53
};
54
55
} // namespace dom
56
} // namespace mozilla
57
58
#endif