[webkit-changes] [WebKit/WebKit] bec768: Unified PDF: Wasting time under dictionaryPopupInf...

Tim Horton noreply at github.com
Thu Aug 15 00:33:53 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bec768823d9a21850357aa34faec406ea6325d58
      https://github.com/WebKit/WebKit/commit/bec768823d9a21850357aa34faec406ea6325d58
  Author: Tim Horton <thorton at apple.com>
  Date:   2024-08-15 (Thu, 15 Aug 2024)

  Changed paths:
    M Source/WebCore/editing/DictionaryPopupInfo.h
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm
    M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm

  Log Message:
  -----------
  Unified PDF: Wasting time under dictionaryPopupInfoForSelection generating an unused attributed string
https://bugs.webkit.org/show_bug.cgi?id=278151
rdar://133914757

Reviewed by Abrar Rahman Protyasha.

Unified PDF uses proper TextIndicators (with snapshots and all) for Lookup.
Legacy PDFPlugin still uses attributed strings presented by Lookup itself.
Because of this, bifurcate our implementations of dictionaryPopupInfoForSelection.
Simplify Unified PDF's implementation; it can avoid doing any style computation, and
can avoid laying out the string (which was egregiously expensive for large selections).

Also leave a note for the future: once legacy PDFPlugin is gone,
DictionaryPopupInfo only needs a textual string, no more attributes!

* Source/WebCore/editing/DictionaryPopupInfo.h:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::dictionaryPopupInfoForSelection):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm:
(WebKit::PDFPluginBase::performImmediateActionHitTestAtLocation):
(WebKit::PDFPluginBase::dictionaryPopupInfoForSelection): Deleted.
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm:
(WebKit::UnifiedPDFPlugin::dictionaryPopupInfoForSelection):

Canonical link: https://commits.webkit.org/282276@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list