blob: a876304d633b27331c0e7589583c1d57daadb4f5 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/blink/renderer/core/animation/effect_model.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_keyframe_effect_options.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
namespace blink {
base::Optional<EffectModel::CompositeOperation>
EffectModel::StringToCompositeOperation(const String& composite_string) {
DCHECK(composite_string == "replace" || composite_string == "add" ||
composite_string == "accumulate" || composite_string == "auto");
if (composite_string == "auto")
return base::nullopt;
if (composite_string == "add")
return kCompositeAdd;
if (composite_string == "accumulate")
return kCompositeAccumulate;
return kCompositeReplace;
}
String EffectModel::CompositeOperationToString(
base::Optional<CompositeOperation> composite) {
if (!composite)
return "auto";
switch (composite.value()) {
case EffectModel::kCompositeAccumulate:
return "accumulate";
case EffectModel::kCompositeAdd:
return "add";
case EffectModel::kCompositeReplace:
return "replace";
default:
NOTREACHED();
return "";
}
}
} // namespace blink