This will make the text <--> fonts dependency one-way, which is much easier to reason about and brings clarity to platform/ structure.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7af0b3902af664edc760f08697d3ec14f87e8008 commit 7af0b3902af664edc760f08697d3ec14f87e8008 Author: Dmitry Gozman <dgozman@chromium.org> Date: Wed May 30 19:38:32 2018 Move locale-dependent bits to LayoutLocale This removes AcceptLanguagesResolver, which was delegating most of the work to FontGlobalContext anyway, and also simplifies FontGlobalContext a fair amount by introducing LayoutLocale::PerThreadData. Bug: 847934 Change-Id: I10f8ccc682d4cdc77189fb6738872636ecd5425e Reviewed-on: https://chromium-review.googlesource.com/1074828 Commit-Queue: Dmitry Gozman <dgozman@chromium.org> Reviewed-by: Dominik Röttsches <drott@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#562959} [modify] https://crrev.com/7af0b3902af664edc760f08697d3ec14f87e8008/third_party/blink/renderer/platform/BUILD.gn [modify] https://crrev.com/7af0b3902af664edc760f08697d3ec14f87e8008/third_party/blink/renderer/platform/DEPS [delete] https://crrev.com/787a06c17905a45e5b2d4b3740f2e1f8005d21b9/third_party/blink/renderer/platform/fonts/accept_languages_resolver.cc [delete] https://crrev.com/787a06c17905a45e5b2d4b3740f2e1f8005d21b9/third_party/blink/renderer/platform/fonts/accept_languages_resolver.h [delete] https://crrev.com/787a06c17905a45e5b2d4b3740f2e1f8005d21b9/third_party/blink/renderer/platform/fonts/accept_languages_resolver_test.cc [modify] https://crrev.com/7af0b3902af664edc760f08697d3ec14f87e8008/third_party/blink/renderer/platform/fonts/font_cache.cc [modify] https://crrev.com/7af0b3902af664edc760f08697d3ec14f87e8008/third_party/blink/renderer/platform/fonts/font_global_context.cc [modify] https://crrev.com/7af0b3902af664edc760f08697d3ec14f87e8008/third_party/blink/renderer/platform/fonts/font_global_context.h [modify] https://crrev.com/7af0b3902af664edc760f08697d3ec14f87e8008/third_party/blink/renderer/platform/layout_locale.cc [modify] https://crrev.com/7af0b3902af664edc760f08697d3ec14f87e8008/third_party/blink/renderer/platform/layout_locale.h [modify] https://crrev.com/7af0b3902af664edc760f08697d3ec14f87e8008/third_party/blink/renderer/platform/layout_locale_test.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e26e064dd3ad6ca86361fbbcd262339da58c1345 commit e26e064dd3ad6ca86361fbbcd262339da58c1345 Author: Dmitry Gozman <dgozman@chromium.org> Date: Mon Jun 25 14:29:58 2018 Blink: remove dependency from platform/text to platform/fonts Text is lower-level than fonts, and having two-sided dependency makes things harder to reason about. This patch does a couple of small changes to eliminate the text->fonts dependency: - Move LayoutLocale to platform/text. - Replace Hyphenation::MinimumPrefixWidth with FontDescription::MinimumPrefixWidthToHyphenate. - Move LayoutLocale::PerThreadData to a separate ThreadSpecific local, instead of reusing FontGlobalContext. This also brings encapsulation of PerThreadData to the private implementation of LayoutLocale. - Remove stray include of Glyph from TextRun. Bug: 847934 Change-Id: Ib545ff2c86bedfe23e955cdf71d200e29927434a Reviewed-on: https://chromium-review.googlesource.com/1111271 Reviewed-by: Koji Ishii <kojii@chromium.org> Reviewed-by: Dominik Röttsches <drott@chromium.org> Commit-Queue: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#570033} [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/core/css/resolver/style_builder_converter.h [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/core/layout/layout_text.cc [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/core/layout/line/breaking_context_inline_headers.h [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/core/testing/internals.cc [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/BUILD.gn [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/fonts/DEPS [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/fonts/font_cache.cc [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/fonts/font_description.cc [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/fonts/font_description.h [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/fonts/font_global_context.cc [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/fonts/font_global_context.h [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/fonts/simple_font_data.h [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/text/DEPS [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/text/hyphenation.cc [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/text/hyphenation.h [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/text/hyphenation/hyphenation_minikin.cc [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/text/hyphenation_test.cc [rename] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/text/layout_locale.cc [rename] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/text/layout_locale.h [rename] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/text/layout_locale_test.cc [modify] https://crrev.com/e26e064dd3ad6ca86361fbbcd262339da58c1345/third_party/blink/renderer/platform/text/text_run.h
Comment 1 by bugdroid1@chromium.org
, May 30 2018