Title: [238791] trunk
Revision
238791
Author
[email protected]
Date
2018-12-02 19:24:42 -0800 (Sun, 02 Dec 2018)

Log 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):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (238790 => 238791)


--- trunk/Source/_javascript_Core/ChangeLog	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-12-03 03:24:42 UTC (rev 238791)
@@ -1,3 +1,12 @@
+2018-12-02  Zalan Bujtas  <[email protected]>
+
+        Add a runtime feature flag for LayoutFormattingContext.
+        https://bugs.webkit.org/show_bug.cgi?id=192280
+
+        Reviewed by Simon Fraser.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2018-12-02  Caio Lima  <[email protected]>
 
         [ESNext][BigInt] Implement support for "<<" and ">>"

Modified: trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig (238790 => 238791)


--- trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2018-12-03 03:24:42 UTC (rev 238791)
@@ -228,7 +228,7 @@
 
 ENABLE_KEYBOARD_KEY_ATTRIBUTE = ENABLE_KEYBOARD_KEY_ATTRIBUTE;
 
-ENABLE_LAYOUT_FORMATTING_CONTEXT = ;
+ENABLE_LAYOUT_FORMATTING_CONTEXT = ENABLE_LAYOUT_FORMATTING_CONTEXT;
 
 ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
 

Modified: trunk/Source/WebCore/ChangeLog (238790 => 238791)


--- trunk/Source/WebCore/ChangeLog	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/WebCore/ChangeLog	2018-12-03 03:24:42 UTC (rev 238791)
@@ -1,3 +1,17 @@
+2018-12-02  Zalan Bujtas  <[email protected]>
+
+        Add a runtime feature flag for LayoutFormattingContext.
+        https://bugs.webkit.org/show_bug.cgi?id=192280
+
+        Reviewed by Simon Fraser.
+
+        * Configurations/FeatureDefines.xcconfig:
+        * page/FrameViewLayoutContext.cpp:
+        (WebCore::layoutUsingFormattingContext):
+        * page/RuntimeEnabledFeatures.h:
+        (WebCore::RuntimeEnabledFeatures::setLayoutFormattingContextEnabled):
+        (WebCore::RuntimeEnabledFeatures::layoutFormattingContextEnabled const):
+
 2018-12-01  Brent Fulgham  <[email protected]>
 
         Lifetime of HTMLMediaElement is not properly handled in asynchronous actions

Modified: trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig (238790 => 238791)


--- trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig	2018-12-03 03:24:42 UTC (rev 238791)
@@ -228,7 +228,7 @@
 
 ENABLE_KEYBOARD_KEY_ATTRIBUTE = ENABLE_KEYBOARD_KEY_ATTRIBUTE;
 
-ENABLE_LAYOUT_FORMATTING_CONTEXT = ;
+ENABLE_LAYOUT_FORMATTING_CONTEXT = ENABLE_LAYOUT_FORMATTING_CONTEXT;
 
 ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
 

Modified: trunk/Source/WebCore/PAL/ChangeLog (238790 => 238791)


--- trunk/Source/WebCore/PAL/ChangeLog	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/WebCore/PAL/ChangeLog	2018-12-03 03:24:42 UTC (rev 238791)
@@ -1,3 +1,12 @@
+2018-12-02  Zalan Bujtas  <[email protected]>
+
+        Add a runtime feature flag for LayoutFormattingContext.
+        https://bugs.webkit.org/show_bug.cgi?id=192280
+
+        Reviewed by Simon Fraser.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2018-12-01  Alexey Proskuryakov  <[email protected]>
 
         Modernize version check for _suppressedAutoAddedHTTPHeaders

Modified: trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig (238790 => 238791)


--- trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig	2018-12-03 03:24:42 UTC (rev 238791)
@@ -228,7 +228,7 @@
 
 ENABLE_KEYBOARD_KEY_ATTRIBUTE = ENABLE_KEYBOARD_KEY_ATTRIBUTE;
 
-ENABLE_LAYOUT_FORMATTING_CONTEXT = ;
+ENABLE_LAYOUT_FORMATTING_CONTEXT = ENABLE_LAYOUT_FORMATTING_CONTEXT;
 
 ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
 

Modified: trunk/Source/WebCore/layout/LayoutUnits.h (238790 => 238791)


--- trunk/Source/WebCore/layout/LayoutUnits.h	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/WebCore/layout/LayoutUnits.h	2018-12-03 03:24:42 UTC (rev 238791)
@@ -30,6 +30,7 @@
 #include "LayoutUnit.h"
 #include "LayoutPoint.h"
 #include "LayoutRect.h"
+#include <wtf/Optional.h>
 
 namespace WebCore {
 namespace Layout {

Modified: trunk/Source/WebCore/layout/Verification.cpp (238790 => 238791)


--- trunk/Source/WebCore/layout/Verification.cpp	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/WebCore/layout/Verification.cpp	2018-12-03 03:24:42 UTC (rev 238791)
@@ -46,7 +46,7 @@
     if (a == b.toFloat())
         return true;
 
-    return ::abs(a - b.toFloat()) <= 4 * LayoutUnit::epsilon();
+    return fabs(a - b.toFloat()) <= 4 * LayoutUnit::epsilon();
 }
 
 static bool outputMismatchingSimpleLineInformationIfNeeded(TextStream& stream, const LayoutState& layoutState, const RenderBlockFlow& blockFlow, const Container& inlineFormattingRoot)

Modified: trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextGeometry.cpp (238790 => 238791)


--- trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextGeometry.cpp	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextGeometry.cpp	2018-12-03 03:24:42 UTC (rev 238791)
@@ -181,7 +181,9 @@
     LayoutUnit width;
     auto startPosition = from;
     auto iterator = inlineContent.find(const_cast<InlineItem*>(&inlineItem));
+#if !ASSERT_DISABLED
     auto inlineItemEnd = inlineContent.end();
+#endif
     while (length) {
         ASSERT(iterator != inlineItemEnd);
         auto& currentInlineItem = **iterator;

Modified: trunk/Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp (238790 => 238791)


--- trunk/Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp	2018-12-03 03:24:42 UTC (rev 238791)
@@ -162,7 +162,9 @@
     // FIXME: It does not do proper kerning/ligature handling.
     LayoutUnit width;
     auto iterator = m_inlineContent.find(const_cast<InlineItem*>(&inlineItem));
+#if !ASSERT_DISABLED
     auto inlineItemEnd = m_inlineContent.end();
+#endif
     while (length) {
         ASSERT(iterator != inlineItemEnd);
         auto& currentInlineItem = **iterator;

Modified: trunk/Source/WebCore/page/FrameViewLayoutContext.cpp (238790 => 238791)


--- trunk/Source/WebCore/page/FrameViewLayoutContext.cpp	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/WebCore/page/FrameViewLayoutContext.cpp	2018-12-03 03:24:42 UTC (rev 238791)
@@ -36,6 +36,7 @@
 #include "Logging.h"
 #include "RenderElement.h"
 #include "RenderView.h"
+#include "RuntimeEnabledFeatures.h"
 #include "ScriptDisallowedScope.h"
 #include "Settings.h"
 
@@ -55,6 +56,8 @@
 #if ENABLE(LAYOUT_FORMATTING_CONTEXT)
 static void layoutUsingFormattingContext(const RenderView& renderView)
 {
+    if (!RuntimeEnabledFeatures::sharedFeatures().layoutFormattingContextEnabled())
+        return;
     auto initialContainingBlock = Layout::TreeBuilder::createLayoutTree(renderView);
     auto layoutState = std::make_unique<Layout::LayoutState>(*initialContainingBlock, renderView.size());
     layoutState->setInQuirksMode(renderView.document().inQuirksMode());
@@ -208,7 +211,7 @@
 #endif
         layoutRoot->layout();
 #if ENABLE(LAYOUT_FORMATTING_CONTEXT)
-    layoutUsingFormattingContext(*renderView());
+        layoutUsingFormattingContext(*renderView());
 #endif
         ++m_layoutCount;
 #if ENABLE(TEXT_AUTOSIZING)

Modified: trunk/Source/WebCore/page/RuntimeEnabledFeatures.h (238790 => 238791)


--- trunk/Source/WebCore/page/RuntimeEnabledFeatures.h	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/WebCore/page/RuntimeEnabledFeatures.h	2018-12-03 03:24:42 UTC (rev 238791)
@@ -178,6 +178,11 @@
     void setPointerEventsEnabled(bool isEnabled) { m_pointerEventsEnabled = isEnabled; }
     bool pointerEventsEnabled() const { return m_pointerEventsEnabled; }
 
+#if ENABLE(LAYOUT_FORMATTING_CONTEXT)
+    void setLayoutFormattingContextEnabled(bool isEnabled) { m_layoutFormattingContextEnabled = isEnabled; }
+    bool layoutFormattingContextEnabled() const { return m_layoutFormattingContextEnabled; }
+#endif
+
 #if ENABLE(CSS_PAINTING_API)
     void setCSSPaintingAPIEnabled(bool isEnabled) { m_CSSPaintingAPIEnabled = isEnabled; }
     bool cssPaintingAPIEnabled() const { return m_CSSPaintingAPIEnabled; }
@@ -372,6 +377,10 @@
     bool m_pointerEventsEnabled { false };
     bool m_webSQLEnabled { true };
 
+#if ENABLE(LAYOUT_FORMATTING_CONTEXT)
+    bool m_layoutFormattingContextEnabled { false };
+#endif
+
 #if ENABLE(CSS_PAINTING_API)
     bool m_CSSPaintingAPIEnabled { false };
 #endif

Modified: trunk/Source/WebKit/ChangeLog (238790 => 238791)


--- trunk/Source/WebKit/ChangeLog	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/WebKit/ChangeLog	2018-12-03 03:24:42 UTC (rev 238791)
@@ -1,3 +1,15 @@
+2018-12-02  Zalan Bujtas  <[email protected]>
+
+        Add a runtime feature flag for LayoutFormattingContext.
+        https://bugs.webkit.org/show_bug.cgi?id=192280
+
+        Reviewed by Simon Fraser.
+
+        * Configurations/FeatureDefines.xcconfig:
+        * Shared/WebPreferences.yaml:
+        * WebProcess/InjectedBundle/InjectedBundle.cpp:
+        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
+
 2018-12-01  Chris Dumez  <[email protected]>
 
         [PSON] process-swapping may occur even though opener has handle to openee

Modified: trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig (238790 => 238791)


--- trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig	2018-12-03 03:24:42 UTC (rev 238791)
@@ -228,7 +228,7 @@
 
 ENABLE_KEYBOARD_KEY_ATTRIBUTE = ENABLE_KEYBOARD_KEY_ATTRIBUTE;
 
-ENABLE_LAYOUT_FORMATTING_CONTEXT = ;
+ENABLE_LAYOUT_FORMATTING_CONTEXT = ENABLE_LAYOUT_FORMATTING_CONTEXT;
 
 ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
 

Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (238790 => 238791)


--- trunk/Source/WebKit/Shared/WebPreferences.yaml	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/WebKit/Shared/WebPreferences.yaml	2018-12-03 03:24:42 UTC (rev 238791)
@@ -1464,3 +1464,13 @@
   category: internal
   webcoreBinding: RuntimeEnabledFeatures
   condition: ENABLE(DATALIST_ELEMENT)
+
+LayoutFormattingContextEnabled:
+  type: bool
+  defaultValue: false
+  humanReadableName: "Next-gen layout"
+  humanReadableDescription: "Enable next-gen layout"
+  category: internal
+  webcoreBinding: RuntimeEnabledFeatures
+  condition: ENABLE(LAYOUT_FORMATTING_CONTEXT)
+

Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp (238790 => 238791)


--- trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp	2018-12-03 03:24:42 UTC (rev 238791)
@@ -256,6 +256,11 @@
     if (preference == "CSSCustomPropertiesAndValuesEnabled")
         RuntimeEnabledFeatures::sharedFeatures().setCSSCustomPropertiesAndValuesEnabled(enabled);
 
+#if ENABLE(LAYOUT_FORMATTING_CONTEXT)
+    if (preference == "LayoutFormattingContextEnabled")
+        RuntimeEnabledFeatures::sharedFeatures().setLayoutFormattingContextEnabled(enabled);
+#endif
+
 #if ENABLE(CSS_PAINTING_API)
     if (preference == "CSSPaintingAPIEnabled")
         RuntimeEnabledFeatures::sharedFeatures().setCSSPaintingAPIEnabled(enabled);

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (238790 => 238791)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2018-12-03 03:24:42 UTC (rev 238791)
@@ -1,3 +1,12 @@
+2018-12-02  Zalan Bujtas  <[email protected]>
+
+        Add a runtime feature flag for LayoutFormattingContext.
+        https://bugs.webkit.org/show_bug.cgi?id=192280
+
+        Reviewed by Simon Fraser.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2018-11-30  Alex Christensen  <[email protected]>
 
         Move URL from WebCore to WTF

Modified: trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig (238790 => 238791)


--- trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig	2018-12-03 03:24:42 UTC (rev 238791)
@@ -228,7 +228,7 @@
 
 ENABLE_KEYBOARD_KEY_ATTRIBUTE = ENABLE_KEYBOARD_KEY_ATTRIBUTE;
 
-ENABLE_LAYOUT_FORMATTING_CONTEXT = ;
+ENABLE_LAYOUT_FORMATTING_CONTEXT = ENABLE_LAYOUT_FORMATTING_CONTEXT;
 
 ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
 

Modified: trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig (238790 => 238791)


--- trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig	2018-12-02 17:08:44 UTC (rev 238790)
+++ trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig	2018-12-03 03:24:42 UTC (rev 238791)
@@ -228,7 +228,7 @@
 
 ENABLE_KEYBOARD_KEY_ATTRIBUTE = ENABLE_KEYBOARD_KEY_ATTRIBUTE;
 
-ENABLE_LAYOUT_FORMATTING_CONTEXT = ;
+ENABLE_LAYOUT_FORMATTING_CONTEXT = ENABLE_LAYOUT_FORMATTING_CONTEXT;
 
 ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to