#include "third_party/blink/renderer/core/css/font_face_cache.h"
#include <numeric>
#include "base/atomic_sequence_num.h"
#include "third_party/blink/renderer/core/css/css_segmented_font_face.h"
#include "third_party/blink/renderer/core/css/css_value_list.h"
#include "third_party/blink/renderer/core/loader/resource/font_resource.h"
#include "third_party/blink/renderer/platform/font_family_names.h"
#include "third_party/blink/renderer/platform/fonts/font_description.h"
#include "third_party/blink/renderer/platform/fonts/font_selection_algorithm.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h"
#include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
namespace blink {
FontFaceCache::FontFaceCache() : … { … }
void FontFaceCache::Add(const StyleRuleFontFace* font_face_rule,
FontFace* font_face) { … }
void FontFaceCache::SegmentedFacesByFamily::AddFontFace(FontFace* font_face,
bool css_connected) { … }
void FontFaceCache::AddFontFace(FontFace* font_face, bool css_connected) { … }
void FontFaceCache::FontSelectionQueryCache::Remove(
const AtomicString& family) { … }
void FontFaceCache::CapabilitiesSet::AddFontFace(FontFace* font_face,
bool css_connected) { … }
void FontFaceCache::Remove(const StyleRuleFontFace* font_face_rule) { … }
bool FontFaceCache::SegmentedFacesByFamily::RemoveFontFace(
FontFace* font_face) { … }
void FontFaceCache::RemoveFontFace(FontFace* font_face, bool css_connected) { … }
bool FontFaceCache::CapabilitiesSet::RemoveFontFace(FontFace* font_face) { … }
bool FontFaceCache::ClearCSSConnected() { … }
void FontFaceCache::ClearAll() { … }
void FontFaceCache::FontSelectionQueryCache::Clear() { … }
void FontFaceCache::IncrementVersion() { … }
FontFaceCache::CapabilitiesSet* FontFaceCache::SegmentedFacesByFamily::Find(
const AtomicString& family) const { … }
CSSSegmentedFontFace* FontFaceCache::Get(
const FontDescription& font_description,
const AtomicString& family) { … }
CSSSegmentedFontFace* FontFaceCache::FontSelectionQueryCache::GetOrCreate(
const FontSelectionRequest& request,
const AtomicString& family,
CapabilitiesSet* family_faces) { … }
CSSSegmentedFontFace* FontFaceCache::FontSelectionQueryResult::GetOrCreate(
const FontSelectionRequest& request,
const CapabilitiesSet& family_faces) { … }
size_t FontFaceCache::GetNumSegmentedFacesForTesting() { … }
size_t FontFaceCache::SegmentedFacesByFamily::GetNumSegmentedFacesForTesting()
const { … }
void FontFaceCache::Trace(Visitor* visitor) const { … }
void FontFaceCache::CapabilitiesSet::Trace(Visitor* visitor) const { … }
void FontFaceCache::FontSelectionQueryCache::Trace(Visitor* visitor) const { … }
void FontFaceCache::FontSelectionQueryResult::Trace(Visitor* visitor) const { … }
void FontFaceCache::SegmentedFacesByFamily::Trace(Visitor* visitor) const { … }
}