Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9178642d517556d27941c905e8a8255af40fcc71
      
https://github.com/WebKit/WebKit/commit/9178642d517556d27941c905e8a8255af40fcc71
  Author: Tim Horton <thor...@apple.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h
    M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFDocumentLayout.mm
    M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h
    M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm
    M Source/WebKit/WebProcess/Plugins/PluginView.cpp
    M Source/WebKit/WebProcess/Plugins/PluginView.h
    M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
    M Source/WebKit/WebProcess/WebPage/FindController.cpp
    M Source/WebKit/WebProcess/WebPage/FindController.h

  Log Message:
  -----------
  UnifiedPDF: Paint wash and holes for find matches
https://bugs.webkit.org/show_bug.cgi?id=269493
rdar://123028742

Reviewed by Simon Fraser.

* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h:
(WebKit::PDFPluginBase::rectsForTextMatchesInRect):
* Source/WebKit/WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::updateFindUIAfterPageScroll):
(WebKit::FindController::rectsForTextMatchesInRect):
(WebKit::FindController::didInvalidateFindRects):
(WebKit::FindController::didInvalidateDocumentMarkerRects): Deleted.
* Source/WebKit/WebProcess/WebPage/FindController.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::didInvalidateDocumentMarkerRects):
* Source/WebKit/WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::rectsForTextMatchesInRect):
(WebKit::PluginView::drawsFindOverlay const):
* Source/WebKit/WebProcess/Plugins/PluginView.h:
Have FindController defer to the plugin as to whether it wants the find overlay,
and to retrieve the rectangles for the holes.

* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFDocumentLayout.mm:
(WebKit::PDFDocumentLayout::pdfPageRectToDocumentRect const):
Actually flip this rectangle, instead of just moving it.

* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h:
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm:
(WebKit::UnifiedPDFPlugin::didChangeScrollOffset):
Invalidate find rects when we scroll. For now they'll scroll asynchronously
in the main find overlay, but we should move them into an overlay layer that\
scrolls with the PDF instead.

(WebKit::compareOptionsForFindOptions):
Factor this conversion out of findString.

(WebKit::UnifiedPDFPlugin::findString):
When the find string changes, rebuild the cached set of match rects.

(WebKit::UnifiedPDFPlugin::collectFindMatchRects):
Maintain a set of rects for all of the matches, in document coordinates.

(WebKit::UnifiedPDFPlugin::rectsForTextMatchesInRect):
Convert and return the rects in plugin coordinates. This only works for
the main frame plugin, but FindController is only hooked up for the main
frame plugin for now.

(WebKit::UnifiedPDFPlugin::pluginBoundsForAnnotation const):
Un-work-around the missing flip in pdfPageRectToDocumentRect.

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


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

Reply via email to