#include "third_party/blink/renderer/core/css/css_segmented_font_face.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "third_party/blink/renderer/core/css/cascade_layer_map.h"
#include "third_party/blink/renderer/core/css/css_font_face.h"
#include "third_party/blink/renderer/core/css/css_font_selector.h"
#include "third_party/blink/renderer/core/css/resolver/scoped_style_resolver.h"
#include "third_party/blink/renderer/core/css/style_engine.h"
#include "third_party/blink/renderer/platform/fonts/font_cache.h"
#include "third_party/blink/renderer/platform/fonts/font_description.h"
#include "third_party/blink/renderer/platform/fonts/font_face_creation_params.h"
#include "third_party/blink/renderer/platform/fonts/segmented_font_data.h"
#include "third_party/blink/renderer/platform/fonts/simple_font_data.h"
namespace blink {
CSSSegmentedFontFace::CSSSegmentedFontFace(
FontSelectionCapabilities font_selection_capabilities)
: … { … }
CSSSegmentedFontFace::~CSSSegmentedFontFace() = default;
bool CSSSegmentedFontFace::IsValid() const { … }
void CSSSegmentedFontFace::FontFaceInvalidated() { … }
void CSSSegmentedFontFace::AddFontFace(FontFace* font_face,
bool css_connected) { … }
void CSSSegmentedFontFace::RemoveFontFace(FontFace* font_face) { … }
const FontData* CSSSegmentedFontFace::GetFontData(
const FontDescription& font_description) { … }
void CSSSegmentedFontFace::WillUseFontData(
const FontDescription& font_description,
const String& text) { … }
void CSSSegmentedFontFace::WillUseRange(
const blink::FontDescription& font_description,
const blink::FontDataForRangeSet& range_set) { … }
bool CSSSegmentedFontFace::CheckFont(UChar32 c) const { … }
void CSSSegmentedFontFace::Match(const String& text,
HeapVector<Member<FontFace>>* faces) const { … }
void CSSSegmentedFontFace::Trace(Visitor* visitor) const { … }
bool FontFaceList::IsEmpty() const { … }
namespace {
bool CascadePriorityHigherThan(const FontFace& new_font_face,
const FontFace& existing_font_face) { … }
}
void FontFaceList::Insert(FontFace* font_face, bool css_connected) { … }
bool FontFaceList::Erase(FontFace* font_face) { … }
bool FontFaceList::ForEachUntilTrue(
base::FunctionRef<bool(const Member<FontFace>&)> func) const { … }
void FontFaceList::ForEach(
base::FunctionRef<void(const Member<FontFace>&)> func) const { … }
void FontFaceList::ForEachReverseUntilTrue(
base::FunctionRef<bool(const Member<FontFace>&)> func) const { … }
void FontFaceList::ForEachReverse(
base::FunctionRef<void(const Member<FontFace>&)> func) const { … }
void FontFaceList::Trace(Visitor* visitor) const { … }
}