| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 #include "core/dom/DOMException.h" | 53 #include "core/dom/DOMException.h" |
| 54 #include "core/dom/Document.h" | 54 #include "core/dom/Document.h" |
| 55 #include "core/dom/ExceptionCode.h" | 55 #include "core/dom/ExceptionCode.h" |
| 56 #include "core/dom/StyleEngine.h" | 56 #include "core/dom/StyleEngine.h" |
| 57 #include "core/dom/TaskRunnerHelper.h" | 57 #include "core/dom/TaskRunnerHelper.h" |
| 58 #include "core/frame/LocalFrame.h" | 58 #include "core/frame/LocalFrame.h" |
| 59 #include "core/frame/Settings.h" | 59 #include "core/frame/Settings.h" |
| 60 #include "core/frame/UseCounter.h" | 60 #include "core/frame/UseCounter.h" |
| 61 #include "platform/FontFamilyNames.h" | 61 #include "platform/FontFamilyNames.h" |
| 62 #include "platform/Histogram.h" | 62 #include "platform/Histogram.h" |
| 63 #include "platform/RuntimeEnabledFeatures.h" |
| 63 #include "platform/SharedBuffer.h" | 64 #include "platform/SharedBuffer.h" |
| 64 #include "platform/WebTaskRunner.h" | 65 #include "platform/WebTaskRunner.h" |
| 65 | 66 |
| 66 namespace blink { | 67 namespace blink { |
| 67 | 68 |
| 68 static const CSSValue* parseCSSValue(const Document* document, | 69 static const CSSValue* parseCSSValue(const Document* document, |
| 69 const String& value, | 70 const String& value, |
| 70 CSSPropertyID propertyID) { | 71 CSSPropertyID propertyID) { |
| 71 CSSParserContext* context = | 72 CSSParserContext* context = |
| 72 CSSParserContext::create(*document, UseCounter::getFrom(document)); | 73 CSSParserContext::create(*document, UseCounter::getFrom(document)); |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 setPropertyFromString(document, descriptors.style(), CSSPropertyFontStyle); | 168 setPropertyFromString(document, descriptors.style(), CSSPropertyFontStyle); |
| 168 setPropertyFromString(document, descriptors.weight(), CSSPropertyFontWeight); | 169 setPropertyFromString(document, descriptors.weight(), CSSPropertyFontWeight); |
| 169 setPropertyFromString(document, descriptors.stretch(), | 170 setPropertyFromString(document, descriptors.stretch(), |
| 170 CSSPropertyFontStretch); | 171 CSSPropertyFontStretch); |
| 171 setPropertyFromString(document, descriptors.unicodeRange(), | 172 setPropertyFromString(document, descriptors.unicodeRange(), |
| 172 CSSPropertyUnicodeRange); | 173 CSSPropertyUnicodeRange); |
| 173 setPropertyFromString(document, descriptors.variant(), | 174 setPropertyFromString(document, descriptors.variant(), |
| 174 CSSPropertyFontVariant); | 175 CSSPropertyFontVariant); |
| 175 setPropertyFromString(document, descriptors.featureSettings(), | 176 setPropertyFromString(document, descriptors.featureSettings(), |
| 176 CSSPropertyFontFeatureSettings); | 177 CSSPropertyFontFeatureSettings); |
| 178 if (RuntimeEnabledFeatures::cssFontDisplayEnabled()) { |
| 179 setPropertyFromString(document, descriptors.display(), |
| 180 CSSPropertyFontDisplay); |
| 181 } |
| 177 } | 182 } |
| 178 | 183 |
| 179 FontFace::~FontFace() {} | 184 FontFace::~FontFace() {} |
| 180 | 185 |
| 181 String FontFace::style() const { | 186 String FontFace::style() const { |
| 182 return m_style ? m_style->cssText() : "normal"; | 187 return m_style ? m_style->cssText() : "normal"; |
| 183 } | 188 } |
| 184 | 189 |
| 185 String FontFace::weight() const { | 190 String FontFace::weight() const { |
| 186 return m_weight ? m_weight->cssText() : "normal"; | 191 return m_weight ? m_weight->cssText() : "normal"; |
| 187 } | 192 } |
| 188 | 193 |
| 189 String FontFace::stretch() const { | 194 String FontFace::stretch() const { |
| 190 return m_stretch ? m_stretch->cssText() : "normal"; | 195 return m_stretch ? m_stretch->cssText() : "normal"; |
| 191 } | 196 } |
| 192 | 197 |
| 193 String FontFace::unicodeRange() const { | 198 String FontFace::unicodeRange() const { |
| 194 return m_unicodeRange ? m_unicodeRange->cssText() : "U+0-10FFFF"; | 199 return m_unicodeRange ? m_unicodeRange->cssText() : "U+0-10FFFF"; |
| 195 } | 200 } |
| 196 | 201 |
| 197 String FontFace::variant() const { | 202 String FontFace::variant() const { |
| 198 return m_variant ? m_variant->cssText() : "normal"; | 203 return m_variant ? m_variant->cssText() : "normal"; |
| 199 } | 204 } |
| 200 | 205 |
| 201 String FontFace::featureSettings() const { | 206 String FontFace::featureSettings() const { |
| 202 return m_featureSettings ? m_featureSettings->cssText() : "normal"; | 207 return m_featureSettings ? m_featureSettings->cssText() : "normal"; |
| 203 } | 208 } |
| 204 | 209 |
| 210 String FontFace::display() const { |
| 211 return m_display ? m_display->cssText() : "auto"; |
| 212 } |
| 213 |
| 205 void FontFace::setStyle(ExecutionContext* context, | 214 void FontFace::setStyle(ExecutionContext* context, |
| 206 const String& s, | 215 const String& s, |
| 207 ExceptionState& exceptionState) { | 216 ExceptionState& exceptionState) { |
| 208 setPropertyFromString(toDocument(context), s, CSSPropertyFontStyle, | 217 setPropertyFromString(toDocument(context), s, CSSPropertyFontStyle, |
| 209 &exceptionState); | 218 &exceptionState); |
| 210 } | 219 } |
| 211 | 220 |
| 212 void FontFace::setWeight(ExecutionContext* context, | 221 void FontFace::setWeight(ExecutionContext* context, |
| 213 const String& s, | 222 const String& s, |
| 214 ExceptionState& exceptionState) { | 223 ExceptionState& exceptionState) { |
| (...skipping 22 matching lines...) Expand all Loading... |
| 237 &exceptionState); | 246 &exceptionState); |
| 238 } | 247 } |
| 239 | 248 |
| 240 void FontFace::setFeatureSettings(ExecutionContext* context, | 249 void FontFace::setFeatureSettings(ExecutionContext* context, |
| 241 const String& s, | 250 const String& s, |
| 242 ExceptionState& exceptionState) { | 251 ExceptionState& exceptionState) { |
| 243 setPropertyFromString(toDocument(context), s, CSSPropertyFontFeatureSettings, | 252 setPropertyFromString(toDocument(context), s, CSSPropertyFontFeatureSettings, |
| 244 &exceptionState); | 253 &exceptionState); |
| 245 } | 254 } |
| 246 | 255 |
| 256 void FontFace::setDisplay(ExecutionContext* context, |
| 257 const String& s, |
| 258 ExceptionState& exceptionState) { |
| 259 setPropertyFromString(toDocument(context), s, CSSPropertyFontDisplay, |
| 260 &exceptionState); |
| 261 } |
| 262 |
| 247 void FontFace::setPropertyFromString(const Document* document, | 263 void FontFace::setPropertyFromString(const Document* document, |
| 248 const String& s, | 264 const String& s, |
| 249 CSSPropertyID propertyID, | 265 CSSPropertyID propertyID, |
| 250 ExceptionState* exceptionState) { | 266 ExceptionState* exceptionState) { |
| 251 const CSSValue* value = parseCSSValue(document, s, propertyID); | 267 const CSSValue* value = parseCSSValue(document, s, propertyID); |
| 252 if (value && setPropertyValue(value, propertyID)) | 268 if (value && setPropertyValue(value, propertyID)) |
| 253 return; | 269 return; |
| 254 | 270 |
| 255 String message = "Failed to set '" + s + "' as a property value."; | 271 String message = "Failed to set '" + s + "' as a property value."; |
| 256 if (exceptionState) | 272 if (exceptionState) |
| (...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 656 | 672 |
| 657 bool FontFace::hadBlankText() const { | 673 bool FontFace::hadBlankText() const { |
| 658 return m_cssFontFace->hadBlankText(); | 674 return m_cssFontFace->hadBlankText(); |
| 659 } | 675 } |
| 660 | 676 |
| 661 bool FontFace::hasPendingActivity() const { | 677 bool FontFace::hasPendingActivity() const { |
| 662 return m_status == Loading && getExecutionContext(); | 678 return m_status == Loading && getExecutionContext(); |
| 663 } | 679 } |
| 664 | 680 |
| 665 } // namespace blink | 681 } // namespace blink |
| OLD | NEW |