Changeset 238791 in webkit


Ignore:
Timestamp:
Dec 2, 2018 7:24:42 PM (5 years ago)
Author:
Alan Bujtas
Message:

Add a runtime feature flag for LayoutFormattingContext.
https://bugs.webkit.org/show_bug.cgi?id=192280

Reviewed by Simon Fraser.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • page/FrameViewLayoutContext.cpp:

(WebCore::layoutUsingFormattingContext):

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setLayoutFormattingContextEnabled):
(WebCore::RuntimeEnabledFeatures::layoutFormattingContextEnabled const):

Source/WebKit:

  • Shared/WebPreferences.yaml:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

Location:
trunk
Files:
19 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r238790 r238791  
     12018-12-02  Zalan Bujtas  <zalan@apple.com>
     2
     3        Add a runtime feature flag for LayoutFormattingContext.
     4        https://bugs.webkit.org/show_bug.cgi?id=192280
     5
     6        Reviewed by Simon Fraser.
     7
     8        * Configurations/FeatureDefines.xcconfig:
     9
    1102018-12-02  Caio Lima  <ticaiolima@gmail.com>
    211
  • trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig

    r238754 r238791  
    229229ENABLE_KEYBOARD_KEY_ATTRIBUTE = ENABLE_KEYBOARD_KEY_ATTRIBUTE;
    230230
    231 ENABLE_LAYOUT_FORMATTING_CONTEXT = ;
     231ENABLE_LAYOUT_FORMATTING_CONTEXT = ENABLE_LAYOUT_FORMATTING_CONTEXT;
    232232
    233233ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
  • trunk/Source/WebCore/ChangeLog

    r238788 r238791  
     12018-12-02  Zalan Bujtas  <zalan@apple.com>
     2
     3        Add a runtime feature flag for LayoutFormattingContext.
     4        https://bugs.webkit.org/show_bug.cgi?id=192280
     5
     6        Reviewed by Simon Fraser.
     7
     8        * Configurations/FeatureDefines.xcconfig:
     9        * page/FrameViewLayoutContext.cpp:
     10        (WebCore::layoutUsingFormattingContext):
     11        * page/RuntimeEnabledFeatures.h:
     12        (WebCore::RuntimeEnabledFeatures::setLayoutFormattingContextEnabled):
     13        (WebCore::RuntimeEnabledFeatures::layoutFormattingContextEnabled const):
     14
    1152018-12-01  Brent Fulgham  <bfulgham@apple.com>
    216
  • trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig

    r238754 r238791  
    229229ENABLE_KEYBOARD_KEY_ATTRIBUTE = ENABLE_KEYBOARD_KEY_ATTRIBUTE;
    230230
    231 ENABLE_LAYOUT_FORMATTING_CONTEXT = ;
     231ENABLE_LAYOUT_FORMATTING_CONTEXT = ENABLE_LAYOUT_FORMATTING_CONTEXT;
    232232
    233233ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
  • trunk/Source/WebCore/PAL/ChangeLog

    r238785 r238791  
     12018-12-02  Zalan Bujtas  <zalan@apple.com>
     2
     3        Add a runtime feature flag for LayoutFormattingContext.
     4        https://bugs.webkit.org/show_bug.cgi?id=192280
     5
     6        Reviewed by Simon Fraser.
     7
     8        * Configurations/FeatureDefines.xcconfig:
     9
    1102018-12-01  Alexey Proskuryakov  <ap@apple.com>
    211
  • trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig

    r238754 r238791  
    229229ENABLE_KEYBOARD_KEY_ATTRIBUTE = ENABLE_KEYBOARD_KEY_ATTRIBUTE;
    230230
    231 ENABLE_LAYOUT_FORMATTING_CONTEXT = ;
     231ENABLE_LAYOUT_FORMATTING_CONTEXT = ENABLE_LAYOUT_FORMATTING_CONTEXT;
    232232
    233233ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
  • trunk/Source/WebCore/layout/LayoutUnits.h

    r238613 r238791  
    3131#include "LayoutPoint.h"
    3232#include "LayoutRect.h"
     33#include <wtf/Optional.h>
    3334
    3435namespace WebCore {
  • trunk/Source/WebCore/layout/Verification.cpp

    r238460 r238791  
    4747        return true;
    4848
    49     return ::abs(a - b.toFloat()) <= 4 * LayoutUnit::epsilon();
     49    return fabs(a - b.toFloat()) <= 4 * LayoutUnit::epsilon();
    5050}
    5151
  • trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextGeometry.cpp

    r238479 r238791  
    182182    auto startPosition = from;
    183183    auto iterator = inlineContent.find(const_cast<InlineItem*>(&inlineItem));
     184#if !ASSERT_DISABLED
    184185    auto inlineItemEnd = inlineContent.end();
     186#endif
    185187    while (length) {
    186188        ASSERT(iterator != inlineItemEnd);
  • trunk/Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp

    r238479 r238791  
    163163    LayoutUnit width;
    164164    auto iterator = m_inlineContent.find(const_cast<InlineItem*>(&inlineItem));
     165#if !ASSERT_DISABLED
    165166    auto inlineItemEnd = m_inlineContent.end();
     167#endif
    166168    while (length) {
    167169        ASSERT(iterator != inlineItemEnd);
  • trunk/Source/WebCore/page/FrameViewLayoutContext.cpp

    r238431 r238791  
    3737#include "RenderElement.h"
    3838#include "RenderView.h"
     39#include "RuntimeEnabledFeatures.h"
    3940#include "ScriptDisallowedScope.h"
    4041#include "Settings.h"
     
    5657static void layoutUsingFormattingContext(const RenderView& renderView)
    5758{
     59    if (!RuntimeEnabledFeatures::sharedFeatures().layoutFormattingContextEnabled())
     60        return;
    5861    auto initialContainingBlock = Layout::TreeBuilder::createLayoutTree(renderView);
    5962    auto layoutState = std::make_unique<Layout::LayoutState>(*initialContainingBlock, renderView.size());
     
    209212        layoutRoot->layout();
    210213#if ENABLE(LAYOUT_FORMATTING_CONTEXT)
    211     layoutUsingFormattingContext(*renderView());
     214        layoutUsingFormattingContext(*renderView());
    212215#endif
    213216        ++m_layoutCount;
  • trunk/Source/WebCore/page/RuntimeEnabledFeatures.h

    r238262 r238791  
    178178    void setPointerEventsEnabled(bool isEnabled) { m_pointerEventsEnabled = isEnabled; }
    179179    bool pointerEventsEnabled() const { return m_pointerEventsEnabled; }
     180
     181#if ENABLE(LAYOUT_FORMATTING_CONTEXT)
     182    void setLayoutFormattingContextEnabled(bool isEnabled) { m_layoutFormattingContextEnabled = isEnabled; }
     183    bool layoutFormattingContextEnabled() const { return m_layoutFormattingContextEnabled; }
     184#endif
    180185
    181186#if ENABLE(CSS_PAINTING_API)
     
    373378    bool m_webSQLEnabled { true };
    374379
     380#if ENABLE(LAYOUT_FORMATTING_CONTEXT)
     381    bool m_layoutFormattingContextEnabled { false };
     382#endif
     383
    375384#if ENABLE(CSS_PAINTING_API)
    376385    bool m_CSSPaintingAPIEnabled { false };
  • trunk/Source/WebKit/ChangeLog

    r238787 r238791  
     12018-12-02  Zalan Bujtas  <zalan@apple.com>
     2
     3        Add a runtime feature flag for LayoutFormattingContext.
     4        https://bugs.webkit.org/show_bug.cgi?id=192280
     5
     6        Reviewed by Simon Fraser.
     7
     8        * Configurations/FeatureDefines.xcconfig:
     9        * Shared/WebPreferences.yaml:
     10        * WebProcess/InjectedBundle/InjectedBundle.cpp:
     11        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
     12
    1132018-12-01  Chris Dumez  <cdumez@apple.com>
    214
  • trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig

    r238754 r238791  
    229229ENABLE_KEYBOARD_KEY_ATTRIBUTE = ENABLE_KEYBOARD_KEY_ATTRIBUTE;
    230230
    231 ENABLE_LAYOUT_FORMATTING_CONTEXT = ;
     231ENABLE_LAYOUT_FORMATTING_CONTEXT = ENABLE_LAYOUT_FORMATTING_CONTEXT;
    232232
    233233ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
  • trunk/Source/WebKit/Shared/WebPreferences.yaml

    r238715 r238791  
    14651465  webcoreBinding: RuntimeEnabledFeatures
    14661466  condition: ENABLE(DATALIST_ELEMENT)
     1467
     1468LayoutFormattingContextEnabled:
     1469  type: bool
     1470  defaultValue: false
     1471  humanReadableName: "Next-gen layout"
     1472  humanReadableDescription: "Enable next-gen layout"
     1473  category: internal
     1474  webcoreBinding: RuntimeEnabledFeatures
     1475  condition: ENABLE(LAYOUT_FORMATTING_CONTEXT)
     1476
  • trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp

    r237905 r238791  
    257257        RuntimeEnabledFeatures::sharedFeatures().setCSSCustomPropertiesAndValuesEnabled(enabled);
    258258
     259#if ENABLE(LAYOUT_FORMATTING_CONTEXT)
     260    if (preference == "LayoutFormattingContextEnabled")
     261        RuntimeEnabledFeatures::sharedFeatures().setLayoutFormattingContextEnabled(enabled);
     262#endif
     263
    259264#if ENABLE(CSS_PAINTING_API)
    260265    if (preference == "CSSPaintingAPIEnabled")
  • trunk/Source/WebKitLegacy/mac/ChangeLog

    r238771 r238791  
     12018-12-02  Zalan Bujtas  <zalan@apple.com>
     2
     3        Add a runtime feature flag for LayoutFormattingContext.
     4        https://bugs.webkit.org/show_bug.cgi?id=192280
     5
     6        Reviewed by Simon Fraser.
     7
     8        * Configurations/FeatureDefines.xcconfig:
     9
    1102018-11-30  Alex Christensen  <achristensen@webkit.org>
    211
  • trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig

    r238754 r238791  
    229229ENABLE_KEYBOARD_KEY_ATTRIBUTE = ENABLE_KEYBOARD_KEY_ATTRIBUTE;
    230230
    231 ENABLE_LAYOUT_FORMATTING_CONTEXT = ;
     231ENABLE_LAYOUT_FORMATTING_CONTEXT = ENABLE_LAYOUT_FORMATTING_CONTEXT;
    232232
    233233ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
  • trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig

    r238754 r238791  
    229229ENABLE_KEYBOARD_KEY_ATTRIBUTE = ENABLE_KEYBOARD_KEY_ATTRIBUTE;
    230230
    231 ENABLE_LAYOUT_FORMATTING_CONTEXT = ;
     231ENABLE_LAYOUT_FORMATTING_CONTEXT = ENABLE_LAYOUT_FORMATTING_CONTEXT;
    232232
    233233ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
Note: See TracChangeset for help on using the changeset viewer.