Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Side by Side Diff: Source/core/css/resolver/FontBuilder.cpp

Issue 447443003: Remove custom style building for font-variant-ligatures. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. 3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
4 * Copyright (C) 2013 Google Inc. All rights reserved. 4 * Copyright (C) 2013 Google Inc. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 scope.fontDescription().setWeight(scope.fontDescription().lighterWeight()); 374 scope.fontDescription().setWeight(scope.fontDescription().lighterWeight());
375 } 375 }
376 376
377 void FontBuilder::setStretch(FontStretch fontStretch) 377 void FontBuilder::setStretch(FontStretch fontStretch)
378 { 378 {
379 FontDescriptionChangeScope scope(this); 379 FontDescriptionChangeScope scope(this);
380 380
381 scope.fontDescription().setStretch(fontStretch); 381 scope.fontDescription().setStretch(fontStretch);
382 } 382 }
383 383
384 void FontBuilder::setFontVariantLigaturesInitial()
385 {
386 FontDescriptionChangeScope scope(this);
387
388 scope.fontDescription().setCommonLigaturesState(FontDescription::NormalLigat uresState);
389 scope.fontDescription().setDiscretionaryLigaturesState(FontDescription::Norm alLigaturesState);
390 scope.fontDescription().setHistoricalLigaturesState(FontDescription::NormalL igaturesState);
391 scope.fontDescription().setContextualLigaturesState(FontDescription::NormalL igaturesState);
392 }
393
394 void FontBuilder::setFontVariantLigaturesInherit(const FontDescription& parentFo ntDescription)
395 {
396 FontDescriptionChangeScope scope(this);
397
398 scope.fontDescription().setCommonLigaturesState(parentFontDescription.common LigaturesState());
399 scope.fontDescription().setDiscretionaryLigaturesState(parentFontDescription .discretionaryLigaturesState());
400 scope.fontDescription().setHistoricalLigaturesState(parentFontDescription.hi storicalLigaturesState());
401 scope.fontDescription().setContextualLigaturesState(parentFontDescription.hi storicalLigaturesState());
402 }
403
404 void FontBuilder::setFontVariantLigaturesValue(CSSValue* value)
405 {
406 FontDescriptionChangeScope scope(this);
407
408 FontDescription::LigaturesState commonLigaturesState = FontDescription::Norm alLigaturesState;
409 FontDescription::LigaturesState discretionaryLigaturesState = FontDescriptio n::NormalLigaturesState;
410 FontDescription::LigaturesState historicalLigaturesState = FontDescription:: NormalLigaturesState;
411 FontDescription::LigaturesState contextualLigaturesState = FontDescription:: NormalLigaturesState;
412
413 if (value->isValueList()) {
414 CSSValueList* valueList = toCSSValueList(value);
415 for (size_t i = 0; i < valueList->length(); ++i) {
416 CSSValue* item = valueList->item(i);
417 ASSERT(item->isPrimitiveValue());
418 if (item->isPrimitiveValue()) {
419 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(item);
420 switch (primitiveValue->getValueID()) {
421 case CSSValueNoCommonLigatures:
422 commonLigaturesState = FontDescription::DisabledLigaturesSta te;
423 break;
424 case CSSValueCommonLigatures:
425 commonLigaturesState = FontDescription::EnabledLigaturesStat e;
426 break;
427 case CSSValueNoDiscretionaryLigatures:
428 discretionaryLigaturesState = FontDescription::DisabledLigat uresState;
429 break;
430 case CSSValueDiscretionaryLigatures:
431 discretionaryLigaturesState = FontDescription::EnabledLigatu resState;
432 break;
433 case CSSValueNoHistoricalLigatures:
434 historicalLigaturesState = FontDescription::DisabledLigature sState;
435 break;
436 case CSSValueHistoricalLigatures:
437 historicalLigaturesState = FontDescription::EnabledLigatures State;
438 break;
439 case CSSValueNoContextual:
440 contextualLigaturesState = FontDescription::DisabledLigature sState;
441 break;
442 case CSSValueContextual:
443 contextualLigaturesState = FontDescription::EnabledLigatures State;
444 break;
445 default:
446 ASSERT_NOT_REACHED();
447 break;
448 }
449 }
450 }
451 }
452 #if ENABLE(ASSERT)
453 else {
454 ASSERT_WITH_SECURITY_IMPLICATION(value->isPrimitiveValue());
455 ASSERT(toCSSPrimitiveValue(value)->getValueID() == CSSValueNormal);
456 }
457 #endif
458
459 scope.fontDescription().setCommonLigaturesState(commonLigaturesState);
460 scope.fontDescription().setDiscretionaryLigaturesState(discretionaryLigature sState);
461 scope.fontDescription().setHistoricalLigaturesState(historicalLigaturesState );
462 scope.fontDescription().setContextualLigaturesState(contextualLigaturesState );
463 }
464
465 void FontBuilder::setScript(const String& locale) 384 void FontBuilder::setScript(const String& locale)
466 { 385 {
467 FontDescriptionChangeScope scope(this); 386 FontDescriptionChangeScope scope(this);
468 387
469 scope.fontDescription().setLocale(locale); 388 scope.fontDescription().setLocale(locale);
470 scope.fontDescription().setScript(localeToScriptCodeForFontSelection(locale) ); 389 scope.fontDescription().setScript(localeToScriptCodeForFontSelection(locale) );
471 } 390 }
472 391
473 void FontBuilder::setStyle(FontStyle italic) 392 void FontBuilder::setStyle(FontStyle italic)
474 { 393 {
475 FontDescriptionChangeScope scope(this); 394 FontDescriptionChangeScope scope(this);
476 395
477 scope.fontDescription().setStyle(italic); 396 scope.fontDescription().setStyle(italic);
478 } 397 }
479 398
480 void FontBuilder::setVariant(FontVariant smallCaps) 399 void FontBuilder::setVariant(FontVariant smallCaps)
481 { 400 {
482 FontDescriptionChangeScope scope(this); 401 FontDescriptionChangeScope scope(this);
483 402
484 scope.fontDescription().setVariant(smallCaps); 403 scope.fontDescription().setVariant(smallCaps);
485 } 404 }
486 405
406 void FontBuilder::setVariantLigatures(const FontDescription::VariantLigatures& l igatures)
407 {
408 FontDescriptionChangeScope scope(this);
409
410 scope.fontDescription().setVariantLigatures(ligatures);
411 }
412
487 void FontBuilder::setTextRendering(TextRenderingMode textRenderingMode) 413 void FontBuilder::setTextRendering(TextRenderingMode textRenderingMode)
488 { 414 {
489 FontDescriptionChangeScope scope(this); 415 FontDescriptionChangeScope scope(this);
490 416
491 scope.fontDescription().setTextRendering(textRenderingMode); 417 scope.fontDescription().setTextRendering(textRenderingMode);
492 } 418 }
493 419
494 void FontBuilder::setKerning(FontDescription::Kerning kerning) 420 void FontBuilder::setKerning(FontDescription::Kerning kerning)
495 { 421 {
496 FontDescriptionChangeScope scope(this); 422 FontDescriptionChangeScope scope(this);
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
670 FontOrientation fontOrientation; 596 FontOrientation fontOrientation;
671 NonCJKGlyphOrientation glyphOrientation; 597 NonCJKGlyphOrientation glyphOrientation;
672 getFontAndGlyphOrientation(documentStyle, fontOrientation, glyphOrientation) ; 598 getFontAndGlyphOrientation(documentStyle, fontOrientation, glyphOrientation) ;
673 fontDescription.setOrientation(fontOrientation); 599 fontDescription.setOrientation(fontOrientation);
674 fontDescription.setNonCJKGlyphOrientation(glyphOrientation); 600 fontDescription.setNonCJKGlyphOrientation(glyphOrientation);
675 documentStyle->setFontDescription(fontDescription); 601 documentStyle->setFontDescription(fontDescription);
676 documentStyle->font().update(fontSelector); 602 documentStyle->font().update(fontSelector);
677 } 603 }
678 604
679 } 605 }
OLDNEW
« no previous file with comments | « Source/core/css/resolver/FontBuilder.h ('k') | Source/core/css/resolver/StyleBuilderConverter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698