Use #pragma once in WebCore
[WebKit-https.git] / Source / WebCore / css / CSSInheritedValue.h
index f6d168e..8f9253d 100644 (file)
  * Boston, MA 02110-1301, USA.
  */
 
-#ifndef CSSInheritedValue_h
-#define CSSInheritedValue_h
+#pragma once
 
 #include "CSSValue.h"
-#include <wtf/PassRefPtr.h>
+#include <wtf/NeverDestroyed.h>
 
 namespace WebCore {
 
-class CSSInheritedValue : public CSSValue {
+class CSSInheritedValue final : public CSSValue {
 public:
-    static PassRef<CSSInheritedValue> create()
-    {
-        return adoptRef(*new CSSInheritedValue);
-    }
-
     String customCSSText() const;
 
     bool equals(const CSSInheritedValue&) const { return true; }
 
+#if COMPILER(MSVC)
+    // FIXME: This should be private, but for some reason MSVC then fails to invoke it from LazyNeverDestroyed::construct.
+public:
+#else
 private:
+    friend class LazyNeverDestroyed<CSSInheritedValue>;
+#endif
     CSSInheritedValue()
         : CSSValue(InheritedClass)
     {
     }
 };
 
-CSS_VALUE_TYPE_CASTS(CSSInheritedValue, isInheritedValue())
-
 } // namespace WebCore
 
-#endif // CSSInheritedValue_h
+SPECIALIZE_TYPE_TRAITS_CSS_VALUE(CSSInheritedValue, isInheritedValue())