blob: b0e6ab17f3c48f9a4bb1ea7d75a03962d9cacdc3 [file] [log] [blame]
// Copyright 2014 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/platform/data_resource_helper.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/web_data.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
String GetDataResourceAsASCIIString(const char* resource) {
StringBuilder builder;
const WebData& resource_data = Platform::Current()->GetDataResource(resource);
builder.ReserveCapacity(resource_data.size());
resource_data.ForEachSegment([&builder](const char* segment,
size_t segment_size,
size_t segment_offset) {
builder.Append(segment, segment_size);
return true;
});
String data_string = builder.ToString();
DCHECK(!data_string.IsEmpty());
DCHECK(data_string.ContainsOnlyASCII());
return data_string;
}
} // namespace blink