⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Oct 25, 2020:

11:13 PM Changeset in webkit [268963] by Diego Pino Garcia
  • 178 edits
    6 moves
    3 adds
    8 deletes in trunk/LayoutTests

[GTK][WPE] Unreviewed test gardening. Update baselines after r268958.

  • platform/glib/fast/block/positioning/differing-writing-modes-expected.txt:
  • platform/glib/fast/block/positioning/differing-writing-modes-replaced-expected.txt:
  • platform/glib/fast/borders/border-image-01-expected.txt:
  • platform/glib/fast/borders/border-image-longhand-expected.txt:
  • platform/glib/fast/borders/border-image-massive-scale-expected.txt:
  • platform/glib/fast/borders/border-image-outset-expected.txt:
  • platform/glib/fast/borders/border-image-outset-in-shorthand-expected.txt:
  • platform/glib/fast/borders/border-image-repeat-expected.txt:
  • platform/glib/fast/borders/border-image-rotate-transform-expected.txt:
  • platform/glib/fast/borders/border-image-scale-transform-expected.txt:
  • platform/glib/fast/borders/border-image-scaled-expected.txt:
  • platform/glib/fast/borders/border-image-scrambled-expected.txt:
  • platform/glib/fast/borders/border-image-side-reduction-expected.txt:
  • platform/glib/fast/borders/border-image-slices-expected.txt:
  • platform/glib/fast/borders/border-image-source-expected.txt:
  • platform/glib/fast/borders/mixed-border-styles-expected.txt:
  • platform/glib/fast/borders/mixed-border-styles-radius-expected.txt:
  • platform/glib/fast/box-shadow/inset-box-shadow-radius-expected.txt:
  • platform/glib/fast/box-shadow/inset-box-shadows-expected.txt:
  • platform/glib/fast/box-shadow/scaled-box-shadow-expected.txt:
  • platform/glib/fast/css/focus-ring-detached-expected.txt:
  • platform/glib/fast/images/image-map-anchor-children-expected.txt:
  • platform/glib/fast/inline-block/006-expected.txt:
  • platform/glib/fast/ruby/ruby-simple-rp-expected.txt: Renamed from LayoutTests/platform/wpe/fast/ruby/ruby-simple-rp-expected.txt.
  • platform/glib/fast/text/basic/012-expected.txt: Renamed from LayoutTests/platform/wpe/fast/text/basic/012-expected.txt.
  • platform/glib/fast/text/emphasis-overlap-expected.txt: Added.
  • platform/glib/fast/text/indic-expected.txt: Renamed from LayoutTests/platform/gtk/fast/text/indic-expected.txt.
  • platform/glib/fast/text/justify-nbsp-expected.txt: Renamed from LayoutTests/platform/gtk/fast/text/justify-nbsp-expected.txt.
  • platform/glib/fast/transforms/identity-matrix-expected.txt:
  • platform/glib/fonts/monospace-expected.txt: Renamed from LayoutTests/platform/wpe/fonts/monospace-expected.txt.
  • platform/glib/svg/as-border-image/svg-as-border-image-2-expected.txt:
  • platform/glib/svg/as-border-image/svg-as-border-image-expected.txt:
  • platform/glib/svg/custom/getscreenctm-in-mixed-content-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug11026-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug28341-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug4284-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug4849-2-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug60992-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug92868-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug963-expected.txt:
  • platform/glib/tables/mozilla/core/col_widths_fix_auto-expected.txt:
  • platform/glib/tables/mozilla/other/nestedTables-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/bugs/bug1262-expected.txt: Renamed from LayoutTests/platform/gtk/tables/mozilla_expected_failures/bugs/bug1262-expected.txt.
  • platform/gtk/compositing/iframes/composited-iframe-alignment-expected.txt:
  • platform/gtk/compositing/overflow/ancestor-overflow-expected.txt:
  • platform/gtk/compositing/overflow/overflow-scroll-expected.txt:
  • platform/gtk/fast/block/float/float-in-float-hit-testing-expected.txt:
  • platform/gtk/fast/block/float/float-in-float-painting-expected.txt:
  • platform/gtk/fast/borders/border-image-border-radius-expected.txt:
  • platform/gtk/fast/clip/overflow-border-radius-combinations-expected.txt:
  • platform/gtk/fast/clip/overflow-border-radius-composited-expected.txt:
  • platform/gtk/fast/clip/overflow-border-radius-transformed-expected.txt:
  • platform/gtk/fast/css/first-line-text-decoration-expected.txt:
  • platform/gtk/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt:
  • platform/gtk/fast/css/layerZOrderCrash-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/gtk/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/gtk/fast/dom/focus-contenteditable-expected.txt:
  • platform/gtk/fast/forms/basic-inputs-expected.txt:
  • platform/gtk/fast/forms/basic-selects-expected.txt:
  • platform/gtk/fast/forms/button-align-expected.txt:
  • platform/gtk/fast/forms/button-generated-content-expected.txt:
  • platform/gtk/fast/forms/button-table-styles-expected.txt:
  • platform/gtk/fast/forms/caret-rtl-expected.txt:
  • platform/gtk/fast/forms/control-restrict-line-height-expected.txt:
  • platform/gtk/fast/forms/hidden-listbox-expected.txt:
  • platform/gtk/fast/forms/input-align-expected.txt:
  • platform/gtk/fast/forms/input-appearance-bkcolor-expected.txt:
  • platform/gtk/fast/forms/input-appearance-default-bkcolor-expected.txt:
  • platform/gtk/fast/forms/input-appearance-disabled-expected.txt:
  • platform/gtk/fast/forms/input-appearance-readonly-expected.txt:
  • platform/gtk/fast/forms/input-baseline-expected.txt:
  • platform/gtk/fast/forms/input-readonly-dimmed-expected.txt:
  • platform/gtk/fast/forms/input-spaces-expected.txt:
  • platform/gtk/fast/forms/listbox-width-change-expected.txt:
  • platform/gtk/fast/forms/option-script-expected.txt:
  • platform/gtk/fast/forms/option-text-clip-expected.txt:
  • platform/gtk/fast/forms/range/slider-padding-expected.txt:
  • platform/gtk/fast/forms/search-rtl-expected.txt:
  • platform/gtk/fast/forms/search/search-size-with-decorations-expected.txt:
  • platform/gtk/fast/forms/select-align-expected.txt:
  • platform/gtk/fast/forms/select-change-popup-to-listbox-expected.txt:
  • platform/gtk/fast/forms/select-initial-position-expected.txt:
  • platform/gtk/fast/forms/select-style-expected.txt:
  • platform/gtk/fast/forms/textarea-align-expected.txt:
  • platform/gtk/fast/forms/textarea-scrollbar-expected.txt:
  • platform/gtk/fast/frames/iframe-with-frameborder-expected.txt:
  • platform/gtk/fast/frames/onlyCommentInIFrame-expected.txt:
  • platform/gtk/fast/inline-block/contenteditable-baseline-expected.txt:
  • platform/gtk/fast/inline/drawStyledEmptyInlines-expected.txt:
  • platform/gtk/fast/layers/layer-visibility-sublayer-expected.txt:
  • platform/gtk/fast/repaint/rel-positioned-inline-with-overflow-expected.txt:
  • platform/gtk/fast/ruby/bopomofo-letter-spacing-expected.txt:
  • platform/gtk/fast/ruby/ruby-inline-table-expected.txt:
  • platform/gtk/fast/ruby/ruby-length-expected.txt:
  • platform/gtk/fast/ruby/ruby-run-break-expected.txt:
  • platform/gtk/fast/ruby/ruby-runs-expected.txt:
  • platform/gtk/fast/ruby/ruby-simple-expected.txt:
  • platform/gtk/fast/ruby/ruby-simple-rp-expected.txt: Removed.
  • platform/gtk/fast/text/basic/012-expected.txt: Removed.
  • platform/gtk/fast/text/capitalize-boundaries-expected.txt:
  • platform/gtk/fast/text/emphasis-overlap-expected.txt: Removed.
  • platform/gtk/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
  • platform/gtk/fast/writing-mode/fieldsets-expected.txt:
  • platform/gtk/fast/writing-mode/vertical-baseline-alignment-expected.txt:
  • platform/gtk/fast/writing-mode/vertical-baseline-alignment-mixed-expected.txt:
  • platform/gtk/fonts/monospace-expected.txt: Removed.
  • platform/gtk/fonts/sans-serif-expected.txt:
  • platform/gtk/scrollbars/overflow-scrollbar-combinations-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug131020-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug131020_iframe-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1318-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1430-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug19599-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug30559-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug32205-2-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug4382-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug4427-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug46623-1-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug55694-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug9123-1-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug92143-expected.txt:
  • platform/gtk/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
  • platform/gtk/tables/mozilla/core/bloomberg-expected.txt:
  • platform/gtk/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
  • platform/gtk/tables/mozilla/dom/deleteTbodyRebuild1-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_cellpadding-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_cellspacing-expected.txt:
  • platform/gtk/tables/mozilla/other/wa_table_tr_align-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/core/col_span2-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/other/test4-expected.txt:
  • platform/wpe/fast/block/float/float-in-float-hit-testing-expected.txt:
  • platform/wpe/fast/block/float/float-in-float-painting-expected.txt:
  • platform/wpe/fast/borders/border-image-border-radius-expected.txt:
  • platform/wpe/fast/clip/overflow-border-radius-combinations-expected.txt:
  • platform/wpe/fast/clip/overflow-border-radius-composited-expected.txt:
  • platform/wpe/fast/clip/overflow-border-radius-transformed-expected.txt:
  • platform/wpe/fast/css/first-line-text-decoration-expected.txt:
  • platform/wpe/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt:
  • platform/wpe/fast/css/layerZOrderCrash-expected.txt:
  • platform/wpe/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/wpe/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/wpe/fast/dom/focus-contenteditable-expected.txt:
  • platform/wpe/fast/frames/iframe-with-frameborder-expected.txt:
  • platform/wpe/fast/frames/onlyCommentInIFrame-expected.txt:
  • platform/wpe/fast/inline-block/contenteditable-baseline-expected.txt:
  • platform/wpe/fast/inline/drawStyledEmptyInlines-expected.txt:
  • platform/wpe/fast/layers/layer-visibility-sublayer-expected.txt:
  • platform/wpe/fast/ruby/bopomofo-letter-spacing-expected.txt:
  • platform/wpe/fast/ruby/ruby-inline-table-expected.txt:
  • platform/wpe/fast/ruby/ruby-length-expected.txt:
  • platform/wpe/fast/ruby/ruby-run-break-expected.txt:
  • platform/wpe/fast/ruby/ruby-runs-expected.txt:
  • platform/wpe/fast/ruby/ruby-simple-expected.txt:
  • platform/wpe/fast/text/capitalize-boundaries-expected.txt:
  • platform/wpe/fast/text/emphasis-overlap-expected.txt: Removed.
  • platform/wpe/fast/text/indic-expected.txt: Removed.
  • platform/wpe/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
  • platform/wpe/fast/text/justify-nbsp-expected.txt: Removed.
  • platform/wpe/fast/text/svg-font-face-with-kerning-expected.txt:
  • platform/wpe/fast/writing-mode/fieldsets-expected.txt:
  • platform/wpe/fast/writing-mode/vertical-baseline-alignment-expected.txt:
  • platform/wpe/fast/writing-mode/vertical-baseline-alignment-mixed-expected.txt:
  • platform/wpe/fonts/sans-serif-expected.txt:
  • platform/wpe/scrollbars/overflow-scrollbar-combinations-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug131020-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug131020_iframe-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1318-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1430-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug19599-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug30559-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug32205-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug4382-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug4427-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46623-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug55694-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug9123-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug92143-expected.txt:
  • platform/wpe/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
  • platform/wpe/tables/mozilla/core/bloomberg-expected.txt:
  • platform/wpe/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
  • platform/wpe/tables/mozilla/dom/deleteTbodyRebuild1-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_cellpadding-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_cellspacing-expected.txt:
  • platform/wpe/tables/mozilla/other/wa_table_tr_align-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug1262-expected.txt: Removed.
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/core/col_span2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/other/test4-expected.txt:
6:57 PM Changeset in webkit [268962] by weinig@apple.com
  • 6 edits in trunk

Remove non-standard 'css'/'Css' prefixed properties on CSSStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=218158

Reviewed by Simon Fraser.

Source/WebCore:

Remove support for 'css'/'Css' prefixed properties of CSSStyleDeclaration which
are no longer supported by any other browser.

  • css/CSSStyleDeclaration.cpp:
  • css/makeprop.pl:

LayoutTests:

  • fast/dom/CSSStyleDeclaration/css-properties-case-sensitive-expected.txt:
  • fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html:

Update test to reflect removal of css prefixes.

2:43 PM Changeset in webkit [268961] by emilio
  • 12 edits
    11 adds
    3 deletes in trunk/LayoutTests

Update CSSOM WPT tests.
https://bugs.webkit.org/show_bug.cgi?id=218157

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • resources/resource-files.json:
  • web-platform-tests/css/cssom/CSS.html: Removed.
  • web-platform-tests/css/cssom/CSSCounterStyleRule-expected.txt: Added.
  • web-platform-tests/css/cssom/CSSCounterStyleRule.html: Added.
  • web-platform-tests/css/cssom/CSSFontFaceRule-expected.txt: Added.
  • web-platform-tests/css/cssom/CSSFontFaceRule.html: Added.
  • web-platform-tests/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative-expected.txt:
  • web-platform-tests/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative.html:
  • web-platform-tests/css/cssom/css-style-attr-decl-block.html:
  • web-platform-tests/css/cssom/cssimportrule.html:
  • web-platform-tests/css/cssom/escape.html:
  • web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html:
  • web-platform-tests/css/cssom/getComputedStyle-resolved-colors-expected.txt: Added.
  • web-platform-tests/css/cssom/getComputedStyle-resolved-colors.html: Added.
  • web-platform-tests/css/cssom/medialist-interfaces-003-expected.txt: Removed.
  • web-platform-tests/css/cssom/medialist-interfaces-003.html: Removed.
  • web-platform-tests/css/cssom/mediaquery-sort-dedup-expected.txt: Added.
  • web-platform-tests/css/cssom/mediaquery-sort-dedup.html: Added.
  • web-platform-tests/css/cssom/removerule-invalidation-crash.html: Added.
  • web-platform-tests/css/cssom/rule-restrictions-expected.txt: Added.
  • web-platform-tests/css/cssom/rule-restrictions.html: Added.
  • web-platform-tests/css/cssom/serialize-media-rule-expected.txt:
  • web-platform-tests/css/cssom/serialize-media-rule.html:
  • web-platform-tests/css/cssom/w3c-import.log:

LayoutTests:

  • tests-options.json:
2:34 PM Changeset in webkit [268960] by Simon Fraser
  • 5 edits
    2 copies in trunk/Source/WebCore

[LFC Display] Move code for painting a single Display::Box into its own class
https://bugs.webkit.org/show_bug.cgi?id=218161

Reviewed by Antti Koivisto.

Move box-painting code into its own class, so that CSSPainter is about CSS stacking
context logic, and BoxPainter is about how to paint a single box.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • display/css/DisplayBoxPainter.cpp: Copied from Source/WebCore/display/css/DisplayCSSPainter.cpp.

(WebCore::Display::BoxPainter::paintFillLayer):
(WebCore::Display::BoxPainter::paintBackgroundImages):
(WebCore::Display::BoxPainter::paintBoxDecorations):
(WebCore::Display::BoxPainter::paintBoxContent):
(WebCore::Display::BoxPainter::paintBox):

  • display/css/DisplayBoxPainter.h: Copied from Source/WebCore/display/css/DisplayCSSPainter.h.
  • display/css/DisplayCSSPainter.cpp:

(WebCore::Display::CSSPainter::recursivePaintDescendants):
(WebCore::Display::CSSPainter::paintStackingContext):
(WebCore::Display::CSSPainter::paintFillLayer): Deleted.
(WebCore::Display::CSSPainter::paintBackgroundImages): Deleted.
(WebCore::Display::CSSPainter::paintBoxDecorations): Deleted.
(WebCore::Display::CSSPainter::paintBoxContent): Deleted.
(WebCore::Display::CSSPainter::paintBox): Deleted.

  • display/css/DisplayCSSPainter.h:
1:26 PM Changeset in webkit [268959] by Simon Fraser
  • 18 edits
    1 copy
    1 add in trunk/Source/WebCore

[LFC Display] Move display box creation and geometry computation out of Display::TreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=218160

Reviewed by Zalan Bujtas.

Make Display::BoxFactory, which has the responsibility of making Display::Boxes,
and setting up their style and geometry. This moves all of the pixel snapping
code out of Display::TreeBuilder.

Display::Box subclasses declare Display::BoxFactory as a friend class so that the factory
can call geometry setter functions (to avoid passing long lists of arguments down through
constructors).

Display::TextBox's text() is no longer Optional<> because we only make text boxes
for runs with text.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::TreeBuilder):
(WebCore::Display::TreeBuilder::build const):
(WebCore::Display::TreeBuilder::buildInlineDisplayTree const):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):
(WebCore::Display::TreeBuilder::computeBoxDecorationData const): Deleted.
(WebCore::Display::TreeBuilder::displayBoxForRootBox const): Deleted.
(WebCore::Display::TreeBuilder::displayBoxForLayoutBox const): Deleted.

  • display/DisplayTreeBuilder.h:
  • display/css/DisplayBoxDecorationData.cpp:

(WebCore::Display::BoxDecorationData::create): Deleted.

  • display/css/DisplayBoxDecorationData.h:
  • display/css/DisplayBoxFactory.cpp: Added.

(WebCore::Display::BoxFactory::BoxFactory):
(WebCore::Display::BoxFactory::displayBoxForRootBox const):
(WebCore::Display::BoxFactory::displayBoxForLayoutBox const):
(WebCore::Display::BoxFactory::displayBoxForTextRun const):
(WebCore::Display::BoxFactory::setupBoxGeometry const):
(WebCore::Display::BoxFactory::constructBoxDecorationData const):
(WebCore::Display::BoxFactory::setupBoxModelBox const):

  • display/css/DisplayBoxFactory.h: Copied from Source/WebCore/display/DisplayTreeBuilder.h.
  • display/css/DisplayBoxModelBox.cpp:
  • display/css/DisplayBoxModelBox.h:

(WebCore::Display::BoxModelBox::absoluteBorderBoxRect const):
(WebCore::Display::BoxModelBox::absolutePaddingBoxRect const):
(WebCore::Display::BoxModelBox::absoluteContentBoxRect const):
(WebCore::Display::BoxModelBox::boxDecorationData const):
(WebCore::Display::BoxModelBox::setAbsolutePaddingBoxRect):
(WebCore::Display::BoxModelBox::setAbsoluteContentBoxRect):

  • display/css/DisplayCSSPainter.cpp:

(WebCore::Display::CSSPainter::paintBoxContent):

  • display/css/DisplayFillLayerImageGeometry.cpp:

(WebCore::Display::calculateFillLayerImageGeometry):

  • display/css/DisplayFillLayerImageGeometry.h:
  • display/css/DisplayImageBox.cpp:

(WebCore::Display::ImageBox::ImageBox):
(WebCore::Display::m_image):
(): Deleted.
(WebCore::Display::ImageBox::setImage): Deleted.

  • display/css/DisplayImageBox.h:

(WebCore::Display::ImageBox::image const):

  • display/css/DisplayReplacedBox.cpp:

(WebCore::Display::ReplacedBox::ReplacedBox):

  • display/css/DisplayReplacedBox.h:

(WebCore::Display::ReplacedBox::setReplacedContentRect):

  • display/css/DisplayTextBox.cpp:

(WebCore::Display::m_text):
(WebCore::Display::TextBox::debugDescription const):

  • display/css/DisplayTextBox.h:

(WebCore::Display::TextBox::text const):

12:52 PM Changeset in webkit [268958] by Alan Bujtas
  • 406 edits in trunk/LayoutTests

Remove unneeded whitespace between content and <br>
https://bugs.webkit.org/show_bug.cgi?id=218151

This is in preparation for fixing webkit.org/b/216902
(Remove collapsible trailing whitespace when it is followed by a hard line break)
These tests don't really need to have trailing whitespace in front of <br>.

Reviewed by Antti Koivisto.

  • compositing/iframes/composited-iframe-alignment.html:
  • compositing/overflow/ancestor-overflow.html:
  • compositing/overflow/overflow-scroll.html:
  • fast/block/float/float-in-float-hit-testing.html:
  • fast/block/float/float-in-float-painting.html:
  • fast/block/positioning/differing-writing-modes-replaced.html:
  • fast/block/positioning/differing-writing-modes.html:
  • fast/borders/border-image-01.html:
  • fast/borders/border-image-border-radius.html:
  • fast/borders/border-image-longhand.html:
  • fast/borders/border-image-massive-scale.html:
  • fast/borders/border-image-outset-in-shorthand.html:
  • fast/borders/border-image-outset.html:
  • fast/borders/border-image-repeat.html:
  • fast/borders/border-image-rotate-transform.html:
  • fast/borders/border-image-scale-transform.html:
  • fast/borders/border-image-scaled.html:
  • fast/borders/border-image-scrambled.html:
  • fast/borders/border-image-side-reduction.html:
  • fast/borders/border-image-slices.html:
  • fast/borders/border-image-source.html:
  • fast/borders/mixed-border-styles-radius.html:
  • fast/borders/mixed-border-styles.html:
  • fast/box-shadow/box-shadow-radius.html:
  • fast/box-shadow/inset-box-shadow-radius.html:
  • fast/box-shadow/inset-box-shadows.html:
  • fast/box-shadow/scaled-box-shadow.html:
  • fast/clip/overflow-border-radius-combinations.html:
  • fast/clip/overflow-border-radius-composited.html:
  • fast/clip/overflow-border-radius-transformed.html:
  • fast/css/first-line-text-decoration-inherited-from-parent.html:
  • fast/css/first-line-text-decoration.html:
  • fast/css/focus-ring-detached.html:
  • fast/css/layerZOrderCrash.html:
  • fast/css/text-overflow-ellipsis.html:
  • fast/dom/HTMLTextAreaElement/reset-textarea.html:
  • fast/dom/Range/getBoundingClientRect-expected.txt:
  • fast/dom/Range/getBoundingClientRect.html:
  • fast/dom/focus-contenteditable.html:
  • fast/forms/basic-inputs.html:
  • fast/forms/basic-selects.html:
  • fast/forms/button-align.html:
  • fast/forms/button-generated-content.html:
  • fast/forms/button-table-styles.html:
  • fast/forms/caret-rtl.html:
  • fast/forms/control-restrict-line-height.html:
  • fast/forms/hidden-listbox.html:
  • fast/forms/input-align.html:
  • fast/forms/input-appearance-bkcolor.html:
  • fast/forms/input-appearance-default-bkcolor.html:
  • fast/forms/input-appearance-disabled.html:
  • fast/forms/input-appearance-readonly.html:
  • fast/forms/input-baseline.html:
  • fast/forms/input-readonly-dimmed.html:
  • fast/forms/input-spaces.html:
  • fast/forms/listbox-width-change.html:
  • fast/forms/option-script.html:
  • fast/forms/option-text-clip.html:
  • fast/forms/range/slider-padding.html:
  • fast/forms/search-rtl.html:
  • fast/forms/search/search-size-with-decorations.html:
  • fast/forms/select-align.html:
  • fast/forms/select-change-popup-to-listbox.html:
  • fast/forms/select-initial-position.html:
  • fast/forms/select-style.html:
  • fast/forms/textarea-align.html:
  • fast/forms/textarea-scrollbar.html:
  • fast/frames/iframe-with-frameborder.html:
  • fast/frames/onlyCommentInIFrame.html:
  • fast/images/image-map-anchor-children.html:
  • fast/inline-block/006.html:
  • fast/inline-block/contenteditable-baseline.html:
  • fast/inline/drawStyledEmptyInlines.html:
  • fast/layers/layer-visibility-sublayer.html:
  • fast/repaint/rel-positioned-inline-with-overflow.html:
  • fast/ruby/bopomofo-letter-spacing.html:
  • fast/ruby/ruby-inline-table.html:
  • fast/ruby/ruby-length.html:
  • fast/ruby/ruby-run-break.html:
  • fast/ruby/ruby-runs.html:
  • fast/ruby/ruby-simple-rp.html:
  • fast/ruby/ruby-simple.html:
  • fast/text-autosizing/ios/contenteditable.html:
  • fast/text/basic/012.html:
  • fast/text/capitalize-boundaries.html:
  • fast/text/emphasis-overlap-expected.txt:
  • fast/text/emphasis-overlap.html:
  • fast/text/indic.html:
  • fast/text/international/rtl-white-space-pre-wrap.html:
  • fast/text/justify-nbsp.html:
  • fast/text/svg-font-face-with-kerning.html:
  • fast/transforms/identity-matrix.html:
  • fast/writing-mode/fieldsets.html:
  • fast/writing-mode/vertical-baseline-alignment-mixed.html:
  • fast/writing-mode/vertical-baseline-alignment.html:
  • fonts/monospace.html:
  • fonts/sans-serif.html:
  • fonts/serif.html:
  • platform/mac-catalina/fast/forms/basic-inputs-expected.txt:
  • platform/mac-catalina/fast/forms/input-readonly-dimmed-expected.txt:
  • platform/mac-catalina/fast/forms/option-text-clip-expected.txt:
  • platform/mac-catalina/fast/forms/select-change-popup-to-listbox-expected.txt:
  • platform/mac-catalina/fast/text/indic-expected.txt:
  • platform/mac-catalina/tables/mozilla/other/wa_table_tr_align-expected.txt:
  • platform/mac-wk2/fast/layers/layer-visibility-sublayer-expected.txt:
  • platform/mac/compositing/iframes/composited-iframe-alignment-expected.txt:
  • platform/mac/compositing/overflow/ancestor-overflow-expected.txt:
  • platform/mac/compositing/overflow/overflow-scroll-expected.txt:
  • platform/mac/fast/block/float/float-in-float-hit-testing-expected.txt:
  • platform/mac/fast/block/float/float-in-float-painting-expected.txt:
  • platform/mac/fast/block/positioning/differing-writing-modes-expected.txt:
  • platform/mac/fast/block/positioning/differing-writing-modes-replaced-expected.txt:
  • platform/mac/fast/borders/border-image-01-expected.txt:
  • platform/mac/fast/borders/border-image-border-radius-expected.txt:
  • platform/mac/fast/borders/border-image-longhand-expected.txt:
  • platform/mac/fast/borders/border-image-massive-scale-expected.txt:
  • platform/mac/fast/borders/border-image-outset-expected.txt:
  • platform/mac/fast/borders/border-image-outset-in-shorthand-expected.txt:
  • platform/mac/fast/borders/border-image-repeat-expected.txt:
  • platform/mac/fast/borders/border-image-rotate-transform-expected.txt:
  • platform/mac/fast/borders/border-image-scale-transform-expected.txt:
  • platform/mac/fast/borders/border-image-scaled-expected.txt:
  • platform/mac/fast/borders/border-image-scrambled-expected.txt:
  • platform/mac/fast/borders/border-image-side-reduction-expected.txt:
  • platform/mac/fast/borders/border-image-slices-expected.txt:
  • platform/mac/fast/borders/border-image-source-expected.txt:
  • platform/mac/fast/borders/mixed-border-styles-expected.txt:
  • platform/mac/fast/borders/mixed-border-styles-radius-expected.txt:
  • platform/mac/fast/box-shadow/box-shadow-radius-expected.txt:
  • platform/mac/fast/box-shadow/inset-box-shadow-radius-expected.txt:
  • platform/mac/fast/box-shadow/inset-box-shadows-expected.txt:
  • platform/mac/fast/box-shadow/scaled-box-shadow-expected.txt:
  • platform/mac/fast/clip/overflow-border-radius-combinations-expected.txt:
  • platform/mac/fast/clip/overflow-border-radius-composited-expected.txt:
  • platform/mac/fast/clip/overflow-border-radius-transformed-expected.txt:
  • platform/mac/fast/css/first-line-text-decoration-expected.txt:
  • platform/mac/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt:
  • platform/mac/fast/css/focus-ring-detached-expected.txt:
  • platform/mac/fast/css/layerZOrderCrash-expected.txt:
  • platform/mac/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/mac/fast/dom/focus-contenteditable-expected.txt:
  • platform/mac/fast/forms/basic-selects-expected.txt:
  • platform/mac/fast/forms/button-align-expected.txt:
  • platform/mac/fast/forms/button-generated-content-expected.txt:
  • platform/mac/fast/forms/button-table-styles-expected.txt:
  • platform/mac/fast/forms/caret-rtl-expected.txt:
  • platform/mac/fast/forms/control-restrict-line-height-expected.txt:
  • platform/mac/fast/forms/hidden-listbox-expected.txt:
  • platform/mac/fast/forms/input-align-expected.txt:
  • platform/mac/fast/forms/input-appearance-bkcolor-expected.txt:
  • platform/mac/fast/forms/input-appearance-default-bkcolor-expected.txt:
  • platform/mac/fast/forms/input-appearance-disabled-expected.txt:
  • platform/mac/fast/forms/input-appearance-readonly-expected.txt:
  • platform/mac/fast/forms/input-baseline-expected.txt:
  • platform/mac/fast/forms/input-spaces-expected.txt:
  • platform/mac/fast/forms/listbox-width-change-expected.txt:
  • platform/mac/fast/forms/option-script-expected.txt:
  • platform/mac/fast/forms/range/slider-padding-expected.txt:
  • platform/mac/fast/forms/search-rtl-expected.txt:
  • platform/mac/fast/forms/search/search-size-with-decorations-expected.txt:
  • platform/mac/fast/forms/select-align-expected.txt:
  • platform/mac/fast/forms/select-initial-position-expected.txt:
  • platform/mac/fast/forms/select-style-expected.txt:
  • platform/mac/fast/forms/textarea-align-expected.txt:
  • platform/mac/fast/forms/textarea-scrollbar-expected.txt:
  • platform/mac/fast/frames/iframe-with-frameborder-expected.txt:
  • platform/mac/fast/frames/onlyCommentInIFrame-expected.txt:
  • platform/mac/fast/images/image-map-anchor-children-expected.txt:
  • platform/mac/fast/inline-block/006-expected.txt:
  • platform/mac/fast/inline-block/contenteditable-baseline-expected.txt:
  • platform/mac/fast/inline/drawStyledEmptyInlines-expected.txt:
  • platform/mac/fast/repaint/rel-positioned-inline-with-overflow-expected.txt:
  • platform/mac/fast/ruby/bopomofo-letter-spacing-expected.txt:
  • platform/mac/fast/ruby/ruby-inline-table-expected.txt:
  • platform/mac/fast/ruby/ruby-length-expected.txt:
  • platform/mac/fast/ruby/ruby-run-break-expected.txt:
  • platform/mac/fast/ruby/ruby-runs-expected.txt:
  • platform/mac/fast/ruby/ruby-simple-expected.txt:
  • platform/mac/fast/ruby/ruby-simple-rp-expected.txt:
  • platform/mac/fast/text-autosizing/ios/contenteditable-expected.txt:
  • platform/mac/fast/text/basic/012-expected.txt:
  • platform/mac/fast/text/capitalize-boundaries-expected.txt:
  • platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
  • platform/mac/fast/text/justify-nbsp-expected.txt:
  • platform/mac/fast/text/svg-font-face-with-kerning-expected.txt:
  • platform/mac/fast/transforms/identity-matrix-expected.txt:
  • platform/mac/fast/writing-mode/fieldsets-expected.txt:
  • platform/mac/fast/writing-mode/vertical-baseline-alignment-expected.txt:
  • platform/mac/fast/writing-mode/vertical-baseline-alignment-mixed-expected.txt:
  • platform/mac/fonts/monospace-expected.txt:
  • platform/mac/fonts/sans-serif-expected.txt:
  • platform/mac/fonts/serif-expected.txt:
  • platform/mac/scrollbars/overflow-scrollbar-combinations-expected.txt:
  • platform/mac/svg/as-border-image/svg-as-border-image-2-expected.txt:
  • platform/mac/svg/as-border-image/svg-as-border-image-expected.txt:
  • platform/mac/svg/custom/getscreenctm-in-mixed-content-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug11026-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug131020_iframe-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1318-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1430-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug19599-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug28341-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug30559-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug32205-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4284-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4382-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4427-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug46623-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4849-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug55694-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug60992-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug9123-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug92143-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug92868-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug963-expected.txt:
  • platform/mac/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
  • platform/mac/tables/mozilla/core/bloomberg-expected.txt:
  • platform/mac/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
  • platform/mac/tables/mozilla/core/col_widths_fix_auto-expected.txt:
  • platform/mac/tables/mozilla/dom/deleteTbodyRebuild1-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_cellpadding-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_cellspacing-expected.txt:
  • platform/mac/tables/mozilla/other/nestedTables-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug1262-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/core/col_span2-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt:
  • scrollbars/overflow-scrollbar-combinations.html:
  • svg/as-border-image/svg-as-border-image-2.html:
  • svg/as-border-image/svg-as-border-image.html:
  • svg/custom/getscreenctm-in-mixed-content.xhtml:
  • tables/mozilla/bugs/bug11026.html:
  • tables/mozilla/bugs/bug131020_iframe.html:
  • tables/mozilla/bugs/bug1318.html:
  • tables/mozilla/bugs/bug1430.html:
  • tables/mozilla/bugs/bug16012.html:
  • tables/mozilla/bugs/bug19599.html:
  • tables/mozilla/bugs/bug28341.html:
  • tables/mozilla/bugs/bug30559.html:
  • tables/mozilla/bugs/bug32205-2.html:
  • tables/mozilla/bugs/bug4284.html:
  • tables/mozilla/bugs/bug4382.html:
  • tables/mozilla/bugs/bug4427.html:
  • tables/mozilla/bugs/bug46623-1.html:
  • tables/mozilla/bugs/bug4849-2.html:
  • tables/mozilla/bugs/bug55694.html:
  • tables/mozilla/bugs/bug60992.html:
  • tables/mozilla/bugs/bug9123-1.html:
  • tables/mozilla/bugs/bug92143.html:
  • tables/mozilla/bugs/bug92868.html:
  • tables/mozilla/bugs/bug963.html:
  • tables/mozilla/collapsing_borders/bug41262-3.html:
  • tables/mozilla/core/bloomberg.html:
  • tables/mozilla/core/col_widths_auto_autoFix.html:
  • tables/mozilla/core/col_widths_fix_auto.html:
  • tables/mozilla/dom/deleteTbodyRebuild1.html:
  • tables/mozilla/marvin/tables_cellpadding.html:
  • tables/mozilla/marvin/tables_cellspacing.html:
  • tables/mozilla/other/nestedTables.html:
  • tables/mozilla/other/wa_table_tr_align.html:
  • tables/mozilla_expected_failures/bugs/bug1262.html:
  • tables/mozilla_expected_failures/bugs/bug56024.html:
  • tables/mozilla_expected_failures/bugs/bug8499.html:
  • tables/mozilla_expected_failures/core/col_span2.html:
  • tables/mozilla_expected_failures/other/test4.html:
9:34 AM Changeset in webkit [268957] by weinig@apple.com
  • 8 edits in trunk

Remove support for 'pixel' and 'pos' CSSOM prefixes
https://bugs.webkit.org/show_bug.cgi?id=119712

Reviewed by Simon Fraser.

Source/WebCore:

Remove support for pixel/pos prefixed properties of CSSStyleDeclaration which
are no longer supported by any other browser.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeGetterBodyDefinition):
(GenerateAttributeSetterBodyDefinition):

  • css/CSSStyleDeclaration.cpp:

(WebCore::CSSStyleDeclaration::getCSSPropertyIDFromJavaScriptPropertyName):
(WebCore::CSSStyleDeclaration::getPropertyValueInternalForPosOrPixelPrefixed): Deleted.
(WebCore::CSSStyleDeclaration::setPropertyValueInternalForPosOrPixelPrefixed): Deleted.

  • css/CSSStyleDeclaration.h:
  • css/makeprop.pl:

LayoutTests:

  • fast/dom/CSSStyleDeclaration/css-properties-case-sensitive-expected.txt:
  • fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html:

Update test to reflect removal of pos/pixel prefixes.

Oct 24, 2020:

11:20 PM Changeset in webkit [268956] by ysuzuki@apple.com
  • 16 edits
    7 adds in trunk

[ECMA-402] Implement Intl.ListFormat
https://bugs.webkit.org/show_bug.cgi?id=209775

Reviewed by Ross Kirsling.

JSTests:

  • stress/intl-listformat.js: Added.

(shouldBe):
(shouldNotThrow):
(shouldThrow):
(test.DerivedListFormat):
(test.get shouldThrow):
(test):

Source/JavaScriptCore:

This patch implements Intl.ListFormat. Intl.ListFormat requires ulistfmt_openForType.
But it is available after ICU 67, and it is draft (unstable) API in ICU 67.
But now, this function is stable in ICU 68 without signature change and no major
change happened to this API. Thus, we can assume that this API signature won't be changed.
We specially undef U_HIDE_DRAFT_API for unicode/ulistformatter.h to use this draft (but stable) APIs.

While macOS / iOS shipping ICU (AppleICU) is ICU 66, AppleICU has ulistfmt_openForType and related APIs
even in ICU 66. We use these APIs in AppleICU 66 to implement Intl.ListFormat.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • runtime/CommonIdentifiers.h:
  • runtime/IntlDisplayNames.cpp:

(JSC::IntlDisplayNames::initializeDisplayNames):

  • runtime/IntlListFormat.cpp: Added.

(JSC::UListFormatterDeleter::operator()):
(JSC::IntlListFormat::create):
(JSC::IntlListFormat::createStructure):
(JSC::IntlListFormat::IntlListFormat):
(JSC::IntlListFormat::finishCreation):
(JSC::IntlListFormat::initializeListFormat):
(JSC::stringListFromIterable):
(JSC::ListFormatInput::ListFormatInput):
(JSC::ListFormatInput::size const):
(JSC::ListFormatInput::stringPointers const):
(JSC::ListFormatInput::stringLengths const):
(JSC::IntlListFormat::format const):
(JSC::IntlListFormat::formatToParts const):
(JSC::IntlListFormat::resolvedOptions const):
(JSC::IntlListFormat::styleString):
(JSC::IntlListFormat::typeString):

  • runtime/IntlListFormat.h: Added.
  • runtime/IntlListFormatConstructor.cpp: Added.

(JSC::IntlListFormatConstructor::create):
(JSC::IntlListFormatConstructor::createStructure):
(JSC::IntlListFormatConstructor::IntlListFormatConstructor):
(JSC::IntlListFormatConstructor::finishCreation):
(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/IntlListFormatConstructor.h: Added.
  • runtime/IntlListFormatPrototype.cpp: Added.

(JSC::IntlListFormatPrototype::create):
(JSC::IntlListFormatPrototype::createStructure):
(JSC::IntlListFormatPrototype::IntlListFormatPrototype):
(JSC::IntlListFormatPrototype::finishCreation):
(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/IntlListFormatPrototype.h: Added.
  • runtime/IntlObject.cpp:

(JSC::createListFormatConstructor):
(JSC::IntlObject::finishCreation):

  • runtime/IntlObject.h:

(JSC::intlListFormatAvailableLocales):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::listFormatStructure):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
9:27 PM Changeset in webkit [268955] by Simon Fraser
  • 13 edits
    3 copies
    1 add in trunk/Source/WebCore

[LFC Display] Implement background image painting
https://bugs.webkit.org/show_bug.cgi?id=218155

Reviewed by Zalan Bujtas.

Introduce BoxDecorationData, which stores per-Box box pixel-snapped geometry for
backgrounds and borders. A BoxModelBox that has box decorations will own one.

BoxDecorationData has a vector of FillLayerImageGeometry, which stores pixel-snapped
geometry for background image painting. Code in DisplayFillLayerImageGeometry computes
this geometry (code based on rendering code).

BoxModelBox needs to store pixel snapped padding and content boxes for decoration painting.

Currently TreeBuilder::computeBoxDecorationData() sets up these rects and makes BoxDecorationData,
but this isn't really tree building, so I'd like to move that code somewhere else in
future patches.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::computeBoxDecorationData const):
(WebCore::Display::TreeBuilder::displayBoxForLayoutBox const):

  • display/DisplayTreeBuilder.h:
  • display/css/DisplayBox.cpp:
  • display/css/DisplayBox.h:
  • display/css/DisplayBoxDecorationData.cpp: Copied from Source/WebCore/display/css/DisplayBox.cpp.

(WebCore::Display::BoxDecorationData::create):

  • display/css/DisplayBoxDecorationData.h: Copied from Source/WebCore/display/css/DisplayCSSPainter.h.

(WebCore::Display::BoxDecorationData::backgroundImageGeometry const):
(WebCore::Display::BoxDecorationData::setBackgroundImageGeometry):
(WebCore::Display::BoxDecorationData::roundedBorderRect const):
(WebCore::Display::BoxDecorationData::setRoundedBorderRect):

  • display/css/DisplayBoxModelBox.cpp:

(WebCore::Display::BoxModelBox::setBoxDecorationData):

  • display/css/DisplayBoxModelBox.h:

(WebCore::Display::BoxModelBox::absolutePaddingBoxRect const):
(WebCore::Display::BoxModelBox::setAbsolutePaddingBoxRect):
(WebCore::Display::BoxModelBox::absoluteContentBoxRect const):
(WebCore::Display::BoxModelBox::setAbsoluteContentBoxRect):
(WebCore::Display::BoxModelBox::boxDecorationData const):

  • display/css/DisplayCSSPainter.cpp:

(WebCore::Display::CSSPainter::paintFillLayer):
(WebCore::Display::CSSPainter::paintBackgroundImages):
(WebCore::Display::CSSPainter::paintBoxDecorations):

  • display/css/DisplayCSSPainter.h:
  • display/css/DisplayFillLayerImageGeometry.cpp: Added.

(WebCore::Display::resolveWidthForRatio):
(WebCore::Display::resolveHeightForRatio):
(WebCore::Display::resolveAgainstIntrinsicWidthOrHeightAndRatio):
(WebCore::Display::resolveAgainstIntrinsicRatio):
(WebCore::Display::calculateImageIntrinsicDimensions):
(WebCore::Display::calculateFillTileSize):
(WebCore::Display::getSpace):
(WebCore::Display::resolveEdgeRelativeLength):
(WebCore::Display::pixelSnappedFillLayerImageGeometry):
(WebCore::Display::geometryForLayer):
(WebCore::Display::calculateFillLayerImageGeometry):

  • display/css/DisplayFillLayerImageGeometry.h: Copied from Source/WebCore/display/DisplayTreeBuilder.h.

(WebCore::Display::FillLayerImageGeometry::FillLayerImageGeometry):
(WebCore::Display::FillLayerImageGeometry::destRect const):
(WebCore::Display::FillLayerImageGeometry::phase const):
(WebCore::Display::FillLayerImageGeometry::tileSize const):
(WebCore::Display::FillLayerImageGeometry::spaceSize const):
(WebCore::Display::FillLayerImageGeometry::hasNonLocalGeometry const):
(WebCore::Display::FillLayerImageGeometry::relativePhase const):
(WebCore::Display::FillLayerImageGeometry::clip):

  • display/css/DisplayStyle.cpp:

(WebCore::Display::deepCopy):
(WebCore::Display::Style::Style):
(WebCore::Display::Style::hasBackgroundImage const):

  • display/css/DisplayStyle.h:

(WebCore::Display::Style::backgroundLayers const):
(WebCore::Display::Style::hasBackgroundImage const): Deleted.

3:55 PM Changeset in webkit [268954] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

[LFC Display] Create display boxes for atomic inlines and inline blocks
https://bugs.webkit.org/show_bug.cgi?id=218153

Reviewed by Zalan Bujtas.

When iterating line runs, recurse into container layout boxes for inline-block, and
make display boxes for other textless runs for other atomic inlines like replaced
elements.

  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::buildInlineDisplayTree const):

1:19 PM Changeset in webkit [268953] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

[LFC Display] Simplify display tree building
https://bugs.webkit.org/show_bug.cgi?id=218152

Reviewed by Zalan Bujtas.

Rather than tracking container/current child display boxes in various places in the code,
wrap it up in a small InsertionPosition struct and TreeBuilder::insert() which handles
the setFirstChild/setNextSibling logic.

  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::build const):
(WebCore::Display::TreeBuilder::insert const):
(WebCore::Display::TreeBuilder::buildInlineDisplayTree const):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):

  • display/DisplayTreeBuilder.h:
12:30 PM Changeset in webkit [268952] by jer.noble@apple.com
  • 14 edits
    4 adds in trunk

[BigSur] Appending a new WebM init segment between Cluster elements throws an error
https://bugs.webkit.org/show_bug.cgi?id=218149
<rdar://problem/70416537>

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Add an "OnElementEnd()" callback to libwebm.

  • Source/third_party/libwebm/webm_parser/include/webm/callback.h:
  • Source/third_party/libwebm/webm_parser/src/callback.cc:
  • Source/third_party/libwebm/webm_parser/src/master_parser.cc:
  • Source/third_party/libwebm/webm_parser/src/webm_parser.cc:

Source/WebCore:

Test: media/media-source/media-source-webm-init-inside-segment.html

The WebM Byte Stream Format specification states that an "initialization segment" consists
of both a leading Ebml element and Segment element, and a "media segment" consists of a
single Cluster element. However, while both Ebml and Segment elements are top-level, Cluster
elements are contained within a Segment. This means if a client pushes a new "initialization
segment" after parsing some-but-not-all Clusters within a Segment, the new Ebml and Segment
elements will be parsed as children of the preceeding Segment, and the subsquent Segment
will overflow its "parent's" size.

In order to support appending a new "initialization segment" while still in the middle of
parsing the previous Segment element, first improve our state tracking in order to determine
what the current parent element is. Then, when we detect that an Ebml element is parsed
while still inside a Segment, abort with a simulated error, which when caught, will indicate
that the parser needs to be reset, and the reader "rewound" to the Ebml's position.

To allow the reader to rewind, we must not throw away appended data as we iterate over them.
Instead, we will only discard read samples once each parsing pass is fully complete. This
allows us to "rewind" across appended segment boundaries, if necessary.

Because all WTF::Deque iterators are invalidated whenever any element is removed, and
because we do not need random-access to the elements in the deque, replace the Deque with a
StdList to store the incoming data.

  • platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm:

(WebCore::SourceBufferParserAVFObjC::setLogger):

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):

  • platform/graphics/cocoa/SourceBufferParser.h:
  • platform/graphics/cocoa/SourceBufferParserWebM.cpp:

(WTF::LogArgument<webm::Id>::toString):
(WTF::LogArgument<WebCore::SourceBufferParserWebM::State>::toString):
(WebCore::logChannel):
(WebCore::logClassName):
(WebCore::SourceBufferParserWebM::appendData):
(WebCore::SourceBufferParserWebM::resetParserState):
(WebCore::SourceBufferParserWebM::invalidate):
(WebCore::SourceBufferParserWebM::setLogger):
(WebCore::SourceBufferParserWebM::OnElementBegin):
(WebCore::SourceBufferParserWebM::OnElementEnd):
(WebCore::SourceBufferParserWebM::OnEbml):
(WebCore::SourceBufferParserWebM::OnSegmentBegin):
(WebCore::SourceBufferParserWebM::OnInfo):
(WebCore::SourceBufferParserWebM::OnTrackEntry):

  • platform/graphics/cocoa/SourceBufferParserWebM.h:

LayoutTests:

  • media/media-source/content/test-vp9-long-manifest.json: Added.
  • media/media-source/content/test-vp9-long.webm: Added.
  • media/media-source/media-source-webm-init-inside-segment-expected.txt: Added.
  • media/media-source/media-source-webm-init-inside-segment.html: Added.
  • platform/mac/TestExpectations:
6:46 AM Changeset in webkit [268951] by Antti Koivisto
  • 3 edits
    2 adds in trunk

[LFC][Integration] Replaced elements in newly created line layout should always be updated
https://bugs.webkit.org/show_bug.cgi?id=218150

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: fast/inline/inline-with-img-dynamic.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutLFCLines):

We may need to recreate line layout while children still have valid style.
Ensure that replaced dimensions are still updated.

LayoutTests:

  • fast/inline/inline-with-img-dynamic-expected.html: Added.
  • fast/inline/inline-with-img-dynamic.html: Added.
6:22 AM Changeset in webkit [268950] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Negative margin start pulls the replaced box to logical left direction
https://bugs.webkit.org/show_bug.cgi?id=218147

Reviewed by Antti Koivisto.

Account for negative margin start when computing the logical left position on the line.
This patch fixes LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-inherit-002-expected.xht.

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::appendNonReplacedInlineBox):

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::inlineItemWidth const):
(WebCore::Layout::LineBuilder::nextContentForLine):

6:18 AM Changeset in webkit [268949] by Caio Lima
  • 2 edits in trunk/JSTests

[EWS][ARMv7] Flaky test stress/json-stringify-stack-overflow.js
https://bugs.webkit.org/show_bug.cgi?id=218129

Unreviewed test gardening.

  • stress/json-stringify-stack-overflow.js:
5:43 AM Changeset in webkit [268948] by Alan Bujtas
  • 19 edits in trunk/Source/WebCore

[LFC] BoxGeometry logicalWidth/Height/Rect functions are confusing
https://bugs.webkit.org/show_bug.cgi?id=218145

Reviewed by Antti Koivisto.

BoxGeometry represents the layout node both as a box relative to the containing block (BoxGeometry::logicalRect(), logicalLeft(), logicalWidth())
and as a box relative to the border box (BoxGeometry::marginBox(), paddingBox(), contentBox()).
These 2 sets of geometries may be confusing in certain cases, e.g. logicalWidth() does not say whether it's border, padding or content box.
BoxGometry is mostly used as a box relative to the border box (0, 0, border box width, border box height) so let's make the other set as a
static API.

  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::build const):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):
(WebCore::Display::TreeBuilder::displayBoxForRootBox const):
(WebCore::Display::TreeBuilder::displayBoxForLayoutBox const):

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::validateGeometryConstraintsAfterLayout const):

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::contentHeightForFormattingContextRoot const):
(WebCore::Layout::FormattingContext::Geometry::staticVerticalPositionForOutOfFlowPositioned const):
(WebCore::Layout::FormattingContext::Geometry::staticHorizontalPositionForOutOfFlowPositioned const):
(WebCore::Layout::FormattingContext::Geometry::complicatedCases const):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin const):

  • layout/Verification.cpp:

(WebCore::Layout::outputMismatchingBlockBoxInformationIfNeeded):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::usedAvailableWidthForFloatAvoider):
(WebCore::Layout::BlockFormattingContext::computeVerticalPositionForFloatClear):
(WebCore::Layout::BlockFormattingContext::verticalPositionWithMargin const):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::staticVerticalPosition const):

  • layout/flexformatting/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::sizeAndPlaceFlexItems):

  • layout/floats/FloatingContext.cpp:

(WebCore::Layout::FloatingContext::positionForFloat const):
(WebCore::Layout::FloatingContext::positionForNonFloatingFloatAvoider const):
(WebCore::Layout::FloatingContext::mapTopLeftToFloatingStateRoot const):
(WebCore::Layout::FloatingContext::mapPointFromFormattingContextRootToFloatingStateRoot const):

  • layout/floats/FloatingState.h:

(WebCore::Layout::FloatingState::FloatItem::rectWithMargin const):
(WebCore::Layout::FloatingState::FloatItem::bottom const):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::inlineItemWidth const):

  • layout/layouttree/LayoutBoxGeometry.cpp:

(WebCore::Layout::BoxGeometry::borderBox const):

  • layout/layouttree/LayoutBoxGeometry.h:

(WebCore::Layout::BoxGeometry::logicalTop):
(WebCore::Layout::BoxGeometry::logicalLeft):
(WebCore::Layout::BoxGeometry::logicalTopLeft):
(WebCore::Layout::BoxGeometry::borderRect):
(WebCore::Layout::BoxGeometry::marginRect):
(WebCore::Layout::BoxGeometry::logicalBottom const): Deleted.
(WebCore::Layout::BoxGeometry::logicalRight const): Deleted.
(WebCore::Layout::BoxGeometry::logicalBottomRight const): Deleted.
(WebCore::Layout::BoxGeometry::logicalSize const): Deleted.
(WebCore::Layout::BoxGeometry::logicalWidth const): Deleted.
(WebCore::Layout::BoxGeometry::logicalHeight const): Deleted.
(WebCore::Layout::BoxGeometry::isEmpty const): Deleted.
(WebCore::Layout::BoxGeometry::logicalRect const): Deleted.
(WebCore::Layout::BoxGeometry::logicalRectWithMargin const): Deleted.

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::outputLayoutBox):

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::setUsedGeometryForSections):

  • layout/tableformatting/TableFormattingContextGeometry.cpp:

(WebCore::Layout::TableFormattingContext::Geometry::cellHeigh const):

  • layout/tableformatting/TableLayout.cpp:

(WebCore::Layout::TableFormattingContext::TableLayout::distributedVerticalSpace):

  • page/FrameViewLayoutContext.cpp:

(WebCore::FrameViewLayoutContext::layoutUsingFormattingContext):

Note: See TracTimeline for information about the timeline view.