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

Timeline



Jun 15, 2020:

10:39 PM Changeset in webkit [263076] by ChangSeok Oh
  • 4 edits
    6 moves in trunk/Source/WebCore

[GTK] Rename GC3D to GCGL.
https://bugs.webkit.org/show_bug.cgi?id=211117

Reviewed by Fujii Hironori.

GraphicsContext3D has been renamed to GraphicsContextGL after r254103 but some files
still follow the old name. This change reflects the new name to them for consistency.

No new tests because of no new functionalities.

  • platform/TextureMapper.cmake:
  • platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp: Renamed from Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGC3DANGLELayer.cpp.

(Nicosia::GCGLANGLELayer::ANGLEContext::errorString):
(Nicosia::GCGLANGLELayer::ANGLEContext::lastErrorString):
(Nicosia::GCGLANGLELayer::ANGLEContext::createContext):
(Nicosia::GCGLANGLELayer::ANGLEContext::ANGLEContext):
(Nicosia::GCGLANGLELayer::ANGLEContext::~ANGLEContext):
(Nicosia::GCGLANGLELayer::ANGLEContext::makeContextCurrent):
(Nicosia::GCGLANGLELayer::ANGLEContext::platformContext const):
(Nicosia::GCGLANGLELayer::GCGLANGLELayer):
(Nicosia::GCGLANGLELayer::~GCGLANGLELayer):
(Nicosia::GCGLANGLELayer::makeContextCurrent):
(Nicosia::GCGLANGLELayer::platformContext const):

  • platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.h: Renamed from Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGC3DANGLELayer.h.
  • platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp: Renamed from Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGC3DLayer.cpp.

(Nicosia::GCGLLayer::GCGLLayer):
(Nicosia::GCGLLayer::~GCGLLayer):
(Nicosia::GCGLLayer::makeContextCurrent):
(Nicosia::GCGLLayer::platformContext const):
(Nicosia::GCGLLayer::swapBuffersIfNeeded):

  • platform/graphics/nicosia/texmap/NicosiaGCGLLayer.h: Renamed from Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGC3DLayer.h.

(Nicosia::GCGLLayer::contentLayer const):

  • platform/graphics/opengl/GraphicsContextGLOpenGL.h:
  • platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:

(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):

  • platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp: Renamed from Source/WebCore/platform/graphics/texmap/TextureMapperGC3DPlatformLayer.cpp.

(WebCore::TextureMapperGCGLPlatformLayer::TextureMapperGCGLPlatformLayer):
(WebCore::TextureMapperGCGLPlatformLayer::~TextureMapperGCGLPlatformLayer):
(WebCore::TextureMapperGCGLPlatformLayer::makeContextCurrent):
(WebCore::TextureMapperGCGLPlatformLayer::platformContext const):
(WebCore::TextureMapperGCGLPlatformLayer::proxy const):
(WebCore::TextureMapperGCGLPlatformLayer::swapBuffersIfNeeded):
(WebCore::TextureMapperGCGLPlatformLayer::paintToTextureMapper):

  • platform/graphics/texmap/TextureMapperGCGLPlatformLayer.h: Renamed from Source/WebCore/platform/graphics/texmap/TextureMapperGC3DPlatformLayer.h.
10:04 PM Changeset in webkit [263075] by Diego Pino Garcia
  • 4 edits
    1 delete in trunk/LayoutTests

[WPE] Unreviewed test gardening. Garden flaky failures after r263069.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
  • platform/wpe/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-no-freshness-headers.https-expected.txt: Removed.
8:03 PM Changeset in webkit [263074] by commit-queue@webkit.org
  • 6 edits in trunk/Source

WTF signal machinery is guarded by #if USE(PTHREADS) && HAVE(MACHINE_CONTEXT) but does not use pthreads or machine context
https://bugs.webkit.org/show_bug.cgi?id=213223

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-06-15
Reviewed by Mark Lam.

Source/JavaScriptCore:

Use #if OS(UNIX) here too. This should fix stress/ensure-crash.js when
HAVE(MACHINE_CONTEXT) is false.

  • jsc.cpp:

(printUsageStatement):
(CommandLine::parseArguments):

Source/WTF:

Use #if OS(UNIX) instead.

  • wtf/WTFConfig.h:
  • wtf/threads/Signals.cpp:
  • wtf/threads/Signals.h:
7:17 PM Changeset in webkit [263073] by Megan Gardner
  • 339 edits in trunk

Text form controls can scroll by 1px when value is the same length as size. No scrolling should happen.
https://bugs.webkit.org/show_bug.cgi?id=212856
<rdar://problem/63541707>

Reviewed by Zalan Bujtas.

Source/WebCore:

We were only adding caret width to an input when determining if the input should start to be scrolled,
but that additional width was not included in the initial calculation, which could result in fields being
scrollable by 1px when they had the same number of fixed-width characters as the size of the field. This was
incorrect, and caused fast/forms/password-scrolled-after-caps-lock-toggled.html to fail when the default size
of the security dots increased to be the same as the average character width. Adding the caret width when the
size of the input field is calculated brings consistency to when an input field is scrollable.

Tested by fixing:
fast/forms/password-scrolled-after-caps-lock-toggled.html

And rebasing:

  • editing/editable-region/overflow-scroll-text-field-and-contenteditable-expected.txt:
  • editing/editable-region/search-field-basic-expected.txt:
  • editing/editable-region/text-field-basic-expected.txt:
  • fast/forms/auto-fill-button/hide-auto-fill-button-when-input-becomes-readonly-expected.html:
  • fast/forms/auto-fill-button/hide-auto-fill-button-when-input-becomes-readonly.html:
  • fast/forms/auto-fill-button/input-credit-card-auto-fill-button-expected.txt:
  • fast/forms/fieldset/fieldset-elements-htmlcollection-expected.txt:
  • fast/forms/fieldset/fieldset-elements-htmlcollection.html:
  • fast/forms/search/search-cancel-button-visible-when-input-becomes-disabled-expected.html:
  • fast/forms/search/search-cancel-button-visible-when-input-becomes-disabled.html:
  • fast/forms/search/search-cancel-button-visible-when-input-becomes-readonly-expected.html:
  • fast/forms/search/search-cancel-button-visible-when-input-becomes-readonly.html:
  • platform/ios-simulator/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt:
  • platform/ios-simulator/fast/forms/auto-fill-button/input-credit-card-auto-fill-button-expected.txt:
  • platform/ios-simulator/fast/forms/auto-fill-button/input-strong-password-viewable-expected.txt:
  • platform/ios-simulator/fast/forms/datalist/datalist-searchinput-appearance-expected.txt:
  • platform/ios-simulator/fast/forms/datalist/datalist-textinput-appearance-expected.txt:
  • platform/ios-wk2/editing/input/caret-at-the-edge-of-contenteditable-expected.txt:
  • platform/ios-wk2/editing/input/caret-at-the-edge-of-input-expected.txt:
  • platform/ios-wk2/editing/inserting/before-after-input-element-expected.txt:
  • platform/ios-wk2/editing/pasteboard/input-field-1-expected.txt:
  • platform/ios-wk2/editing/selection/4895428-3-expected.txt:
  • platform/ios-wk2/editing/selection/drag-select-1-expected.txt:
  • platform/ios-wk2/editing/selection/select-from-textfield-outwards-expected.txt:
  • platform/ios-wk2/fast/forms/input-appearance-preventDefault-expected.txt:
  • platform/ios-wk2/fast/forms/input-text-click-inside-expected.txt:
  • platform/ios-wk2/fast/forms/input-text-click-outside-expected.txt:
  • platform/ios-wk2/fast/forms/input-text-double-click-expected.txt:
  • platform/ios-wk2/fast/forms/input-text-drag-down-expected.txt:
  • platform/ios-wk2/fast/forms/input-text-option-delete-expected.txt:
  • platform/ios-wk2/fast/forms/input-text-self-emptying-click-expected.txt:
  • platform/ios-wk2/fast/forms/tabbing-input-iframe-expected.txt:
  • platform/ios-wk2/fast/forms/textfield-outline-expected.txt:
  • platform/ios-wk2/fast/overflow/overflow-focus-ring-expected.txt:
  • platform/ios-wk2/fast/repaint/placeholder-after-caps-lock-hidden-expected.txt:
  • platform/ios-wk2/fast/transforms/transformed-focused-text-input-expected.txt:
  • platform/ios/editing/pasteboard/4806874-expected.txt:
  • platform/ios/editing/selection/3690703-2-expected.txt:
  • platform/ios/editing/selection/3690703-expected.txt:
  • platform/ios/editing/selection/3690719-expected.txt:
  • platform/ios/editing/selection/4975120-expected.txt:
  • platform/ios/fast/clip/outline-overflowClip-expected.txt:
  • platform/ios/fast/css/focus-ring-exists-for-search-field-expected.txt:
  • platform/ios/fast/css/input-search-padding-expected.txt:
  • platform/ios/fast/css/line-height-expected.txt:
  • platform/ios/fast/css/text-overflow-input-expected.txt:
  • platform/ios/fast/events/context-no-deselect-expected.txt:
  • platform/ios/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt:
  • platform/ios/fast/forms/basic-inputs-expected.txt:
  • platform/ios/fast/forms/box-shadow-override-expected.txt:
  • platform/ios/fast/forms/control-restrict-line-height-expected.txt:
  • platform/ios/fast/forms/encoding-test-expected.txt:
  • platform/ios/fast/forms/fieldset-align-expected.txt:
  • platform/ios/fast/forms/form-element-geometry-expected.txt:
  • platform/ios/fast/forms/input-align-expected.txt:
  • platform/ios/fast/forms/input-appearance-bkcolor-expected.txt:
  • platform/ios/fast/forms/input-appearance-default-bkcolor-expected.txt:
  • platform/ios/fast/forms/input-appearance-focus-expected.txt:
  • platform/ios/fast/forms/input-appearance-height-expected.txt:
  • platform/ios/fast/forms/input-appearance-selection-expected.txt:
  • platform/ios/fast/forms/input-appearance-visibility-expected.txt:
  • platform/ios/fast/forms/input-appearance-width-expected.txt:
  • platform/ios/fast/forms/input-disabled-color-expected.txt:
  • platform/ios/fast/forms/input-double-click-selection-gap-bug-expected.txt:
  • platform/ios/fast/forms/input-placeholder-visibility-1-expected.txt:
  • platform/ios/fast/forms/input-placeholder-visibility-3-expected.txt:
  • platform/ios/fast/forms/input-spaces-expected.txt:
  • platform/ios/fast/forms/input-table-expected.txt:
  • platform/ios/fast/forms/input-text-click-inside-expected.txt:
  • platform/ios/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/ios/fast/forms/input-text-self-emptying-click-expected.txt:
  • platform/ios/fast/forms/input-type-text-min-width-expected.txt:
  • platform/ios/fast/forms/input-value-expected.txt:
  • platform/ios/fast/forms/input-width-expected.txt:
  • platform/ios/fast/forms/minWidthPercent-expected.txt:
  • platform/ios/fast/forms/number/number-appearance-rtl-expected.txt:
  • platform/ios/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt:
  • platform/ios/fast/forms/number/number-appearance-spinbutton-layer-expected.txt:
  • platform/ios/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/ios/fast/forms/search-cancel-button-style-sharing-expected.txt:
  • platform/ios/fast/forms/search-display-none-cancel-button-expected.txt:
  • platform/ios/fast/forms/search-input-rtl-expected.txt:
  • platform/ios/fast/forms/search-styled-expected.txt:
  • platform/ios/fast/forms/tabbing-input-iframe-expected.txt:
  • platform/ios/fast/forms/text-control-intrinsic-widths-expected.txt:
  • platform/ios/fast/forms/textfield-focus-ring-expected.txt:
  • platform/ios/fast/forms/textfield-overflow-expected.txt:
  • platform/ios/fast/frames/take-focus-from-iframe-expected.txt:
  • platform/ios/fast/html/details-no-summary4-expected.txt:
  • platform/ios/fast/html/details-open-javascript-expected.txt:
  • platform/ios/fast/html/details-open2-expected.txt:
  • platform/ios/fast/html/details-open4-expected.txt:
  • platform/ios/fast/lists/dynamic-marker-crash-expected.txt:
  • platform/ios/fast/replaced/replaced-breaking-expected.txt:
  • platform/ios/fast/replaced/replaced-breaking-mixture-expected.txt:
  • platform/ios/fast/table/colspanMinWidth-expected.txt:
  • platform/ios/fast/table/spanOverlapRepaint-expected.txt:
  • platform/ios/fast/table/text-field-baseline-expected.txt:
  • platform/ios/svg/custom/inline-svg-in-xhtml-expected.txt:
  • platform/ios/svg/hixie/mixed/003-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug12384-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug18359-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug24200-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug2479-2-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug2479-3-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug2479-4-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug28928-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug4382-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug4527-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug46368-2-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug51037-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug55545-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug59354-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug7342-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug96334-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug99948-expected.txt:
  • platform/ios/tables/mozilla/dom/tableDom-expected.txt:
  • platform/ios/tables/mozilla/other/move_row-expected.txt:
  • platform/ios/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/ios/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
  • platform/ios/transforms/3d/general/perspective-non-layer-expected.txt:
  • platform/mac-mojave/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/mac/editing/input/caret-at-the-edge-of-input-expected.txt:
  • platform/mac/editing/inserting/before-after-input-element-expected.txt:
  • platform/mac/editing/pasteboard/4806874-expected.txt:
  • platform/mac/editing/pasteboard/drop-text-without-selection-expected.txt:
  • platform/mac/editing/pasteboard/input-field-1-expected.txt:
  • platform/mac/editing/selection/3690703-2-expected.txt:
  • platform/mac/editing/selection/3690703-expected.txt:
  • platform/mac/editing/selection/3690719-expected.txt:
  • platform/mac/editing/selection/4895428-3-expected.txt:
  • platform/mac/editing/selection/4975120-expected.txt:
  • platform/mac/editing/selection/drag-select-1-expected.txt:
  • platform/mac/editing/selection/select-from-textfield-outwards-expected.txt:
  • platform/mac/fast/css/focus-ring-exists-for-search-field-expected.txt:
  • platform/mac/fast/css/line-height-expected.txt:
  • platform/mac/fast/css/text-overflow-input-expected.txt:
  • platform/mac/fast/events/context-no-deselect-expected.txt:
  • platform/mac/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt:
  • platform/mac/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt:
  • platform/mac/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt:
  • platform/mac/fast/forms/auto-fill-button/input-strong-password-viewable-expected.txt:
  • platform/mac/fast/forms/basic-inputs-expected.txt:
  • platform/mac/fast/forms/box-shadow-override-expected.txt:
  • platform/mac/fast/forms/control-restrict-line-height-expected.txt:
  • platform/mac/fast/forms/datalist/datalist-searchinput-appearance-expected.txt:
  • platform/mac/fast/forms/datalist/datalist-textinput-appearance-expected.txt:
  • platform/mac/fast/forms/encoding-test-expected.txt:
  • platform/mac/fast/forms/fieldset-align-expected.txt:
  • platform/mac/fast/forms/form-element-geometry-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-focus-expected.txt:
  • platform/mac/fast/forms/input-appearance-height-expected.txt:
  • platform/mac/fast/forms/input-appearance-preventDefault-expected.txt:
  • platform/mac/fast/forms/input-appearance-selection-expected.txt:
  • platform/mac/fast/forms/input-appearance-spinbutton-expected.txt:
  • platform/mac/fast/forms/input-appearance-spinbutton-up-expected.txt:
  • platform/mac/fast/forms/input-appearance-visibility-expected.txt:
  • platform/mac/fast/forms/input-appearance-width-expected.txt:
  • platform/mac/fast/forms/input-baseline-expected.txt:
  • platform/mac/fast/forms/input-disabled-color-expected.txt:
  • platform/mac/fast/forms/input-double-click-selection-gap-bug-expected.txt:
  • platform/mac/fast/forms/input-placeholder-visibility-1-expected.txt:
  • platform/mac/fast/forms/input-placeholder-visibility-3-expected.txt:
  • platform/mac/fast/forms/input-spaces-expected.txt:
  • platform/mac/fast/forms/input-table-expected.txt:
  • platform/mac/fast/forms/input-text-click-inside-expected.txt:
  • platform/mac/fast/forms/input-text-click-outside-expected.txt:
  • platform/mac/fast/forms/input-text-double-click-expected.txt:
  • platform/mac/fast/forms/input-text-drag-down-expected.txt:
  • platform/mac/fast/forms/input-text-option-delete-expected.txt:
  • platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/mac/fast/forms/input-text-self-emptying-click-expected.txt:
  • platform/mac/fast/forms/input-text-word-wrap-expected.txt:
  • platform/mac/fast/forms/input-type-text-min-width-expected.txt:
  • platform/mac/fast/forms/input-value-expected.txt:
  • platform/mac/fast/forms/input-width-expected.txt:
  • platform/mac/fast/forms/number/number-appearance-rtl-expected.txt:
  • platform/mac/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt:
  • platform/mac/fast/forms/number/number-appearance-spinbutton-layer-expected.txt:
  • platform/mac/fast/forms/placeholder-position-expected.txt:
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/mac/fast/forms/search-cancel-button-style-sharing-expected.txt:
  • platform/mac/fast/forms/search-display-none-cancel-button-expected.txt:
  • platform/mac/fast/forms/search-input-rtl-expected.txt:
  • platform/mac/fast/forms/search-styled-expected.txt:
  • platform/mac/fast/forms/search-vertical-alignment-expected.txt:
  • platform/mac/fast/forms/search/search-padding-cancel-results-buttons-expected.txt:
  • platform/mac/fast/forms/search/search-size-with-decorations-expected.txt:
  • platform/mac/fast/forms/tabbing-input-iframe-expected.txt:
  • platform/mac/fast/forms/text-control-intrinsic-widths-expected.txt:
  • platform/mac/fast/forms/textfield-focus-ring-expected.txt:
  • platform/mac/fast/forms/textfield-outline-expected.txt:
  • platform/mac/fast/forms/textfield-overflow-expected.txt:
  • platform/mac/fast/forms/visual-hebrew-text-field-expected.txt:
  • platform/mac/fast/frames/take-focus-from-iframe-expected.txt:
  • platform/mac/fast/html/details-no-summary4-expected.txt:
  • platform/mac/fast/html/details-open-javascript-expected.txt:
  • platform/mac/fast/html/details-open2-expected.txt:
  • platform/mac/fast/html/details-open4-expected.txt:
  • platform/mac/fast/lists/dynamic-marker-crash-expected.txt:
  • platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt:
  • platform/mac/fast/repaint/search-field-cancel-expected.txt:
  • platform/mac/fast/repaint/subtree-root-skipped-expected.txt:
  • platform/mac/fast/replaced/replaced-breaking-expected.txt:
  • platform/mac/fast/replaced/replaced-breaking-mixture-expected.txt:
  • platform/mac/fast/table/colspanMinWidth-expected.txt:
  • platform/mac/fast/table/spanOverlapRepaint-expected.txt:
  • platform/mac/fast/table/text-field-baseline-expected.txt:
  • platform/mac/fast/text/textIteratorNilRenderer-expected.txt:
  • platform/mac/fast/transforms/transformed-focused-text-input-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/mac/plugins/mouse-click-plugin-clears-selection-expected.txt:
  • platform/mac/svg/custom/inline-svg-in-xhtml-expected.txt:
  • platform/mac/svg/hixie/mixed/003-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug12384-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug18359-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug24200-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug2479-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug2479-3-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug2479-4-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug28928-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4382-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4527-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug46368-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug51037-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug55545-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug59354-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug7342-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug96334-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug99948-expected.txt:
  • platform/mac/tables/mozilla/dom/tableDom-expected.txt:
  • platform/mac/tables/mozilla/other/move_row-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
  • platform/mac/transforms/3d/general/perspective-non-layer-expected.txt:
  • platform/win/editing/input/caret-at-the-edge-of-input-expected.txt:
  • platform/win/editing/inserting/before-after-input-element-expected.txt:
  • platform/win/fast/css/focus-ring-exists-for-search-field-expected.txt:
  • platform/win/fast/events/context-no-deselect-expected.txt:
  • platform/win/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt:
  • platform/win/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt:
  • platform/win/fast/forms/auto-fill-button/input-credit-card-auto-fill-button-expected.txt:
  • platform/win/fast/forms/basic-inputs-expected.txt:
  • platform/win/fast/forms/box-shadow-override-expected.txt:
  • platform/win/fast/forms/control-restrict-line-height-expected.txt:
  • platform/win/fast/forms/encoding-test-expected.txt:
  • platform/win/fast/forms/fieldset-align-expected.txt:
  • platform/win/fast/forms/form-element-geometry-expected.txt:
  • platform/win/fast/forms/input-align-expected.txt:
  • platform/win/fast/forms/input-appearance-bkcolor-expected.txt:
  • platform/win/fast/forms/input-appearance-default-bkcolor-expected.txt:
  • platform/win/fast/forms/input-appearance-disabled-expected.txt:
  • platform/win/fast/forms/input-appearance-focus-expected.txt:
  • platform/win/fast/forms/input-appearance-height-expected.txt:
  • platform/win/fast/forms/input-appearance-readonly-expected.txt:
  • platform/win/fast/forms/input-appearance-selection-expected.txt:
  • platform/win/fast/forms/input-appearance-visibility-expected.txt:
  • platform/win/fast/forms/input-appearance-width-expected.txt:
  • platform/win/fast/forms/input-baseline-expected.txt:
  • platform/win/fast/forms/input-disabled-color-expected.txt:
  • platform/win/fast/forms/input-double-click-selection-gap-bug-expected.txt:
  • platform/win/fast/forms/input-placeholder-visibility-1-expected.txt:
  • platform/win/fast/forms/input-placeholder-visibility-3-expected.txt:
  • platform/win/fast/forms/input-readonly-autoscroll-expected.txt:
  • platform/win/fast/forms/input-readonly-dimmed-expected.txt:
  • platform/win/fast/forms/input-readonly-empty-expected.txt:
  • platform/win/fast/forms/input-spaces-expected.txt:
  • platform/win/fast/forms/input-table-expected.txt:
  • platform/win/fast/forms/input-text-click-inside-expected.txt:
  • platform/win/fast/forms/input-text-click-outside-expected.txt:
  • platform/win/fast/forms/input-text-double-click-expected.txt:
  • platform/win/fast/forms/input-text-drag-down-expected.txt:
  • platform/win/fast/forms/input-text-option-delete-expected.txt:
  • platform/win/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/win/fast/forms/input-text-self-emptying-click-expected.txt:
  • platform/win/fast/forms/input-text-word-wrap-expected.txt:
  • platform/win/fast/forms/input-type-text-min-width-expected.txt:
  • platform/win/fast/forms/input-value-expected.txt:
  • platform/win/fast/forms/input-width-expected.txt:
  • platform/win/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/win/fast/forms/search-cancel-button-style-sharing-expected.txt:
  • platform/win/fast/forms/search-display-none-cancel-button-expected.txt:
  • platform/win/fast/forms/search-styled-expected.txt:
  • platform/win/fast/forms/search-vertical-alignment-expected.txt:
  • platform/win/fast/forms/search/search-size-with-decorations-expected.txt:
  • platform/win/fast/forms/tabbing-input-iframe-expected.txt:
  • platform/win/fast/forms/text-control-intrinsic-widths-expected.txt:
  • platform/win/fast/forms/textfield-focus-ring-expected.txt:
  • platform/win/fast/forms/textfield-outline-expected.txt:
  • platform/win/fast/forms/textfield-overflow-expected.txt:
  • platform/win/fast/forms/visual-hebrew-text-field-expected.txt:
  • platform/win/fast/frames/take-focus-from-iframe-expected.txt:
  • platform/win/fast/html/details-no-summary4-expected.txt:
  • platform/win/fast/html/details-open-javascript-expected.txt:
  • platform/win/fast/html/details-open2-expected.txt:
  • platform/win/fast/html/details-open4-expected.txt:
  • platform/win/fast/lists/dynamic-marker-crash-expected.txt:
  • platform/win/fast/replaced/replaced-breaking-expected.txt:
  • platform/win/fast/replaced/replaced-breaking-mixture-expected.txt:
  • platform/win/fast/table/colspanMinWidth-expected.txt:
  • platform/win/fast/table/spanOverlapRepaint-expected.txt:
  • platform/win/fast/table/text-field-baseline-expected.txt:
  • platform/win/fast/text/textIteratorNilRenderer-expected.txt:
  • platform/win/fast/transforms/transformed-focused-text-input-expected.txt:
  • platform/win/svg/hixie/mixed/003-expected.txt:
  • platform/win/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/win/tables/mozilla/bugs/bug12384-expected.txt:
  • platform/win/tables/mozilla/bugs/bug18359-expected.txt:
  • platform/win/tables/mozilla/bugs/bug24200-expected.txt:
  • platform/win/tables/mozilla/bugs/bug2479-2-expected.txt:
  • platform/win/tables/mozilla/bugs/bug2479-3-expected.txt:
  • platform/win/tables/mozilla/bugs/bug2479-4-expected.txt:
  • platform/win/tables/mozilla/bugs/bug28928-expected.txt:
  • platform/win/tables/mozilla/bugs/bug4382-expected.txt:
  • platform/win/tables/mozilla/bugs/bug4527-expected.txt:
  • platform/win/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/win/tables/mozilla/bugs/bug46368-2-expected.txt:
  • platform/win/tables/mozilla/bugs/bug51037-expected.txt:
  • platform/win/tables/mozilla/bugs/bug55545-expected.txt:
  • platform/win/tables/mozilla/bugs/bug59354-expected.txt:
  • platform/win/tables/mozilla/bugs/bug7342-expected.txt:
  • platform/win/tables/mozilla/bugs/bug96334-expected.txt:
  • platform/win/tables/mozilla/bugs/bug99948-expected.txt:
  • platform/win/tables/mozilla/dom/tableDom-expected.txt:
  • platform/win/tables/mozilla/other/move_row-expected.txt:
  • platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/win/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
  • rendering/ComplexLineLayout.cpp:

(WebCore::ComplexLineLayout::addOverflowFromInlineChildren):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::endPaddingWidthForCaret const):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth const):

Tools:

Rebased to reflect new sizes.

  • TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:

(TEST):

  • TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:

(TestWebKitAPI::TEST):

LayoutTests:

  • editing/editable-region/overflow-scroll-text-field-and-contenteditable-expected.txt:
  • editing/editable-region/search-field-basic-expected.txt:
  • editing/editable-region/text-field-basic-expected.txt:
  • fast/forms/auto-fill-button/hide-auto-fill-button-when-input-becomes-readonly-expected.html:
  • fast/forms/auto-fill-button/hide-auto-fill-button-when-input-becomes-readonly.html:
  • fast/forms/auto-fill-button/input-credit-card-auto-fill-button-expected.txt:
  • fast/forms/fieldset/fieldset-elements-htmlcollection-expected.txt:
  • fast/forms/fieldset/fieldset-elements-htmlcollection.html:
  • fast/forms/search/search-cancel-button-visible-when-input-becomes-disabled-expected.html:
  • fast/forms/search/search-cancel-button-visible-when-input-becomes-disabled.html:
  • fast/forms/search/search-cancel-button-visible-when-input-becomes-readonly-expected.html:
  • fast/forms/search/search-cancel-button-visible-when-input-becomes-readonly.html:
  • platform/ios-simulator/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt:
  • platform/ios-simulator/fast/forms/auto-fill-button/input-credit-card-auto-fill-button-expected.txt:
  • platform/ios-simulator/fast/forms/auto-fill-button/input-strong-password-viewable-expected.txt:
  • platform/ios-simulator/fast/forms/datalist/datalist-searchinput-appearance-expected.txt:
  • platform/ios-simulator/fast/forms/datalist/datalist-textinput-appearance-expected.txt:
  • platform/ios-wk2/editing/input/caret-at-the-edge-of-contenteditable-expected.txt:
  • platform/ios-wk2/editing/input/caret-at-the-edge-of-input-expected.txt:
  • platform/ios-wk2/editing/inserting/before-after-input-element-expected.txt:
  • platform/ios-wk2/editing/pasteboard/input-field-1-expected.txt:
  • platform/ios-wk2/editing/selection/4895428-3-expected.txt:
  • platform/ios-wk2/editing/selection/drag-select-1-expected.txt:
  • platform/ios-wk2/editing/selection/select-from-textfield-outwards-expected.txt:
  • platform/ios-wk2/fast/forms/input-appearance-preventDefault-expected.txt:
  • platform/ios-wk2/fast/forms/input-text-click-inside-expected.txt:
  • platform/ios-wk2/fast/forms/input-text-click-outside-expected.txt:
  • platform/ios-wk2/fast/forms/input-text-double-click-expected.txt:
  • platform/ios-wk2/fast/forms/input-text-drag-down-expected.txt:
  • platform/ios-wk2/fast/forms/input-text-option-delete-expected.txt:
  • platform/ios-wk2/fast/forms/input-text-self-emptying-click-expected.txt:
  • platform/ios-wk2/fast/forms/tabbing-input-iframe-expected.txt:
  • platform/ios-wk2/fast/forms/textfield-outline-expected.txt:
  • platform/ios-wk2/fast/overflow/overflow-focus-ring-expected.txt:
  • platform/ios-wk2/fast/repaint/placeholder-after-caps-lock-hidden-expected.txt:
  • platform/ios-wk2/fast/transforms/transformed-focused-text-input-expected.txt:
  • platform/ios/editing/pasteboard/4806874-expected.txt:
  • platform/ios/editing/selection/3690703-2-expected.txt:
  • platform/ios/editing/selection/3690703-expected.txt:
  • platform/ios/editing/selection/3690719-expected.txt:
  • platform/ios/editing/selection/4975120-expected.txt:
  • platform/ios/fast/clip/outline-overflowClip-expected.txt:
  • platform/ios/fast/css/focus-ring-exists-for-search-field-expected.txt:
  • platform/ios/fast/css/input-search-padding-expected.txt:
  • platform/ios/fast/css/line-height-expected.txt:
  • platform/ios/fast/css/text-overflow-input-expected.txt:
  • platform/ios/fast/events/context-no-deselect-expected.txt:
  • platform/ios/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt:
  • platform/ios/fast/forms/basic-inputs-expected.txt:
  • platform/ios/fast/forms/box-shadow-override-expected.txt:
  • platform/ios/fast/forms/control-restrict-line-height-expected.txt:
  • platform/ios/fast/forms/encoding-test-expected.txt:
  • platform/ios/fast/forms/fieldset-align-expected.txt:
  • platform/ios/fast/forms/form-element-geometry-expected.txt:
  • platform/ios/fast/forms/input-align-expected.txt:
  • platform/ios/fast/forms/input-appearance-bkcolor-expected.txt:
  • platform/ios/fast/forms/input-appearance-default-bkcolor-expected.txt:
  • platform/ios/fast/forms/input-appearance-focus-expected.txt:
  • platform/ios/fast/forms/input-appearance-height-expected.txt:
  • platform/ios/fast/forms/input-appearance-selection-expected.txt:
  • platform/ios/fast/forms/input-appearance-visibility-expected.txt:
  • platform/ios/fast/forms/input-appearance-width-expected.txt:
  • platform/ios/fast/forms/input-disabled-color-expected.txt:
  • platform/ios/fast/forms/input-double-click-selection-gap-bug-expected.txt:
  • platform/ios/fast/forms/input-placeholder-visibility-1-expected.txt:
  • platform/ios/fast/forms/input-placeholder-visibility-3-expected.txt:
  • platform/ios/fast/forms/input-spaces-expected.txt:
  • platform/ios/fast/forms/input-table-expected.txt:
  • platform/ios/fast/forms/input-text-click-inside-expected.txt:
  • platform/ios/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/ios/fast/forms/input-text-self-emptying-click-expected.txt:
  • platform/ios/fast/forms/input-type-text-min-width-expected.txt:
  • platform/ios/fast/forms/input-value-expected.txt:
  • platform/ios/fast/forms/input-width-expected.txt:
  • platform/ios/fast/forms/minWidthPercent-expected.txt:
  • platform/ios/fast/forms/number/number-appearance-rtl-expected.txt:
  • platform/ios/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt:
  • platform/ios/fast/forms/number/number-appearance-spinbutton-layer-expected.txt:
  • platform/ios/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/ios/fast/forms/search-cancel-button-style-sharing-expected.txt:
  • platform/ios/fast/forms/search-display-none-cancel-button-expected.txt:
  • platform/ios/fast/forms/search-input-rtl-expected.txt:
  • platform/ios/fast/forms/search-styled-expected.txt:
  • platform/ios/fast/forms/tabbing-input-iframe-expected.txt:
  • platform/ios/fast/forms/text-control-intrinsic-widths-expected.txt:
  • platform/ios/fast/forms/textfield-focus-ring-expected.txt:
  • platform/ios/fast/forms/textfield-overflow-expected.txt:
  • platform/ios/fast/frames/take-focus-from-iframe-expected.txt:
  • platform/ios/fast/html/details-no-summary4-expected.txt:
  • platform/ios/fast/html/details-open-javascript-expected.txt:
  • platform/ios/fast/html/details-open2-expected.txt:
  • platform/ios/fast/html/details-open4-expected.txt:
  • platform/ios/fast/lists/dynamic-marker-crash-expected.txt:
  • platform/ios/fast/replaced/replaced-breaking-expected.txt:
  • platform/ios/fast/replaced/replaced-breaking-mixture-expected.txt:
  • platform/ios/fast/table/colspanMinWidth-expected.txt:
  • platform/ios/fast/table/spanOverlapRepaint-expected.txt:
  • platform/ios/fast/table/text-field-baseline-expected.txt:
  • platform/ios/svg/custom/inline-svg-in-xhtml-expected.txt:
  • platform/ios/svg/hixie/mixed/003-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug12384-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug18359-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug24200-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug2479-2-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug2479-3-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug2479-4-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug28928-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug4382-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug4527-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug46368-2-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug51037-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug55545-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug59354-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug7342-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug96334-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug99948-expected.txt:
  • platform/ios/tables/mozilla/dom/tableDom-expected.txt:
  • platform/ios/tables/mozilla/other/move_row-expected.txt:
  • platform/ios/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/ios/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
  • platform/ios/transforms/3d/general/perspective-non-layer-expected.txt:
  • platform/mac-mojave/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/mac/editing/input/caret-at-the-edge-of-input-expected.txt:
  • platform/mac/editing/inserting/before-after-input-element-expected.txt:
  • platform/mac/editing/pasteboard/4806874-expected.txt:
  • platform/mac/editing/pasteboard/drop-text-without-selection-expected.txt:
  • platform/mac/editing/pasteboard/input-field-1-expected.txt:
  • platform/mac/editing/selection/3690703-2-expected.txt:
  • platform/mac/editing/selection/3690703-expected.txt:
  • platform/mac/editing/selection/3690719-expected.txt:
  • platform/mac/editing/selection/4895428-3-expected.txt:
  • platform/mac/editing/selection/4975120-expected.txt:
  • platform/mac/editing/selection/drag-select-1-expected.txt:
  • platform/mac/editing/selection/select-from-textfield-outwards-expected.txt:
  • platform/mac/fast/css/focus-ring-exists-for-search-field-expected.txt:
  • platform/mac/fast/css/line-height-expected.txt:
  • platform/mac/fast/css/text-overflow-input-expected.txt:
  • platform/mac/fast/events/context-no-deselect-expected.txt:
  • platform/mac/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt:
  • platform/mac/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt:
  • platform/mac/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt:
  • platform/mac/fast/forms/auto-fill-button/input-strong-password-viewable-expected.txt:
  • platform/mac/fast/forms/basic-inputs-expected.txt:
  • platform/mac/fast/forms/box-shadow-override-expected.txt:
  • platform/mac/fast/forms/control-restrict-line-height-expected.txt:
  • platform/mac/fast/forms/datalist/datalist-searchinput-appearance-expected.txt:
  • platform/mac/fast/forms/datalist/datalist-textinput-appearance-expected.txt:
  • platform/mac/fast/forms/encoding-test-expected.txt:
  • platform/mac/fast/forms/fieldset-align-expected.txt:
  • platform/mac/fast/forms/form-element-geometry-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-focus-expected.txt:
  • platform/mac/fast/forms/input-appearance-height-expected.txt:
  • platform/mac/fast/forms/input-appearance-preventDefault-expected.txt:
  • platform/mac/fast/forms/input-appearance-selection-expected.txt:
  • platform/mac/fast/forms/input-appearance-spinbutton-expected.txt:
  • platform/mac/fast/forms/input-appearance-spinbutton-up-expected.txt:
  • platform/mac/fast/forms/input-appearance-visibility-expected.txt:
  • platform/mac/fast/forms/input-appearance-width-expected.txt:
  • platform/mac/fast/forms/input-baseline-expected.txt:
  • platform/mac/fast/forms/input-disabled-color-expected.txt:
  • platform/mac/fast/forms/input-double-click-selection-gap-bug-expected.txt:
  • platform/mac/fast/forms/input-placeholder-visibility-1-expected.txt:
  • platform/mac/fast/forms/input-placeholder-visibility-3-expected.txt:
  • platform/mac/fast/forms/input-spaces-expected.txt:
  • platform/mac/fast/forms/input-table-expected.txt:
  • platform/mac/fast/forms/input-text-click-inside-expected.txt:
  • platform/mac/fast/forms/input-text-click-outside-expected.txt:
  • platform/mac/fast/forms/input-text-double-click-expected.txt:
  • platform/mac/fast/forms/input-text-drag-down-expected.txt:
  • platform/mac/fast/forms/input-text-option-delete-expected.txt:
  • platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/mac/fast/forms/input-text-self-emptying-click-expected.txt:
  • platform/mac/fast/forms/input-text-word-wrap-expected.txt:
  • platform/mac/fast/forms/input-type-text-min-width-expected.txt:
  • platform/mac/fast/forms/input-value-expected.txt:
  • platform/mac/fast/forms/input-width-expected.txt:
  • platform/mac/fast/forms/number/number-appearance-rtl-expected.txt:
  • platform/mac/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt:
  • platform/mac/fast/forms/number/number-appearance-spinbutton-layer-expected.txt:
  • platform/mac/fast/forms/placeholder-position-expected.txt:
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/mac/fast/forms/search-cancel-button-style-sharing-expected.txt:
  • platform/mac/fast/forms/search-display-none-cancel-button-expected.txt:
  • platform/mac/fast/forms/search-input-rtl-expected.txt:
  • platform/mac/fast/forms/search-styled-expected.txt:
  • platform/mac/fast/forms/search-vertical-alignment-expected.txt:
  • platform/mac/fast/forms/search/search-padding-cancel-results-buttons-expected.txt:
  • platform/mac/fast/forms/search/search-size-with-decorations-expected.txt:
  • platform/mac/fast/forms/tabbing-input-iframe-expected.txt:
  • platform/mac/fast/forms/text-control-intrinsic-widths-expected.txt:
  • platform/mac/fast/forms/textfield-focus-ring-expected.txt:
  • platform/mac/fast/forms/textfield-outline-expected.txt:
  • platform/mac/fast/forms/textfield-overflow-expected.txt:
  • platform/mac/fast/forms/visual-hebrew-text-field-expected.txt:
  • platform/mac/fast/frames/take-focus-from-iframe-expected.txt:
  • platform/mac/fast/html/details-no-summary4-expected.txt:
  • platform/mac/fast/html/details-open-javascript-expected.txt:
  • platform/mac/fast/html/details-open2-expected.txt:
  • platform/mac/fast/html/details-open4-expected.txt:
  • platform/mac/fast/lists/dynamic-marker-crash-expected.txt:
  • platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt:
  • platform/mac/fast/repaint/search-field-cancel-expected.txt:
  • platform/mac/fast/repaint/subtree-root-skipped-expected.txt:
  • platform/mac/fast/replaced/replaced-breaking-expected.txt:
  • platform/mac/fast/replaced/replaced-breaking-mixture-expected.txt:
  • platform/mac/fast/table/colspanMinWidth-expected.txt:
  • platform/mac/fast/table/spanOverlapRepaint-expected.txt:
  • platform/mac/fast/table/text-field-baseline-expected.txt:
  • platform/mac/fast/text/textIteratorNilRenderer-expected.txt:
  • platform/mac/fast/transforms/transformed-focused-text-input-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/mac/plugins/mouse-click-plugin-clears-selection-expected.txt:
  • platform/mac/svg/custom/inline-svg-in-xhtml-expected.txt:
  • platform/mac/svg/hixie/mixed/003-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug12384-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug18359-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug24200-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug2479-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug2479-3-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug2479-4-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug28928-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4382-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4527-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug46368-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug51037-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug55545-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug59354-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug7342-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug96334-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug99948-expected.txt:
  • platform/mac/tables/mozilla/dom/tableDom-expected.txt:
  • platform/mac/tables/mozilla/other/move_row-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
  • platform/mac/transforms/3d/general/perspective-non-layer-expected.txt:
  • platform/win/editing/input/caret-at-the-edge-of-input-expected.txt:
  • platform/win/editing/inserting/before-after-input-element-expected.txt:
  • platform/win/fast/css/focus-ring-exists-for-search-field-expected.txt:
  • platform/win/fast/events/context-no-deselect-expected.txt:
  • platform/win/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt:
  • platform/win/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt:
  • platform/win/fast/forms/auto-fill-button/input-credit-card-auto-fill-button-expected.txt:
  • platform/win/fast/forms/basic-inputs-expected.txt:
  • platform/win/fast/forms/box-shadow-override-expected.txt:
  • platform/win/fast/forms/control-restrict-line-height-expected.txt:
  • platform/win/fast/forms/encoding-test-expected.txt:
  • platform/win/fast/forms/fieldset-align-expected.txt:
  • platform/win/fast/forms/form-element-geometry-expected.txt:
  • platform/win/fast/forms/input-align-expected.txt:
  • platform/win/fast/forms/input-appearance-bkcolor-expected.txt:
  • platform/win/fast/forms/input-appearance-default-bkcolor-expected.txt:
  • platform/win/fast/forms/input-appearance-disabled-expected.txt:
  • platform/win/fast/forms/input-appearance-focus-expected.txt:
  • platform/win/fast/forms/input-appearance-height-expected.txt:
  • platform/win/fast/forms/input-appearance-readonly-expected.txt:
  • platform/win/fast/forms/input-appearance-selection-expected.txt:
  • platform/win/fast/forms/input-appearance-visibility-expected.txt:
  • platform/win/fast/forms/input-appearance-width-expected.txt:
  • platform/win/fast/forms/input-baseline-expected.txt:
  • platform/win/fast/forms/input-disabled-color-expected.txt:
  • platform/win/fast/forms/input-double-click-selection-gap-bug-expected.txt:
  • platform/win/fast/forms/input-placeholder-visibility-1-expected.txt:
  • platform/win/fast/forms/input-placeholder-visibility-3-expected.txt:
  • platform/win/fast/forms/input-readonly-autoscroll-expected.txt:
  • platform/win/fast/forms/input-readonly-dimmed-expected.txt:
  • platform/win/fast/forms/input-readonly-empty-expected.txt:
  • platform/win/fast/forms/input-spaces-expected.txt:
  • platform/win/fast/forms/input-table-expected.txt:
  • platform/win/fast/forms/input-text-click-inside-expected.txt:
  • platform/win/fast/forms/input-text-click-outside-expected.txt:
  • platform/win/fast/forms/input-text-double-click-expected.txt:
  • platform/win/fast/forms/input-text-drag-down-expected.txt:
  • platform/win/fast/forms/input-text-option-delete-expected.txt:
  • platform/win/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/win/fast/forms/input-text-self-emptying-click-expected.txt:
  • platform/win/fast/forms/input-text-word-wrap-expected.txt:
  • platform/win/fast/forms/input-type-text-min-width-expected.txt:
  • platform/win/fast/forms/input-value-expected.txt:
  • platform/win/fast/forms/input-width-expected.txt:
  • platform/win/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/win/fast/forms/search-cancel-button-style-sharing-expected.txt:
  • platform/win/fast/forms/search-display-none-cancel-button-expected.txt:
  • platform/win/fast/forms/search-styled-expected.txt:
  • platform/win/fast/forms/search-vertical-alignment-expected.txt:
  • platform/win/fast/forms/search/search-size-with-decorations-expected.txt:
  • platform/win/fast/forms/tabbing-input-iframe-expected.txt:
  • platform/win/fast/forms/text-control-intrinsic-widths-expected.txt:
  • platform/win/fast/forms/textfield-focus-ring-expected.txt:
  • platform/win/fast/forms/textfield-outline-expected.txt:
  • platform/win/fast/forms/textfield-overflow-expected.txt:
  • platform/win/fast/forms/visual-hebrew-text-field-expected.txt:
  • platform/win/fast/frames/take-focus-from-iframe-expected.txt:
  • platform/win/fast/html/details-no-summary4-expected.txt:
  • platform/win/fast/html/details-open-javascript-expected.txt:
  • platform/win/fast/html/details-open2-expected.txt:
  • platform/win/fast/html/details-open4-expected.txt:
  • platform/win/fast/lists/dynamic-marker-crash-expected.txt:
  • platform/win/fast/replaced/replaced-breaking-expected.txt:
  • platform/win/fast/replaced/replaced-breaking-mixture-expected.txt:
  • platform/win/fast/table/colspanMinWidth-expected.txt:
  • platform/win/fast/table/spanOverlapRepaint-expected.txt:
  • platform/win/fast/table/text-field-baseline-expected.txt:
  • platform/win/fast/text/textIteratorNilRenderer-expected.txt:
  • platform/win/fast/transforms/transformed-focused-text-input-expected.txt:
  • platform/win/svg/hixie/mixed/003-expected.txt:
  • platform/win/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/win/tables/mozilla/bugs/bug12384-expected.txt:
  • platform/win/tables/mozilla/bugs/bug18359-expected.txt:
  • platform/win/tables/mozilla/bugs/bug24200-expected.txt:
  • platform/win/tables/mozilla/bugs/bug2479-2-expected.txt:
  • platform/win/tables/mozilla/bugs/bug2479-3-expected.txt:
  • platform/win/tables/mozilla/bugs/bug2479-4-expected.txt:
  • platform/win/tables/mozilla/bugs/bug28928-expected.txt:
  • platform/win/tables/mozilla/bugs/bug4382-expected.txt:
  • platform/win/tables/mozilla/bugs/bug4527-expected.txt:
  • platform/win/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/win/tables/mozilla/bugs/bug46368-2-expected.txt:
  • platform/win/tables/mozilla/bugs/bug51037-expected.txt:
  • platform/win/tables/mozilla/bugs/bug55545-expected.txt:
  • platform/win/tables/mozilla/bugs/bug59354-expected.txt:
  • platform/win/tables/mozilla/bugs/bug7342-expected.txt:
  • platform/win/tables/mozilla/bugs/bug96334-expected.txt:
  • platform/win/tables/mozilla/bugs/bug99948-expected.txt:
  • platform/win/tables/mozilla/dom/tableDom-expected.txt:
  • platform/win/tables/mozilla/other/move_row-expected.txt:
  • platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/win/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
6:46 PM Changeset in webkit [263072] by commit-queue@webkit.org
  • 19 edits
    24 adds in trunk

Web Inspector: introduce request interception
https://bugs.webkit.org/show_bug.cgi?id=207446

Patch by Pavel Feldman <pavel.feldman@gmail.com> on 2020-06-15
Reviewed by Devin Rousso.

Source/JavaScriptCore:

This change introduces network request interception to the Network
protocol domain. It adds Network.interceptWithRequest notification that
can be continued, modified or fulfilled. NetworkStage enum can now have
'request' and 'response' values.

  • inspector/protocol/Network.json:

Source/WebCore:

This change introduces network request interception to the Network
protocol domain. It adds Network.interceptWithRequest notification that
can be continued, modified or fulfilled. NetworkStage enum can now have
'request' and 'response' values.

Tests: http/tests/inspector/network/intercept-aborted-request.html

http/tests/inspector/network/intercept-request-continue.html
http/tests/inspector/network/intercept-request-fragment.html
http/tests/inspector/network/intercept-request-main-resource-with-response.html
http/tests/inspector/network/intercept-request-main-resource.html
http/tests/inspector/network/intercept-request-properties.html
http/tests/inspector/network/intercept-request-subresource-with-error.html
http/tests/inspector/network/intercept-request-subresource-with-response.html
http/tests/inspector/network/intercept-request-subresource.html
http/tests/inspector/network/intercept-request-with-response.html

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willInterceptImpl):
(WebCore::InspectorInstrumentation::shouldInterceptRequestImpl):
(WebCore::InspectorInstrumentation::interceptRequestImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willIntercept):
(WebCore::InspectorInstrumentation::shouldInterceptRequest):
(WebCore::InspectorInstrumentation::interceptRequest):

  • inspector/InspectorInstrumentationWebKit.cpp:

(WebCore::InspectorInstrumentationWebKit::shouldInterceptRequestInternal):
(WebCore::InspectorInstrumentationWebKit::interceptRequestInternal):

  • inspector/InspectorInstrumentationWebKit.h:

(WebCore::InspectorInstrumentationWebKit::shouldInterceptRequest):
(WebCore::InspectorInstrumentationWebKit::interceptRequest):

  • inspector/agents/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::disable):
(WebCore::InspectorNetworkAgent::shouldIntercept):
(WebCore::InspectorNetworkAgent::continuePendingRequests):
(WebCore::InspectorNetworkAgent::setInterceptionEnabled):
(WebCore::InspectorNetworkAgent::addInterception):
(WebCore::InspectorNetworkAgent::removeInterception):
(WebCore::InspectorNetworkAgent::willIntercept):
(WebCore::InspectorNetworkAgent::shouldInterceptRequest):
(WebCore::InspectorNetworkAgent::shouldInterceptResponse):
(WebCore::InspectorNetworkAgent::interceptRequest):
(WebCore::InspectorNetworkAgent::interceptContinue):
(WebCore::InspectorNetworkAgent::interceptWithRequest):
(WebCore::InspectorNetworkAgent::interceptRequestWithResponse):
(WebCore::InspectorNetworkAgent::interceptRequestWithError):

  • inspector/agents/InspectorNetworkAgent.h:

(WebCore::InspectorNetworkAgent::PendingInterceptRequest::PendingInterceptRequest):
(WebCore::InspectorNetworkAgent::PendingInterceptRequest::continueWithOriginalRequest):
(WebCore::InspectorNetworkAgent::PendingInterceptRequest::continueWithRequest):
(WebCore::InspectorNetworkAgent::Intercept::operator== const):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::preload):

Source/WebInspectorUI:

This change introduces network request interception to the Network
protocol domain. It adds Network.interceptWithRequest notification that
can be continued, modified or fulfilled. NetworkStage enum can now have
'request' and 'response' values.

  • UserInterface/Controllers/NetworkManager.js:

(WI.NetworkManager.prototype.initializeTarget):
(WI.NetworkManager.prototype.addLocalResourceOverride):
(WI.NetworkManager.prototype.removeLocalResourceOverride):
(WI.NetworkManager.prototype.requestIntercepted):
(WI.NetworkManager.prototype.responseIntercepted):
(WI.NetworkManager.prototype._handleResourceOverrideDisabledChanged):

  • UserInterface/Protocol/NetworkObserver.js:

(WI.NetworkObserver.prototype.requestIntercepted):

Source/WebKit:

This change introduces network request interception to the Network
protocol domain. It adds Network.interceptWithRequest notification that
can be continued, modified or fulfilled. NetworkStage enum can now have
'request' and 'response' values.

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleLoad):

LayoutTests:

This change introduces network request interception to the Network
protocol domain. It adds Network.interceptWithRequest notification that
can be continued, modified or fulfilled. NetworkStage enum can now have
'request' and 'response' values.

  • http/tests/inspector/network/intercept-aborted-request-expected.txt: Added.
  • http/tests/inspector/network/intercept-aborted-request.html: Added.
  • http/tests/inspector/network/intercept-request-continue-expected.txt: Added.
  • http/tests/inspector/network/intercept-request-continue.html: Added.
  • http/tests/inspector/network/intercept-request-fragment-expected.txt: Added.
  • http/tests/inspector/network/intercept-request-fragment.html: Added.
  • http/tests/inspector/network/intercept-request-main-resource-expected.txt: Added.
  • http/tests/inspector/network/intercept-request-main-resource-with-response-expected.txt: Added.
  • http/tests/inspector/network/intercept-request-main-resource-with-response.html: Added.
  • http/tests/inspector/network/intercept-request-main-resource.html: Added.
  • http/tests/inspector/network/intercept-request-properties-expected.txt: Added.
  • http/tests/inspector/network/intercept-request-properties.html: Added.
  • http/tests/inspector/network/intercept-request-subresource-expected.txt: Added.
  • http/tests/inspector/network/intercept-request-subresource-with-error-expected.txt: Added.
  • http/tests/inspector/network/intercept-request-subresource-with-error.html: Added.
  • http/tests/inspector/network/intercept-request-subresource-with-response-expected.txt: Added.
  • http/tests/inspector/network/intercept-request-subresource-with-response.html: Added.
  • http/tests/inspector/network/intercept-request-subresource.html: Added.
  • http/tests/inspector/network/intercept-request-with-response-expected.txt: Added.
  • http/tests/inspector/network/intercept-request-with-response.html: Added.
  • http/tests/inspector/network/resources/intercept-echo.php: Added.
  • http/tests/inspector/network/resources/intercept-request-overriden-page.html: Added.
  • http/tests/inspector/network/resources/intercept-request-overriden-script.js: Added.
  • http/tests/inspector/resources/protocol-test.js:
  • inspector/network/local-resource-override-continue-response.html:
  • inspector/network/resources/data-intercepted.json: Added.
  • platform/mac-wk1/TestExpectations:
6:26 PM Changeset in webkit [263071] by Tadeu Zagallo
  • 8 edits
    1 add in trunk

JSTests:
Bytecode liveness should be aware of checkpoints
https://bugs.webkit.org/show_bug.cgi?id=213106
<rdar://problem/63416838>

Reviewed by Keith Miller.

  • stress/iterator-open-checkpoint-liveness.js: Added.

(f):
(next):
(iterator):
(catch):

Source/JavaScriptCore:
op_iterator_open getNext checkpoint needs to declare it uses m_iterator
https://bugs.webkit.org/show_bug.cgi?id=213106
<rdar://problem/63416838>

Reviewed by Keith Miller.

Currently, we have no way of specifying that a checkpoint uses an operand defined at an earlier
point in the same bytecode, which is the case for op_iterator_open: we assume that it will have
already allocated the iterator and stored it in m_iterator by the time we get to the getNext
checkpoint. In order to support that, we change tmpLivenessForCheckpoint to livenessForCheckpoint
and allow it to also declare the use of the operands defined within the bytecode.

  • bytecode/BytecodeLivenessAnalysis.cpp:

(JSC::livenessForCheckpoint):
(JSC::tmpLivenessForCheckpoint): Deleted.

  • bytecode/BytecodeLivenessAnalysis.h:
  • bytecode/FullBytecodeLiveness.h:
  • dfg/DFGForAllKills.h:

(JSC::DFG::forAllKilledOperands):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::isLiveInBytecode):

  • dfg/DFGGraph.h:
6:23 PM Changeset in webkit [263070] by Alexey Shvayka
  • 3 edits
    3 adds in trunk

Expand JSObject::defineOwnIndexedProperty() fast path for existing properties
https://bugs.webkit.org/show_bug.cgi?id=213133

Reviewed by Yusuke Suzuki.

JSTests:

  • microbenchmarks/array-redefine-index-and-reverse.js: Added.
  • microbenchmarks/array-redefine-index.js: Added.
  • stress/define-own-indexed-property-fast-path.js: Added.

Source/JavaScriptCore:

This patch expands fast path of JSObject::defineOwnIndexedProperty() to cover existing properties
if given data descriptor has no falsy attributes, preventing the object from entering SparseMode.
The optimization is possible due to this invariant: indexed properties of non-SparseMode objects
have attributes of PropertyAttribute::None (except for typed arrays; added assert covers it).

PropertyDescriptor::attributesOverridingCurrent() with PropertyAttribute::None descriptor
is used to support partial descriptors like {value: 1, writable: true}.

This change advances Object.defineProperty microbenchmark by 35%; array read/write benchmark
following property redefinition is progressed by a factor of 16 due to avoiding SparseMode.

  • runtime/JSObject.cpp:

(JSC::JSObject::defineOwnIndexedProperty):

5:20 PM Changeset in webkit [263069] by Wenson Hsieh
  • 4 edits in trunk/LayoutTests

REGRESSION: [ iOS wk2 Debug ] fast/forms/call-text-did-change-in-text-field-when-typing.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=213218

Reviewed by Tim Horton.

UIHelper.typeCharacter is guaranteed to wait until the application in the UI process has dequeued the
synthesized key events, but is not necessarily guaranteed to wait until the web process is done handling the
key events. As a result, it's possible for this test to check the value of the text field in step (1) before the
event has been received, which causes the test to fail with a diff.

To fix this, wait for the key event to be handled (like we do for the synthetic click event below).

  • fast/forms/call-text-did-change-in-text-field-when-typing-expected.txt:
  • fast/forms/call-text-did-change-in-text-field-when-typing.html:
  • platform/ios-wk2/TestExpectations:
5:10 PM Changeset in webkit [263068] by rmorisset@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

testB3::testReportUsedRegistersLateUseFollowedByEarlyDefDoesNotMarkUseAsDead() has a validation failure in debug mode
https://bugs.webkit.org/show_bug.cgi?id=196103
<rdar://problem/57808549>

Reviewed by Keith Miller.

The problem was trivial: patchpoints were referring to constants that were defined after them.
Just exchanging the order of the definition was enough to make this test pass.

  • b3/testb3_1.cpp:

(shouldRun):

  • b3/testb3_7.cpp:

(testReportUsedRegistersLateUseFollowedByEarlyDefDoesNotMarkUseAsDead):

4:00 PM Changeset in webkit [263067] by Jonathan Bedard
  • 3 edits in trunk/WebKitLibraries

watchOS/tvOS: Remote unneeded FileProvider symbols
https://bugs.webkit.org/show_bug.cgi?id=213216
<rdar://problem/64380232>

Reviewed by Alexey Proskuryakov.

  • WebKitPrivateFrameworkStubs/appletvos/13/FileProvider.framework/FileProvider.tbd:
  • WebKitPrivateFrameworkStubs/watchos/6/FileProvider.framework/FileProvider.tbd:
3:34 PM Changeset in webkit [263066] by achristensen@apple.com
  • 2 edits in trunk/Tools

Follow-up fix: Make API tests tolerant of our relatively new use of WebPageProxy::preconnectTo
https://bugs.webkit.org/show_bug.cgi?id=213144
<rdar://problem/64316743>

Unreviewed build fix.

Patch by Jonathan Bedard <Jonathan Bedard> on 2020-06-15

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: Guard didFinishNavigation declaration with HAVE(NETWORK_FRAMEWORK).
3:24 PM Changeset in webkit [263065] by keith_miller@apple.com
  • 2 edits in trunk/Source/WTF

REGRESSION (r263045): TestWTF.Signals.SignalsWorkOnExit crashing
https://bugs.webkit.org/show_bug.cgi?id=213211

Reviewed by Mark Lam.

Don't call toMachMask on Signal::Usr as mach doesn't support user exceptions.

  • wtf/threads/Signals.cpp:

(WTF::SignalHandlers::add):

3:09 PM Changeset in webkit [263064] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

REGRESSION: [ iOS wk2 Debug ] fast/forms/call-text-did-change-in-text-field-when-typing.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=213218

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
3:03 PM Changeset in webkit [263063] by Russell Epstein
  • 1 copy in tags/Safari-609.3.4

Tag Safari-609.3.4.

2:57 PM Changeset in webkit [263062] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WTF

Consistently use WTF_ATTRIBUTE_PRINTF in Assertions.[cpp,h]
https://bugs.webkit.org/show_bug.cgi?id=213204

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-06-15
Reviewed by Darin Adler.

Use WTF_ATTRIBUTE_PRINTF for all functions taking a printf format specifier. The first
argument should be the position of the format string itself (starting from 1), and the
second argument should be the position of the ... parameter pack, or 0 for functions that
take a va_list.

  • wtf/Assertions.cpp:
  • wtf/Assertions.h:
2:36 PM Changeset in webkit [263061] by Brent Fulgham
  • 4 edits in trunk/Source/WebKit

[macOS] Update sandboxes to reduce logging for media-related operations
https://bugs.webkit.org/show_bug.cgi?id=213210
<rdar://problem/64376237>

Reviewed by Per Arne Vollan.

Ongoing testing has uncovered a set of additional services and IOKit
properties that we should allow without logging.

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::mediaRelatedMachServices):

  • WebProcess/com.apple.WebProcess.sb.in:
2:17 PM Changeset in webkit [263060] by commit-queue@webkit.org
  • 20 edits in trunk

Provide alternatively-named SPI for user style sheets and scripts
https://bugs.webkit.org/show_bug.cgi?id=213206

Patch by Alex Christensen <achristensen@webkit.org> on 2020-06-15
Reviewed by Brady Eidson.

Source/WebKit:

Test-only SPI was just renamed.
SPI used by other projects was deprecated with a replacement so we can remove the old names soon.

_WKUserContentWorld/WKContentWorld was tied up in this, and rather than provide replacement SPI with deprecated _WKUserContentWorld,
this will move some SPI from _WKUserContentWorld to WKContentWorld too. The most heavy user of _WKUserContentWorld is TestWebKitAPI and we'll remove it soon.

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetFontAllowList):
(WKContextSetFontWhitelist): Deleted.

  • UIProcess/API/C/WKContextPrivate.h:
  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController _removeAllUserScriptsAssociatedWithContentWorld:]):
(-[WKUserContentController _removeAllUserStyleSheetsAssociatedWithContentWorld:]):
(-[WKUserContentController _addScriptMessageHandler:name:contentWorld:]):
(-[WKUserContentController _removeAllUserScriptsAssociatedWithUserContentWorld:]): Deleted.
(-[WKUserContentController _removeAllUserStyleSheetsAssociatedWithUserContentWorld:]): Deleted.

  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
  • UIProcess/API/Cocoa/WKUserScript.mm:

(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:includeMatchPatternStrings:excludeMatchPatternStrings:associatedURL:contentWorld:deferRunningUntilNotification:]):

  • UIProcess/API/Cocoa/WKUserScriptPrivate.h:
  • UIProcess/API/Cocoa/_WKUserStyleSheet.h:
  • UIProcess/API/Cocoa/_WKUserStyleSheet.mm:

(-[_WKUserStyleSheet initWithSource:forWKWebView:forMainFrameOnly:includeMatchPatternStrings:excludeMatchPatternStrings:baseURL:level:contentWorld:]):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::setFontAllowList):
(WebKit::WebProcessPool::setFontWhitelist): Deleted.

  • UIProcess/WebProcessPool.h:

Source/WebKitLegacy/mac:

  • WebView/WebView.mm:

(+[WebView _addOriginAccessAllowListEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
(+[WebView _removeOriginAccessAllowListEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
(+[WebView _resetOriginAccessAllowLists]):
(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
(+[WebView _addUserScriptToGroup:world:source:url:includeMatchPatternStrings:excludeMatchPatternStrings:injectionTime:injectedFrames:]):
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
(+[WebView _addUserStyleSheetToGroup:world:source:url:includeMatchPatternStrings:excludeMatchPatternStrings:injectedFrames:]):
(+[WebView _setFontAllowList:]):
(+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): Deleted.
(+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): Deleted.
(+[WebView _resetOriginAccessWhitelists]): Deleted.
(+[WebView _setFontWhitelist:]): Deleted.

  • WebView/WebViewPrivate.h:

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(fontAllowList):
(createWebViewAndOffscreenWindow):
(resetWebViewToConsistentStateBeforeTesting):
(fontWhitelist): Deleted.

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::addOriginAccessWhitelistEntry):
(TestRunner::removeOriginAccessWhitelistEntry):
(TestRunner::addUserScript):
(TestRunner::addUserStyleSheet):

  • TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/UserContentWorld.mm:

(TEST):

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::generateFontAllowList):
(WTR::TestController::platformInitializeContext):
(WTR::generateWhitelist): Deleted.

2:15 PM Changeset in webkit [263059] by commit-queue@webkit.org
  • 40 edits
    28 adds
    2 deletes in trunk/LayoutTests

Update WPT tests for FileAPI
https://bugs.webkit.org/show_bug.cgi?id=213198

Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-06-15
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Import from 90446389b82ae924cdef637bca2dd99ece41160c

  • web-platform-tests/FileAPI/BlobURL/support/w3c-import.log:
  • web-platform-tests/FileAPI/FileReader/support/w3c-import.log:
  • web-platform-tests/FileAPI/FileReader/w3c-import.log:
  • web-platform-tests/FileAPI/FileReaderSync.worker-expected.txt:
  • web-platform-tests/FileAPI/FileReaderSync.worker.js:

(setup):
(test):

  • web-platform-tests/FileAPI/META.yml: Added.
  • web-platform-tests/FileAPI/OWNERS: Removed.
  • web-platform-tests/FileAPI/blob/Blob-array-buffer.any-expected.txt: Added.
  • web-platform-tests/FileAPI/blob/Blob-array-buffer.any.html: Added.
  • web-platform-tests/FileAPI/blob/Blob-array-buffer.any.js: Added.

(string_appeared_here.promise_test.async const):

  • web-platform-tests/FileAPI/blob/Blob-array-buffer.any.worker-expected.txt: Added.
  • web-platform-tests/FileAPI/blob/Blob-array-buffer.any.worker.html: Added.
  • web-platform-tests/FileAPI/blob/Blob-constructor-endings.html:
  • web-platform-tests/FileAPI/blob/Blob-constructor.html:
  • web-platform-tests/FileAPI/blob/Blob-stream.any-expected.txt: Added.
  • web-platform-tests/FileAPI/blob/Blob-stream.any.html: Added.
  • web-platform-tests/FileAPI/blob/Blob-stream.any.js: Added.

(async read_all_chunks):
(promise_test.async const):
(promise_test):

  • web-platform-tests/FileAPI/blob/Blob-stream.any.worker-expected.txt: Added.
  • web-platform-tests/FileAPI/blob/Blob-stream.any.worker.html: Added.
  • web-platform-tests/FileAPI/blob/Blob-text.any-expected.txt: Added.
  • web-platform-tests/FileAPI/blob/Blob-text.any.html: Added.
  • web-platform-tests/FileAPI/blob/Blob-text.any.js: Added.

(string_appeared_here.promise_test.async const):

  • web-platform-tests/FileAPI/blob/Blob-text.any.worker-expected.txt: Added.
  • web-platform-tests/FileAPI/blob/Blob-text.any.worker.html: Added.
  • web-platform-tests/FileAPI/blob/w3c-import.log:
  • web-platform-tests/FileAPI/file/File-constructor-endings.html:
  • web-platform-tests/FileAPI/file/File-constructor.html:
  • web-platform-tests/FileAPI/file/w3c-import.log:
  • web-platform-tests/FileAPI/filelist-section/support/w3c-import.log:
  • web-platform-tests/FileAPI/filelist-section/w3c-import.log:
  • web-platform-tests/FileAPI/idlharness.html:
  • web-platform-tests/FileAPI/idlharness.worker.js:
  • web-platform-tests/FileAPI/reading-data-section/FileReader-multiple-reads.html:
  • web-platform-tests/FileAPI/reading-data-section/filereader_abort-expected.txt:
  • web-platform-tests/FileAPI/reading-data-section/filereader_events.any-expected.txt: Added.
  • web-platform-tests/FileAPI/reading-data-section/filereader_events.any.html: Added.
  • web-platform-tests/FileAPI/reading-data-section/filereader_events.any.js: Added.

(promise_test.async t):

  • web-platform-tests/FileAPI/reading-data-section/filereader_events.any.worker-expected.txt: Added.
  • web-platform-tests/FileAPI/reading-data-section/filereader_events.any.worker.html: Added.
  • web-platform-tests/FileAPI/reading-data-section/filereader_readAsDataURL-expected.txt:
  • web-platform-tests/FileAPI/reading-data-section/filereader_readAsDataURL.html:
  • web-platform-tests/FileAPI/reading-data-section/filereader_result-expected.txt:
  • web-platform-tests/FileAPI/reading-data-section/filereader_result.html:
  • web-platform-tests/FileAPI/reading-data-section/support/w3c-import.log:
  • web-platform-tests/FileAPI/reading-data-section/w3c-import.log:
  • web-platform-tests/FileAPI/support/Blob.js:

(self.assert_equals_typed_array):
(test_blob): Deleted.

  • web-platform-tests/FileAPI/support/w3c-import.log:
  • web-platform-tests/FileAPI/url/cross-global-revoke.sub.html:
  • web-platform-tests/FileAPI/url/multi-global-origin-serialization.sub-expected.txt:
  • web-platform-tests/FileAPI/url/multi-global-origin-serialization.sub.html:
  • web-platform-tests/FileAPI/url/resources/revoke-helper.js:
  • web-platform-tests/FileAPI/url/resources/w3c-import.log:
  • web-platform-tests/FileAPI/url/sandboxed-iframe-expected.txt:
  • web-platform-tests/FileAPI/url/sandboxed-iframe.html:
  • web-platform-tests/FileAPI/url/url-format.any.js:
  • web-platform-tests/FileAPI/url/url-in-tags-revoke.window-expected.txt: Added.
  • web-platform-tests/FileAPI/url/url-in-tags-revoke.window.html: Added.
  • web-platform-tests/FileAPI/url/url-in-tags-revoke.window.js:

(async_test.t.const.blob.new.Blob.window_contents_for_channel):

  • web-platform-tests/FileAPI/url/url-in-tags.window-expected.txt: Added.
  • web-platform-tests/FileAPI/url/url-in-tags.window.html: Added.
  • web-platform-tests/FileAPI/url/url-lifetime.html:
  • web-platform-tests/FileAPI/url/url-reload.window-expected.txt: Added.
  • web-platform-tests/FileAPI/url/url-reload.window.html: Added.
  • web-platform-tests/FileAPI/url/url-with-fetch.any.js:
  • web-platform-tests/FileAPI/url/url_xmlhttprequest-expected.txt: Removed.
  • web-platform-tests/FileAPI/url/w3c-import.log:
  • web-platform-tests/FileAPI/w3c-import.log:

LayoutTests:

  • platform/mac-wk1/imported/w3c/web-platform-tests/FileAPI/url/multi-global-origin-serialization.sub-expected.txt: Added.
  • tests-options.json:
2:14 PM Changeset in webkit [263058] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

[ Mojave wk2 Release ] webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb16f-rgb-half_float.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=213212

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:59 PM Changeset in webkit [263057] by commit-queue@webkit.org
  • 8 edits
    1 add in trunk

Add SPI to preconnect to a server
https://bugs.webkit.org/show_bug.cgi?id=213109
<rdar://problem/64184412>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-06-15
Reviewed by Geoff Garen.

Source/WebKit:

Covered by API tests.

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _preconnectToServer:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::preconnectTo):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::preconnectTo):

  • UIProcess/WebPageProxy.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1:59 PM Changeset in webkit [263056] by Caio Lima
  • 2 edits in trunk/JSTests

[ARMv7][MIPS][JSC] Skip check-is-constant-non-cell-should-not-array-profile-during-osr-exit.js
https://bugs.webkit.org/show_bug.cgi?id=213208

Unreviewed Gardening.

  • stress/check-is-constant-non-cell-should-not-array-profile-during-osr-exit.js:
12:59 PM Changeset in webkit [263055] by mark.lam@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Do not install the VMTraps signal handler if Options::useJIT=false.
https://bugs.webkit.org/show_bug.cgi?id=212543
<rdar://problem/63772519>

Reviewed by Keith Miller.

VMTraps is only needed for JITted code. Hence, if the JIT is disabled, we should
set Options::usePollingTraps() to true to indicate that we won't be using VMTraps.

With this change, we no longer install any signal handling machinery if
Options::useJIT() is false.

Because we may still disable the JIT even if useJIT() is true (due to failure to
allocate JIT memory or a number of other factors), we will also add a check of
VM::canUseJIT() in initializeThreading(), and disable useJIT() if needed. Of
course, this also means we need to call Options::recomputeDependentOptions() to
make other options consistent with useJIT() being false.

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

  • runtime/Options.cpp:

(JSC::disableAllJITOptions):
(JSC::Options::recomputeDependentOptions):
(JSC::recomputeDependentOptions): Deleted.

  • runtime/Options.h:
  • runtime/VMTraps.cpp:

(JSC::VMTraps::initializeSignals):

  • tools/SigillCrashAnalyzer.cpp:

(JSC::SigillCrashAnalyzer::instance):

12:50 PM Changeset in webkit [263054] by keith_miller@apple.com
  • 19 edits
    1 add in trunk

CheckIsConstant should not use BadCache exit kind
https://bugs.webkit.org/show_bug.cgi?id=213141

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/check-is-constant-non-cell-should-not-array-profile-during-osr-exit.js: Added.

(foo.bar):

Source/JavaScriptCore:

The BadCache exit kind causes the OSR exit compilers to try to
update ArrayProfiles. This is just incorrect for CheckIsConstant
since the node's origin may not even have an
ArrayProfile... BadCache also strongly assumes the value it's
profiling is a cell, which is clearly not always the case for
CheckIsConstant.

CheckIsConstant now uses the BadConstantValue (BadValue conflicts
with macros exported by X11 on GTK) exit kind for all use kinds,
which is just a rename of BadCell. All existing places where we
can emit a CheckIsConstant already have a story for BadConstantValue.

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFromLLInt):
(JSC::CallLinkStatus::computeExitSiteData):

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):

  • bytecode/ExitKind.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
(JSC::DFG::ByteCodeParser::handleModuleNamespaceLoad):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::handlePutByVal):
(JSC::DFG::ByteCodeParser::handleCreateInternalFieldObject):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::isPseudoTerminal):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCheckIsConstant):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckIsConstant):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckBadValue):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckBadCell): Deleted.

12:21 PM Changeset in webkit [263053] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Webkit Feature BigInt on webkit.org
https://bugs.webkit.org/show_bug.cgi?id=197546

Reviewed by Sam Weinig.

Add BigInt entry to JSC features.json.

  • features.json:
12:20 PM Changeset in webkit [263052] by Wenson Hsieh
  • 3 edits in trunk/LayoutTests

Add console logging to try and diagnose editing/deleting/ios/backspace-last-character.html
https://bugs.webkit.org/show_bug.cgi?id=213201
<rdar://problem/64165890>

Reviewed by Tim Horton.

Break the test down into more steps (namely, separate waiting for events from synthesizing key events), and add
a console log statement at each step.

  • editing/deleting/ios/backspace-last-character-expected.txt:
  • editing/deleting/ios/backspace-last-character.html:
12:07 PM Changeset in webkit [263051] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[WPE] Unreviewed test gardening. Update expected results of flaky image failures.

The results of these flaky image failures have been actually ImageOnlyFailure for the last 4000 revisions.

  • platform/wpe/TestExpectations:
11:58 AM Changeset in webkit [263050] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[WPE] Unreviewed test gardening. Remove more stale flaky failures from test expectations.

  • platform/wpe/TestExpectations:
11:56 AM Changeset in webkit [263049] by keith_miller@apple.com
  • 20 edits in trunk

JIT thunks should work on arm64_32
https://bugs.webkit.org/show_bug.cgi?id=213103

Reviewed by Saam Barati.

JSTests:

skip test on memory limited since it breaks on watch with JIT.

  • stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js:

Source/JavaScriptCore:

This patch fixes various issues when running JSC on arm64_32 with
useJIT=1 and useBaselineJIT=0. In particular this patch makes the
following changes:

1) ScalePtr is now just part of the Scale enum and is set based on
the size of the address space.

2) MacroAssembler::*Ptr functions call 32/64 bit variants based on
Address space size rather than cpu architecture. Vetting of callsites
using Ptr as 64 will happen in future patches since it's hard to
comprehensively vet.

3) Add some missing variants of functions for when pointers are 32-bit.

4) Add a load/storeReg function that stores a full register regardless
of pointer size for storing/loading callee saves.

5) numberOfDFGCompiles should report a big number for
useBaselineJIT=0 as some tests fail by default if useBaselineJIT=0
but useJIT=1.

6) Assert BaseIndex has a scale of PtrSize or TimesOne (for pre-scaled
values) when passed to a load/storePtr function.

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::timesPtr): Deleted.

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::rotateRightPtr):
(JSC::MacroAssembler::loadPtr):
(JSC::MacroAssembler::loadPtrWithCompactAddressOffsetPatch):
(JSC::MacroAssembler::branchPtr):
(JSC::MacroAssembler::storePtr):
(JSC::MacroAssembler::shouldBlindDouble):
(JSC::MacroAssembler::moveDouble):
(JSC::MacroAssembler::store64):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::add32):
(JSC::MacroAssemblerARM64::signExtend32ToPtr):
(JSC::MacroAssemblerARM64::loadPtr):
(JSC::MacroAssemblerARM64::call):
(JSC::MacroAssemblerARM64::farJump):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::rotateRight32):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::rotateRight32):

  • assembler/MacroAssemblerX86.h:
  • assembler/MacroAssemblerX86_64.h:
  • b3/B3LowerMacros.cpp:
  • b3/testb3_6.cpp:

(testInterpreter):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitLoadStructure):
(JSC::AssemblyHelpers::emitAllocateVariableSized):
(JSC::AssemblyHelpers::restoreCalleeSavesFromEntryFrameCalleeSavesBuffer):
(JSC::AssemblyHelpers::copyCalleeSavesToEntryFrameCalleeSavesBufferImpl):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::storeReg):
(JSC::AssemblyHelpers::loadReg):
(JSC::AssemblyHelpers::emitMaterializeTagCheckRegisters):
(JSC::AssemblyHelpers::emitGetFromCallFrameHeaderPtr):
(JSC::AssemblyHelpers::emitGetFromCallFrameHeader32):
(JSC::AssemblyHelpers::emitGetFromCallFrameHeader64):
(JSC::AssemblyHelpers::emitPutToCallFrameHeader):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_enumerator_structure_pname):
(JSC::JIT::emit_op_enumerator_generic_pname):

  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator):

  • runtime/TestRunnerUtils.cpp:

(JSC::numberOfDFGCompiles):

Source/WebCore:

Refactor timesPtr() to ScalePtr.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasClasses):

11:52 AM Changeset in webkit [263048] by Diego Pino Garcia
  • 8 edits
    7 adds
    1 delete in trunk/LayoutTests

[WPE] Unreviewed test gardening. Update baselines of flaky tests which were consistently failing for the last 4000 revisions.

  • platform/wpe/TestExpectations:
  • platform/wpe/fast/css/resize-corner-tracking-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/content-security-policy/reporting/report-only-in-meta.sub-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/content-security-policy/reporting/report-same-origin-with-cookies-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location_hash-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/animate-elem-10-t-manual-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/animate-elem-33-t-manual-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/animate-elem-34-t-manual-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest-expected.txt:
  • platform/wpe/security/block-test-expected.txt:
  • platform/wpe/svg/custom/non-scaling-stroke-expected.txt: Removed.
11:50 AM Changeset in webkit [263047] by keith_miller@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed, build fix for build without mach exceptions.

  • wtf/threads/Signals.cpp:

(WTF::SignalHandlers::add):
(WTF::addSignalHandler):

11:35 AM Changeset in webkit [263046] by caitp@igalia.com
  • 8 edits in trunk

[JSC] add machinery to disable JIT tiers when experimental features are enabled
https://bugs.webkit.org/show_bug.cgi?id=213193

Reviewed by Mark Lam.

JSTests:

  • stress/get-private-name.js:
  • stress/put-by-val-direct-addprivate.js:
  • stress/put-by-val-direct-putprivate.js:

Source/JavaScriptCore:

A new macro FOR_EACH_JSC_EXPERIMENTAL_OPTION() supplies flags indicating the supported
JIT tiers (or, in the future, other options) of a particular feature,
in an easy to understand format. These flags are then used to
recompute dependent feature flags.

This should simplify the incremental development of language features.

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • runtime/Options.cpp:

(JSC::recomputeDependentOptions):

  • runtime/OptionsList.h:
11:29 AM Changeset in webkit [263045] by keith_miller@apple.com
  • 14 edits in trunk

Signal handlers should have a two phase installation.
https://bugs.webkit.org/show_bug.cgi?id=213160

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • jsc.cpp:

(CommandLine::parseArguments):
(jscmain):

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

  • runtime/VMTraps.cpp:
  • tools/SigillCrashAnalyzer.cpp:

(JSC::installCrashHandler):

  • wasm/WasmFaultSignalHandler.cpp:

(JSC::Wasm::enableFastMemory):
(JSC::Wasm::prepareFastMemory):

  • wasm/WasmFaultSignalHandler.h:

Source/WebKit:

Put back old WASM fast memory installation.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

Source/WTF:

LLDB does not like it when we single step while there are mach exception
handlers installed because LLDB suspends all the non-active threads.
With Mach exception handlers installed, the OS will send a mach message
to our exception handler port, which is different than the active thread.
When this happens, the combination of LLDB and the process JSC is in effectively
deadlock.

Under our new approach, we go back to only telling the OS we care about
these exceptions late but lock down the function pointers early. This way
processes that benefit from our exception handler code are easier to debug.

  • wtf/threads/Signals.cpp:

(WTF::addSignalHandler):
(WTF::activateSignalHandlersFor):
(WTF::installSignalHandler): Deleted.

  • wtf/threads/Signals.h:

Tools:

  • TestWebKitAPI/Tests/WTF/Signals.cpp:

(TEST):

10:51 AM Changeset in webkit [263044] by sihui_liu@apple.com
  • 5 edits in trunk

Text manipulation does not observe newly displayed element inside previously observed content
https://bugs.webkit.org/show_bug.cgi?id=213156

Reviewed by Darin Adler.

Source/WebCore:

Fix two issues:

  1. Some inserted nodes are marked as manipulated, but they are inserted because they get removed in the

replacement process, not because they are manipulated or in the range of item.

  1. TextManipulationController does not perform manipulation on an element if its ancestor is manipulated. This

means the newly inserted/displayed children of a manipulated element are ruled out for manipulation.

Test: TextManipulation.CompleteTextManipulationForNewlyDisplayedParagraph

  • editing/TextManipulationController.cpp:

(WebCore::TextManipulationController::observeParagraphs):
(WebCore::TextManipulationController::didCreateRendererForElement):
(WebCore::TextManipulationController::updateInsertions):
(WebCore::TextManipulationController::replace):
(WebCore::TextManipulationController::isInManipulatedElement): Deleted.

  • editing/TextManipulationController.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:

(TestWebKitAPI::TEST):

10:23 AM Changeset in webkit [263043] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix LLInt
https://bugs.webkit.org/show_bug.cgi?id=157972

loadi only takes address.

  • llint/LowLevelInterpreter64.asm:
10:05 AM Changeset in webkit [263042] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

REGRESSION: (r262904): [ Mac wk1 Debug ] media/remoteplayback-target-availability.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=213146

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
9:44 AM Changeset in webkit [263041] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Suppress compiler warnings
https://bugs.webkit.org/show_bug.cgi?id=213034

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2020-06-15
Reviewed by Darin Adler.

Source/WebCore:

Use PRIu64 formatter for uint64_t instead of %llu.

No functional changes.

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::putOrAdd):

Source/WebKit:

Convert to std:size_t to compare equal data types.

  • NetworkProcess/cache/NetworkCacheData.cpp:

(WebKit::NetworkCache::readOrMakeSalt):

9:42 AM Changeset in webkit [263040] by ChangSeok Oh
  • 3 edits in trunk/Source/WebCore

[GTK] Use GRefPtr for ManetteMonitor
https://bugs.webkit.org/show_bug.cgi?id=213094

Reviewed by Carlos Garcia Campos.

We should use GRefPtr for ManetteMonitor, but not GUniquePtr. Because it is a gobject instance.

No new tests because of no functionality changed.

  • platform/gamepad/manette/ManetteGamepadProvider.h:
8:57 AM Changeset in webkit [263039] by pvollan@apple.com
  • 2 edits in trunk/Source/WTF

Pack bytes a little tighter in MemoryPressureHandler
https://bugs.webkit.org/show_bug.cgi?id=200392

Reviewed by Yusuke Suzuki.

Save a tiny bit of memory by packing member variables tighter in MemoryPressureHandler.

  • wtf/MemoryPressureHandler.h:
8:44 AM Changeset in webkit [263038] by Chris Dumez
  • 13 edits
    2 adds in trunk/Source/WebKit

Revert r260856 as it seems to have regressed PLT on iOS
https://bugs.webkit.org/show_bug.cgi?id=213194
<rdar://problem/64331458>

Unreviewed, revert r260856 due to regression.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::prepareToSuspend):
(WebKit::NetworkProcess::resume):

  • NetworkProcess/NetworkProcess.h:
  • Shared/WebSQLiteDatabaseTracker.cpp: Added.

(WebKit::WebSQLiteDatabaseTracker::WebSQLiteDatabaseTracker):
(WebKit::WebSQLiteDatabaseTracker::~WebSQLiteDatabaseTracker):
(WebKit::WebSQLiteDatabaseTracker::setIsSuspended):
(WebKit::WebSQLiteDatabaseTracker::willBeginFirstTransaction):
(WebKit::WebSQLiteDatabaseTracker::didFinishLastTransaction):
(WebKit::WebSQLiteDatabaseTracker::setIsHoldingLockedFiles):

  • Shared/WebSQLiteDatabaseTracker.h: Added.
  • SourcesCocoa.txt:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::setIsHoldingLockedFiles):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.messages.in:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::setIsHoldingLockedFiles):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebProcess.cpp:

(WebKit::m_webSQLiteDatabaseTracker):
(WebKit::WebProcess::prepareToSuspend):
(WebKit::WebProcess::processDidResume):

  • WebProcess/WebProcess.h:
8:39 AM Changeset in webkit [263037] by Jason_Lawrence
  • 3 edits in trunk/LayoutTests

[ iOS wk2 and Mac wk2 ] imported/w3c/web-platform-tests/fetch/stale-while-revalidate/frame-removal.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=209281

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
7:59 AM Changeset in webkit [263036] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac wk2 ] inspector/canvas/create-context-webgpu.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=213123

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
7:42 AM Changeset in webkit [263035] by Alexey Shvayka
  • 42 edits
    2 adds in trunk

super should not depend on proto
https://bugs.webkit.org/show_bug.cgi?id=157972

Reviewed by Saam Barati.

JSTests:

  • microbenchmarks/object-get-prototype-of-primitive.js: Added.
  • stress/class-syntax-derived-default-constructor.js:
  • stress/get-prototype-of.js: Added.
  • stress/super-property-access.js:
  • test262/expectations.yaml: Mark 4 test cases as passing.

Source/JavaScriptCore:

Before this change, both super() call [1] and super.property [2] relied on
Object.prototype.proto to acquire super base, which was observable and
incorrect if proto gets removed.

This patch introduces get_prototype_of bytecode, ensuring returned values
are profiled so the op can be wired to existing DFG and FTL implementations.
In order to avoid performance regression w/o DFG (proto is optimized via
IntrinsicGetterAccessCase), fast paths for LLInt and baseline JIT are added
(64-bit only), utilizing OverridesGetPrototypeOutOfLine type info flag.

This change aligns JSC with V8 and SpiderMonkey, progressing microbenchmarks/
super-get-by-{id,val}-with-this-monomorphic.js by 7-10%. SixSpeed is neutral.

Also, extracts JSValue::getPrototype() method to avoid code duplication and
utilizes it in objectConstructorGetPrototypeOf(), advancing provided
microbenchmark by 40%.

[1]: https://tc39.es/ecma262/#sec-getsuperconstructor (step 5)
[2]: https://tc39.es/ecma262/#sec-getsuperbase (step 5)

  • builtins/BuiltinNames.h:
  • bytecode/BytecodeIntrinsicRegistry.h:
  • bytecode/BytecodeList.rb:
  • bytecode/BytecodeUseDef.cpp:

(JSC::computeUsesForBytecodeIndexImpl):
(JSC::computeDefsForBytecodeIndexImpl):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finishCreation):

  • bytecode/Opcode.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitGetPrototypeOf):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::emitSuperBaseForCallee):
(JSC::emitGetSuperFunctionForConstruct):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_getPrototypeOf):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsicGetter):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGOperations.cpp:
  • jit/IntrinsicEmitter.cpp:

(JSC::IntrinsicGetterAccessCase::canEmitIntrinsicGetter):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_get_prototype_of):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
  • runtime/JSCJSValue.h:
  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::getPrototype const):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncProtoGetter):

  • runtime/JSObject.cpp:

(JSC::JSObject::calculatedClassName):

  • runtime/JSObject.h:

(JSC::JSObject::getPrototype):

  • runtime/JSObjectInlines.h:

(JSC::JSObject::canPerformFastPutInlineExcludingProto):
(JSC::JSObject::getPropertySlot):
(JSC::JSObject::getNonIndexPropertySlot):

  • runtime/JSProxy.h:
  • runtime/JSTypeInfo.h:

(JSC::TypeInfo::overridesGetPrototype const):

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorGetPrototypeOf):

  • runtime/ProxyObject.h:
  • runtime/Structure.h:
  • runtime/Structure.cpp:

(JSC::Structure::validateFlags):

Source/WebCore:

No new tests, no behavior change.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader): Set OverridesGetPrototype structure flag for CustomGetPrototype IDL attribute.

6:39 AM Changeset in webkit [263034] by Diego Pino Garcia
  • 2 edits
    1 add in trunk/LayoutTests

[WPE] Unreviewed test gardening. Remove stale flaky text and image failures from test expectations.

  • platform/wpe/TestExpectations:
  • platform/wpe/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-no-freshness-headers.https-expected.txt: Added.
5:25 AM Changeset in webkit [263033] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[WPE] Unreviewed test gardening. Remove stale flaky timeout failures from test expectations.

  • platform/wpe/TestExpectations:
4:14 AM Changeset in webkit [263032] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/Tools

[Flatpak SDK] Bump Subversion and enable Perl bindings
https://bugs.webkit.org/show_bug.cgi?id=213189

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-15
Reviewed by Žan Doberšek.

  • buildstream/elements/sdk-build-depends/swig.bst: Added.
  • buildstream/elements/sdk/subversion.bst: Enable Perl bindings so that git svn can be used within the sandbox.
3:33 AM Changeset in webkit [263031] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GStreamer] ImageDecoder hits Debug ASSERTs
https://bugs.webkit.org/show_bug.cgi?id=213178

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-15
Reviewed by Xabier Rodriguez-Calvar.

Pass a reference of the decoder to its inner implementation instead of a WeakPtr, which
can't be used across multiple threads.

Covered by fast/images/animated-image-mp4{,-crash}.html tests.

  • platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:

(WebCore::ImageDecoderGStreamer::InnerDecoder::connectDecoderPad):

  • platform/graphics/gstreamer/ImageDecoderGStreamer.h:
3:04 AM Changeset in webkit [263030] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[WPE] Unreviewed test gardening. Update test expectations after 263019.

  • platform/wpe/TestExpectations:
  • platform/wpe/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest-expected.txt:
2:31 AM Changeset in webkit [263029] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Flatpak SDK] flatpak update still not displayed
https://bugs.webkit.org/show_bug.cgi?id=213180

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-15
Reviewed by Žan Doberšek.

Added a new --version option to the script. We no longer gather the flatpak update command
output to know if something was updated or not. Instead we get the version of the SDK prior
to the update operation and compare that with the version after the update.

  • flatpak/flatpakutils.py:

(FlatpakObject.version):
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.main):

2:27 AM Changeset in webkit [263028] by Carlos Garcia Campos
  • 14 edits
    4 adds in trunk

[GTK][WPE] Add API to expose UIClient::requestStorageAccessConfirm
https://bugs.webkit.org/show_bug.cgi?id=210422

Reviewed by Michael Catanzaro.

Source/WebKit:

Add WebKitWebsiteDataAccessPermissionRequest to ask for permission to the user using the existing permission
request API.

  • PlatformGTK.cmake:
  • PlatformWPE.cmake:
  • SourcesGTK.txt:
  • SourcesWPE.txt:
  • UIProcess/API/glib/WebKitUIClient.cpp:
  • UIProcess/API/glib/WebKitWebsiteDataAccessPermissionRequest.cpp: Added.

(webkitWebsiteDataAccessPermissionRequestAllow):
(webkitWebsiteDataAccessPermissionRequestDeny):
(webkit_permission_request_interface_init):
(webkitWebsiteDataAccessPermissionRequestDispose):
(webkit_website_data_access_permission_request_class_init):
(webkitWebsiteDataAccessPermissionRequestCreate):
(webkit_website_data_access_permission_request_get_requesting_domain):
(webkit_website_data_access_permission_request_get_current_domain):

  • UIProcess/API/glib/WebKitWebsiteDataAccessPermissionRequestPrivate.h: Added.
  • UIProcess/API/gtk/WebKitWebsiteDataAccessPermissionRequest.h: Added.
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
  • UIProcess/API/gtk/webkit2.h:
  • UIProcess/API/wpe/WebKitWebsiteDataAccessPermissionRequest.h: Added.
  • UIProcess/API/wpe/docs/wpe-1.0-sections.txt:
  • UIProcess/API/wpe/docs/wpe-docs.sgml:
  • UIProcess/API/wpe/webkit.h:

Tools:

Handle WebKitWebsiteDataAccessPermissionRequest in MiniBrowser.

  • MiniBrowser/gtk/BrowserTab.c:

(decidePermissionRequest):

2:20 AM Changeset in webkit [263027] by commit-queue@webkit.org
  • 9 edits
    3 adds
    5 deletes in trunk/Tools

[Flatpak SDK] Add libavif
https://bugs.webkit.org/show_bug.cgi?id=212964
<rdar://problem/64291035>

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-15
Reviewed by Žan Doberšek.

Because of the ABI bump of dav1d, which ffmpeg depends on, ffmpeg needs to be rebuilt. So
this is a good opportunity to include it in the SDK and not rely on the ffmpeg-full
extension anymore, because it doesn't provide debug symbols.

  • buildstream/elements/flatpak/platform.bst:
  • buildstream/elements/flatpak/sdk.bst:
  • buildstream/elements/freedesktop-sdk.bst:
  • buildstream/elements/sdk-platform.bst:
  • buildstream/elements/sdk/ffmpeg.bst: Added.
  • buildstream/elements/sdk/gst-libav.bst:
  • buildstream/elements/sdk/libavif.bst: Added.
  • buildstream/elements/sdk/ruby-highline.bst: Remove the spec source, un-needed.
  • buildstream/patches/fdo/0001-dav1d-Bump-to-0.7.0.patch: Added.
  • buildstream/patches/fdo/0001-ffmpeg-Add-MS-MPEG-DivX-variants.patch: Removed.
  • buildstream/patches/fdo/0002-ffmpeg-Add-VP6-and-Sorenson-Spark-video-codecs.patch: Removed.
  • buildstream/patches/fdo/0003-ffmpeg-Add-Intel-Indeo-and-Cinepak-video-support.patch: Removed.
  • buildstream/patches/fdo/0004-ffmpeg-Add-MPEG-2-video-decoder.patch: Removed.
  • buildstream/patches/fdo/0005-ffmpeg-Add-msmpeg4v3-support.patch: Removed.
  • buildstream/project.conf:
  • flatpak/flatpakutils.py:

(WebkitFlatpak._get_packages):

2:19 AM Changeset in webkit [263026] by youenn@apple.com
  • 7 edits in trunk/Source/WebCore

Simplify MediaRecorderPrivateWriterCocoa threading logic
https://bugs.webkit.org/show_bug.cgi?id=213126

Reviewed by Eric Carlson.

Always hop to the main thread when receiving compressed samples.
This makes the threading model simpler and pushing enqueued samples in the writer is not very performance sensitive.

Add handling of the special case of video samples being pushed but no compressed sample is yet produced.
In that case, when stopping recording, the samples will be pushed and we will start the writer.

Minor refactoring to remove some unnecessary checks and make sure some of the member fields gets initialized in their declaration.
Covered by existing tests.

  • platform/mediarecorder/cocoa/AudioSampleBufferCompressor.h:
  • platform/mediarecorder/cocoa/AudioSampleBufferCompressor.mm:

(WebCore::AudioSampleBufferCompressor::~AudioSampleBufferCompressor):

  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:

(WebCore::MediaRecorderPrivateWriter::compressedVideoOutputBufferCallback):
(WebCore::MediaRecorderPrivateWriter::compressedAudioOutputBufferCallback):
(WebCore::MediaRecorderPrivateWriter::processNewCompressedVideoSampleBuffers):
(WebCore::MediaRecorderPrivateWriter::processNewCompressedAudioSampleBuffers):
(WebCore::MediaRecorderPrivateWriter::stopRecording):

  • platform/mediarecorder/cocoa/VideoSampleBufferCompressor.h:
  • platform/mediarecorder/cocoa/VideoSampleBufferCompressor.mm:

(WebCore::VideoSampleBufferCompressor::~VideoSampleBufferCompressor):

2:13 AM Changeset in webkit [263025] by youenn@apple.com
  • 4 edits in trunk/Source/WebCore

Add a quirk to allow starting AudioContext if document was interacted
https://bugs.webkit.org/show_bug.cgi?id=213118

Reviewed by Eric Carlson.

Manually tested on bing.com.

  • Modules/webaudio/AudioContext.cpp:

(WebCore::isDocumentAllowingAutoplayWebAudio):
(WebCore::AudioContext::willBeginPlayback):

  • page/Quirks.cpp:

(WebCore::Quirks::shouldAutoplayWebAudioForArbitraryUserGesture const):

  • page/Quirks.h:
2:09 AM Changeset in webkit [263024] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Flatpak SDK] Remove webkit-build-directory dependency from flatpakutils
https://bugs.webkit.org/show_bug.cgi?id=213179

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-15
Reviewed by Žan Doberšek.

This makes webkit-flatpak usable without installing additional perl modules (version) on the host OS.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.load_from_args): Make --release and --debug mutually exclusive, and default to Release builds.
(WebkitFlatpak.init):
(WebkitFlatpak.clean_args): No need to pull in webkitpy which pulls webkitdirs.pm only to
determine the default configuration. Assume we use Release by default.

1:57 AM Changeset in webkit [263023] by Paulo Matos
  • 2 edits in trunk/Tools

Properly propagate TZ to the remote test devices
https://bugs.webkit.org/show_bug.cgi?id=212816

Reviewed by Philippe Normand.

  • Scripts/run-jsc-stress-tests:
1:35 AM Changeset in webkit [263022] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Move textFromUTF8() to TextResourceDecoder from FetchBodyConsumer
https://bugs.webkit.org/show_bug.cgi?id=213170

Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-06-15
Reviewed by Youenn Fablet.

This function abstracts https://encoding.spec.whatwg.org/#utf-8-decode
so I think it's better to place to TextResourceDecoder.

  • Modules/fetch/FetchBodyConsumer.cpp:

(WebCore::resolveWithTypeAndData):
(WebCore::FetchBodyConsumer::takeAsText):

  • loader/TextResourceDecoder.cpp:

(WebCore::shouldPrependBOM):
(WebCore::TextResourceDecoder::textFromUTF8):

  • loader/TextResourceDecoder.h:
1:17 AM Changeset in webkit [263021] by Russell Epstein
  • 5 edits in branches/safari-609-branch/Source/WebCore

Cherry-pick r262962. rdar://problem/64316002

FileInputType should use WeakPtr for FileListCreator lambdas
https://bugs.webkit.org/show_bug.cgi?id=213130
<rdar://problem/64276591>

Reviewed by David Kilzer.

FileInputType::filesChosen was passing a completion handler to FileListCreator::create that
captured |this|. If the FileListCreator instance still existed when |this| was destroyed,
FileInputType::~FileInputType would clear the captured |this| by calling
FileListCreator::clear. This can be simplified by having the FileListCreator completion
handler capture a WeakPtr to |this|.

Also, when FileInputType::allowsDirectories is false, m_fileListCreator would not be
properly cleared after creating the file list. The FileListCreator completion handler would
set m_fileListCreator to nullptr, but would be executed *before* FileListCreator::create
returned and set m_fileListCreator to the newly-created FileListCreator object. Fixed this
by having FileListCreator::create execute the completion handler immediately and return
nullptr in cases where a FileListCreator does not need to be created for directory
resolution.

Covered by existing tests.

  • html/FileInputType.cpp: (WebCore::FileInputType::~FileInputType): (WebCore::FileInputType::filesChosen):
  • html/FileInputType.h:
  • html/FileListCreator.cpp: (WebCore::createFileList): (WebCore::FileListCreator::create): (WebCore::FileListCreator::FileListCreator): (WebCore::FileListCreator::createFileList):
  • html/FileListCreator.h: (WebCore::FileListCreator::create): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262962 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:12 AM Changeset in webkit [263020] by Russell Epstein
  • 8 edits
    7 adds in branches/safari-609-branch

Cherry-pick r262918. rdar://problem/64315999

[iOS] nullptr deref in FileInputType::iconLoaded when the input's type attribute is modified by a change event listener
https://bugs.webkit.org/show_bug.cgi?id=208244
<rdar://problem/41855350>

Reviewed by Wenson Hsieh.

Source/WebCore:

When an <input> element's type attribute changes, its existing InputType is detached from
the HTMLInputElement by nulling InputType::m_element. When FileInputType::filesChosen is
called, it dispatches the input and change events, which can run arbitrary JavaScript that
might modify the element's type attribute. If this happens, FileInputType::m_element will be
null after returning from FileInputType::setFiles and if there is an icon will be
dereferenced by FileInputType::iconLoaded.

Fixed this by checking for a non-null m_element before calling iconLoaded. While here, also
fixed a bug where we sometimes checked the length of m_fileList before FileListCreator had
finished setting m_fileList. This bug resulted in missing file icons whenever an
<input type=file> had the webkitdirectory attribute.

Tests: fast/forms/file/file-input-type-detached-on-change.html

fast/forms/file/file-input-webkitdirectory-icon.html

  • html/FileInputType.cpp: (WebCore::FileInputType::filesChosen):

Tools:

  • DumpRenderTree/TestRunner.cpp: (SetOpenPanelFilesMediaIconCallback): (TestRunner::staticFunctions):
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setOpenPanelFilesMediaIcon):

LayoutTests:

  • fast/forms/file/file-input-type-detached-on-change-expected.txt: Added.
  • fast/forms/file/file-input-type-detached-on-change.html: Added.
  • fast/forms/file/file-input-webkitdirectory-icon-expected.html: Added.
  • fast/forms/file/file-input-webkitdirectory-icon.html: Added.
  • fast/forms/file/file-reset-in-change-using-open-panel-with-icon.html:
  • fast/forms/file/open-file-panel-crash.html:
  • fast/forms/file/resources/file-icon-bytes.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262918 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:42 AM Changeset in webkit [263019] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

MediaRecorder should not be collectable when fetching data from its backend
https://bugs.webkit.org/show_bug.cgi?id=213121

Reviewed by Eric Carlson.

Take a pending activity when fetching data since we might want dispatch an event when receiving the fetch data.
Covered by existing tests no longer crashing in debug.

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::stopRecording):
(WebCore::MediaRecorder::requestData):

Jun 14, 2020:

10:56 PM Changeset in webkit [263018] by svillar@igalia.com
  • 7 edits in trunk

Unreviewed, reverting r262124.

Twitter videos go blank after exiting fullscreen

Reverted changeset:

"[css-flex] Allow indefinite size flex items to be definite
wrt resolving percentages inside them"
https://bugs.webkit.org/show_bug.cgi?id=212264
https://trac.webkit.org/changeset/262124

7:07 PM Changeset in webkit [263017] by weinig@apple.com
  • 31 edits
    2 copies
    1 add
    1 delete in trunk

[WPT] html/webappapis/system-state-and-capabilities/the-navigator-object/navigator-pluginarray.html fails due to lack of caching of Plugin objects
https://bugs.webkit.org/show_bug.cgi?id=213185

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator-pluginarray-expected.txt:

Update results now that this test passes.

Source/WebCore:

Tests:

  • Updates results for web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator-pluginarray.html which now passes.
  • Splits up http/tests/plugins/plugin-javascript-access.html, adding http/tests/plugins/plugin-javascript-access-allow-all-plugins.html which tests the internals.setShowAllPlugins(true) case. This was required now that the plugin and mimetype arrays are immutable after creation.

Overhaul web exposed plugin APIs:

  • All DOMPlugin and DOMMimeTypes are now created together (along with the DOMPluginArray and DOMMimeTypeArray) on first access of either navigator.plugins or navigator.mimeTypes.
  • DOMPlugins are created and stored in the DOMPluginArray (fixing the initial lack of caching issue)
  • DOMMimeTypes are created and stored in the DOMMimeTypeArray.
  • DOMPlugins hold a strong reference to their associated DOMMimeType. The DOMMimeType has a weak reference back to the DOMPlugin. This means for a single executation context, we only ever create one DOMPlugin / DOMMimeType for each underlying plugin / mimetype.
  • Update GC so that DOMPlugin and DOMMimeType (in addition to DOMPluginArray and DOMMimeTypeArray which were already doing this) use navigator reachability for their lifetime. This is almost correct, except if we ever implement DOMPluginArray.refresh(false) to match the spec, in which case you could end up with some DOMPlugins and DOMMimeTypes that are marked as reachable when they really are not, but only plugins that were removed. This seems so unlikely to matter that implementing a more strict reachability function seems like the wrong way to go.
  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:

Add NavigatorPlugins.idl

  • loader/SubframeLoader.cpp:

(WebCore::findPluginMIMETypeFromURL):
(WebCore::logPluginRequest):
Simplify and cleanup code making use of the new webVisibleMimeTypes() rather than the
clunky getWebVisibleMimesAndPluginIndices().

  • page/Navigator.cpp:
  • page/Navigator.h:

(WebCore::Navigator::initializePluginAndMIMETypeArrays):
(WebCore::Navigator::plugins):
(WebCore::Navigator::mimeTypes):
Fully initialize Navigator.plugins/mimeTypes on first access of either, following
the specified behavior that they should not change after initial access for a script
execution context. This also ensures we always return the same wrappers for these
objects on multiple accesses, something the spec mandates but we failed to do prior.
In addition, we now correctly sort the plugins by name and mimeTypes by type, also as
specified.

  • page/Navigator.idl:
  • page/NavigatorPlugins.idl: Added.

Split NavigatorPlugins out of Navigator.idl as specified. No functional change but
makes things nicer when we match the spec closer.

  • plugins/DOMMimeType.cpp:

(WebCore::DOMMimeType::DOMMimeType):
(WebCore::DOMMimeType::suffixes const):
(WebCore::DOMMimeType::enabledPlugin const):

  • plugins/DOMMimeType.h:

(WebCore::DOMMimeType::create):
(WebCore::DOMMimeType::navigator):

  • plugins/DOMMimeType.idl:
  • plugins/DOMMimeTypeArray.cpp:

(WebCore::DOMMimeTypeArray::DOMMimeTypeArray):
(WebCore::DOMMimeTypeArray::length const):
(WebCore::DOMMimeTypeArray::item):
(WebCore::DOMMimeTypeArray::namedItem):
(WebCore::DOMMimeTypeArray::supportedPropertyNames):
(WebCore::DOMMimeTypeArray::getPluginData const): Deleted.

  • plugins/DOMMimeTypeArray.h:
  • plugins/DOMPlugin.cpp:

(WebCore::DOMPlugin::DOMPlugin):
(WebCore::DOMPlugin::item):
(WebCore::DOMPlugin::namedItem):
(WebCore::DOMPlugin::supportedPropertyNames):

  • plugins/DOMPlugin.h:
  • plugins/DOMPlugin.idl:
  • plugins/DOMPluginArray.cpp:

(WebCore::DOMPluginArray::DOMPluginArray):
(WebCore::DOMPluginArray::length const):
(WebCore::DOMPluginArray::item):
(WebCore::DOMPluginArray::namedItem):
(WebCore::DOMPluginArray::supportedPropertyNames):
(WebCore::DOMPluginArray::pluginData const): Deleted.

  • plugins/DOMPluginArray.h:

Rather than dynamically accessing plugin information through Page
on each interaction with the DOM plugin objects, we now fully initialize
them on creation, allowing for correct wrapper caching and behavior if
plugins are added / removed (e.g. the arrays should not change).

  • plugins/PluginData.cpp:

(WebCore::PluginData::initPlugins):
(WebCore::PluginData::publiclyVisiblePluginsAndAdditionalWebVisiblePlugins const):
(WebCore::PluginData::webVisibleMimeTypes const):
(WebCore::supportsMimeTypeForPlugins):
(WebCore::PluginData::supportsMimeType const):
(WebCore::PluginData::supportsWebVisibleMimeType const):
(WebCore::PluginData::supportsWebVisibleMimeTypeForURL const):
(WebCore::PluginData::pluginFileForWebVisibleMimeType const):
(WebCore::PluginData::publiclyVisiblePlugins const): Deleted.
(WebCore::PluginData::getWebVisibleMimesAndPluginIndices const): Deleted.
(WebCore::PluginData::getMimesAndPluginIndices const): Deleted.
(WebCore::PluginData::getMimesAndPluginIndiciesForPlugins const): Deleted.
(WebCore::PluginData::getPluginInfoForWebVisibleMimeType const): Deleted.

  • plugins/PluginData.h:

Simplify interface by removing out parameter based getWebVisibleMimesAndPluginIndices
(and helpers) and adding more straigtword alternatives. getWebVisibleMimesAndPluginIndices
was useful for the old DOM plugin model, but now that the arrays are initialized all
together, it no longer provides an optimization. Instead, all callers really just want
a either a list of MimeClassInfos or to know if one is supported under a specific scenario,
so we now just expose that.

Source/WebKit:

  • UIProcess/Plugins/PluginInfoStore.h:

Add missing #include that is now needed due to pruning of unnecessary #includes
in WebCore.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::pluginSupportsExtension):
Update to use new webVisibleMimeTypes() rather than the clunky getWebVisibleMimesAndPluginIndices().

LayoutTests:

  • http/tests/plugins/plugin-javascript-access-allow-all-plugins-expected.txt: Added.
  • http/tests/plugins/plugin-javascript-access-allow-all-plugins.html: Added.
  • http/tests/plugins/plugin-javascript-access-expected.txt:
  • http/tests/plugins/plugin-javascript-access.html:

Split out internals.setShowAllPlugins(true) part of plugin-javascript-access.html to
allow the test to continue working now that navigator.plugins is immutable after
accessing it.

  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator-pluginarray-expected.txt: Removed.

Remove imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator-pluginarray.html
from TestExpectations now that it passes all the time.

5:58 PM Changeset in webkit [263016] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit

[IPC hardening] Return type of -[NSCoder validateClassSupportsSecureCoding:] is incorrect
<https://webkit.org/b/213161>
<rdar://problem/64050085>

Reviewed by Darin Adler.

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(validateClass):

  • Fix return type of -[NSCoder validateClassSupportsSecureCoding:]. Throw an NSException in case the method ever returns NO without throwing its own NSException. (Currently this method does throw an NSException instead of returning NO.)
4:45 PM Changeset in webkit [263015] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Release Assert @ WebCore::RenderTreeBuilder::RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=212714

Patch by Pinki Gyanchandani <pgyanchandani@apple.com> on 2020-06-14
Reviewed by Geoffrey Garen.

Added a regression test.

  • fast/rendering/widget-removal-in-render-tree-builder-crash-expected.txt: Added.
  • fast/rendering/widget-removal-in-render-tree-builder-crash.html: Added.
4:06 PM Changeset in webkit [263014] by Wenson Hsieh
  • 2 edits in trunk/Tools

[iOS] Two KeyboardInputTests are failing on recent iOS SDK versions
https://bugs.webkit.org/show_bug.cgi?id=213183
<rdar://problem/64273483>

Reviewed by Tim Horton.

On recent versions of the iOS SDK, iOS simulators that are not shown on-screen are treated as if the hardware
keyboard is not available (that is, +[UIIKeyboard isInHardwareKeyboardMode] returns NO). When running API
tests while Simulator.app is already launched, an iOS simulator is presented on-screen, whereas the simulator
is not visible when running API tests without launching Simulator.app beforehand.

This discrepancy causes two iOS API tests to fail (i.e. CaretSelectionRectAfterRestoringFirstResponder and
RangedSelectionRectAfterRestoringFirstResponder), due to the fact that -[WKWebView becomeFirstResponder] no
longer causes an input session to begin.

Interestingly, these tests already attempt to circumvent this by using webViewWithAutofocusedInput(), which
creates and loads a WKWebView with a single autofocusing input element, with a _WKInputDelegate that
unconditionally allows input sessions to begin. However, this doesn't work as intended in these tests, because
nothing keeps the delegate (a TestInputDelegate) alive past the scope of the call to
webViewWithAutofocusedInput(). Since [WKWebView _inputDelegate] is a weak property, the input delegate
simply disappears after we finish waiting for the load to finish (and the autofocused input element begins its
input session). This causes us to erroneously fall back to default behavior (i.e.
_WKFocusStartsInputSessionPolicyAuto) for subsequent calls to show the keyboard for the focused element, as is
the case when these two API tests call -becomeFirstResponder. The end result is that the keyboard doesn't
appear and text selection views are not created and laid out, but only when API tests are run without having
launched the Simulator app beforehand.

To fix this, refactor webViewWithAutofocusedInput() into webViewAndInputDelegateWithAutofocusedInput(),
which returns both the new WKWebView as well as the TestInputDelegate of the web view. The call site is then
responsible for keeping the input delegate around for as long as it needs.

  • TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:

(webViewWithAutofocusedInput):

Drive-by fix: fix a potential stack smasher by using an Objective-C block when setting the input delegate's
policy handler, and by using __block for the doneWaiting boolean flag. This is now a problem becuase this
block may be invoked multiple times.

(webViewAndInputDelegateWithAutofocusedInput):

1:27 PM Changeset in webkit [263013] by Fujii Hironori
  • 2 edits in trunk/LayoutTests

[AppleWin] Unreviewed test gardening

  • platform/win/TestExpectations: Marked fast/text/combining-character-sequence-vertical.html with ImageOnlyFailure.
11:57 AM Changeset in webkit [263012] by weinig@apple.com
  • 7 edits
    2 adds in trunk

[WPT] websockets/Close-reason-unpaired-surrogates.any.html fails due to failure to convert unpaired surrogates to replacement character for close reason
https://bugs.webkit.org/show_bug.cgi?id=213182

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/websockets/Close-reason-unpaired-surrogates.any-expected.txt:
  • web-platform-tests/websockets/Close-reason-unpaired-surrogates.any.worker-expected.txt:
  • web-platform-tests/websockets/Secure-Close-Reason-Unpaired-surrogates.any-expected.txt: Added.
  • web-platform-tests/websockets/Secure-Close-Reason-Unpaired-surrogates.any.worker-expected.txt: Added.

Update/add results now that these tests pass.

Source/WebCore:

Now passing the following tests:

imported/w3c/web-platform-tests/websockets/Close-reason-unpaired-surrogates.any.html
imported/w3c/web-platform-tests/websockets/Close-reason-unpaired-surrogates.any.worker.html
imported/w3c/web-platform-tests/websockets/Secure-Close-Reason-Unpaired-surrogates.any.html
imported/w3c/web-platform-tests/websockets/Secure-Close-Reason-Unpaired-surrogates.any.worker.html

  • Modules/websockets/WebSocket.idl:

Match spec (https://html.spec.whatwg.org/multipage/web-sockets.html#the-websocket-interface)
by making the reason argument in close() a USVString rather than a DOMString. This causes
all unpaired surrogates to be replaced with \uFFFD, the replacement character.

LayoutTests:

Unskips the following tests which now pass all the time:

imported/w3c/web-platform-tests/websockets/Close-reason-unpaired-surrogates.any.worker.html
imported/w3c/web-platform-tests/websockets/Secure-Close-Reason-Unpaired-surrogates.any.html
imported/w3c/web-platform-tests/websockets/Secure-Close-Reason-Unpaired-surrogates.any.worker.html

11:55 AM Changeset in webkit [263011] by ysuzuki@apple.com
  • 1 edit
    1 add in trunk/JSTests

Add wasm regresion test for loop
https://bugs.webkit.org/show_bug.cgi?id=213176

Reviewed by Darin Adler.

This patch adds one more regression test for r246134.

  • wasm/regress/regression-with-loop.js: Added.
2:07 AM Changeset in webkit [263010] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[SOUP] Disable HSTS for requests when cookies will be blocked by ITP
https://bugs.webkit.org/show_bug.cgi?id=210739

Reviewed by Michael Catanzaro.

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::shouldAllowHSTSProtocolUpgrade const):

12:11 AM Changeset in webkit [263009] by commit-queue@webkit.org
  • 4 edits in trunk

Withdraw FileReaderSync from ServiceWorker
https://bugs.webkit.org/show_bug.cgi?id=213136

Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-06-14
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/FileAPI/historical.https-expected.txt:

Source/WebCore:

FileReaderSync is not exposed for ServiceWorker.

We does not support SharedWorker. We don't have to care about it.

  • fileapi/FileReaderSync.idl:
Note: See TracTimeline for information about the timeline view.