910e62b5创建于 1月15日历史提交
// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "mojo/public/cpp/bindings/string_traits_wtf.h"

#include <string_view>

#include "base/strings/string_util.h"
#include "mojo/public/cpp/bindings/string_data_view.h"

namespace mojo {

// static
void StringTraits<blink::String>::SetToNull(blink::String* output) {
  if (output->IsNull())
    return;

  blink::String result;
  output->swap(result);
}

// static
blink::StringUtf8Adaptor StringTraits<blink::String>::GetUTF8(
    const blink::String& input) {
  return blink::StringUtf8Adaptor(input);
}

// static
bool StringTraits<blink::String>::Read(StringDataView input,
                                       blink::String* output) {
  blink::String result = blink::String::FromUTF8(input.value());
  output->swap(result);
  return true;
}

}  // namespace mojo