[webkit-changes] [WebKit/WebKit] 399ba3: facebook.com: sidebar not visible at 100% while cr...

Wenson Hsieh noreply at github.com
Sat Dec 7 21:06:23 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 399ba301396f2dd9440d5015c2d097575967f7e2
      https://github.com/WebKit/WebKit/commit/399ba301396f2dd9440d5015c2d097575967f7e2
  Author: Wenson Hsieh <wenson_hsieh at apple.com>
  Date:   2024-12-07 (Sat, 07 Dec 2024)

  Changed paths:
    M Source/WebCore/page/Quirks.cpp
    M Source/WebCore/page/Quirks.h
    M Source/WebCore/page/QuirksData.h
    M Source/WebCore/style/StyleAdjuster.cpp

  Log Message:
  -----------
  facebook.com: sidebar not visible at 100% while creating stories on 11" iPad in portrait mode
https://bugs.webkit.org/show_bug.cgi?id=284235
rdar://98749450

Reviewed by Richard Robinson.

On 11-inch iPad in portrait mode, the left sidebar in the Stories creation form is hidden using
`display: none;`, due to a media query targeting `@media (max-width: 899px)`, even though (1)
there's enough space to fit the sidebar on screen, and (2) the sidebar is fully functional. To fix
this, add a quirk to override the resolved `display: none;` CSS value with `display: flex;` instead
(the expected value at `>= 900` viewport width).

* Source/WebCore/page/Quirks.cpp:
(WebCore::Quirks::isFacebook const):
(WebCore::Quirks::requiresUserGestureToPauseInPictureInPicture const):

Make this use the new `isFacebook()` helper method.

(WebCore::accessibilityRole):
(WebCore::Quirks::shouldIgnoreContentObservationForClick const):
(WebCore::Quirks::needsFacebookStoriesCreationFormQuirk const):

Add a new quirk (see above). The container can be identified using several criteria:

1. The document domain is `facebook.com`, and the path starts with `/stories/create`.
2. The element has `role=navigation`.
3. The element subtree contains a `textarea`.

I'm also caching `m_facebookStoriesCreationFormContainer` here to avoid unnecessary DOM traversal
during style adjustment, once the container has been identified.

* Source/WebCore/page/Quirks.h:
* Source/WebCore/page/QuirksData.h:

Add cached state to represent whether or not the top domain is `facebook.com`.

* Source/WebCore/style/StyleAdjuster.cpp:
(WebCore::Style::Adjuster::adjustForSiteSpecificQuirks const):

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