Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 72d690ca074069922d8088c78ba5b2ab8fc9872e
      
https://github.com/WebKit/WebKit/commit/72d690ca074069922d8088c78ba5b2ab8fc9872e
  Author: Karl Dubost <karl...@apple.com>
  Date:   2023-10-11 (Wed, 11 Oct 2023)

  Changed paths:
    M Source/WebCore/css/CSSFontFaceSrcValue.cpp
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/loader/cache/AllowedFonts.cpp
    M Source/WebCore/loader/cache/CachedFont.cpp
    M Source/WebCore/loader/cache/CachedFont.h
    M Source/WebCore/loader/cache/CachedFontLoadRequest.h

  Log Message:
  -----------
  Add lockdown mode logging
https://bugs.webkit.org/show_bug.cgi?id=262518
rdar://114657783

Reviewed by Chris Dumez.

When activated Lockdown mode is reducing some of the features
accessible to a Webpage. This creates breakages which can be
sometimes a bit hard to identify. The goal of this change is
to improve the findability of the type of issues by adding logging
for engineers to understand what type of breakage is going on.

Currently we only target fonts which have not been loaded. It seems,
for now, these are the main source of breakage. We initially wanted
to log the URL of the fonts being logged in syslog, but this create
significant issues in terms of privacy, as it would share URLs which
will be private to the user context, such as intranet systems. Logging
the name of the fonts might also create issues with inline nameless
fonts and we would only know the name given to the font at the CSS
parsing time, as the blocked fonts are not being downloaded.

This also adds logging in the Web Inspector console for fonts URLs
being blocked by Lockdown mode. Being private to the user context,
this is helpful for the Web developer to determine what fonts are
missing and gives the opportunity for them to share at their will
the issue in a bug report.

We might, in the future, add more engineering logging for other
features.

If you need to learn more about lockdown mode, see
https://support.apple.com/en-us/HT212650

* Source/WebCore/loader/cache/AllowedFonts.cpp:
(WebCore::isFontBinaryAllowed):
* Source/WebCore/css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcResourceValue::fontLoadRequest):
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::fontLoadRequest):
* Source/WebCore/loader/cache/CachedFont.cpp:
(WebCore::CachedFont::finishLoading):
* Source/WebCore/loader/cache/CachedFont.h:
(WebCore::CachedFont::didRefuseToLoadCustomFont const):
* Source/WebCore/loader/cache/CachedFontLoadRequest.h:

Co-authored-by: Chris Dumez <cdu...@apple.com>
Co-authored-by: Brent Fulgham <bfulg...@webkit.org>
Canonical link: https://commits.webkit.org/269238@main


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to