[webkit-changes] [WebKit/WebKit] ab2fff: [UnifiedPDF] Null pointer dereference crash under ...

Abrar Rahman Protyasha noreply at github.com
Tue Oct 29 17:11:17 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ab2fff92b37e52d6c65e215b155e6b92f1646954
      https://github.com/WebKit/WebKit/commit/ab2fff92b37e52d6c65e215b155e6b92f1646954
  Author: Abrar Rahman Protyasha <a_protyasha at apple.com>
  Date:   2024-10-29 (Tue, 29 Oct 2024)

  Changed paths:
    A LayoutTests/http/tests/pdf/page-in-window-update-with-linearized-pdf-in-display-none-iframe-expected.txt
    A LayoutTests/http/tests/pdf/page-in-window-update-with-linearized-pdf-in-display-none-iframe.html
    M LayoutTests/platform/mac-site-isolation/TestExpectations
    M LayoutTests/platform/mac-ventura/TestExpectations
    M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm

  Log Message:
  -----------
  [UnifiedPDF] Null pointer dereference crash under PDFScrollingPresentationController::updateIsInWindow(bool)
https://bugs.webkit.org/show_bug.cgi?id=282272
rdar://138776966

Reviewed by Simon Fraser.

Page activity state updates may reach the plugin, and hence calling into
UnifiedPDFPlugin::didChangeIsInWindow(), before the main thread has
created any layers. This triggers a null pointer dereference crash as it
breaks our unsaid assumption about content layer availability inside the
presentation controller.

This patch introduces an early return if the plugin receives an inWindow
update but does not have a PDFDocument.

* LayoutTests/http/tests/pdf/page-in-window-update-with-linearized-pdf-in-display-none-iframe-expected.txt: Added.
* LayoutTests/http/tests/pdf/page-in-window-update-with-linearized-pdf-in-display-none-iframe.html: Added.
* LayoutTests/platform/mac-site-isolation/TestExpectations:
* LayoutTests/platform/mac-ventura/TestExpectations:
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm:
(WebKit::UnifiedPDFPlugin::didChangeIsInWindow):

Canonical link: https://commits.webkit.org/285872@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