chromium/third_party/blink/renderer/core/css/css_primitive_value_mappings.h

/*
 * Copyright (C) 2007 Alexey Proskuryakov <[email protected]>.
 * Copyright (C) 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved.
 * (http://www.torchmobile.com/)
 * Copyright (C) 2009 Jeff Schiller <[email protected]>
 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_CSS_CSS_PRIMITIVE_VALUE_MAPPINGS_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_CSS_CSS_PRIMITIVE_VALUE_MAPPINGS_H_

#include "base/notreached.h"
#include "cc/input/scroll_snap_data.h"
#include "third_party/blink/renderer/core/animation/timeline_offset.h"
#include "third_party/blink/renderer/core/animation/timing.h"
#include "third_party/blink/renderer/core/css/css_identifier_value.h"
#include "third_party/blink/renderer/core/css/css_primitive_value.h"
#include "third_party/blink/renderer/core/css/css_reflection_direction.h"
#include "third_party/blink/renderer/core/css/css_to_length_conversion_data.h"
#include "third_party/blink/renderer/core/css/css_value.h"
#include "third_party/blink/renderer/core/css_value_keywords.h"
#include "third_party/blink/renderer/core/scroll/scrollable_area.h"
#include "third_party/blink/renderer/core/style/computed_style_constants.h"
#include "third_party/blink/renderer/core/style/position_area.h"
#include "third_party/blink/renderer/platform/fonts/font_description.h"
#include "third_party/blink/renderer/platform/fonts/font_smoothing_mode.h"
#include "third_party/blink/renderer/platform/fonts/font_variant_emoji.h"
#include "third_party/blink/renderer/platform/fonts/text_rendering_mode.h"
#include "third_party/blink/renderer/platform/geometry/length.h"
#include "third_party/blink/renderer/platform/graphics/touch_action.h"
#include "third_party/blink/renderer/platform/text/text_run.h"
#include "third_party/blink/renderer/platform/text/writing_mode.h"
#include "third_party/blink/renderer/platform/theme_types.h"
#include "third_party/blink/renderer/platform/wtf/math_extras.h"

namespace blink {

// TODO(sashab): Move these to CSSPrimitiveValue.h.
template <>
inline int16_t CSSPrimitiveValue::ConvertTo(
    const CSSLengthResolver& length_resolver) const {}

template <>
inline uint16_t CSSPrimitiveValue::ConvertTo(
    const CSSLengthResolver& length_resolver) const {}

template <>
inline int CSSPrimitiveValue::ConvertTo(
    const CSSLengthResolver& length_resolver) const {}

template <>
inline unsigned CSSPrimitiveValue::ConvertTo(
    const CSSLengthResolver& length_resolver) const {}

template <>
inline float CSSPrimitiveValue::ConvertTo(
    const CSSLengthResolver& length_resolver) const {}

// TODO(sashab): Move these to CSSIdentifierValueMappings.h, and update to use
// the CSSValuePool.
template <>
inline CSSIdentifierValue::CSSIdentifierValue(CSSReflectionDirection e)
    :{}

template <>
inline CSSReflectionDirection CSSIdentifierValue::ConvertTo() const {}

template <>
inline EBorderStyle CSSIdentifierValue::ConvertTo() const {}

template <>
inline OutlineIsAuto CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(
    CompositingOperator compositing_operator)
    :{}

template <>
inline CompositingOperator CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(ControlPart e)
    :{}

template <>
inline ControlPart CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(EFillAttachment e)
    :{}

template <>
inline EFillAttachment CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(EFillBox e)
    :{}

template <>
inline EFillBox CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(EFillRepeat e)
    :{}

template <>
inline EFillRepeat CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(EFillMaskMode e)
    :{}

template <>
inline EFillMaskMode CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(BackgroundEdgeOrigin e)
    :{}

template <>
inline BackgroundEdgeOrigin CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(EFloat e)
    :{}

template <>
inline EFloat CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(EPosition e)
    :{}

template <>
inline EPosition CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(ETableLayout e)
    :{}

template <>
inline ETableLayout CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(EVerticalAlign a)
    :{}

template <>
inline EVerticalAlign CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(TextEmphasisFill fill)
    :{}

template <>
inline TextEmphasisFill CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(TextEmphasisMark mark)
    :{}

template <>
inline TextEmphasisMark CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(
    FontSizeAdjust::Metric font_size_adjust_metric)
    :{}

template <>
inline FontSizeAdjust::Metric CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(
    FontDescription::FontSynthesisWeight font_synthesis_weight)
    :{}

template <>
inline FontDescription::FontSynthesisWeight CSSIdentifierValue::ConvertTo()
    const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(
    FontDescription::FontSynthesisStyle font_synthesis_style)
    :{}

template <>
inline FontDescription::FontSynthesisStyle CSSIdentifierValue::ConvertTo()
    const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(
    FontDescription::FontSynthesisSmallCaps font_synthesis_small_caps)
    :{}

template <>
inline FontDescription::FontSynthesisSmallCaps CSSIdentifierValue::ConvertTo()
    const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(EFillSizeType fill_size)
    :{}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(FontSmoothingMode smoothing)
    :{}

template <>
inline FontSmoothingMode CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(FontVariantEmoji variant_emoji)
    :{}

template <>
inline FontVariantEmoji CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(TextRenderingMode e)
    :{}

template <>
inline TextRenderingMode CSSIdentifierValue::ConvertTo() const {}

template <>
inline EOrder CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(EOrder e)
    :{}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(LineCap e)
    :{}

template <>
inline LineCap CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(LineJoin e)
    :{}

template <>
inline LineJoin CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(WindRule e)
    :{}

template <>
inline WindRule CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(EPaintOrderType e)
    :{}

template <>
inline EPaintOrderType CSSIdentifierValue::ConvertTo() const {}

template <>
inline TouchAction CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(CSSBoxType css_box)
    :{}

template <>
inline CSSBoxType CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(ItemPosition item_position)
    :{}

template <>
inline ItemPosition CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(ContentPosition content_position)
    :{}

template <>
inline ContentPosition CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(
    ContentDistributionType content_distribution)
    :{}

template <>
inline ContentDistributionType CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(
    OverflowAlignment overflow_alignment)
    :{}

template <>
inline OverflowAlignment CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(
    mojom::blink::ScrollBehavior behavior)
    :{}

template <>
inline mojom::blink::ScrollBehavior CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(cc::SnapAxis axis)
    :{}

template <>
inline cc::SnapAxis CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(cc::SnapStrictness strictness)
    :{}

template <>
inline cc::SnapStrictness CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(cc::SnapAlignment alignment)
    :{}

template <>
inline cc::SnapAlignment CSSIdentifierValue::ConvertTo() const {}

template <>
inline Containment CSSIdentifierValue::ConvertTo() const {}

template <>
inline EContainerType CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(TextUnderlinePosition position)
    :{}

template <>
inline CoordBox CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(CoordBox coord_box)
    :{}

template <>
inline GeometryBox CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(GeometryBox geometry_box)
    :{}

template <>
inline TextUnderlinePosition CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(ScrollbarGutter scrollbar_gutter)
    :{}

template <>
inline ScrollbarGutter CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(TimelineAxis axis)
    :{}

template <>
inline TimelineAxis CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(TimelineScroller scroller)
    :{}

template <>
inline TimelineScroller CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(
    TimelineOffset::NamedRange named_range)
    :{}

template <>
inline TimelineOffset::NamedRange CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(ScrollStartValueType value_type)
    :{}

template <>
inline ScrollStartValueType CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(EScrollStartTarget target)
    :{}

template <>
inline EScrollStartTarget CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(PositionAreaRegion region)
    :{}

template <>
inline PositionAreaRegion CSSIdentifierValue::ConvertTo() const {}

template <>
inline CSSIdentifierValue::CSSIdentifierValue(PositionVisibility visibility)
    :{}

template <>
inline PositionVisibility CSSIdentifierValue::ConvertTo() const {}

}  // namespace blink

#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_CSS_CSS_PRIMITIVE_VALUE_MAPPINGS_H_