diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/css/font_face.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/css/font_face.cc | 61 |
1 files changed, 19 insertions, 42 deletions
diff --git a/chromium/third_party/blink/renderer/core/css/font_face.cc b/chromium/third_party/blink/renderer/core/css/font_face.cc index 5b6a853ac01..1f06ab34122 100644 --- a/chromium/third_party/blink/renderer/core/css/font_face.cc +++ b/chromium/third_party/blink/renderer/core/css/font_face.cc @@ -32,7 +32,6 @@ #include "base/metrics/histogram_macros.h" #include "third_party/blink/public/platform/task_type.h" -#include "third_party/blink/renderer/bindings/core/v8/string_or_array_buffer_or_array_buffer_view.h" #include "third_party/blink/renderer/bindings/core/v8/v8_font_face_descriptors.h" #include "third_party/blink/renderer/bindings/core/v8/v8_union_arraybuffer_arraybufferview_string.h" #include "third_party/blink/renderer/core/css/binary_data_font_face_source.h" @@ -60,6 +59,7 @@ #include "third_party/blink/renderer/core/frame/local_dom_window.h" #include "third_party/blink/renderer/core/frame/local_frame.h" #include "third_party/blink/renderer/core/frame/settings.h" +#include "third_party/blink/renderer/core/inspector/console_message.h" #include "third_party/blink/renderer/core/typed_arrays/dom_array_buffer.h" #include "third_party/blink/renderer/core/typed_arrays/dom_array_buffer_view.h" #include "third_party/blink/renderer/core/workers/worker_global_scope.h" @@ -123,7 +123,6 @@ const CSSValue* ConvertSizeAdjustValue(const CSSValue* parsed_value) { } // namespace -#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION) FontFace* FontFace::Create( ExecutionContext* execution_context, const AtomicString& family, @@ -147,23 +146,6 @@ FontFace* FontFace::Create( NOTREACHED(); return nullptr; } -#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION) -FontFace* FontFace::Create(ExecutionContext* context, - const AtomicString& family, - StringOrArrayBufferOrArrayBufferView& source, - const FontFaceDescriptors* descriptors) { - if (source.IsString()) - return Create(context, family, source.GetAsString(), descriptors); - if (source.IsArrayBuffer()) - return Create(context, family, source.GetAsArrayBuffer(), descriptors); - if (source.IsArrayBufferView()) { - return Create(context, family, source.GetAsArrayBufferView().Get(), - descriptors); - } - NOTREACHED(); - return nullptr; -} -#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION) FontFace* FontFace::Create(ExecutionContext* context, const AtomicString& family, @@ -190,7 +172,8 @@ FontFace* FontFace::Create(ExecutionContext* context, const FontFaceDescriptors* descriptors) { FontFace* font_face = MakeGarbageCollected<FontFace>(context, family, descriptors); - font_face->InitCSSFontFace(static_cast<const unsigned char*>(source->Data()), + font_face->InitCSSFontFace(context, + static_cast<const unsigned char*>(source->Data()), source->ByteLength()); return font_face; } @@ -202,7 +185,7 @@ FontFace* FontFace::Create(ExecutionContext* context, FontFace* font_face = MakeGarbageCollected<FontFace>(context, family, descriptors); font_face->InitCSSFontFace( - static_cast<const unsigned char*>(source->BaseAddress()), + context, static_cast<const unsigned char*>(source->BaseAddress()), source->byteLength()); return font_face; } @@ -245,8 +228,6 @@ FontFace* FontFace::Create(Document* document, font_face->SetPropertyFromStyle(properties, AtRuleDescriptorID::LineGapOverride) && font_face->SetPropertyFromStyle(properties, - AtRuleDescriptorID::AdvanceOverride) && - font_face->SetPropertyFromStyle(properties, AtRuleDescriptorID::SizeAdjust) && font_face->GetFontSelectionCapabilities().IsValid() && !font_face->family().IsEmpty()) { @@ -277,14 +258,12 @@ FontFace::FontFace(ExecutionContext* context, AtRuleDescriptorID::FontFeatureSettings); SetPropertyFromString(context, descriptors->display(), AtRuleDescriptorID::FontDisplay); - if (RuntimeEnabledFeatures::CSSFontMetricsOverrideEnabled()) { - SetPropertyFromString(context, descriptors->ascentOverride(), - AtRuleDescriptorID::AscentOverride); - SetPropertyFromString(context, descriptors->descentOverride(), - AtRuleDescriptorID::DescentOverride); - SetPropertyFromString(context, descriptors->lineGapOverride(), - AtRuleDescriptorID::LineGapOverride); - } + SetPropertyFromString(context, descriptors->ascentOverride(), + AtRuleDescriptorID::AscentOverride); + SetPropertyFromString(context, descriptors->descentOverride(), + AtRuleDescriptorID::DescentOverride); + SetPropertyFromString(context, descriptors->lineGapOverride(), + AtRuleDescriptorID::LineGapOverride); if (RuntimeEnabledFeatures::CSSFontFaceSizeAdjustEnabled()) { SetPropertyFromString(context, descriptors->sizeAdjust(), AtRuleDescriptorID::SizeAdjust); @@ -474,9 +453,6 @@ bool FontFace::SetPropertyValue(const CSSValue* value, case AtRuleDescriptorID::LineGapOverride: line_gap_override_ = ConvertFontMetricOverrideValue(value); break; - case AtRuleDescriptorID::AdvanceOverride: - advance_override_ = ConvertFontMetricOverrideValue(value); - break; case AtRuleDescriptorID::SizeAdjust: size_adjust_ = ConvertSizeAdjustValue(value); break; @@ -888,7 +864,9 @@ void FontFace::InitCSSFontFace(ExecutionContext* context, const CSSValue& src) { } } -void FontFace::InitCSSFontFace(const unsigned char* data, size_t size) { +void FontFace::InitCSSFontFace(ExecutionContext* context, + const unsigned char* data, + size_t size) { css_font_face_ = CreateCSSFontFace(this, unicode_range_.Get()); if (error_) return; @@ -900,6 +878,12 @@ void FontFace::InitCSSFontFace(const unsigned char* data, size_t size) { if (source->IsValid()) { SetLoadStatus(kLoaded); } else { + if (!ots_parse_message_.IsEmpty()) { + context->AddConsoleMessage(MakeGarbageCollected<ConsoleMessage>( + mojom::blink::ConsoleMessageSource::kOther, + mojom::blink::ConsoleMessageLevel::kWarning, + "OTS parsing error: " + ots_parse_message_)); + } SetError(MakeGarbageCollected<DOMException>( DOMExceptionCode::kSyntaxError, "Invalid font data in ArrayBuffer.")); } @@ -960,13 +944,6 @@ FontMetricsOverride FontFace::GetFontMetricsOverride() const { result.line_gap_override = To<CSSPrimitiveValue>(*line_gap_override_).GetFloatValue() / 100; } - if (advance_override_) { - const CSSValuePair& pair = To<CSSValuePair>(*advance_override_); - result.advance_override = - To<CSSPrimitiveValue>(pair.First()).GetFloatValue() / 100; - result.advance_override_vertical_upright = - To<CSSPrimitiveValue>(pair.Second()).GetFloatValue() / 100; - } return result; } |