Changeset 247470 in webkit


Ignore:
Timestamp:
Jul 15, 2019 9:24:16 PM (5 years ago)
Author:
Alan Bujtas
Message:

outlook.live.com has odd viewport with edge gap
https://bugs.webkit.org/show_bug.cgi?id=199822
<rdar://problem/53029072>

Reviewed by Wenson Hsieh.

Source/WebCore:

r244944 introduced a viewport width quirk because at certain screen size outlook.live.com's flex setup produced a slighly broken layout.
We don't seem to need this quirk anymore (composed column's min-width is removed.)

  • page/Quirks.cpp:

(WebCore::Quirks::shouldIgnoreShrinkToFitContent const): Deleted.
(WebCore::Quirks::overriddenViewLayoutWidth const): Deleted.

  • page/Quirks.h:

Source/WebKit:

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::setViewportConfigurationViewLayoutSize):
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::resetViewportDefaultConfiguration):
(WebKit::WebPage::immediatelyShrinkToFitContent):
(WebKit::WebPage::viewLayoutSizeAdjustedForQuirks): Deleted.

Location:
trunk/Source
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r247468 r247470  
     12019-07-15  Zalan Bujtas  <zalan@apple.com>
     2
     3        outlook.live.com has odd viewport with edge gap
     4        https://bugs.webkit.org/show_bug.cgi?id=199822
     5        <rdar://problem/53029072>
     6
     7        Reviewed by Wenson Hsieh.
     8
     9        r244944 introduced a viewport width quirk because at certain screen size outlook.live.com's flex setup produced a slighly broken layout.
     10        We don't seem to need this quirk anymore (composed column's min-width is removed.)
     11
     12        * page/Quirks.cpp:
     13        (WebCore::Quirks::shouldIgnoreShrinkToFitContent const): Deleted.
     14        (WebCore::Quirks::overriddenViewLayoutWidth const): Deleted.
     15        * page/Quirks.h:
     16
    1172019-07-15  Saam Barati  <sbarati@apple.com>
    218
  • trunk/Source/WebCore/page/Quirks.cpp

    r247444 r247470  
    5858}
    5959
    60 bool Quirks::shouldIgnoreShrinkToFitContent() const
    61 {
    62 #if PLATFORM(IOS_FAMILY)
    63     if (!needsQuirks())
    64         return false;
    65 
    66     auto host = m_document->topDocument().url().host();
    67     if (equalLettersIgnoringASCIICase(host, "outlook.live.com"))
    68         return true;
    69 #endif
    70     return false;
    71 }
    72 
    73 Optional<LayoutUnit> Quirks::overriddenViewLayoutWidth(LayoutUnit currentViewLayoutWidth) const
    74 {
    75 #if PLATFORM(IOS_FAMILY)
    76     if (!needsQuirks())
    77         return { };
    78 
    79     auto host = m_document->topDocument().url().host();
    80     if (equalLettersIgnoringASCIICase(host, "outlook.live.com")) {
    81         if (currentViewLayoutWidth <= 989 || currentViewLayoutWidth >= 1132)
    82             return { };
    83         return { 989 };
    84     }
    85 #else
    86     UNUSED_PARAM(currentViewLayoutWidth);
    87 #endif
    88     return { };
    89 }
    90 
    9160bool Quirks::shouldIgnoreInvalidSignal() const
    9261{
  • trunk/Source/WebCore/page/Quirks.h

    r247444 r247470  
    4343
    4444    bool shouldIgnoreInvalidSignal() const;
    45     WEBCORE_EXPORT bool shouldIgnoreShrinkToFitContent() const;
    46     WEBCORE_EXPORT Optional<LayoutUnit> overriddenViewLayoutWidth(LayoutUnit currentViewLayoutWidth) const;
    4745    bool needsFormControlToBeMouseFocusable() const;
    4846    bool needsAutoplayPlayPauseEvents() const;
  • trunk/Source/WebKit/ChangeLog

    r247462 r247470  
     12019-07-15  Zalan Bujtas  <zalan@apple.com>
     2
     3        outlook.live.com has odd viewport with edge gap
     4        https://bugs.webkit.org/show_bug.cgi?id=199822
     5        <rdar://problem/53029072>
     6
     7        Reviewed by Wenson Hsieh.
     8
     9        * WebProcess/WebPage/WebPage.h:
     10        * WebProcess/WebPage/ios/WebPageIOS.mm:
     11        (WebKit::WebPage::setViewportConfigurationViewLayoutSize):
     12        (WebKit::WebPage::dynamicViewportSizeUpdate):
     13        (WebKit::WebPage::resetViewportDefaultConfiguration):
     14        (WebKit::WebPage::immediatelyShrinkToFitContent):
     15        (WebKit::WebPage::viewLayoutSizeAdjustedForQuirks): Deleted.
     16
    1172019-07-11  Myles C. Maxfield  <mmaxfield@apple.com>
    218
  • trunk/Source/WebKit/WebProcess/WebPage/WebPage.h

    r247460 r247470  
    12391239
    12401240#if PLATFORM(IOS_FAMILY)
    1241     WebCore::FloatSize viewLayoutSizeAdjustedForQuirks(const WebCore::FloatSize&);
    12421241    void resetViewportDefaultConfiguration(WebFrame* mainFrame, bool hasMobileDocType = false);
    12431242    enum class ZoomToInitialScale { No, Yes };
  • trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm

    r247444 r247470  
    30693069}
    30703070
    3071 FloatSize WebPage::viewLayoutSizeAdjustedForQuirks(const FloatSize& size)
    3072 {
    3073     if (auto* document = m_page->mainFrame().document()) {
    3074         LayoutUnit width { size.width() };
    3075         return { document->quirks().overriddenViewLayoutWidth(width).valueOr(width), size.height() };
    3076     }
    3077 
    3078     return size;
    3079 }
    3080 
    30813071void WebPage::setViewportConfigurationViewLayoutSize(const FloatSize& size, double scaleFactor, double minimumEffectiveDeviceWidth)
    30823072{
     
    30853075    auto previousLayoutSizeScaleFactor = m_viewportConfiguration.layoutSizeScaleFactor();
    30863076    auto clampedMinimumEffectiveDevice = m_viewportConfiguration.isKnownToLayOutWiderThanViewport() ? WTF::nullopt : Optional<double>(minimumEffectiveDeviceWidth);
    3087     if (!m_viewportConfiguration.setViewLayoutSize(viewLayoutSizeAdjustedForQuirks(size), scaleFactor, WTFMove(clampedMinimumEffectiveDevice)))
     3077    if (!m_viewportConfiguration.setViewLayoutSize(size, scaleFactor, WTFMove(clampedMinimumEffectiveDevice)))
    30883078        return;
    30893079
     
    31673157    LOG_WITH_STREAM(VisibleRects, stream << "WebPage::dynamicViewportSizeUpdate setting view layout size to " << viewLayoutSize);
    31683158    bool viewportChanged = m_viewportConfiguration.setIsKnownToLayOutWiderThanViewport(false);
    3169     viewportChanged |= m_viewportConfiguration.setViewLayoutSize(viewLayoutSizeAdjustedForQuirks(viewLayoutSize));
     3159    viewportChanged |= m_viewportConfiguration.setViewLayoutSize(viewLayoutSize);
    31703160    if (viewportChanged)
    31713161        viewportConfigurationChanged();
     
    33443334    else
    33453335        m_viewportConfiguration.setDefaultConfiguration(parametersForStandardFrame());
    3346 
    3347     if (auto overriddenViewLayoutWidth = document->quirks().overriddenViewLayoutWidth(m_viewportConfiguration.layoutWidth()))
    3348         m_viewportConfiguration.setViewLayoutSize(FloatSize(*overriddenViewLayoutWidth, m_viewportConfiguration.layoutHeight()));
    33493336}
    33503337
     
    33923379    auto mainDocument = makeRefPtr(mainFrame->document());
    33933380    if (!view || !mainDocument)
    3394         return false;
    3395 
    3396     if (mainDocument->quirks().shouldIgnoreShrinkToFitContent())
    33973381        return false;
    33983382
Note: See TracChangeset for help on using the changeset viewer.