New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 733154 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug

Blocked on:
issue 739139
issue 739403
issue 749091

Blocking:
issue 669453



Sign in to add a comment

Incorporate font variations into CSS font matching algorithm

Project Member Reported by drott@chromium.org, Jun 14 2017

Issue description

Support matching variable stretch, style, weight axis according to the https://drafts.csswg.org/css-fonts-4/#font-matching-algorithm 

This will require replacing FontTraits with something like FontSelectionRequest and FontSelectionCapabilities and generalizing FontStyleMatcher.




 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/37ee286af065385f62db869e5579de96da1634c0

commit 37ee286af065385f62db869e5579de96da1634c0
Author: Dominik Röttsches <drott@chromium.org>
Date: Wed Jun 14 11:56:25 2017

Remove CSSFontSelector as argument from FontFaceCache

This addresses a long standing fixme and will help with testing
FontFaceCache for variable font matching.

CSSSegmentedFontFace seemed to only need the selector to have
CSSFontFace retrieve it through the accessor, in order to inform the
Document about load progress. However, CSSFontFace can access the
document via the execution context of its font_face_ member. So we can
remove the whole chain of plumbing it through from FontFaceCache.h.

BUG= 733154 

Change-Id: I8bc38c1b9b80ab7211f1979fc961813a65bd096c
Reviewed-on: https://chromium-review.googlesource.com/535535
Reviewed-by: Rune Lillesveen <rune@opera.com>
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479353}
[modify] https://crrev.com/37ee286af065385f62db869e5579de96da1634c0/third_party/WebKit/Source/core/css/CSSFontFace.cpp
[modify] https://crrev.com/37ee286af065385f62db869e5579de96da1634c0/third_party/WebKit/Source/core/css/CSSFontSelector.cpp
[modify] https://crrev.com/37ee286af065385f62db869e5579de96da1634c0/third_party/WebKit/Source/core/css/CSSSegmentedFontFace.cpp
[modify] https://crrev.com/37ee286af065385f62db869e5579de96da1634c0/third_party/WebKit/Source/core/css/CSSSegmentedFontFace.h
[modify] https://crrev.com/37ee286af065385f62db869e5579de96da1634c0/third_party/WebKit/Source/core/css/FontFaceCache.cpp
[modify] https://crrev.com/37ee286af065385f62db869e5579de96da1634c0/third_party/WebKit/Source/core/css/FontFaceCache.h
[modify] https://crrev.com/37ee286af065385f62db869e5579de96da1634c0/third_party/WebKit/Source/core/css/FontFaceSet.cpp
[modify] https://crrev.com/37ee286af065385f62db869e5579de96da1634c0/third_party/WebKit/Source/core/css/FontFaceSet.h
[modify] https://crrev.com/37ee286af065385f62db869e5579de96da1634c0/third_party/WebKit/Source/core/css/resolver/ScopedStyleResolver.cpp

Project Member

Comment 2 by bugdroid1@chromium.org, Jun 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1cd708aa51e84e3aac45da27f4e96c96218ff5f5

commit 1cd708aa51e84e3aac45da27f4e96c96218ff5f5
Author: Dominik Röttsches <drott@chromium.org>
Date: Thu Jun 15 13:35:28 2017

Relax assertion after 37ee286af065385f6

In 37ee286af065385f6 I introduced a new assertion which triggers in
release and is stricter than before. Relax this assertion to if
statements for the case that no Document type ExecutionContext can be
retrieved.

BUG=733583,  733154 

Change-Id: Ie04cf4bedf8116b646d854e12e352baab7042e03
Reviewed-on: https://chromium-review.googlesource.com/536914
Reviewed-by: Rune Lillesveen <rune@opera.com>
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479683}
[modify] https://crrev.com/1cd708aa51e84e3aac45da27f4e96c96218ff5f5/third_party/WebKit/Source/core/css/CSSFontFace.cpp

Comment 3 by drott@chromium.org, Jun 26 2017

Cc: drott@chromium.org
 Issue 516677  has been merged into this issue.

Comment 4 by drott@chromium.org, Jun 28 2017

Cc: timloh@chromium.org suzyh@chromium.org
This bug is about moving from the CSS Fonts Level 3 Font Selection Algorithm to the new version in CSS Fonts Level 4, which supports ranges for stretch, style, weight. With that new OpenType Variations fonts can be matched against and correct axis values for those fonts can be configured. For more info, see my intent to ship:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/AzphlHk8orw

This will require a cross cutting change, which I will try to approach in several stages. I'd kindly ask for help and patience with reviewing this overall rather large change. Thanks in advance.

1) Introduce FontSelectionValue, FontSelectionRequest and FontSelectionCapabilities, which replace FontTraits. Add FontSelectionAlgorithm, which replaces FontStyleMatcher.h|cpp. 

FontDescription will contain a FontSelectionRequest (consisting of a FontSelectionValue for stretch, style & weight). FontFaceCache is matching such requests against declared @font-faces, or CSS FontFace objects, which have  FontSelectionCapabilties, i.e. ranges of FontSelectionValues for stretch, style weight. This should not have any developer facing functional changes yet, even though internal types need to be changed and some values in parsing need to be changed from CSSIdentifierValue to CSSPrimitiveValue.

2) Introduce unit tests to FontFaceCache, which already test the new variable stretch, style, weight range matching, but don't expose it to CSS yet.

3) Extend CSSPropertyParser, Properties API parseSingleValue stretch, style and weight functions, and CSSPropertyFontUtils to parse the new https://drafts.csswg.org/css-fonts-4/#font-prop-desc font face property descriptors that can have range expressions in them and map those to new CSSValue types that will then be understood by StyleBuilderConverter.

4) Hook things up and enable the previously created ref tests ( https://chromium-review.googlesource.com/c/552123/ ) which exercise the parser, StyleBuilderConverter and FontFaceCache FontSelectionAlgorithm to do variations matching.

Feedback is welcome, especially if you have more ideas for how to split things up.

Comment 5 by suzyh@chromium.org, Jun 28 2017

Cc: -suzyh@chromium.org meade@chromium.org bugsnash@chromium.org

Comment 6 by drott@chromium.org, Jul 4 2017

Blockedon: 739139

Comment 7 by drott@chromium.org, Jul 5 2017

Blockedon: 739403
Project Member

Comment 8 by bugdroid1@chromium.org, Jul 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ad9b5da819de07237b1986dc59ca06a792467728

commit ad9b5da819de07237b1986dc59ca06a792467728
Author: Dominik Röttsches <drott@chromium.org>
Date: Tue Jul 25 10:14:36 2017

Introduce FontSelectionTypes and FontSelectionAlgorithm

This is step 1 of  issue 733154 , adding OpenType variation support to
font style matching.

This CL introduces FontSelectionValue, FontSelectionRequest and
FontSelectionCapabilities, adapted from WebKit's
implementation. FontSelectionRequest are the font styling parameters
that are requested somewhere in the page, FontSelectionCapabilities
represents the traits of the @font-face and can now contain
ranges. FontTraits is removed: FontTraits was used for both: To
represent the request parameters, as well as the capabilities of a CSS
declared @font-face. This unified usage has to be broken up in
preparation for matching against variable fonts that can cover a range
of capabilities.

Breaking up FontTraits into FontSelectionRequest and
FontSelectionCapabilities means that FontFaceCache has to be
redesigned. New lookup data structures are needed that match and map an
incoming FontSelectionRequest against available
FontSelectionCapabilities (details in FontFaceCache.h). The discrete
values matching algorithm in FontStyleMatcher.h|cpp is replaced by a
range matching decimal values algorithm in FontSelectionAlgorithm.h.

This CL also means that we transition to - within the same @font-face -
mapping font-style italic and font-style oblique to the same scale. CSS
Fonts Level 4 allows this in
https://drafts.csswg.org/css-fonts-4/#font-style-matching and it
simplifies the implementation of matching against variable fonts. Note
that the keywords themselves are still permitted. The limitation is only
that within the same font-family: a @font-face declared with font-style:
italic; and font-style: oblique; are not distinguished any more. I do
not expect any practical problems or impact from this axis merge, since
Chrome did not support this distinction for very long.

The upcoming steps will introduce parsing of ranges in @font-face
declarations, add range tests to FontFaceCacheTest and hook up the
selection variable fonts parameters to the font stack.

BUG= 733154 
TEST=FontFaceCacheTest, FontSelectionTypesTest
TBR=junov,aboxhall

Change-Id: I6dcf0e541799e5e3d746f8160d49e821ca6ca8e9
Reviewed-on: https://chromium-review.googlesource.com/565238
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Reviewed-by: meade_UTC10 <meade@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489269}
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/fast/css/font-face-character-fallback-expected.html
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/fast/css/font-face-default-font-expected.html
[delete] https://crrev.com/9e73c1f7187efe7e4514f24dafbe12f7a586dac4/third_party/WebKit/LayoutTests/fast/css/font-face-multiple-faces-expected.html
[delete] https://crrev.com/9e73c1f7187efe7e4514f24dafbe12f7a586dac4/third_party/WebKit/LayoutTests/fast/css/font-face-multiple-faces.html
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/italic-expected.txt
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/win/css1/font_properties/font_style-expected.png
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/win/css2.1/t1504-c523-font-style-00-b-expected.png
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/win/css2.1/t1504-c523-font-style-00-b-expected.txt
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/win/css2.1/t1508-c527-font-08-b-expected.png
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/win/css2.1/t1508-c527-font-08-b-expected.txt
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/italic-expected.txt
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/smallFonts-expected.png
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/smallFonts-expected.txt
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textFeatures-expected.png
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textFeatures-expected.txt
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textStyles-expected.png
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textStyles-expected.txt
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/css1/font_properties/font-expected.txt
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/css1/font_properties/font_style-expected.png
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/css1/font_properties/font_style-expected.txt
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/LayoutTests/platform/win7/virtual/mojo-loading/css1/font_properties/font-expected.txt
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/animation/CSSFontWeightInterpolationType.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/animation/CSSFontWeightInterpolationType.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/animation/FontWeightConversion.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/animation/FontWeightConversion.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/BUILD.gn
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/CSSFontFace.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/CSSFontFaceSource.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/CSSFontFaceSourceTest.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/CSSFontFaceSrcValue.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/CSSFontFamilyValue.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/CSSSegmentedFontFace.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/CSSSegmentedFontFace.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/FontFace.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/FontFace.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/FontFaceCache.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/FontFaceCache.h
[add] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/FontFaceCacheTest.cpp
[delete] https://crrev.com/9e73c1f7187efe7e4514f24dafbe12f7a586dac4/third_party/WebKit/Source/core/css/FontStyleMatcher.cpp
[delete] https://crrev.com/9e73c1f7187efe7e4514f24dafbe12f7a586dac4/third_party/WebKit/Source/core/css/FontStyleMatcher.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/LocalFontFaceSource.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/StyleRule.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/properties/CSSShorthandPropertyAPIFont.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/resolver/FontBuilder.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/resolver/FontBuilder.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/resolver/FontBuilderTest.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/resolver/FontStyleResolver.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/html/forms/InternalPopupMenu.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/layout/LayoutTheme.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/layout/LayoutTheme.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/layout/LayoutThemeDefault.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/layout/LayoutThemeDefault.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/layout/LayoutThemeFontProvider.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/layout/LayoutThemeFontProviderDefault.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/layout/LayoutThemeFontProviderWin.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/layout/LayoutThemeMac.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/layout/LayoutThemeMac.mm
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/paint/EmbeddedObjectPainter.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/BUILD.gn
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/DragImage.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/DragImageTest.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/exported/WebFontDescription.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/fonts/FontDescription.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/fonts/FontDescription.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/fonts/FontDescriptionTest.cpp
[add] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/fonts/FontSelectionAlgorithm.cpp
[add] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/fonts/FontSelectionAlgorithm.h
[add] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/fonts/FontSelectionTypes.cpp
[add] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/fonts/FontSelectionTypes.h
[add] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/fonts/FontSelectionTypesTest.cpp
[delete] https://crrev.com/9e73c1f7187efe7e4514f24dafbe12f7a586dac4/third_party/WebKit/Source/platform/fonts/FontTraits.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/fonts/linux/FontCacheLinux.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/fonts/mac/FontFamilyMatcherMac.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/fonts/mac/FontFamilyMatcherMac.mm
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/fonts/mac/FontFamilyMatcherMacTest.mm
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/fonts/shaping/RunSegmenter.h
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp
[modify] https://crrev.com/ad9b5da819de07237b1986dc59ca06a792467728/third_party/WebKit/Source/platform/fonts/win/FontCacheSkiaWin.cpp

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b45665298c860afc0b5042ceac5b4131e8d55cac

commit b45665298c860afc0b5042ceac5b4131e8d55cac
Author: Dominik Röttsches <drott@chromium.org>
Date: Tue Jul 25 12:51:04 2017

Add range-matching capabilities to FontFaceCache

As step 2 of  issue 733154 , add range matching capabilities to FontFace
and FontFaceCache, tested in range matching tests of
FontFaceCacheTest. This functionality conforms to the font style
matching algorithm in section 5.2 of CSS Fonts Level 4.

This CL does not yet introduce changes to the CSS parser and does not
expose the extended matching behavior to CSS. In order to keep CLs
small, this is an interim step, keeping the interpretation of
CSSIdentifierValue's in FontFace.cpp until those are removed in
subsequent CLs, see  issue 733154  for more details.

[1] https://drafts.csswg.org/css-fonts-4/#font-style-matching
BUG= 733154 

Change-Id: Ie815e8b554346690182c7d6a5fa5c8d981508a9f
Reviewed-on: https://chromium-review.googlesource.com/568150
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: meade_UTC10 <meade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489282}
[modify] https://crrev.com/b45665298c860afc0b5042ceac5b4131e8d55cac/third_party/WebKit/Source/core/css/BUILD.gn
[add] https://crrev.com/b45665298c860afc0b5042ceac5b4131e8d55cac/third_party/WebKit/Source/core/css/CSSFontStyleRangeValue.cpp
[add] https://crrev.com/b45665298c860afc0b5042ceac5b4131e8d55cac/third_party/WebKit/Source/core/css/CSSFontStyleRangeValue.h
[modify] https://crrev.com/b45665298c860afc0b5042ceac5b4131e8d55cac/third_party/WebKit/Source/core/css/CSSValue.cpp
[modify] https://crrev.com/b45665298c860afc0b5042ceac5b4131e8d55cac/third_party/WebKit/Source/core/css/CSSValue.h
[modify] https://crrev.com/b45665298c860afc0b5042ceac5b4131e8d55cac/third_party/WebKit/Source/core/css/FontFace.cpp
[modify] https://crrev.com/b45665298c860afc0b5042ceac5b4131e8d55cac/third_party/WebKit/Source/core/css/FontFaceCacheTest.cpp

Comment 10 by drott@chromium.org, Jul 26 2017

Blockedon: 749091
Project Member

Comment 11 by bugdroid1@chromium.org, Jul 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/48906e26e45db659ea543f9ee1df9b694cdd3a15

commit 48906e26e45db659ea543f9ee1df9b694cdd3a15
Author: Alexandre Elias <aelias@chromium.org>
Date: Thu Jul 27 00:24:38 2017

Revert "Introduce FontSelectionTypes and FontSelectionAlgorithm" and dependent patches.

This patch causes an internal compiler error in Clang x86_64 official Android
codegen related to FontSelectionValueStyle.  This bot
gates all Android canary releases and the fix is not immediately obvious, so as
sheriff I unfortunately need to revert this patch and its dependencies.

Revert "Add range-matching capabilities to FontFaceCache"
This reverts commit b45665298c860afc0b5042ceac5b4131e8d55cac.

Revert "Move font-weight parsing and representation to CSSPrimitiveValue"
This reverts commit 4284165bb5adcb7cf7c06565e9f13e2c0fb775d4.

Revert "Introduce FontSelectionTypes and FontSelectionAlgorithm"
This reverts commit ad9b5da819de07237b1986dc59ca06a792467728.

NOTRY=true
TBR=drott
BUG=749273, 739139 , 733154 

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I2155239b95ea002fe139661318a63a5a537c7821
Reviewed-on: https://chromium-review.googlesource.com/587342
Reviewed-by: Alexandre Elias <aelias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489811}
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/css3/font-weight-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/css3/font-weight-multiple-selectors-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/css3/font-weight-multiple-selectors.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/css3/font-weight.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/editing/pasteboard/dragstart-contains-default-content-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/editing/pasteboard/onpaste-text-html-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/editing/pasteboard/paste-text-with-style-4-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/external/wpt/editing/run/multitest-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/atapply/at-apply-shorthands.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/child-selector-implicit-tbody.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/css-properties-case-insensitive.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/font-face-character-fallback-expected.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/font-face-default-font-expected.html
[add] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/font-face-multiple-faces-expected.html
[add] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/font-face-multiple-faces.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/font-shorthand-from-longhands-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/font-shorthand-from-longhands.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/font-weight-1.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-empty-font-family-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-font-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-font-family-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-listing-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/script-tests/computed-style-font.js
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/invalidation/non-independent-inheritance-identical-computed-styles.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/css/variables/longhand-pending-shorthand-substitution.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/fast/events/ondrop-text-html-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/grouping_content/figcaption-element-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/grouping_content/figcaption-element.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/grouping_content/figure-element-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/grouping_content/figure-element.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/grouping_content/main-element-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/grouping_content/main-element.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/sections/article-element-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/sections/article-element.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/sections/aside-element-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/sections/aside-element.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/sections/footer-element-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/sections/footer-element.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/sections/header-element-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/sections/header-element.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/sections/hgroup-element-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/sections/hgroup-element.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/sections/section-element-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/sections/section-element.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/text_level_semantics/mark-element-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/html/text_level_semantics/mark-element.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/inspector/elements/elements-panel-styles-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/media/track/track-css-matching-default.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/linux/fast/css/css2-system-fonts-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/italic-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/mac/fast/css/css2-system-fonts-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win/css1/font_properties/font_style-expected.png
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win/css2.1/t1504-c523-font-style-00-b-expected.png
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win/css2.1/t1504-c523-font-style-00-b-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win/css2.1/t1508-c527-font-08-b-expected.png
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win/css2.1/t1508-c527-font-08-b-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/italic-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win/fast/css/css2-system-fonts-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/smallFonts-expected.png
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/smallFonts-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textFeatures-expected.png
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textFeatures-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textStyles-expected.png
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textStyles-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/css1/font_properties/font-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/css1/font_properties/font_style-expected.png
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/css1/font_properties/font_style-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/platform/win7/virtual/mojo-loading/css1/font_properties/font-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/svg/css/getComputedStyle-listing-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/svg/parser/foreign-object-case-sensitivity-expected.txt
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/LayoutTests/svg/parser/foreign-object-case-sensitivity.html
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/animation/CSSFontWeightInterpolationType.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/animation/CSSFontWeightInterpolationType.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/animation/FontWeightConversion.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/animation/FontWeightConversion.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/BUILD.gn
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/CSSFontFace.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/CSSFontFaceSource.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/CSSFontFaceSourceTest.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/CSSFontFaceSrcValue.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/CSSFontFamilyValue.h
[delete] https://crrev.com/57a70ec50111c83525e093d818b801534426b215/third_party/WebKit/Source/core/css/CSSFontStyleRangeValue.cpp
[delete] https://crrev.com/57a70ec50111c83525e093d818b801534426b215/third_party/WebKit/Source/core/css/CSSFontStyleRangeValue.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/CSSSegmentedFontFace.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/CSSSegmentedFontFace.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/CSSValue.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/CSSValue.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/CSSValueKeywords.json5
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/FontFace.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/FontFace.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/FontFaceCache.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/FontFaceCache.h
[delete] https://crrev.com/57a70ec50111c83525e093d818b801534426b215/third_party/WebKit/Source/core/css/FontFaceCacheTest.cpp
[add] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/FontStyleMatcher.cpp
[add] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/FontStyleMatcher.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/LocalFontFaceSource.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/StyleRule.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/properties/CSSPropertyFontUtils.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/properties/CSSPropertyFontUtils.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/properties/CSSShorthandPropertyAPIFont.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/resolver/FontBuilder.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/resolver/FontBuilder.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/resolver/FontBuilderTest.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/resolver/FontStyleResolver.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/editing/EditingStyle.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/exported/WebViewTest.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/html/forms/InternalPopupMenu.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/layout/LayoutTheme.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/layout/LayoutTheme.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/layout/LayoutThemeDefault.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/layout/LayoutThemeDefault.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/layout/LayoutThemeFontProvider.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/layout/LayoutThemeFontProviderDefault.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/layout/LayoutThemeFontProviderWin.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/layout/LayoutThemeMac.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/layout/LayoutThemeMac.mm
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/paint/EmbeddedObjectPainter.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/platform/BUILD.gn
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/platform/DragImage.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/platform/DragImageTest.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/platform/exported/WebFontDescription.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/platform/fonts/FontDescription.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/platform/fonts/FontDescription.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/platform/fonts/FontDescriptionTest.cpp
[delete] https://crrev.com/57a70ec50111c83525e093d818b801534426b215/third_party/WebKit/Source/platform/fonts/FontSelectionAlgorithm.cpp
[delete] https://crrev.com/57a70ec50111c83525e093d818b801534426b215/third_party/WebKit/Source/platform/fonts/FontSelectionAlgorithm.h
[delete] https://crrev.com/57a70ec50111c83525e093d818b801534426b215/third_party/WebKit/Source/platform/fonts/FontSelectionTypes.cpp
[delete] https://crrev.com/57a70ec50111c83525e093d818b801534426b215/third_party/WebKit/Source/platform/fonts/FontSelectionTypes.h
[delete] https://crrev.com/57a70ec50111c83525e093d818b801534426b215/third_party/WebKit/Source/platform/fonts/FontSelectionTypesTest.cpp
[add] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/platform/fonts/FontTraits.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/platform/fonts/linux/FontCacheLinux.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/platform/fonts/mac/FontFamilyMatcherMac.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/platform/fonts/mac/FontFamilyMatcherMac.mm
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/platform/fonts/mac/FontFamilyMatcherMacTest.mm
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/platform/fonts/shaping/RunSegmenter.h
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp
[modify] https://crrev.com/48906e26e45db659ea543f9ee1df9b694cdd3a15/third_party/WebKit/Source/platform/fonts/win/FontCacheSkiaWin.cpp

Project Member

Comment 12 by bugdroid1@chromium.org, Jul 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/818128039c5b02fd68d171f18014a34035f87023

commit 818128039c5b02fd68d171f18014a34035f87023
Author: Dominik Röttsches <drott@chromium.org>
Date: Thu Jul 27 17:24:15 2017

Reland: Introduce FontSelectionTypes and FontSelectionAlgorithm

Reverted in 48906e26e45db659ea543f9ee1df9b694cdd3a15 due to clang
compiler crash. Fixed in this CL by returning references for constant
FontStyleValue's.

This is step 1 of  issue 733154 , adding OpenType variation support to
font style matching.

This CL introduces FontSelectionValue, FontSelectionRequest and
FontSelectionCapabilities, adapted from WebKit's
implementation. FontSelectionRequest are the font styling parameters
that are requested somewhere in the page, FontSelectionCapabilities
represents the traits of the @font-face and can now contain
ranges. FontTraits is removed: FontTraits was used for both: To
represent the request parameters, as well as the capabilities of a CSS
declared @font-face. This unified usage has to be broken up in
preparation for matching against variable fonts that can cover a range
of capabilities.

Breaking up FontTraits into FontSelectionRequest and
FontSelectionCapabilities means that FontFaceCache has to be
redesigned. New lookup data structures are needed that match and map an
incoming FontSelectionRequest against available
FontSelectionCapabilities (details in FontFaceCache.h). The discrete
values matching algorithm in FontStyleMatcher.h|cpp is replaced by a
range matching decimal values algorithm in FontSelectionAlgorithm.h.

This CL also means that we transition to - within the same @font-face -
mapping font-style italic and font-style oblique to the same scale. CSS
Fonts Level 4 allows this in
https://drafts.csswg.org/css-fonts-4/#font-style-matching and it
simplifies the implementation of matching against variable fonts. Note
that the keywords themselves are still permitted. The limitation is only
that within the same font-family: a @font-face declared with font-style:
italic; and font-style: oblique; are not distinguished any more. I do
not expect any practical problems or impact from this axis merge, since
Chrome did not support this distinction for very long.

The upcoming steps will introduce parsing of ranges in @font-face
declarations, add range tests to FontFaceCacheTest and hook up the
selection variable fonts parameters to the font stack.

TBR'ing junov, aboxhall for minor changes in accessibility/ and canvas2d/.

TBR'ing eae, meade since change had been originally reviewed in
https://chromium-review.googlesource.com/c/565238/ and fix for compiler
crash is minor (returning references instead of copies for constant
values, see above).

Bug:  733154 , 749273
Test: FontFaceCacheTest, FontSelectionTypesTest
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I9b3230da0ff2afadd380428245c3c8eed5f56948
TBR: junov,aboxhall,eae,meade
Reviewed-on: https://chromium-review.googlesource.com/589270
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490006}
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/fast/css/font-face-character-fallback-expected.html
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/fast/css/font-face-default-font-expected.html
[delete] https://crrev.com/ac47edd22c481fcfe119769d6b7abf365abea8fa/third_party/WebKit/LayoutTests/fast/css/font-face-multiple-faces-expected.html
[delete] https://crrev.com/ac47edd22c481fcfe119769d6b7abf365abea8fa/third_party/WebKit/LayoutTests/fast/css/font-face-multiple-faces.html
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/italic-expected.txt
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/win/css1/font_properties/font_style-expected.png
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/win/css2.1/t1504-c523-font-style-00-b-expected.png
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/win/css2.1/t1504-c523-font-style-00-b-expected.txt
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/win/css2.1/t1508-c527-font-08-b-expected.png
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/win/css2.1/t1508-c527-font-08-b-expected.txt
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/italic-expected.txt
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/smallFonts-expected.png
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/smallFonts-expected.txt
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textFeatures-expected.png
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textFeatures-expected.txt
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textStyles-expected.png
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textStyles-expected.txt
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/css1/font_properties/font-expected.txt
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/css1/font_properties/font_style-expected.png
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/css1/font_properties/font_style-expected.txt
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/LayoutTests/platform/win7/virtual/mojo-loading/css1/font_properties/font-expected.txt
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/animation/CSSFontWeightInterpolationType.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/animation/CSSFontWeightInterpolationType.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/animation/FontWeightConversion.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/animation/FontWeightConversion.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/BUILD.gn
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/CSSFontFace.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/CSSFontFaceSource.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/CSSFontFaceSourceTest.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/CSSFontFaceSrcValue.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/CSSFontFamilyValue.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/CSSSegmentedFontFace.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/CSSSegmentedFontFace.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/FontFace.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/FontFace.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/FontFaceCache.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/FontFaceCache.h
[add] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/FontFaceCacheTest.cpp
[delete] https://crrev.com/ac47edd22c481fcfe119769d6b7abf365abea8fa/third_party/WebKit/Source/core/css/FontStyleMatcher.cpp
[delete] https://crrev.com/ac47edd22c481fcfe119769d6b7abf365abea8fa/third_party/WebKit/Source/core/css/FontStyleMatcher.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/LocalFontFaceSource.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/StyleRule.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/properties/CSSShorthandPropertyAPIFont.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/resolver/FontBuilder.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/resolver/FontBuilder.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/resolver/FontBuilderTest.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/resolver/FontStyleResolver.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/html/forms/InternalPopupMenu.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/layout/LayoutTheme.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/layout/LayoutTheme.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/layout/LayoutThemeDefault.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/layout/LayoutThemeDefault.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/layout/LayoutThemeFontProvider.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/layout/LayoutThemeFontProviderDefault.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/layout/LayoutThemeFontProviderWin.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/layout/LayoutThemeMac.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/layout/LayoutThemeMac.mm
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/paint/EmbeddedObjectPainter.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/BUILD.gn
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/DragImage.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/DragImageTest.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/exported/WebFontDescription.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/fonts/FontDescription.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/fonts/FontDescription.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/fonts/FontDescriptionTest.cpp
[add] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/fonts/FontSelectionAlgorithm.cpp
[add] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/fonts/FontSelectionAlgorithm.h
[add] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/fonts/FontSelectionTypes.cpp
[add] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/fonts/FontSelectionTypes.h
[add] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/fonts/FontSelectionTypesTest.cpp
[delete] https://crrev.com/ac47edd22c481fcfe119769d6b7abf365abea8fa/third_party/WebKit/Source/platform/fonts/FontTraits.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/fonts/linux/FontCacheLinux.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/fonts/mac/FontFamilyMatcherMac.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/fonts/mac/FontFamilyMatcherMac.mm
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/fonts/mac/FontFamilyMatcherMacTest.mm
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/fonts/shaping/RunSegmenter.h
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp
[modify] https://crrev.com/818128039c5b02fd68d171f18014a34035f87023/third_party/WebKit/Source/platform/fonts/win/FontCacheSkiaWin.cpp

Project Member

Comment 13 by bugdroid1@chromium.org, Jul 27 2017

Labels: merge-merged-3168
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ff6c324ccc5322fa8b344d73898bb0ed834c1efe

commit ff6c324ccc5322fa8b344d73898bb0ed834c1efe
Author: Alexei Svitkine <asvitkine@chromium.org>
Date: Thu Jul 27 18:07:25 2017

Revert "Introduce FontSelectionTypes and FontSelectionAlgorithm" and dependent patches.

This patch causes an internal compiler error in Clang x86_64 official Android
codegen related to FontSelectionValueStyle.  This bot
gates all Android canary releases and the fix is not immediately obvious, so as
sheriff I unfortunately need to revert this patch and its dependencies.

Revert "Add range-matching capabilities to FontFaceCache"
This reverts commit b45665298c860afc0b5042ceac5b4131e8d55cac.

Revert "Move font-weight parsing and representation to CSSPrimitiveValue"
This reverts commit 4284165bb5adcb7cf7c06565e9f13e2c0fb775d4.

Revert "Introduce FontSelectionTypes and FontSelectionAlgorithm"
This reverts commit ad9b5da819de07237b1986dc59ca06a792467728.

NOTRY=true
TBR=aelias@chromium.org, drott
BUG=749273, 739139 , 733154 

(cherry picked from commit 48906e26e45db659ea543f9ee1df9b694cdd3a15)

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I2155239b95ea002fe139661318a63a5a537c7821
Reviewed-on: https://chromium-review.googlesource.com/587342
Reviewed-by: Alexandre Elias <aelias@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#489811}
Reviewed-on: https://chromium-review.googlesource.com/589816
Reviewed-by: Alexei Svitkine (OOO July28-Aug6) <asvitkine@chromium.org>
Cr-Commit-Position: refs/branch-heads/3168@{#3}
Cr-Branched-From: da2455bea333a5a4bfe61ba1fcfe9e325dc368e1-refs/heads/master@{#489803}
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/css3/font-weight-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/css3/font-weight-multiple-selectors-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/css3/font-weight-multiple-selectors.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/css3/font-weight.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/editing/pasteboard/dragstart-contains-default-content-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/editing/pasteboard/onpaste-text-html-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/editing/pasteboard/paste-text-with-style-4-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/external/wpt/editing/run/multitest-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/atapply/at-apply-shorthands.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/child-selector-implicit-tbody.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/css-properties-case-insensitive.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/font-face-character-fallback-expected.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/font-face-default-font-expected.html
[add] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/font-face-multiple-faces-expected.html
[add] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/font-face-multiple-faces.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/font-shorthand-from-longhands-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/font-shorthand-from-longhands.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/font-weight-1.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-empty-font-family-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-font-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-font-family-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-listing-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/script-tests/computed-style-font.js
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/invalidation/non-independent-inheritance-identical-computed-styles.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/variables/longhand-pending-shorthand-substitution.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/events/ondrop-text-html-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/grouping_content/figcaption-element-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/grouping_content/figcaption-element.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/grouping_content/figure-element-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/grouping_content/figure-element.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/grouping_content/main-element-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/grouping_content/main-element.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/sections/article-element-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/sections/article-element.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/sections/aside-element-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/sections/aside-element.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/sections/footer-element-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/sections/footer-element.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/sections/header-element-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/sections/header-element.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/sections/hgroup-element-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/sections/hgroup-element.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/sections/section-element-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/sections/section-element.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/text_level_semantics/mark-element-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/html/text_level_semantics/mark-element.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/inspector/elements/elements-panel-styles-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/media/track/track-css-matching-default.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/linux/fast/css/css2-system-fonts-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/italic-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/mac/fast/css/css2-system-fonts-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win/css1/font_properties/font_style-expected.png
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win/css2.1/t1504-c523-font-style-00-b-expected.png
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win/css2.1/t1504-c523-font-style-00-b-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win/css2.1/t1508-c527-font-08-b-expected.png
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win/css2.1/t1508-c527-font-08-b-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/italic-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win/fast/css/css2-system-fonts-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/smallFonts-expected.png
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/smallFonts-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textFeatures-expected.png
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textFeatures-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textStyles-expected.png
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textStyles-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/css1/font_properties/font-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/css1/font_properties/font_style-expected.png
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/css1/font_properties/font_style-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/platform/win7/virtual/mojo-loading/css1/font_properties/font-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/svg/css/getComputedStyle-listing-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/svg/parser/foreign-object-case-sensitivity-expected.txt
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/svg/parser/foreign-object-case-sensitivity.html
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/animation/CSSFontWeightInterpolationType.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/animation/CSSFontWeightInterpolationType.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/animation/FontWeightConversion.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/animation/FontWeightConversion.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/BUILD.gn
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/CSSFontFace.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/CSSFontFaceSource.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/CSSFontFaceSourceTest.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/CSSFontFaceSrcValue.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/CSSFontFamilyValue.h
[delete] https://crrev.com/c2f36afa734678235a7f54c869b585203b2b8c7b/third_party/WebKit/Source/core/css/CSSFontStyleRangeValue.cpp
[delete] https://crrev.com/c2f36afa734678235a7f54c869b585203b2b8c7b/third_party/WebKit/Source/core/css/CSSFontStyleRangeValue.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/CSSSegmentedFontFace.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/CSSSegmentedFontFace.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/CSSValue.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/CSSValue.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/CSSValueKeywords.json5
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/FontFace.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/FontFace.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/FontFaceCache.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/FontFaceCache.h
[delete] https://crrev.com/c2f36afa734678235a7f54c869b585203b2b8c7b/third_party/WebKit/Source/core/css/FontFaceCacheTest.cpp
[add] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/FontStyleMatcher.cpp
[add] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/FontStyleMatcher.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/LocalFontFaceSource.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/StyleRule.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/properties/CSSPropertyFontUtils.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/properties/CSSPropertyFontUtils.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/properties/CSSShorthandPropertyAPIFont.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/resolver/FontBuilder.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/resolver/FontBuilder.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/resolver/FontBuilderTest.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/resolver/FontStyleResolver.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/editing/EditingStyle.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/exported/WebViewTest.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/html/forms/InternalPopupMenu.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/layout/LayoutTheme.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/layout/LayoutTheme.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/layout/LayoutThemeDefault.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/layout/LayoutThemeDefault.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/layout/LayoutThemeFontProvider.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/layout/LayoutThemeFontProviderDefault.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/layout/LayoutThemeFontProviderWin.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/layout/LayoutThemeMac.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/layout/LayoutThemeMac.mm
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/paint/EmbeddedObjectPainter.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/platform/BUILD.gn
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/platform/DragImage.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/platform/DragImageTest.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/platform/exported/WebFontDescription.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/platform/fonts/FontDescription.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/platform/fonts/FontDescription.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/platform/fonts/FontDescriptionTest.cpp
[delete] https://crrev.com/c2f36afa734678235a7f54c869b585203b2b8c7b/third_party/WebKit/Source/platform/fonts/FontSelectionAlgorithm.cpp
[delete] https://crrev.com/c2f36afa734678235a7f54c869b585203b2b8c7b/third_party/WebKit/Source/platform/fonts/FontSelectionAlgorithm.h
[delete] https://crrev.com/c2f36afa734678235a7f54c869b585203b2b8c7b/third_party/WebKit/Source/platform/fonts/FontSelectionTypes.cpp
[delete] https://crrev.com/c2f36afa734678235a7f54c869b585203b2b8c7b/third_party/WebKit/Source/platform/fonts/FontSelectionTypes.h
[delete] https://crrev.com/c2f36afa734678235a7f54c869b585203b2b8c7b/third_party/WebKit/Source/platform/fonts/FontSelectionTypesTest.cpp
[add] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/platform/fonts/FontTraits.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/platform/fonts/linux/FontCacheLinux.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/platform/fonts/mac/FontFamilyMatcherMac.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/platform/fonts/mac/FontFamilyMatcherMac.mm
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/platform/fonts/mac/FontFamilyMatcherMacTest.mm
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/platform/fonts/shaping/RunSegmenter.h
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp
[modify] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/platform/fonts/win/FontCacheSkiaWin.cpp

Project Member

Comment 14 by bugdroid1@chromium.org, Jul 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/558e3a8280413ced4d637b86667b29bc70f049bf

commit 558e3a8280413ced4d637b86667b29bc70f049bf
Author: Alexei Svitkine <asvitkine@chromium.org>
Date: Thu Jul 27 18:09:40 2017

Reland: Introduce FontSelectionTypes and FontSelectionAlgorithm

Reverted in 48906e26e45db659ea543f9ee1df9b694cdd3a15 due to clang
compiler crash. Fixed in this CL by returning references for constant
FontStyleValue's.

This is step 1 of  issue 733154 , adding OpenType variation support to
font style matching.

This CL introduces FontSelectionValue, FontSelectionRequest and
FontSelectionCapabilities, adapted from WebKit's
implementation. FontSelectionRequest are the font styling parameters
that are requested somewhere in the page, FontSelectionCapabilities
represents the traits of the @font-face and can now contain
ranges. FontTraits is removed: FontTraits was used for both: To
represent the request parameters, as well as the capabilities of a CSS
declared @font-face. This unified usage has to be broken up in
preparation for matching against variable fonts that can cover a range
of capabilities.

Breaking up FontTraits into FontSelectionRequest and
FontSelectionCapabilities means that FontFaceCache has to be
redesigned. New lookup data structures are needed that match and map an
incoming FontSelectionRequest against available
FontSelectionCapabilities (details in FontFaceCache.h). The discrete
values matching algorithm in FontStyleMatcher.h|cpp is replaced by a
range matching decimal values algorithm in FontSelectionAlgorithm.h.

This CL also means that we transition to - within the same @font-face -
mapping font-style italic and font-style oblique to the same scale. CSS
Fonts Level 4 allows this in
https://drafts.csswg.org/css-fonts-4/#font-style-matching and it
simplifies the implementation of matching against variable fonts. Note
that the keywords themselves are still permitted. The limitation is only
that within the same font-family: a @font-face declared with font-style:
italic; and font-style: oblique; are not distinguished any more. I do
not expect any practical problems or impact from this axis merge, since
Chrome did not support this distinction for very long.

The upcoming steps will introduce parsing of ranges in @font-face
declarations, add range tests to FontFaceCacheTest and hook up the
selection variable fonts parameters to the font stack.

TBR'ing junov, aboxhall for minor changes in accessibility/ and canvas2d/.

TBR'ing eae, meade since change had been originally reviewed in
https://chromium-review.googlesource.com/c/565238/ and fix for compiler
crash is minor (returning references instead of copies for constant
values, see above).

TBR=drott@chromium.org

(cherry picked from commit 818128039c5b02fd68d171f18014a34035f87023)

Bug:  733154 , 749273
Test: FontFaceCacheTest, FontSelectionTypesTest
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I9b3230da0ff2afadd380428245c3c8eed5f56948
TBR: junov,aboxhall,eae,meade
Reviewed-on: https://chromium-review.googlesource.com/589270
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#490006}
Reviewed-on: https://chromium-review.googlesource.com/589817
Reviewed-by: Alexei Svitkine (OOO July28-Aug6) <asvitkine@chromium.org>
Cr-Commit-Position: refs/branch-heads/3168@{#4}
Cr-Branched-From: da2455bea333a5a4bfe61ba1fcfe9e325dc368e1-refs/heads/master@{#489803}
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/fast/css/font-face-character-fallback-expected.html
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/fast/css/font-face-default-font-expected.html
[delete] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/font-face-multiple-faces-expected.html
[delete] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/LayoutTests/fast/css/font-face-multiple-faces.html
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/mac/external/wpt/editing/run/italic-expected.txt
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/win/css1/font_properties/font_style-expected.png
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/win/css2.1/t1504-c523-font-style-00-b-expected.png
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/win/css2.1/t1504-c523-font-style-00-b-expected.txt
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/win/css2.1/t1508-c527-font-08-b-expected.png
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/win/css2.1/t1508-c527-font-08-b-expected.txt
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/win/external/wpt/editing/run/italic-expected.txt
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/smallFonts-expected.png
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/smallFonts-expected.txt
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textFeatures-expected.png
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textFeatures-expected.txt
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textStyles-expected.png
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textStyles-expected.txt
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/css1/font_properties/font-expected.txt
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/css1/font_properties/font_style-expected.png
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/css1/font_properties/font_style-expected.txt
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/LayoutTests/platform/win7/virtual/mojo-loading/css1/font_properties/font-expected.txt
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/animation/CSSFontWeightInterpolationType.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/animation/CSSFontWeightInterpolationType.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/animation/FontWeightConversion.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/animation/FontWeightConversion.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/BUILD.gn
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/CSSFontFace.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/CSSFontFaceSource.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/CSSFontFaceSourceTest.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/CSSFontFaceSrcValue.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/CSSFontFamilyValue.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/CSSSegmentedFontFace.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/CSSSegmentedFontFace.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/FontFace.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/FontFace.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/FontFaceCache.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/FontFaceCache.h
[add] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/FontFaceCacheTest.cpp
[delete] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/FontStyleMatcher.cpp
[delete] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/core/css/FontStyleMatcher.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/LocalFontFaceSource.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/StyleRule.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/properties/CSSShorthandPropertyAPIFont.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/resolver/FontBuilder.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/resolver/FontBuilder.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/resolver/FontBuilderTest.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/resolver/FontStyleResolver.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/html/forms/InternalPopupMenu.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/layout/LayoutTheme.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/layout/LayoutTheme.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/layout/LayoutThemeDefault.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/layout/LayoutThemeDefault.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/layout/LayoutThemeFontProvider.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/layout/LayoutThemeFontProviderDefault.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/layout/LayoutThemeFontProviderWin.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/layout/LayoutThemeMac.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/layout/LayoutThemeMac.mm
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/paint/EmbeddedObjectPainter.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/BUILD.gn
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/DragImage.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/DragImageTest.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/exported/WebFontDescription.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/fonts/FontDescription.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/fonts/FontDescription.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/fonts/FontDescriptionTest.cpp
[add] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/fonts/FontSelectionAlgorithm.cpp
[add] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/fonts/FontSelectionAlgorithm.h
[add] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/fonts/FontSelectionTypes.cpp
[add] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/fonts/FontSelectionTypes.h
[add] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/fonts/FontSelectionTypesTest.cpp
[delete] https://crrev.com/ff6c324ccc5322fa8b344d73898bb0ed834c1efe/third_party/WebKit/Source/platform/fonts/FontTraits.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/fonts/linux/FontCacheLinux.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/fonts/mac/FontFamilyMatcherMac.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/fonts/mac/FontFamilyMatcherMac.mm
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/fonts/mac/FontFamilyMatcherMacTest.mm
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/fonts/shaping/RunSegmenter.h
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp
[modify] https://crrev.com/558e3a8280413ced4d637b86667b29bc70f049bf/third_party/WebKit/Source/platform/fonts/win/FontCacheSkiaWin.cpp

Project Member

Comment 15 by bugdroid1@chromium.org, Jul 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/25b976cbeca66d21afda0948e128ed4dbb110c99

commit 25b976cbeca66d21afda0948e128ed4dbb110c99
Author: Dominik Röttsches <drott@chromium.org>
Date: Thu Jul 27 23:29:40 2017

Reland: Add range-matching capabilities to FontFaceCache

Reland of b45665298c860afc0b5042ceac5b4131e8d55cac, reverted in
b45665298c860afc0b5042ceac5b4131e8d55cac. Original issue fixed in parent
commit. This CL itself got reverted because it was dependent on the
parent.

As step 2 of  issue 733154 , add range matching capabilities to FontFace
and FontFaceCache, tested in range matching tests of
FontFaceCacheTest. This functionality conforms to the font style
matching algorithm in section 5.2 of CSS Fonts Level 4.

This CL does not yet introduce changes to the CSS parser and does not
expose the extended matching behavior to CSS. In order to keep CLs
small, this is an interim step, keeping the interpretation of
CSSIdentifierValue's in FontFace.cpp until those are removed in
subsequent CLs, see  issue 733154  for more details.

[1] https://drafts.csswg.org/css-fonts-4/#font-style-matching

TBR'ing since original CL has been reviewed in
https://chromium-review.googlesource.com/c/568150/

Bug:  733154 
Change-Id: Ifd2e6d43a0b673c96b147d2398038148d5c337bf
TBR: eae, meade
Reviewed-on: https://chromium-review.googlesource.com/589567
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490100}
[modify] https://crrev.com/25b976cbeca66d21afda0948e128ed4dbb110c99/third_party/WebKit/Source/core/css/BUILD.gn
[add] https://crrev.com/25b976cbeca66d21afda0948e128ed4dbb110c99/third_party/WebKit/Source/core/css/CSSFontStyleRangeValue.cpp
[add] https://crrev.com/25b976cbeca66d21afda0948e128ed4dbb110c99/third_party/WebKit/Source/core/css/CSSFontStyleRangeValue.h
[modify] https://crrev.com/25b976cbeca66d21afda0948e128ed4dbb110c99/third_party/WebKit/Source/core/css/CSSValue.cpp
[modify] https://crrev.com/25b976cbeca66d21afda0948e128ed4dbb110c99/third_party/WebKit/Source/core/css/CSSValue.h
[modify] https://crrev.com/25b976cbeca66d21afda0948e128ed4dbb110c99/third_party/WebKit/Source/core/css/FontFace.cpp
[modify] https://crrev.com/25b976cbeca66d21afda0948e128ed4dbb110c99/third_party/WebKit/Source/core/css/FontFaceCacheTest.cpp

Project Member

Comment 16 by bugdroid1@chromium.org, Aug 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/87a6cd117134638915c862592b1b4c8c00e4b7c6

commit 87a6cd117134638915c862592b1b4c8c00e4b7c6
Author: Dominik Röttsches <drott@chromium.org>
Date: Fri Aug 04 15:34:10 2017

Pass variable axis parameters from matching to font instantiation

After the previous CLs for  issue 749091 , which enabled parsing ranges in
descriptors, font range matching is now fully enabled and the previously
upstreamed WPT tests can be enabled. This completes the series of
patches for  issue 749091  and  733154  and enables variable font matching
and instantiation through font-stretch, font-style and font-weight.

Bug:  733154 
Change-Id: I4545dca17e805523442c1ca9885acd6911937e5c
Reviewed-on: https://chromium-review.googlesource.com/600307
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Rune Lillesveen <rune@opera.com>
Reviewed-by: Bugs Nash <bugsnash@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492041}
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/LayoutTests/NeverFixTests
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/LayoutTests/external/wpt/css-fonts/matching/fixed-stretch-style-over-weight.html
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/LayoutTests/external/wpt/css-fonts/matching/font-matching.css
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/LayoutTests/external/wpt/css-fonts/matching/stretch-distance-over-weight-distance.html
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/LayoutTests/external/wpt/css-fonts/matching/style-ranges-over-weight-direction.html
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/Source/core/css/BinaryDataFontFaceSource.cpp
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/Source/core/css/BinaryDataFontFaceSource.h
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/Source/core/css/CSSFontFace.cpp
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/Source/core/css/CSSFontFaceSource.cpp
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/Source/core/css/CSSFontFaceSource.h
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/Source/core/css/CSSFontFaceSourceTest.cpp
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/Source/core/css/CSSSegmentedFontFace.cpp
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/Source/core/css/LocalFontFaceSource.cpp
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/Source/core/css/LocalFontFaceSource.h
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/Source/core/css/RemoteFontFaceSource.cpp
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/Source/core/css/RemoteFontFaceSource.h
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/Source/platform/fonts/FontCustomPlatformData.cpp
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/Source/platform/fonts/FontCustomPlatformData.h
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/Source/platform/fonts/FontDescription.cpp
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/Source/platform/fonts/FontDescription.h
[modify] https://crrev.com/87a6cd117134638915c862592b1b4c8c00e4b7c6/third_party/WebKit/Source/platform/testing/FontTestHelpers.cpp

Status: Fixed (was: Started)

Sign in to add a comment