#include "third_party/blink/renderer/core/css/try_value_flips.h"
#include "third_party/blink/renderer/core/css/css_flip_revert_value.h"
#include "third_party/blink/renderer/core/css/css_identifier_value.h"
#include "third_party/blink/renderer/core/css/css_math_expression_node.h"
#include "third_party/blink/renderer/core/css/css_math_function_value.h"
#include "third_party/blink/renderer/core/css/css_primitive_value.h"
#include "third_party/blink/renderer/core/css/css_property_names.h"
#include "third_party/blink/renderer/core/css/css_property_value_set.h"
#include "third_party/blink/renderer/core/css/css_value_pair.h"
#include "third_party/blink/renderer/core/css/properties/css_parsing_utils.h"
#include "third_party/blink/renderer/core/css/try_tactic_transform.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
namespace blink {
const CSSPropertyValueSet* TryValueFlips::FlipSet(
const TryTacticList& tactic_list) const { … }
const CSSPropertyValueSet* TryValueFlips::CreateFlipSet(
const TryTacticTransform& transform) const { … }
namespace {
LogicalAxis DeterminePropertyAxis(
CSSPropertyID property_id,
const WritingDirectionMode& writing_direction) { … }
std::optional<LogicalAxis> DetermineValueAxis(
CSSValueID value_id,
const WritingDirectionMode& writing_direction) { … }
CSSValueID ConvertLeftRightToLogical(
CSSValueID value,
const WritingDirectionMode& writing_direction) { … }
CSSValueID FlipSelfAlignmentKeyword(CSSValueID value) { … }
const CSSValue* TransformSelfAlignment(
const CSSValue* value,
LogicalAxis logical_axis,
const TryTacticTransform& transform,
const WritingDirectionMode& writing_direction) { … }
LogicalToPhysical<CSSValueID> TransformPhysical(
CSSValueID left,
CSSValueID right,
CSSValueID top,
CSSValueID bottom,
const TryTacticTransform& transform,
const WritingDirectionMode& writing_direction) { … }
LogicalToPhysical<CSSValueID> TransformXY(
CSSValueID x_start,
CSSValueID x_end,
CSSValueID y_start,
CSSValueID y_end,
const TryTacticTransform& transform,
const WritingDirectionMode& writing_direction) { … }
TryTacticTransform::LogicalSides<CSSValueID> TransformLogical(
CSSValueID inline_start,
CSSValueID inline_end,
CSSValueID block_start,
CSSValueID block_end,
const TryTacticTransform& transform) { … }
CSSValueID TransformPositionAreaKeyword(
CSSValueID from,
LogicalAxis logical_axis,
const TryTacticTransform& transform,
const WritingDirectionMode& writing_direction) { … }
const CSSValue* TransformPositionArea(
const CSSValue* value,
const TryTacticTransform& transform,
const WritingDirectionMode& writing_direction) { … }
}
const CSSValue* TryValueFlips::FlipValue(
CSSPropertyID from_property,
const CSSValue* value,
const TryTacticTransform& transform,
const WritingDirectionMode& writing_direction) { … }
void TryValueFlips::Trace(Visitor* visitor) const { … }
}