⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 279301 in webkit


Ignore:
Timestamp:
Jun 25, 2021, 5:09:16 PM (5 years ago)
Author:
mmaxfield@apple.com
Message:

[macOS] -[NSString _web_widthWithFont:] returns 0
​https://bugs.webkit.org/show_bug.cgi?id=227385
<rdar://problem/79430938>

Reviewed by Simon Fraser.

Source/WebCore:

Simply take the iOS codepath on macOS.

Test: WebKitLegacyStringWidth.ThaiWidthForWeb

  • platform/graphics/FontCascade.cpp:
  • platform/graphics/coretext/FontCascadeCoreText.cpp:

(WebCore::FontCascade::FontCascade):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/mac/StringWidth.mm: Added.

(TEST):

Location:
trunk
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r279298 r279301  
     12021-06-25  Myles C. Maxfield  <mmaxfield@apple.com>
     2
     3        [macOS] -[NSString _web_widthWithFont:] returns 0
     4        https://bugs.webkit.org/show_bug.cgi?id=227385
     5        <rdar://problem/79430938>
     6
     7        Reviewed by Simon Fraser.
     8
     9        Simply take the iOS codepath on macOS.
     10
     11        Test: WebKitLegacyStringWidth.ThaiWidthForWeb
     12
     13        * platform/graphics/FontCascade.cpp:
     14        * platform/graphics/coretext/FontCascadeCoreText.cpp:
     15        (WebCore::FontCascade::FontCascade):
     16
    1172021-06-22  Dean Jackson  <dino@apple.com>
    218
  • trunk/Source/WebCore/platform/graphics/FontCascade.cpp

    r278253 r279301  
    8888    , m_requiresShaping(computeRequiresShaping())
    8989{
    90 }
    91 
    92 // FIXME: We should make this constructor platform-independent.
    93 FontCascade::FontCascade(const FontPlatformData& fontData, FontSmoothingMode fontSmoothingMode)
    94     : m_fonts(FontCascadeFonts::createForPlatformFont(fontData))
    95     , m_enableKerning(computeEnableKerning())
    96     , m_requiresShaping(computeRequiresShaping())
    97 {
    98     m_fontDescription.setFontSmoothing(fontSmoothingMode);
    99 #if PLATFORM(IOS_FAMILY)
    100     m_fontDescription.setSpecifiedSize(CTFontGetSize(fontData.font()));
    101     m_fontDescription.setComputedSize(CTFontGetSize(fontData.font()));
    102     m_fontDescription.setIsItalic(CTFontGetSymbolicTraits(fontData.font()) & kCTFontTraitItalic);
    103     m_fontDescription.setWeight((CTFontGetSymbolicTraits(fontData.font()) & kCTFontTraitBold) ? boldWeightValue() : normalWeightValue());
    104 #endif
    10590}
    10691
  • trunk/Source/WebCore/platform/graphics/coretext/FontCascadeCoreText.cpp

    r278151 r279301  
    4343namespace WebCore {
    4444
     45FontCascade::FontCascade(const FontPlatformData& fontData, FontSmoothingMode fontSmoothingMode)
     46    : m_fonts(FontCascadeFonts::createForPlatformFont(fontData))
     47    , m_enableKerning(computeEnableKerning())
     48    , m_requiresShaping(computeRequiresShaping())
     49{
     50    m_fontDescription.setFontSmoothing(fontSmoothingMode);
     51    m_fontDescription.setSpecifiedSize(CTFontGetSize(fontData.ctFont()));
     52    m_fontDescription.setComputedSize(CTFontGetSize(fontData.ctFont()));
     53    m_fontDescription.setIsItalic(CTFontGetSymbolicTraits(fontData.ctFont()) & kCTFontTraitItalic);
     54    m_fontDescription.setWeight((CTFontGetSymbolicTraits(fontData.ctFont()) & kCTFontTraitBold) ? boldWeightValue() : normalWeightValue());
     55}
     56
    4557static const AffineTransform& rotateLeftTransform()
    4658{
  • trunk/Tools/ChangeLog

    r279280 r279301  
     12021-06-25  Myles C. Maxfield  <mmaxfield@apple.com>
     2
     3        [macOS] -[NSString _web_widthWithFont:] returns 0
     4        https://bugs.webkit.org/show_bug.cgi?id=227385
     5        <rdar://problem/79430938>
     6
     7        Reviewed by Simon Fraser.
     8
     9        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
     10        * TestWebKitAPI/Tests/mac/StringWidth.mm: Added.
     11        (TEST):
     12
    1132021-06-25  Ziran Sun  <zsun@igalia.com>
    214
  • trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj

    r279112 r279301  
    118118                1C7FEB20207C0F2E00D23278 /* BackgroundColor.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C7FEB1F207C0F2D00D23278 /* BackgroundColor.mm */; };
    119119                1C81802725FB09E200608B3E /* FontRegistrySandboxCheck.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C81802625FB09E200608B3E /* FontRegistrySandboxCheck.mm */; };
     120                1C8FA53A2685A6D500B7E49E /* StringWidth.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C8FA5392685A6D500B7E49E /* StringWidth.mm */; };
    120121                1C90420C2326E03C00BEF91E /* SelectionByWord.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C90420B2326E03C00BEF91E /* SelectionByWord.mm */; };
    121122                1C9EB8411E380DA1005C6442 /* ComplexTextController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C9EB8401E380DA1005C6442 /* ComplexTextController.cpp */; };
    … …  
    18741875                1C7FEB1F207C0F2D00D23278 /* BackgroundColor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = BackgroundColor.mm; sourceTree = "<group>"; };
    18751876                1C81802625FB09E200608B3E /* FontRegistrySandboxCheck.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = FontRegistrySandboxCheck.mm; sourceTree = "<group>"; };
     1877                1C8FA5392685A6D500B7E49E /* StringWidth.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = StringWidth.mm; sourceTree = "<group>"; };
    18761878                1C90420B2326E03C00BEF91E /* SelectionByWord.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SelectionByWord.mm; sourceTree = "<group>"; };
    18771879                1C9EB8401E380DA1005C6442 /* ComplexTextController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComplexTextController.cpp; sourceTree = "<group>"; };
    … …  
    47634765                                3799AD3914120A43005EB0C6 /* StringByEvaluatingJavaScriptFromString.mm */,
    47644766                                939BFE3918E5548900883275 /* StringTruncator.mm */,
     4767                                1C8FA5392685A6D500B7E49E /* StringWidth.mm */,
    47654768                                37A6895D148A9B50005100FA /* SubresourceErrorCrash.mm */,
    47664769                                E490296714E2E3A4002BEDD1 /* TypingStyleCrash.mm */,
    … …  
    57685771                                7CCE7ED11A411A7E00447C4C /* StringTruncator.mm in Sources */,
    57695772                                ECA680CE1E68CC0900731D20 /* StringUtilities.mm in Sources */,
     5773                                1C8FA53A2685A6D500B7E49E /* StringWidth.mm in Sources */,
    57705774                                CE4D5DE71F6743BA0072CFC6 /* StringWithDirection.cpp in Sources */,
    57715775                                41E67A8525D16E83007B0A4C /* STUNMessageParsingTest.cpp in Sources */,
Note: See TracChangeset for help on using the changeset viewer.