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

Timeline



Jan 6, 2020:

11:49 PM Changeset in webkit [254114] by Fujii Hironori
  • 4 edits
    2 adds in trunk

ComplexTextController::offsetForPosition returns a wrong offset for a glyph boundary in a RTL text
https://bugs.webkit.org/show_bug.cgi?id=205486

Reviewed by Ross Kirsling.

Source/WebCore:

ComplexTextController::offsetForPosition had the following code:

unsigned hitIndex = hitGlyphStart + (hitGlyphEnd - hitGlyphStart) * (m_run.ltr() ? x / adjustedAdvance : 1 - x / adjustedAdvance);

If m_run.ltr() was false and x == 0, hitIndex would become hitGlyphEnd.
This is not expected. It expects hitIndex < hitGlyphEnd if hitGlyphStart ≠ hitGlyphEnd.
Let hitIndex be hitGlyphStart-1 in the such condition.

Above change makes fast/text/ellipsis-text-rtl.html starting to
fail because offsetForPosition returns the character offset of the
next glyph if the argument 'h' is in a glyph boundary. In RTL
text, offsetForPosition should return a character offset of the
previous glyph in case of a glyph boundary. Use '<=' instead of '<'
for RTL text in order to select previous glyphs for glyph
boundaries.

Test: fast/dom/Document/CaretRangeFromPoint/rtl.html

  • platform/graphics/ComplexTextController.cpp:

(WebCore::ComplexTextController::offsetForPosition): Compute correct hitGlyphEnd for RTL.

LayoutTests:

  • fast/dom/Document/CaretRangeFromPoint/rtl-expected.txt: Added.
  • fast/dom/Document/CaretRangeFromPoint/rtl.html: Added.
  • platform/gtk/TestExpectations: Unmarked imported/blink/editing/selection/offset-from-point-complex-scripts.html.
9:48 PM Changeset in webkit [254113] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC] Start using the UsedHorizontalValues::Constraints values in ::layoutInFlowContent
https://bugs.webkit.org/show_bug.cgi?id=205831
<rdar://problem/58353565>

Reviewed by Antti Koivisto.

Use the incoming horizontal constraint value instead of querying the root's geometry (which is technically outside of the current formatting context).

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):

8:51 PM Changeset in webkit [254112] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

[LFC] computeBorderAndPadding/computeWidthAndMargin/computeStaticPosition functions should take UsedHorizontalValues::Constraints
https://bugs.webkit.org/show_bug.cgi?id=205825
<rdar://problem/58351397>

Reviewed by Antti Koivisto.

Let's pass in the horizontal constraints so that the compute* functions don't need to
access containing block's geometry.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeBorderAndPadding):
(WebCore::Layout::FormattingContext::layoutOutOfFlowContent):

  • layout/FormattingContext.h:
  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::layoutFormattingContextRoot):
(WebCore::Layout::BlockFormattingContext::computeStaticHorizontalPosition):
(WebCore::Layout::BlockFormattingContext::computeStaticPosition):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):

  • layout/blockformatting/BlockFormattingContext.h:

(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin): Deleted.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutFormattingContextRoot):
(WebCore::Layout::InlineFormattingContext::computeHorizontalAndVerticalGeometry):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthForFormattingRoot):
(WebCore::Layout::InlineFormattingContext::computeWidthAndHeightForReplacedInlineBox):

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::layoutTableCellBox):

8:42 PM Changeset in webkit [254111] by yurys@chromium.org
  • 5 edits in trunk

REGRESSION: [ Mac wk2 ] http/tests/inspector/target/provisional-load-cancels-previous-load.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=205473
<rdar://problem/58093690>

Source/WebInspectorUI:

The failure was due to attempts to add output to the test page which could be not fully
loaded after navigation. To make it deterministic it is now possible to keep provisional
navigation paused and to defer output until the test page is ready.

Reviewed by Brian Burg.

  • UserInterface/Protocol/Target.js:

(WI.Target.prototype.initialize):
(WI.Target.prototype._resumeIfPaused): extracted resume logic in a method that
can be overridden in the tests.

  • UserInterface/Test/FrontendTestHarness.js:

(FrontendTestHarness.prototype.deferOutputUntilTestPageIsReloaded): allow to pause
output when navigation is started via protocol commands rather than the test harness.

LayoutTests:

Reviewed by Brian Burg.

Keep provisional page paused until second navigation replaces it and also
defer output until test page is fully initialized after navigation.

  • http/tests/inspector/target/provisional-load-cancels-previous-load.html:
8:40 PM Changeset in webkit [254110] by ChangSeok Oh
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix since r254064.

  • CMakeLists.txt: GraphicsContext3D was renamed GraphicsContextGLOpenGL, not GraphicsContextGLOpenGLBase.
8:36 PM Changeset in webkit [254109] by Fujii Hironori
  • 4 edits in trunk/LayoutTests

Unreviewed test gardening for WinCairo port after r253326 and r250849.

  • platform/wincairo/fast/css/invalidation-errors-2-expected.txt:
  • platform/wincairo/fast/css/invalidation-errors-expected.txt:
  • platform/wincairo/fast/text/international/bidi-layout-across-linebreak-expected.txt:
8:36 PM Changeset in webkit [254108] by yoshiaki.jitsukawa@sony.com
  • 4 edits in trunk

[PlayStation] Update port cmake
https://bugs.webkit.org/show_bug.cgi?id=205846

Reviewed by Don Olmstead.

.:

Define C/CXX macro BPLATFORM_PLAYSTATION.

Find HarfBuzz::ICU component to fix cmake errors.

Make the WebCore and WebKit builds optional.

  • Source/cmake/OptionsPlayStation.cmake:

Source/JavaScriptCore:

  • PlatformPlayStation.cmake:

Workaround of compilation errors with VisualStudio generator, which gives -std=c++* options to C sources.

8:18 PM Changeset in webkit [254107] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC] Remove redundant UsedVerticalValues::Constraints(Display::Box)
https://bugs.webkit.org/show_bug.cgi?id=205813
<rdar://problem/58346993>

Reviewed by Antti Koivisto.

Let's call the other c'tor instead.

  • layout/LayoutUnits.cpp:

(WebCore::Layout::UsedVerticalValues::Constraints::Constraints): Deleted.

  • layout/LayoutUnits.h:
  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeStaticVerticalPosition):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):

7:58 PM Changeset in webkit [254106] by Fujii Hironori
  • 7 edits in trunk/LayoutTests

Unreviewed test gardening for WinCairo port after r252598.

  • platform/wincairo/fast/box-shadow/inset-box-shadow-radius-expected.txt:
  • platform/wincairo/fast/css/hsl-color-expected.txt:
  • platform/wincairo/fast/css/hsla-color-expected.txt:
  • platform/wincairo/fast/css/percentage-non-integer-expected.txt:
  • platform/wincairo/fast/css/shadow-multiple-expected.txt:
  • platform/wincairo/fast/css/viewport-units-dynamic-expected.txt:
7:44 PM Changeset in webkit [254105] by Fujii Hironori
  • 112 edits in trunk/LayoutTests

Unreviewed test gardening for WinCairo port after r254044.

  • platform/wincairo/css1/basic/containment-expected.txt:
  • platform/wincairo/css1/basic/contextual_selectors-expected.txt:
  • platform/wincairo/css1/basic/grouping-expected.txt:
  • platform/wincairo/css1/basic/id_as_selector-expected.txt:
  • platform/wincairo/css1/basic/inheritance-expected.txt:
  • platform/wincairo/css1/box_properties/border-expected.txt:
  • platform/wincairo/css1/box_properties/border_bottom-expected.txt:
  • platform/wincairo/css1/box_properties/border_bottom_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_bottom_width-expected.txt:
  • platform/wincairo/css1/box_properties/border_bottom_width_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_color-expected.txt:
  • platform/wincairo/css1/box_properties/border_color_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_left-expected.txt:
  • platform/wincairo/css1/box_properties/border_left_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_left_width-expected.txt:
  • platform/wincairo/css1/box_properties/border_left_width_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_right-expected.txt:
  • platform/wincairo/css1/box_properties/border_right_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_right_width-expected.txt:
  • platform/wincairo/css1/box_properties/border_right_width_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_style-expected.txt:
  • platform/wincairo/css1/box_properties/border_style_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_top-expected.txt:
  • platform/wincairo/css1/box_properties/border_top_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_top_width-expected.txt:
  • platform/wincairo/css1/box_properties/border_top_width_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_width-expected.txt:
  • platform/wincairo/css1/box_properties/border_width_inline-expected.txt:
  • platform/wincairo/css1/box_properties/clear-expected.txt:
  • platform/wincairo/css1/box_properties/clear_float-expected.txt:
  • platform/wincairo/css1/box_properties/float-expected.txt:
  • platform/wincairo/css1/box_properties/float_elements_in_series-expected.txt:
  • platform/wincairo/css1/box_properties/float_margin-expected.txt:
  • platform/wincairo/css1/box_properties/height-expected.txt:
  • platform/wincairo/css1/box_properties/margin-expected.txt:
  • platform/wincairo/css1/box_properties/margin_bottom-expected.txt:
  • platform/wincairo/css1/box_properties/margin_bottom_inline-expected.txt:
  • platform/wincairo/css1/box_properties/margin_inline-expected.txt:
  • platform/wincairo/css1/box_properties/margin_left-expected.txt:
  • platform/wincairo/css1/box_properties/margin_left_inline-expected.txt:
  • platform/wincairo/css1/box_properties/margin_right-expected.txt:
  • platform/wincairo/css1/box_properties/margin_right_inline-expected.txt:
  • platform/wincairo/css1/box_properties/margin_top-expected.txt:
  • platform/wincairo/css1/box_properties/margin_top_inline-expected.txt:
  • platform/wincairo/css1/box_properties/padding-expected.txt:
  • platform/wincairo/css1/box_properties/padding_bottom-expected.txt:
  • platform/wincairo/css1/box_properties/padding_bottom_inline-expected.txt:
  • platform/wincairo/css1/box_properties/padding_inline-expected.txt:
  • platform/wincairo/css1/box_properties/padding_left-expected.txt:
  • platform/wincairo/css1/box_properties/padding_left_inline-expected.txt:
  • platform/wincairo/css1/box_properties/padding_right-expected.txt:
  • platform/wincairo/css1/box_properties/padding_right_inline-expected.txt:
  • platform/wincairo/css1/box_properties/padding_top-expected.txt:
  • platform/wincairo/css1/box_properties/padding_top_inline-expected.txt:
  • platform/wincairo/css1/box_properties/width-expected.txt:
  • platform/wincairo/css1/cascade/cascade_order-expected.txt:
  • platform/wincairo/css1/cascade/important-expected.txt:
  • platform/wincairo/css1/classification/display-expected.txt:
  • platform/wincairo/css1/classification/list_style-expected.txt:
  • platform/wincairo/css1/classification/list_style_image-expected.txt:
  • platform/wincairo/css1/classification/list_style_position-expected.txt:
  • platform/wincairo/css1/classification/list_style_type-expected.txt:
  • platform/wincairo/css1/classification/white_space-expected.txt:
  • platform/wincairo/css1/color_and_background/background-expected.txt:
  • platform/wincairo/css1/color_and_background/background_attachment-expected.txt:
  • platform/wincairo/css1/color_and_background/background_color-expected.txt:
  • platform/wincairo/css1/color_and_background/background_image-expected.txt:
  • platform/wincairo/css1/color_and_background/background_position-expected.txt:
  • platform/wincairo/css1/color_and_background/background_repeat-expected.txt:
  • platform/wincairo/css1/color_and_background/color-expected.txt:
  • platform/wincairo/css1/conformance/forward_compatible_parsing-expected.txt:
  • platform/wincairo/css1/font_properties/font-expected.txt:
  • platform/wincairo/css1/font_properties/font_size-expected.txt:
  • platform/wincairo/css1/font_properties/font_style-expected.txt:
  • platform/wincairo/css1/font_properties/font_variant-expected.txt:
  • platform/wincairo/css1/font_properties/font_weight-expected.txt:
  • platform/wincairo/css1/formatting_model/canvas-expected.txt:
  • platform/wincairo/css1/formatting_model/floating_elements-expected.txt:
  • platform/wincairo/css1/formatting_model/height_of_lines-expected.txt:
  • platform/wincairo/css1/formatting_model/inline_elements-expected.txt:
  • platform/wincairo/css1/formatting_model/replaced_elements-expected.txt:
  • platform/wincairo/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/wincairo/css1/pseudo/anchor-expected.txt:
  • platform/wincairo/css1/pseudo/firstletter-expected.txt:
  • platform/wincairo/css1/pseudo/firstline-expected.txt:
  • platform/wincairo/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/wincairo/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
  • platform/wincairo/css1/text_properties/letter_spacing-expected.txt:
  • platform/wincairo/css1/text_properties/line_height-expected.txt:
  • platform/wincairo/css1/text_properties/text_align-expected.txt:
  • platform/wincairo/css1/text_properties/text_decoration-expected.txt:
  • platform/wincairo/css1/text_properties/text_indent-expected.txt:
  • platform/wincairo/css1/text_properties/text_transform-expected.txt:
  • platform/wincairo/css1/text_properties/vertical_align-expected.txt:
  • platform/wincairo/css1/text_properties/word_spacing-expected.txt:
  • platform/wincairo/css1/units/color_units-expected.txt:
  • platform/wincairo/css1/units/length_units-expected.txt:
  • platform/wincairo/css1/units/percentage_units-expected.txt:
  • platform/wincairo/css1/units/urls-expected.txt:
  • platform/wincairo/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
  • platform/wincairo/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
  • platform/wincairo/editing/selection/designmode-no-caret-expected.txt:
  • platform/wincairo/fast/css/empty-pseudo-class-expected.txt:
  • platform/wincairo/fast/css/first-child-pseudo-class-expected.txt:
  • platform/wincairo/fast/css/last-child-pseudo-class-expected.txt:
  • platform/wincairo/fast/css/only-child-pseudo-class-expected.txt:
  • platform/wincairo/fast/html/listing-expected.txt:
  • platform/wincairo/fast/text/whitespace/024-expected.txt:
  • platform/wincairo/fast/text/whitespace/030-expected.txt:
  • platform/wincairo/fast/text/word-break-expected.txt:
7:15 PM Changeset in webkit [254104] by Alan Bujtas
  • 10 edits in trunk/Source/WebCore

[LFC] FormattingContext::layoutInFlowContent should take UsedHorizontalValues::Constraints
https://bugs.webkit.org/show_bug.cgi?id=205809
<rdar://problem/58345856>

Reviewed by Antti Koivisto.

This patch is in preparation for using the incoming horizontal constraint instead of
accessing the formatting context root's geometry.
(e.g. <div style="width: 100px;">text content</div>. The IFC should not need to query the div's display box
for the horizontal available space (100px))

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::layoutOutOfFlowContent):

  • layout/FormattingContext.h:
  • layout/LayoutContext.cpp:

(WebCore::Layout::LayoutContext::layoutFormattingContextSubtree):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::layoutFormattingContextRoot):

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::layoutFormattingContextRoot):

  • layout/inlineformatting/InlineFormattingContext.h:
  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::layoutInFlowContent):
(WebCore::Layout::TableFormattingContext::layoutTableCellBox):

  • layout/tableformatting/TableFormattingContext.h:
6:52 PM Changeset in webkit [254103] by don.olmstead@sony.com
  • 15 edits in trunk

Rename GraphicsContext3D to GraphicsContextGL
https://bugs.webkit.org/show_bug.cgi?id=205778
<rdar://problem/58327597>

Reviewed by Ross Kirsling.

.:

Fix the build after r254064 on Windows and PlayStation.

Add USE_OPENGL_ES_3 to Windows and WPE builds to simplify the Platform checks
for GL functions available in OpenGL ES 3.0+. Expose additional USE macros for
Windows builds to remove Platform.h entries around ENABLE(WEBGL).

  • Source/cmake/OptionsFTW.cmake:
  • Source/cmake/OptionsWPE.cmake:
  • Source/cmake/OptionsWinCairo.cmake:

Source/WebCore:

Use ENABLE(GRAPHICS_CONTEXT_GL) instead of ENABLE(WEBGL) for relevant files.
This was causing the build breakage.

Move methods wrapping OpenGL[ES] 3.0+ functions into GraphicsContextGLOpenGLCommon.cpp
and remove them from GraphicsContextGLTextureMapper.cpp. Add a check for OpenGL[ES]
versions rather than depending on a particular platform.

  • platform/graphics/ANGLEWebKitBridge.h:
  • platform/graphics/GraphicsContextGL.cpp:
  • platform/graphics/GraphicsContextGL.h:
  • platform/graphics/GraphicsContextGLAttributes.h:
  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:
  • platform/graphics/opengl/GraphicsContextGLOpenGL.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp:

(WebCore::GraphicsContextGLOpenGL::mapBufferRange):
(WebCore::GraphicsContextGLOpenGL::unmapBuffer):
(WebCore::GraphicsContextGLOpenGL::copyBufferSubData):
(WebCore::GraphicsContextGLOpenGL::getInternalformativ):
(WebCore::GraphicsContextGLOpenGL::renderbufferStorageMultisample):
(WebCore::GraphicsContextGLOpenGL::texStorage2D):
(WebCore::GraphicsContextGLOpenGL::texStorage3D):
(WebCore::GraphicsContextGLOpenGL::getActiveUniforms):

  • platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:

(WebCore::GraphicsContextGLOpenGL::mapBufferRange): Deleted.
(WebCore::GraphicsContextGLOpenGL::unmapBuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::copyBufferSubData): Deleted.
(WebCore::GraphicsContextGLOpenGL::getInternalformativ): Deleted.
(WebCore::GraphicsContextGLOpenGL::renderbufferStorageMultisample): Deleted.
(WebCore::GraphicsContextGLOpenGL::texStorage2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::texStorage3D): Deleted.
(WebCore::GraphicsContextGLOpenGL::getActiveUniforms): Deleted.

Source/WTF:

Define USE_OPENGL_3 for Mac and USE_OPENGL_ES_3 for iOS. Use CMake config for
Windows and WebGL.

  • wtf/Platform.h:
5:10 PM Changeset in webkit [254102] by Alan Bujtas
  • 11 edits in trunk/Source/WebCore

[LFC] UsedHorizontalValues::Constraints should not take Display::Box
https://bugs.webkit.org/show_bug.cgi?id=205811
<rdar://problem/58346356>

Reviewed by Antti Koivisto.

Passing in only the actual rect values (content/padding box left/width) to UsedHorizontalValues::Constraints makes the
constraint logic look clear.

  • layout/FormattingContext.cpp:

(WebCore::Layout::outOfFlowHorizontalConstraints):
(WebCore::Layout::FormattingContext::computeBorderAndPadding):

  • layout/FormattingContextQuirks.cpp:

(WebCore::Layout::FormattingContext::Quirks::heightValueOfNearestContainingBlockWithFixedHeight):

  • layout/LayoutUnits.cpp:

(WebCore::Layout::UsedHorizontalValues::Constraints::Constraints):

  • layout/LayoutUnits.h:
  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::placeInFlowPositionedChildren):
(WebCore::Layout::BlockFormattingContext::computeStaticHorizontalPosition):
(WebCore::Layout::BlockFormattingContext::computeEstimatedVerticalPosition):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):

  • layout/blockformatting/BlockFormattingContextQuirks.cpp:

(WebCore::Layout::BlockFormattingContext::Quirks::stretchedInFlowHeight):

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::positiveNegativeValues const):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):

5:06 PM Changeset in webkit [254101] by pvollan@apple.com
  • 7 edits in trunk/Source/WebKit

[iOS] Get display level in the UI process for all iOS platforms
https://bugs.webkit.org/show_bug.cgi?id=205835
<rdar://problem/58116883>

Reviewed by Brent Fulgham.

This was previously only done for iOS, but should be done for all iOS platforms.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::registerNotificationObservers):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::initializeNewWebProcess):

  • UIProcess/WebProcessPool.h:
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm:
4:52 PM Changeset in webkit [254100] by Jonathan Bedard
  • 2 edits in trunk/Tools

results.webkit.org: Tweak processing constants
https://bugs.webkit.org/show_bug.cgi?id=205828
<rdar://problem/58146698>

Rubber-stamped by Aakash Jain.

  • resultsdbpy/resultsdbpy/model/upload_context.py:

(UploadContext):
Increase process timeout to 1 week.
Allow 5 retries instead of 3.
Retry stuck tasks after 10 minutes instead of 5.
Include more tasks so that a scan is always greater than the number of workers.

4:49 PM Changeset in webkit [254099] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Only prewarm fonts with valid font names
https://bugs.webkit.org/show_bug.cgi?id=205822

Reviewed by Brent Fulgham.

The font names ".SF NS Text" and ".SF NS Display" are not valid on iOS, and should not be prewarmed.

No new tests, no behavior change.

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::FontCache::prewarmGlobally):

4:34 PM Changeset in webkit [254098] by eric.carlson@apple.com
  • 13 edits in trunk/Source/WebKit

Add some of the remote media player messages needed for video playback
https://bugs.webkit.org/show_bug.cgi?id=205812
<rdar://problem/58346531>

Reviewed by Jer Noble.

No new tests, it isn't possible to play video yet.

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:

(WebKit::RemoteMediaPlayerManagerProxy::prepareForRendering):
(WebKit::RemoteMediaPlayerManagerProxy::setSize):
(WebKit::RemoteMediaPlayerManagerProxy::setVisible):
(WebKit::RemoteMediaPlayerManagerProxy::setShouldMaintainAspectRatio):
(WebKit::RemoteMediaPlayerManagerProxy::setVideoFullscreenFrame):
(WebKit::RemoteMediaPlayerManagerProxy::setVideoFullscreenGravity):
(WebKit::RemoteMediaPlayerManagerProxy::acceleratedRenderingStateChanged):
(WebKit::RemoteMediaPlayerManagerProxy::setShouldDisableSleep):
(WebKit::RemoteMediaPlayerManagerProxy::setRate):

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerManagerProxy.messages.in:
  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::getConfiguration):
(WebKit::RemoteMediaPlayerProxy::prepareForRendering):
(WebKit::RemoteMediaPlayerProxy::setSize):
(WebKit::RemoteMediaPlayerProxy::setVisible):
(WebKit::RemoteMediaPlayerProxy::setShouldMaintainAspectRatio):
(WebKit::RemoteMediaPlayerProxy::setVideoFullscreenFrame):
(WebKit::RemoteMediaPlayerProxy::setVideoFullscreenGravity):
(WebKit::RemoteMediaPlayerProxy::acceleratedRenderingStateChanged):
(WebKit::RemoteMediaPlayerProxy::setShouldDisableSleep):
(WebKit::RemoteMediaPlayerProxy::setRate):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerReadyStateChanged):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingCanBeAccelerated):

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::sizeChanged):
(WebKit::MediaPlayerPrivateRemote::updateCachedState):
(WebKit::MediaPlayerPrivateRemote::shouldIgnoreIntrinsicSize):
(WebKit::MediaPlayerPrivateRemote::prepareForRendering):
(WebKit::MediaPlayerPrivateRemote::setSize):
(WebKit::MediaPlayerPrivateRemote::setVisible):
(WebKit::MediaPlayerPrivateRemote::setShouldMaintainAspectRatio):
(WebKit::MediaPlayerPrivateRemote::setVideoFullscreenFrame):
(WebKit::MediaPlayerPrivateRemote::setVideoFullscreenGravity):
(WebKit::MediaPlayerPrivateRemote::acceleratedRenderingStateChanged):
(WebKit::MediaPlayerPrivateRemote::setShouldDisableSleep):
(WebKit::MediaPlayerPrivateRemote::naturalSize const):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/GPU/media/RemoteMediaPlayerConfiguration.h:

(WebKit::RemoteMediaPlayerConfiguration::encode const):
(WebKit::RemoteMediaPlayerConfiguration::decode):

  • WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:

(WebKit::RemoteMediaPlayerManager::sizeChanged):

  • WebProcess/GPU/media/RemoteMediaPlayerManager.h:
  • WebProcess/GPU/media/RemoteMediaPlayerManager.messages.in:
  • WebProcess/GPU/media/RemoteMediaPlayerState.h:

(WebKit::RemoteMediaPlayerState::encode const):
(WebKit::RemoteMediaPlayerState::decode):

4:31 PM Changeset in webkit [254097] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

Improve logging for when a synchronous IPC times out
https://bugs.webkit.org/show_bug.cgi?id=205829

Reviewed by Tim Horton.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::sendSyncMessage):
(IPC::Connection::waitForSyncReply):

  • Platform/IPC/Connection.h:
4:15 PM Changeset in webkit [254096] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

4:13 PM Changeset in webkit [254095] by Jonathan Bedard
  • 2 edits in trunk/Tools

test-lldb-webkit: Use logging module
https://bugs.webkit.org/show_bug.cgi?id=205832

Reviewed by Stephanie Lewis.

  • Scripts/test-lldb-webkit:

(LldbTester.run): Configure logger.

3:55 PM Changeset in webkit [254094] by Nikita Vasilyev
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: Color picker: make it keyboard accessible
https://bugs.webkit.org/show_bug.cgi?id=205572
<rdar://problem/58169943>

Reviewed by Brian Burg.

For the color square, make up, down, left, and right keys move the crosshair.

For the hue and opacity sliders:

  • Pressing up and down keys should adjust the value by 1%.
  • When holding Shift, up and down keys adjust the value by 10%.
  • UserInterface/Views/ColorPicker.js:

(WI.ColorPicker.prototype.focus):

  • UserInterface/Views/ColorSquare.css:

(.color-square):
Match the border of the hue and opacity sliders.

  • UserInterface/Views/ColorSquare.js:

(WI.ColorSquare):
Make the color square focusable.

(WI.ColorSquare.prototype._handleMousedown):
(WI.ColorSquare.prototype._handleKeyDown):

  • UserInterface/Views/InlineSwatch.js:
  • UserInterface/Views/Slider.css:

(.slider:focus):

  • UserInterface/Views/Slider.js:

(WI.Slider):
(WI.Slider.prototype._handleMousedown):
Drive-by: right clicking the slider shouldn't move the thumb.

(WI.Slider.prototype._handleKeyDown):

3:49 PM Changeset in webkit [254093] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Build (unified) failure after adding source files to support media in GPU process
https://bugs.webkit.org/show_bug.cgi?id=205616

Patch by Peng Liu <Peng Liu> on 2020-01-06
Reviewed by Darin Adler.

No new tests, no functional change.

Source/WebCore:

  • Modules/mediastream/UserMediaClient.h:

Source/WebKit:

  • Sources.txt:
  • SourcesGTK.txt:
  • WebKit.xcodeproj/project.pbxproj:
3:32 PM Changeset in webkit [254092] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

NetworkSessionCocoa::isolatedSession should not use iterator after mutating m_isolatedSessions
https://bugs.webkit.org/show_bug.cgi?id=205824
<rdar://problem/55107625>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-06
Reviewed by Chris Dumez.

Classic iterator use after mutating iterated container was causing crashes by returning a null SessionWrapper&
This was introduced in r252185 or r248640.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::isolatedSession):

3:08 PM Changeset in webkit [254091] by dbates@webkit.org
  • 13 edits in trunk

Precision of getClientRects(), getBoundingClientRect() differs depending whether simple line layout or line box layout is used
https://bugs.webkit.org/show_bug.cgi?id=205563
<rdar://problem/58165528>

Reviewed by Zalan Bujtas.

Source/WebCore:

Fix up simple line layout run rect to match the rect returned by the line layout code path.

  • rendering/InlineTextBox.cpp:

(WebCore::snappedSelectionRect): Added; extracted from localSelectionRect().
(WebCore::InlineTextBox::localSelectionRect const): Moved some logic into snappedSelectionRect()
and modified code to use it.

  • rendering/InlineTextBox.h:
  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::collectAbsoluteQuadsForRange): Fix up run rect.

Tools:

Update test results.

  • TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:

(TEST):

  • TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm:

(TEST):

LayoutTests:

Update expected result now that simple line layout computes a client rect that matches
the rect the line layout code computes.

  • fast/dom/Range/getClientRects-expected.txt:
  • fast/dom/Range/getClientRects.html:
  • fast/dom/Range/mac/getClientRects-and-getBoundingClientRect-before-and-after-selection-expected.txt:
  • fast/repaint/text-selection-overflow-hidden-expected.txt:
3:05 PM Changeset in webkit [254090] by Alan Coon
  • 1 copy in tags/Safari-608.5.7

Tag Safari-608.5.7.

2:57 PM Changeset in webkit [254089] by youenn@apple.com
  • 6 edits in trunk

XMLHTTPRequest POSTs blob data to a custom WKURLSchemeHandler protocol crash
https://bugs.webkit.org/show_bug.cgi?id=205685

Reviewed by Alex Christensen.

Source/WebCore:

There is no blob registry in the UIProcess.
This should not matter since we do not yet support blobs in custom scheme handlers.
But we are calling the blob registry when creating a request body, which does not work in UIProcess.
Instead, pass a lambda that will be called in case of blobs.
Covered by API test.

  • platform/network/FormData.cpp:

(WebCore::FormDataElement::lengthInBytes const):
(WebCore::FormData::resolveBlobReferences):

  • platform/network/FormData.h:
  • platform/network/cf/FormDataStreamCFNet.cpp:

(WebCore::createHTTPBodyCFReadStream):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
2:47 PM Changeset in webkit [254088] by Alexey Shvayka
  • 4 edits in trunk

String.prototype.replace() incorrectly handles named references on RegExp w/o named groups
https://bugs.webkit.org/show_bug.cgi?id=205785

Reviewed by Ross Kirsling.

JSTests:

  • test262/expectations.yaml: Mark 2 test cases as passing.

Source/JavaScriptCore:

This patch fixes substitution of named references by ignoring "$<" sequences
for a RegExp without named capture groups, removing some index tweaking.
(step 11 of https://tc39.es/ecma262/#sec-getsubstitution)

Also this change removes 2 obsolete FIXMEs regarding possible spec changes.

  • runtime/StringPrototype.cpp:

(JSC::substituteBackreferencesSlow):

2:24 PM Changeset in webkit [254087] by mark.lam@apple.com
  • 382 edits in trunk

PerformanceTests:
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776

Reviewed by Saam Barati.

  • JetStream2/wasm/HashSet.cpp:
  • StitchMarker/wtf/Assertions.h:
  • StitchMarker/wtf/DateMath.cpp:

(WTF::initializeDates):

  • StitchMarker/wtf/HashTable.h:
  • StitchMarker/wtf/Hasher.h:

(WTF::StringHasher::addCharacters):

  • StitchMarker/wtf/NeverDestroyed.h:

(WTF::LazyNeverDestroyed::construct):

  • StitchMarker/wtf/StackBounds.h:

(WTF::StackBounds::checkConsistency const):

  • StitchMarker/wtf/ValueCheck.h:
  • StitchMarker/wtf/Vector.h:

(WTF::minCapacity>::checkConsistency):

  • StitchMarker/wtf/text/AtomicStringImpl.cpp:
  • StitchMarker/wtf/text/AtomicStringImpl.h:
  • StitchMarker/wtf/text/StringCommon.h:

(WTF::hasPrefixWithLettersIgnoringASCIICaseCommon):

  • StitchMarker/wtf/text/StringImpl.h:
  • StitchMarker/wtf/text/SymbolImpl.h:
  • StitchMarker/wtf/text/UniquedStringImpl.h:

Source/JavaScriptCore:
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776

Reviewed by Saam Barati.

  • API/tests/testapi.c:
  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::replaceWithLoad):
(JSC::ARM64Assembler::replaceWithAddressComputation):

  • assembler/AssemblerBuffer.h:

(JSC::AssemblerBuffer::LocalWriter::LocalWriter):

  • assembler/LinkBuffer.cpp:

(JSC::LinkBuffer::copyCompactAndLinkCode):

  • assembler/ProbeStack.cpp:

(JSC::Probe::Stack::Stack):

  • assembler/ProbeStack.h:
  • b3/B3FoldPathConstants.cpp:
  • b3/B3LowerToAir.cpp:
  • b3/B3MemoryValue.cpp:

(JSC::B3::MemoryValue::MemoryValue):

  • b3/B3Opcode.cpp:
  • b3/B3Type.h:
  • b3/B3TypeMap.h:
  • b3/B3Width.h:
  • b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp:

(JSC::B3::Air::GenerateAndAllocateRegisters::prepareForGeneration):
(JSC::B3::Air::GenerateAndAllocateRegisters::generate):

  • b3/air/AirAllocateRegistersAndStackAndGenerateCode.h:
  • b3/air/AirAllocateRegistersByGraphColoring.cpp:
  • b3/air/AirArg.cpp:
  • b3/air/AirArg.h:
  • b3/air/AirCode.h:
  • b3/air/AirEmitShuffle.cpp:

(JSC::B3::Air::emitShuffle):

  • builtins/BuiltinExecutables.cpp:

(JSC::BuiltinExecutables::createExecutable):

  • bytecode/AccessCase.cpp:
  • bytecode/AccessCase.h:
  • bytecode/CallVariant.cpp:

(JSC::variantListWithVariant):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeIndex):

  • bytecode/CodeBlockHash.cpp:

(JSC::CodeBlockHash::dump const):

  • bytecode/StructureStubInfo.cpp:
  • bytecode/StructureStubInfo.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::FunctionCallResolveNode::emitBytecode):

  • bytecompiler/RegisterID.h:

(JSC::RegisterID::RegisterID):
(JSC::RegisterID::setIndex):

  • debugger/Debugger.cpp:

(JSC::Debugger::removeBreakpoint):

  • debugger/DebuggerEvalEnabler.h:

(JSC::DebuggerEvalEnabler::DebuggerEvalEnabler):
(JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler):

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGAbstractValue.cpp:
  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::merge):
(JSC::DFG::AbstractValue::checkConsistency const):
(JSC::DFG::AbstractValue::assertIsRegistered const):

  • dfg/DFGArithMode.h:

(JSC::DFG::doesOverflow):

  • dfg/DFGBasicBlock.cpp:

(JSC::DFG::BasicBlock::BasicBlock):

  • dfg/DFGBasicBlock.h:

(JSC::DFG::BasicBlock::didLink):

  • dfg/DFGCFAPhase.cpp:

(JSC::DFG::CFAPhase::performBlockCFA):

  • dfg/DFGCommon.h:

(JSC::DFG::validationEnabled):

  • dfg/DFGCommonData.cpp:

(JSC::DFG::CommonData::finalizeCatchEntrypoints):

  • dfg/DFGDesiredWatchpoints.h:
  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGEdge.h:

(JSC::DFG::Edge::makeWord):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGJITCode.cpp:

(JSC::DFG::JITCode::finalizeOSREntrypoints):

  • dfg/DFGObjectAllocationSinkingPhase.cpp:
  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGScoreBoard.h:

(JSC::DFG::ScoreBoard::assertClear):

  • dfg/DFGSlowPathGenerator.h:

(JSC::DFG::SlowPathGenerator::generate):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
(JSC::DFG::SpeculativeJIT::emitBinarySwitchStringRecurse):
(JSC::DFG::SpeculativeJIT::emitAllocateButterfly):
(JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize):
(JSC::DFG::SpeculativeJIT::compileMakeRope):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateCell):

  • dfg/DFGStructureAbstractValue.cpp:
  • dfg/DFGStructureAbstractValue.h:

(JSC::DFG::StructureAbstractValue::assertIsRegistered const):

  • dfg/DFGVarargsForwardingPhase.cpp:
  • dfg/DFGVirtualRegisterAllocationPhase.cpp:

(JSC::DFG::VirtualRegisterAllocationPhase::run):

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::callPreflight):
(JSC::FTL::DFG::LowerDFGToB3::callCheck):
(JSC::FTL::DFG::LowerDFGToB3::crash):

  • ftl/FTLOperations.cpp:

(JSC::FTL::operationMaterializeObjectInOSR):

  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::assertNoUnswept):

  • heap/GCSegmentedArray.h:

(JSC::GCArraySegment::GCArraySegment):

  • heap/GCSegmentedArrayInlines.h:

(JSC::GCSegmentedArray<T>::clear):
(JSC::GCSegmentedArray<T>::expand):
(JSC::GCSegmentedArray<T>::validatePrevious):

  • heap/HandleSet.cpp:
  • heap/HandleSet.h:
  • heap/Heap.cpp:

(JSC::Heap::updateAllocationLimits):

  • heap/Heap.h:
  • heap/MarkedBlock.cpp:
  • heap/MarkedBlock.h:

(JSC::MarkedBlock::assertValidCell const):
(JSC::MarkedBlock::assertMarksNotStale):

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::beginMarking):
(JSC::MarkedSpace::endMarking):
(JSC::MarkedSpace::assertNoUnswept):

  • heap/PreciseAllocation.cpp:
  • heap/PreciseAllocation.h:

(JSC::PreciseAllocation::assertValidCell const):

  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::SlotVisitor):
(JSC::SlotVisitor::appendJSCellOrAuxiliary):

  • heap/SlotVisitor.h:
  • inspector/InspectorProtocolTypes.h:

(Inspector::Protocol::BindingTraits<JSON::ArrayOf<T>>::assertValueHasExpectedType):

  • inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py:

(CppProtocolTypesImplementationGenerator._generate_assertion_for_object_declaration):
(CppProtocolTypesImplementationGenerator):
(CppProtocolTypesImplementationGenerator._generate_assertion_for_enum):

  • inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result:
  • interpreter/FrameTracers.h:

(JSC::JITOperationPrologueCallFrameTracer::JITOperationPrologueCallFrameTracer):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::Interpreter):

  • interpreter/Interpreter.h:
  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::prepareCallOperation):

  • jit/BinarySwitch.cpp:

(JSC::BinarySwitch::BinarySwitch):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupStubArgs):

  • jit/CallFrameShuffler.cpp:

(JSC::CallFrameShuffler::emitDeltaCheck):
(JSC::CallFrameShuffler::prepareAny):

  • jit/JIT.cpp:

(JSC::JIT::assertStackPointerOffset):
(JSC::JIT::compileWithoutLinking):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emitSlow_op_loop_hint):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_from_scope):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_from_scope):

  • jit/Repatch.cpp:

(JSC::linkPolymorphicCall):

  • jit/ThunkGenerators.cpp:

(JSC::emitPointerValidation):

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • llint/LLIntOfflineAsmConfig.h:
  • parser/Lexer.cpp:
  • parser/Lexer.h:

(JSC::isSafeBuiltinIdentifier):
(JSC::Lexer<T>::lexExpectIdentifier):

  • runtime/ArgList.h:

(JSC::MarkedArgumentBuffer::setNeedsOverflowCheck):
(JSC::MarkedArgumentBuffer::clearNeedsOverflowCheck):

  • runtime/Butterfly.h:

(JSC::ContiguousData::ContiguousData):
(JSC::ContiguousData::Data::Data):

  • runtime/HashMapImpl.h:

(JSC::HashMapImpl::checkConsistency const):
(JSC::HashMapImpl::assertBufferIsEmpty const):

  • runtime/JSCellInlines.h:

(JSC::JSCell::methodTable const):

  • runtime/JSFunction.cpp:
  • runtime/JSFunction.h:

(JSC::JSFunction::assertTypeInfoFlagInvariants):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObject.h:
  • runtime/JSObject.cpp:

(JSC::JSObject::visitChildren):
(JSC::JSFinalObject::visitChildren):

  • runtime/JSObjectInlines.h:

(JSC::JSObject::validatePutOwnDataProperty):

  • runtime/JSSegmentedVariableObject.h:

(JSC::JSSegmentedVariableObject::assertVariableIsInThisObject):

  • runtime/LiteralParser.cpp:

(JSC::LiteralParser<CharType>::Lexer::lex):

  • runtime/LiteralParser.h:
  • runtime/Operations.h:

(JSC::scribbleFreeCells):

  • runtime/OptionsList.h:
  • runtime/VM.cpp:

(JSC::VM::computeCanUseJIT):

  • runtime/VM.h:

(JSC::VM::canUseJIT):

  • runtime/VarOffset.h:

(JSC::VarOffset::checkSanity const):

  • runtime/WeakMapImpl.h:

(JSC::WeakMapImpl::checkConsistency const):
(JSC::WeakMapImpl::assertBufferIsEmpty const):

  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::validateInst):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::parseAndCompile):

  • wasm/WasmFunctionParser.h:

(JSC::Wasm::FunctionParser::validationFail const):

  • wasm/WasmLLIntGenerator.cpp:

(JSC::Wasm::LLIntGenerator::checkConsistency):

  • wasm/WasmPlan.cpp:

(JSC::Wasm::Plan::tryRemoveContextAndCancelIfLast):

  • wasm/WasmSectionParser.h:
  • wasm/WasmSections.h:
  • wasm/WasmSignatureInlines.h:

(JSC::Wasm::SignatureInformation::get):

  • wasm/WasmWorklist.cpp:

(JSC::Wasm::Worklist::enqueue):

  • wasm/js/JSToWasm.cpp:

(JSC::Wasm::createJSToWasmWrapper):

  • wasm/js/WebAssemblyFunction.cpp:

(JSC::WebAssemblyFunction::previousInstanceOffset const):

Source/WebCore:
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776

Reviewed by Saam Barati.

  • Modules/fetch/FetchBodySource.cpp:

(WebCore::FetchBodySource::close):

  • Modules/fetch/FetchBodySource.h:
  • Modules/webdatabase/DatabaseDetails.h:

(WebCore::DatabaseDetails::DatabaseDetails):
(WebCore::DatabaseDetails::operator=):

  • Modules/webdatabase/DatabaseTask.cpp:

(WebCore::DatabaseTask::performTask):

  • Modules/webdatabase/DatabaseTask.h:
  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::terminationRequested const):

  • Modules/webgpu/WHLSL/AST/WHLSLAddressSpace.h:

(WebCore::WHLSL::AST::TypeAnnotation::TypeAnnotation):

  • Modules/webgpu/WHLSL/WHLSLHighZombieFinder.cpp:

(WebCore::WHLSL::findHighZombies):

  • Modules/webgpu/WHLSL/WHLSLInferTypes.cpp:

(WebCore::WHLSL::matches):

  • Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.cpp:

(WebCore::WHLSL::checkLiteralTypes):

  • Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.cpp:

(WebCore::WHLSL::FindAllTypes::appendNamedType):

  • bindings/js/JSCallbackData.h:
  • bindings/js/JSLazyEventListener.cpp:
  • bindings/js/JSLazyEventListener.h:
  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::compileRuleList):

  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcOperationNode::primitiveType const):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • css/CSSPrimitiveValue.cpp:
  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText const):

  • css/CSSStyleSheet.cpp:
  • dom/ActiveDOMObject.cpp:

(WebCore::ActiveDOMObject::suspendIfNeeded):
(WebCore::ActiveDOMObject::assertSuspendIfNeededWasCalled const):

  • dom/ActiveDOMObject.h:
  • dom/ContainerNode.cpp:
  • dom/ContainerNodeAlgorithms.cpp:
  • dom/ContainerNodeAlgorithms.h:
  • dom/CustomElementReactionQueue.cpp:
  • dom/CustomElementReactionQueue.h:

(WebCore::CustomElementReactionDisallowedScope::CustomElementReactionDisallowedScope):
(WebCore::CustomElementReactionDisallowedScope::~CustomElementReactionDisallowedScope):

  • dom/Document.cpp:

(WebCore::Document::hitTest):

  • dom/Document.h:

(WebCore::Document::decrementReferencingNodeCount):

  • dom/Element.cpp:

(WebCore::Element::addShadowRoot):
(WebCore::Element::getURLAttribute const):
(WebCore::Element::getNonEmptyURLAttribute const):

  • dom/Element.h:
  • dom/ElementAndTextDescendantIterator.h:

(WebCore::ElementAndTextDescendantIterator::ElementAndTextDescendantIterator):
(WebCore::ElementAndTextDescendantIterator::dropAssertions):
(WebCore::ElementAndTextDescendantIterator::popAncestorSiblingStack):
(WebCore::ElementAndTextDescendantIterator::traverseNextSibling):
(WebCore::ElementAndTextDescendantIterator::traversePreviousSibling):

  • dom/ElementDescendantIterator.h:

(WebCore::ElementDescendantIterator::ElementDescendantIterator):
(WebCore::ElementDescendantIterator::dropAssertions):
(WebCore::ElementDescendantIterator::operator++):
(WebCore::ElementDescendantIterator::operator--):
(WebCore::ElementDescendantConstIterator::ElementDescendantConstIterator):
(WebCore::ElementDescendantConstIterator::dropAssertions):
(WebCore::ElementDescendantConstIterator::operator++):

  • dom/ElementIterator.h:

(WebCore::ElementIterator<ElementType>::ElementIterator):
(WebCore::ElementIterator<ElementType>::traverseNext):
(WebCore::ElementIterator<ElementType>::traversePrevious):
(WebCore::ElementIterator<ElementType>::traverseNextSibling):
(WebCore::ElementIterator<ElementType>::traversePreviousSibling):
(WebCore::ElementIterator<ElementType>::traverseNextSkippingChildren):
(WebCore::ElementIterator<ElementType>::dropAssertions):
(WebCore::ElementIterator<ElementType>::traverseAncestor):
(WebCore::ElementConstIterator<ElementType>::ElementConstIterator):
(WebCore::ElementConstIterator<ElementType>::traverseNext):
(WebCore::ElementConstIterator<ElementType>::traversePrevious):
(WebCore::ElementConstIterator<ElementType>::traverseNextSibling):
(WebCore::ElementConstIterator<ElementType>::traversePreviousSibling):
(WebCore::ElementConstIterator<ElementType>::traverseNextSkippingChildren):
(WebCore::ElementConstIterator<ElementType>::traverseAncestor):
(WebCore::ElementConstIterator<ElementType>::dropAssertions):

  • dom/EventContext.cpp:
  • dom/EventContext.h:
  • dom/EventListener.h:
  • dom/EventPath.cpp:
  • dom/EventSender.h:
  • dom/EventTarget.cpp:

(WebCore::EventTarget::addEventListener):
(WebCore::EventTarget::setAttributeEventListener):
(WebCore::EventTarget::innerInvokeEventListeners):

  • dom/Node.cpp:

(WebCore::Node::~Node):
(WebCore::Node::moveNodeToNewDocument):
(WebCore::Node::removedLastRef):

  • dom/Node.h:

(WebCore::Node::deref const):

  • dom/ScriptDisallowedScope.h:

(WebCore::ScriptDisallowedScope::InMainThread::isEventDispatchAllowedInSubtree):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::~ScriptExecutionContext):

  • dom/ScriptExecutionContext.h:
  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::execute const):

  • dom/SlotAssignment.cpp:

(WebCore::SlotAssignment::addSlotElementByName):
(WebCore::SlotAssignment::removeSlotElementByName):
(WebCore::SlotAssignment::resolveSlotsAfterSlotMutation):
(WebCore::SlotAssignment::findFirstSlotElement):

  • dom/SlotAssignment.h:
  • dom/TreeScopeOrderedMap.cpp:

(WebCore::TreeScopeOrderedMap::add):
(WebCore::TreeScopeOrderedMap::get const):

  • dom/TreeScopeOrderedMap.h:
  • fileapi/Blob.cpp:
  • fileapi/Blob.h:
  • history/BackForwardCache.cpp:

(WebCore::BackForwardCache::removeAllItemsForPage):

  • history/BackForwardCache.h:
  • html/CanvasBase.cpp:

(WebCore::CanvasBase::notifyObserversCanvasDestroyed):

  • html/CanvasBase.h:
  • html/HTMLCollection.h:

(WebCore::CollectionNamedElementCache::didPopulate):

  • html/HTMLSelectElement.cpp:

(WebCore:: const):

  • html/HTMLTableRowsCollection.cpp:

(WebCore::assertRowIsInTable):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::indexForPosition const):

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::~CanvasRenderingContext2DBase):

  • html/parser/HTMLParserScheduler.cpp:

(WebCore::HTMLParserScheduler::HTMLParserScheduler):
(WebCore::HTMLParserScheduler::suspend):
(WebCore::HTMLParserScheduler::resume):

  • html/parser/HTMLParserScheduler.h:
  • html/parser/HTMLToken.h:

(WebCore::HTMLToken::beginStartTag):
(WebCore::HTMLToken::beginEndTag):
(WebCore::HTMLToken::endAttribute):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::constructTree):

  • html/parser/HTMLTreeBuilder.h:

(WebCore::HTMLTreeBuilder::~HTMLTreeBuilder):

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::geometryForBox const):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeEstimatedVerticalPosition):

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/displaytree/DisplayBox.cpp:

(WebCore::Display::Box::Box):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::setTopLeft):
(WebCore::Display::Box::setTop):
(WebCore::Display::Box::setLeft):
(WebCore::Display::Box::setContentBoxHeight):
(WebCore::Display::Box::setContentBoxWidth):
(WebCore::Display::Box::setHorizontalMargin):
(WebCore::Display::Box::setVerticalMargin):
(WebCore::Display::Box::setHorizontalComputedMargin):
(WebCore::Display::Box::setBorder):
(WebCore::Display::Box::setPadding):

  • layout/displaytree/DisplayInlineRect.h:

(WebCore::Display::InlineRect::InlineRect):
(WebCore::Display::InlineRect::setTopLeft):
(WebCore::Display::InlineRect::setTop):
(WebCore::Display::InlineRect::setBottom):
(WebCore::Display::InlineRect::setLeft):
(WebCore::Display::InlineRect::setWidth):
(WebCore::Display::InlineRect::setHeight):

  • layout/displaytree/DisplayLineBox.h:

(WebCore::Display::LineBox::LineBox):
(WebCore::Display::LineBox::setBaselineOffsetIfGreater):
(WebCore::Display::LineBox::resetBaseline):
(WebCore::Display::LineBox::Baseline::Baseline):
(WebCore::Display::LineBox::Baseline::setAscent):
(WebCore::Display::LineBox::Baseline::setDescent):
(WebCore::Display::LineBox::Baseline::reset):

  • layout/displaytree/DisplayRect.h:

(WebCore::Display::Rect::Rect):
(WebCore::Display::Rect::setTopLeft):
(WebCore::Display::Rect::setTop):
(WebCore::Display::Rect::setLeft):
(WebCore::Display::Rect::setWidth):
(WebCore::Display::Rect::setHeight):
(WebCore::Display::Rect::setSize):
(WebCore::Display::Rect::clone const):

  • layout/floats/FloatingContext.cpp:
  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::CollapsibleContent::collapse):

  • layout/tableformatting/TableGrid.cpp:

(WebCore::Layout::TableGrid::Column::setWidthConstraints):
(WebCore::Layout::TableGrid::Column::setLogicalWidth):
(WebCore::Layout::TableGrid::Column::setLogicalLeft):

  • layout/tableformatting/TableGrid.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::continueAfterContentPolicy):
(WebCore::DocumentLoader::attachToFrame):
(WebCore::DocumentLoader::detachFromFrame):
(WebCore::DocumentLoader::addSubresourceLoader):

  • loader/DocumentLoader.h:
  • loader/ImageLoader.cpp:
  • loader/cache/CachedResource.h:
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::lruListFor):
(WebCore::MemoryCache::removeFromLRUList):

  • page/FrameView.cpp:

(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):

  • page/FrameViewLayoutContext.cpp:
  • page/FrameViewLayoutContext.h:
  • page/Page.cpp:
  • page/Page.h:
  • page/ViewportConfiguration.cpp:
  • page/ViewportConfiguration.h:
  • page/mac/EventHandlerMac.mm:

(WebCore::CurrentEventScope::CurrentEventScope):

  • platform/DateComponents.cpp:

(WebCore::DateComponents::toStringForTime const):

  • platform/ScrollableArea.cpp:
  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::combineIntoOneSegment const):

  • platform/SharedBuffer.h:
  • platform/Supplementable.h:
  • platform/Timer.cpp:

(WebCore::TimerBase::checkHeapIndex const):
(WebCore::TimerBase::updateHeapIfNeeded):

  • platform/graphics/BitmapImage.cpp:
  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::ScratchBuffer):
(WebCore::ScratchBuffer::getScratchBuffer):
(WebCore::ScratchBuffer::scheduleScratchBufferPurge):

  • platform/graphics/ca/win/CACFLayerTreeHost.cpp:

(WebCore::CACFLayerTreeHost::setWindow):

  • platform/graphics/ca/win/CACFLayerTreeHost.h:
  • platform/graphics/cg/ImageBufferDataCG.cpp:

(WebCore::ImageBufferData::putData):

  • platform/graphics/cocoa/FontCacheCoreText.cpp:
  • platform/graphics/gstreamer/GstAllocatorFastMalloc.cpp:

(gstAllocatorFastMallocFree):

  • platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.cpp:

(Nicosia::PaintingContextCairo::ForPainting::ForPainting):

  • platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.cpp:

(Nicosia::BackingStoreTextureMapperImpl::createTile):

  • platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp:

(Nicosia::ContentLayerTextureMapperImpl::~ContentLayerTextureMapperImpl):

  • platform/graphics/win/GradientDirect2D.cpp:

(WebCore::Gradient::fill):

  • platform/graphics/win/ImageBufferDataDirect2D.cpp:

(WebCore::ImageBufferData::putData):

  • platform/graphics/win/PathDirect2D.cpp:

(WebCore::Path::appendGeometry):
(WebCore::Path::Path):
(WebCore::Path::operator=):
(WebCore::Path::strokeContains const):
(WebCore::Path::transform):

  • platform/graphics/win/PlatformContextDirect2D.cpp:

(WebCore::PlatformContextDirect2D::setTags):

  • platform/mediastream/MediaStreamTrackPrivate.h:
  • platform/mediastream/RealtimeOutgoingAudioSource.cpp:

(WebCore::RealtimeOutgoingAudioSource::~RealtimeOutgoingAudioSource):

  • platform/mediastream/RealtimeOutgoingVideoSource.cpp:

(WebCore::RealtimeOutgoingVideoSource::~RealtimeOutgoingVideoSource):

  • platform/network/HTTPParsers.cpp:

(WebCore::isCrossOriginSafeHeader):

  • platform/sql/SQLiteDatabase.cpp:
  • platform/sql/SQLiteDatabase.h:
  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::SQLiteStatement):
(WebCore::SQLiteStatement::prepare):
(WebCore::SQLiteStatement::finalize):

  • platform/sql/SQLiteStatement.h:
  • platform/win/COMPtr.h:
  • rendering/ComplexLineLayout.cpp:

(WebCore::ComplexLineLayout::removeInlineBox const):

  • rendering/FloatingObjects.cpp:

(WebCore::FloatingObject::FloatingObject):
(WebCore::FloatingObjects::addPlacedObject):
(WebCore::FloatingObjects::removePlacedObject):

  • rendering/FloatingObjects.h:
  • rendering/GridTrackSizingAlgorithm.cpp:
  • rendering/GridTrackSizingAlgorithm.h:
  • rendering/LayoutDisallowedScope.cpp:
  • rendering/LayoutDisallowedScope.h:
  • rendering/RenderBlock.cpp:
  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::removeFloatingObject):
(WebCore::RenderBlockFlow::ensureLineBoxes):

  • rendering/RenderBoxModelObject.cpp:
  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):

  • rendering/RenderElement.cpp:
  • rendering/RenderGeometryMap.cpp:

(WebCore::RenderGeometryMap::mapToContainer const):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::placeItemsOnGrid const):
(WebCore::RenderGrid::baselinePosition const):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::willBeDestroyed):

  • rendering/RenderLayer.cpp:

(WebCore::ClipRectsCache::ClipRectsCache):
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::updateClipRects):
(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::traverseVisibleNonCompositedDescendantLayers):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::traverseUnchangedSubtree):
(WebCore::RenderLayerCompositor::updateBackingAndHierarchy):
(WebCore::RenderLayerCompositor::addDescendantsToOverlapMapRecursive const):
(WebCore::RenderLayerCompositor::recursiveRepaintLayer):
(WebCore::RenderLayerCompositor::layerHas3DContent const):

  • rendering/RenderLayoutState.cpp:

(WebCore::RenderLayoutState::RenderLayoutState):
(WebCore::RenderLayoutState::computeOffsets):
(WebCore::RenderLayoutState::addLayoutDelta):

  • rendering/RenderLayoutState.h:

(WebCore::RenderLayoutState::RenderLayoutState):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::RenderObject):
(WebCore::RenderObject::~RenderObject):
(WebCore::RenderObject::clearNeedsLayout):

  • rendering/RenderObject.h:
  • rendering/RenderQuote.cpp:

(WebCore::quotesForLanguage):

  • rendering/RenderTableCell.h:
  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::computeOverflowFromCells):

  • rendering/RenderTextLineBoxes.cpp:

(WebCore::RenderTextLineBoxes::checkConsistency const):

  • rendering/RenderTextLineBoxes.h:
  • rendering/line/BreakingContext.h:

(WebCore::tryHyphenating):

  • rendering/style/GridArea.h:

(WebCore::GridSpan::GridSpan):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::~RenderStyle):

  • rendering/style/RenderStyle.h:
  • rendering/updating/RenderTreeBuilderRuby.cpp:

(WebCore::RenderTreeBuilder::Ruby::detach):

  • rendering/updating/RenderTreePosition.cpp:

(WebCore::RenderTreePosition::computeNextSibling):

  • rendering/updating/RenderTreePosition.h:
  • svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::Placeholder::Placeholder):
(WebCore::SVGToOTFFontConverter::Placeholder::populate):
(WebCore::SVGToOTFFontConverter::appendCFFTable):
(WebCore::SVGToOTFFontConverter::firstGlyph const):
(WebCore::SVGToOTFFontConverter::appendKERNTable):

  • svg/SVGTransformDistance.cpp:

(WebCore::SVGTransformDistance::SVGTransformDistance):
(WebCore::SVGTransformDistance::scaledDistance const):
(WebCore::SVGTransformDistance::addSVGTransforms):
(WebCore::SVGTransformDistance::addToSVGTransform const):
(WebCore::SVGTransformDistance::distance const):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::nativeImage):

  • testing/InternalSettings.cpp:
  • workers/service/ServiceWorkerJob.h:
  • worklets/PaintWorkletGlobalScope.h:

(WebCore::PaintWorkletGlobalScope::~PaintWorkletGlobalScope):

  • xml/XPathStep.cpp:

Source/WebKit:
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776

Reviewed by Saam Barati.

  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::invalidateAndCancel):

  • NetworkProcess/NetworkSession.h:
  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::setCapacity):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(toNSURLSessionResponseDisposition):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • Platform/IPC/Connection.cpp:

(IPC::Connection::waitForMessage):

  • Platform/IPC/MessageReceiver.h:

(IPC::MessageReceiver::willBeAddedToMessageReceiverMap):
(IPC::MessageReceiver::willBeRemovedFromMessageReceiverMap):

  • Platform/IPC/cocoa/ConnectionCocoa.mm:

(IPC::readFromMachPort):

  • Platform/mac/MachUtilities.cpp:

(setMachExceptionPort):

  • Shared/API/APIClient.h:

(API::Client::Client):

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:
  • Shared/Cocoa/ArgumentCodersCocoa.h:
  • Shared/SharedStringHashTableReadOnly.cpp:
  • UIProcess/BackingStore.cpp:

(WebKit::BackingStore::incorporateUpdate):

  • UIProcess/GenericCallback.h:
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/PageLoadState.h:

(WebKit::PageLoadState::Transaction::Token::Token):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::~WebPageProxy):

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveResponse):

  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:

(WebKit::NetscapePluginStream::NetscapePluginStream):
(WebKit::NetscapePluginStream::notifyAndDestroyStream):

  • WebProcess/Plugins/Netscape/NetscapePluginStream.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runModal):

  • WebProcess/WebProcess.cpp:

(WebKit::checkDocumentsCaptureStateConsistency):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::updateProcessName):

Source/WebKitLegacy:
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776

Reviewed by Saam Barati.

  • Storage/StorageAreaImpl.cpp:

(WebKit::StorageAreaImpl::StorageAreaImpl):
(WebKit::StorageAreaImpl::close):

  • Storage/StorageAreaImpl.h:

Source/WebKitLegacy/mac:
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776

Reviewed by Saam Barati.

  • History/WebHistory.mm:

(-[WebHistoryPrivate removeItemForURLString:]):

  • WebView/WebFrame.mm:

Source/WebKitLegacy/win:
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776

Reviewed by Saam Barati.

  • WebKitQuartzCoreAdditions/CAD3DRenderer.cpp:

(WKQCA::CAD3DRenderer::swapChain):
(WKQCA::CAD3DRenderer::initialize):

  • WebKitQuartzCoreAdditions/CAD3DRenderer.h:
  • WebView.cpp:

(WebView::Release):

  • WebView.h:

Source/WTF:
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776

Reviewed by Saam Barati.

This patch did the following changes:

  1. Replaced ASSERT_DISABLED with ASSERT_ENABLED. This change does away with the need for the double negative !ASSERT_DISABLED test that is commonly used all over the code, thereby improving code readability.

In Assertions.h, there is also BACKTRACE_DISABLED, ASSERT_MSG_DISABLED,
ASSERT_ARG_DISABLED, FATAL_DISABLED, ERROR_DISABLED, LOG_DISABLED, and
RELEASE_LOG_DISABLED. We should replace those with ..._ENABLED equivalents
as well. We'll do that in another patch. For now, they are left as is to
minimize the size of this patch.
See https://bugs.webkit.org/show_bug.cgi?id=205780.

  1. Fixed some code was guarded with "#ifndef NDEBUG" that should actually be guarded by "#if ASSERT_ENABLED" instead.
  1. In cases where the change is minimal, we move some code around so that we can test for "#if ASSERT_ENABLED" instead of "#if !ASSERT_ENABLED".
  • wtf/Assertions.h:
  • wtf/AutomaticThread.cpp:

(WTF::AutomaticThread::start):

  • wtf/BitVector.h:
  • wtf/BlockObjCExceptions.mm:

(ReportBlockedObjCException):

  • wtf/BloomFilter.h:
  • wtf/CallbackAggregator.h:

(WTF::CallbackAggregator::CallbackAggregator):

  • wtf/CheckedArithmetic.h:

(WTF::observesOverflow<AssertNoOverflow>):

  • wtf/CheckedBoolean.h:

(CheckedBoolean::CheckedBoolean):
(CheckedBoolean::operator bool):

  • wtf/CompletionHandler.h:

(WTF::CompletionHandler<Out):

  • wtf/DateMath.cpp:

(WTF::initializeDates):

  • wtf/Gigacage.cpp:

(Gigacage::tryAllocateZeroedVirtualPages):

  • wtf/HashTable.h:

(WTF::KeyTraits>::checkKey):
(WTF::KeyTraits>::checkTableConsistencyExceptSize const):

  • wtf/LoggerHelper.h:
  • wtf/NaturalLoops.h:

(WTF::NaturalLoops::headerOf const):

  • wtf/NeverDestroyed.h:

(WTF::LazyNeverDestroyed::construct):

  • wtf/OptionSet.h:

(WTF::OptionSet::OptionSet):

  • wtf/Platform.h:
  • wtf/PtrTag.h:
  • wtf/RefCounted.h:

(WTF::RefCountedBase::disableThreadingChecks):
(WTF::RefCountedBase::enableThreadingChecksGlobally):
(WTF::RefCountedBase::RefCountedBase):
(WTF::RefCountedBase::applyRefDerefThreadingCheck const):

  • wtf/SingleRootGraph.h:

(WTF::SingleRootGraph::assertIsConsistent const):

  • wtf/SizeLimits.cpp:
  • wtf/StackBounds.h:

(WTF::StackBounds::checkConsistency const):

  • wtf/URLParser.cpp:

(WTF::URLParser::URLParser):
(WTF::URLParser::domainToASCII):

  • wtf/ValueCheck.h:
  • wtf/Vector.h:

(WTF::Malloc>::checkConsistency):

  • wtf/WeakHashSet.h:
  • wtf/WeakPtr.h:

(WTF::WeakPtrImpl::WeakPtrImpl):
(WTF::WeakPtrFactory::WeakPtrFactory):

  • wtf/text/AtomStringImpl.cpp:
  • wtf/text/AtomStringImpl.h:
  • wtf/text/StringBuilder.cpp:

(WTF::StringBuilder::reifyString const):

  • wtf/text/StringBuilder.h:
  • wtf/text/StringCommon.h:

(WTF::hasPrefixWithLettersIgnoringASCIICaseCommon):

  • wtf/text/StringHasher.h:

(WTF::StringHasher::addCharacters):

  • wtf/text/StringImpl.h:
  • wtf/text/SymbolImpl.h:
  • wtf/text/UniquedStringImpl.h:

Tools:
Remove WebsiteDataStore::setServiceWorkerRegistrationDirectory
https://bugs.webkit.org/show_bug.cgi?id=205754

Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-06
Reviewed by Youenn Fablet.

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::websiteDataStore):
(WTR::TestController::platformAdjustContext):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::initializeWebViewConfiguration):

2:20 PM Changeset in webkit [254086] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: hasLayer() in RenderLayer::enclosingOverflowClipLayer
https://bugs.webkit.org/show_bug.cgi?id=205474

Patch by Jack Lee <Jack Lee> on 2020-01-06
Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/css/sticky/sticky-tablecol-crash.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::enclosingClippingBoxForStickyPosition const):
(WebCore::RenderBoxModelObject::constrainingRectForStickyPosition const):
(WebCore::RenderBoxModelObject::stickyPositionOffset const):

LayoutTests:

  • fast/css/sticky/sticky-tablecol-crash-expected.txt: Added.
  • fast/css/sticky/sticky-tablecol-crash.html: Added.
2:17 PM Changeset in webkit [254085] by commit-queue@webkit.org
  • 12 edits in trunk

Remove WebsiteDataStore::setServiceWorkerRegistrationDirectory
https://bugs.webkit.org/show_bug.cgi?id=205754

Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-06
Reviewed by Youenn Fablet.

Source/WebKit:

The directory is now only set in the configuration, which will prevent misuse of the misplaced SPI.
Updated API tests, which still work.

  • UIProcess/API/C/WKWebsiteDataStoreConfigurationRef.cpp:

(WKWebsiteDataStoreConfigurationCopyServiceWorkerRegistrationDirectory):
(WKWebsiteDataStoreConfigurationSetServiceWorkerRegistrationDirectory):

  • UIProcess/API/C/WKWebsiteDataStoreConfigurationRef.h:
  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreCopyServiceWorkerRegistrationDirectory): Deleted.
(WKWebsiteDataStoreSetServiceWorkerRegistrationDirectory): Deleted.

  • UIProcess/API/C/WKWebsiteDataStoreRef.h:
  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _hasRegisteredServiceWorker]):
(-[WKWebsiteDataStore _serviceWorkerRegistrationDirectory]): Deleted.
(-[WKWebsiteDataStore _setServiceWorkerRegistrationDirectory:]): Deleted.

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::setCacheStorageDirectory):
(WebKit::WebsiteDataStore::serviceWorkerRegistrationDirectory const): Deleted.
(WebKit::WebsiteDataStore::setServiceWorkerRegistrationDirectory): Deleted.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::websiteDataStore):
(WTR::TestController::platformAdjustContext):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::initializeWebViewConfiguration):

1:59 PM Changeset in webkit [254084] by commit-queue@webkit.org
  • 4 edits in trunk

Allow wildcard scheme in UserContentURLPattern
https://bugs.webkit.org/show_bug.cgi?id=205695

Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-06
Reviewed by Darin Adler.

Source/WebCore:

This is needed for <rdar://problem/58011337> and covered by an API test.

  • page/UserContentURLPattern.cpp:

(WebCore::UserContentURLPattern::matches const):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
1:57 PM Changeset in webkit [254083] by Alan Coon
  • 1 copy in tags/Safari-609.1.13.3

Tag Safari-609.1.13.3.

1:53 PM Changeset in webkit [254082] by commit-queue@webkit.org
  • 3 edits
    1 delete in trunk

REGRESSION: [ iOS ] imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205458
<rdar://problem/58081704>

Patch by Antoine Quint <Antoine Quint> on 2020-01-06
Reviewed by Wenson Hsieh.

Tools:

The last sub-test in imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html checks on the
ability to activate various form controls after disabling and re-enabling them. Two of those form controls, <select>
and <textarea>, would trigger animations of the web view's UIScrollView causing touches to be consumed by UIKit and
never seen by the WKContentView, and as such the expected "click" events would not be received. It would have been
possible to modify the test to wait on any potential page scroll to complete before dispatching taps, but since this
is a WPT test, we cannot modify it. Instead, we make a change to the function called by uiScriptController.singleTapAtPoint()
to interrupt any pending UIScrollView animation when a tap is being triggered on the web view. Credit to Wenson Hsieh
for suggesting this simple and effective approach.

  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):

LayoutTests:

Remove the platform-specific expectation since this test now passes reliably on iOS as well.

  • platform/ios/imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements-expected.txt: Removed.
1:23 PM Changeset in webkit [254081] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebKit

Remove _WKProcessPoolConfiguration.CTDataConnectionServiceType and suppressesConnectionTerminationOnSystemChange
https://bugs.webkit.org/show_bug.cgi?id=205751

Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-06
Reviewed by Darin Adler.

Their replacements on _WKWebViewConfiguration have been adopted.

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::suppressesConnectionTerminationOnSystemChange const): Deleted.

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::dataConnectionServiceType const):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
(WebKit::globalCTDataConnectionServiceType): Deleted.
(WebKit::NetworkSessionCocoa::setCTDataConnectionServiceType): Deleted.

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration suppressesConnectionTerminationOnSystemChange]): Deleted.
(-[_WKProcessPoolConfiguration setSuppressesConnectionTerminationOnSystemChange:]): Deleted.
(-[_WKProcessPoolConfiguration CTDataConnectionServiceType]): Deleted.
(-[_WKProcessPoolConfiguration setCTDataConnectionServiceType:]): Deleted.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::paymentCoordinatorCTDataConnectionServiceType):

12:58 PM Changeset in webkit [254080] by mark.lam@apple.com
  • 3 edits in trunk/Tools

Add --force-optimization-level option to Tools/Scripts/set-webkit-configuration.
https://bugs.webkit.org/show_bug.cgi?id=205787

Reviewed by Saam Barati.

Usage:

--force-optimization-level=<opt> Force optimization: O3, O2, O1, O0, Os, Ofast, Og, or none

This can be used to force debug builds to be built with a higher level optimization
so that tests can run to completion faster.

It can also be useful as a simple way to force release builds to be built with
different optimization levels for performance comparison.

Setting --force-optimization-level=none restores the default optimization levels.
Of course, the build targets need to be rebuilt for this to take effect.

  • Scripts/set-webkit-configuration:
  • Scripts/webkitdirs.pm:

(determineForceOptimizationLevel):
(forceOptimizationLevel):
(XcodeOptions):

12:56 PM Changeset in webkit [254079] by youenn@apple.com
  • 4 edits in trunk/Source/WebCore

Fix non unified build in FIDO Pin.cpp
https://bugs.webkit.org/show_bug.cgi?id=205794

Reviewed by Jiewen Tan.

No change of behavior, this is a build fix.

  • Modules/webauthn/fido/Pin.cpp:
12:46 PM Changeset in webkit [254078] by Keith Rollin
  • 3 edits in trunk/Source/WebKit

Reformat WebPage logging
https://bugs.webkit.org/show_bug.cgi?id=205709
<rdar://problem/58290285>

Reviewed by Brent Fulgham.

Update the format used by WebPage in its RELEASE_LOG logging. Use the
format used by WebPageProxy and NetworkResourceLoader, which is
generally of the form:

<object-address> - [<values that help thread together operations>] <class>::<method>: <message and other useful values>

So, for example:

0x4a1df5000 - WebLoaderStrategy::scheduleLoad: Resource is being scheduled with the NetworkProcess (frame=0x4a1db0220, priority=0, webPageID=15, frameID=3, resourceID=32)',

becomes:

0x4a1df5000 - [resourceLoader=0x1418b7200, frameLoader=0x1326d7340, frame=0x4a1db0220, webPageID=15, frameID=3, resourceID=32] WebLoaderStrategy::scheduleLoad: Resource is being scheduled with the NetworkProcess (priority=2)

This new form is a lot more verbose, but it really helps in tracing
activity from the top of our page/frame/resource load stack to the
bottom.

No new tests - no added or changed functionality.

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleLoad):
(WebKit::WebLoaderStrategy::tryLoadingUsingURLSchemeHandler):
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
(WebKit::WebLoaderStrategy::networkProcessCrashed):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):

  • WebProcess/Network/WebLoaderStrategy.h:
12:42 PM Changeset in webkit [254077] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Regression r254029: imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205819

Unreviewed, rebaseline test on iOS after r254029 now that one more check is passing.

  • platform/ios/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
12:38 PM Changeset in webkit [254076] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Regression r254029: imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.https.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205817

Unreviewed, rebaseline test on iOS after r254029 now that more checks are passing.

  • platform/ios-wk2/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt:
12:29 PM Changeset in webkit [254075] by commit-queue@webkit.org
  • 7 edits
    2 moves in trunk/Source/WebKit

Add WKWebView SPI to query _WKMediaMutedState
https://bugs.webkit.org/show_bug.cgi?id=205789
<rdar://problem/58335241>

Patch by Luming Yin <luming_yin@apple.com> on 2020-01-06
Reviewed by Eric Carlson.

Add plumbing for clients to query the media muted state on WKWebView.

  • SourcesCocoa.txt:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _mediaMutedState]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Cocoa/MediaUtilities.h: Renamed from Source/WebKit/UIProcess/Cocoa/MediaCaptureUtilities.h.
  • UIProcess/Cocoa/MediaUtilities.mm: Renamed from Source/WebKit/UIProcess/Cocoa/MediaCaptureUtilities.mm.

(WebKit::toWKMediaCaptureState):
(WebKit::toWKMediaMutedState):

  • UIProcess/Cocoa/UIDelegate.mm:
  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::mutedStateFlags const):

  • WebKit.xcodeproj/project.pbxproj:
12:11 PM Changeset in webkit [254074] by Simon Fraser
  • 6 edits in trunk/LayoutTests

REGRESSION: [r254042] pageoverlay/overlay- tests are failing in WK1
https://bugs.webkit.org/show_bug.cgi?id=205810

Unreviewed test gardening. Page Overlay test in WK1 now dump one or more repaint rects after r254042.

  • platform/mac-wk1/pageoverlay/overlay-installation-expected.txt:
  • platform/mac-wk1/pageoverlay/overlay-large-document-expected.txt:
  • platform/mac-wk1/pageoverlay/overlay-large-document-scrolled-expected.txt:
  • platform/mac-wk1/pageoverlay/overlay-small-frame-mouse-events-expected.txt:
  • platform/mac-wk1/pageoverlay/overlay-small-frame-paints-expected.txt:
11:54 AM Changeset in webkit [254073] by Alan Coon
  • 2 edits in branches/safari-608-branch/Source/WebCore

Protect ServiceWorker::postMessage from a null execState
https://bugs.webkit.org/show_bug.cgi?id=205394
<rdar://problem/57392221>

Reviewed by Chris Dumez.

Crash logs indicate null pointer crashes.
We should return early in that case.

  • workers/service/ServiceWorker.cpp:

(WebCore::ServiceWorker::postMessage):

11:47 AM Changeset in webkit [254072] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

11:32 AM Changeset in webkit [254071] by Alan Coon
  • 1 copy in branches/safari-609.1.14-branch

New branch.

11:31 AM Changeset in webkit [254070] by Alexey Shvayka
  • 6 edits in trunk

Proxy's OwnPropertyKeys is incorrect in DontEnumPropertiesMode::Exclude
https://bugs.webkit.org/show_bug.cgi?id=203818

Reviewed by Keith Miller.

JSTests:

Stress test was failing because "ownKeys" trap didn't return non-configurable
"prototype" property of Proxy's target, violating an invariant.

  • stress/proxy-get-own-property-names-should-not-clear-previous-results.js:
  • test262/expectations.yaml: Mark 8 test cases as passing.

Source/JavaScriptCore:

This change fixes two spec compatibility issues:

  1. If Object.keys is called on Proxy w/o "ownKeys" trap, filtering non-enumerable

properties are not observed by "getOwnPropertyDescriptor" trap.
(step 4 of https://tc39.es/ecma262/#sec-enumerableownpropertynames)

  1. If Object.keys is called on Proxy with "ownKeys" trap, non-enumerable

properties of Proxy's target are ignored during invariants validation.
(step 11 of https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys)

Instead of extracting DontEnum filtering to lambda function, a wrapper method for
ProxyObject::performGetOwnPropertyNames was introduced to avoid creating &
filling intermediate PropertyNameArray instance (in case of DontEnumPropertiesMode::Include)
and avoid having inner EnumerationMode in ProxyObject::performGetOwnPropertyNames.

  • runtime/ProxyObject.cpp:

(JSC::ProxyObject::performGetOwnPropertyNames):
(JSC::ProxyObject::performGetOwnEnumerablePropertyNames):
(JSC::ProxyObject::getOwnPropertyNames):

  • runtime/ProxyObject.h:
11:27 AM Changeset in webkit [254069] by Alan Coon
  • 1 copy in branches/safari-609-branch

New branch.

11:18 AM Changeset in webkit [254068] by Alan Coon
  • 8 edits in trunk/Source

Versioning.

11:16 AM Changeset in webkit [254067] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r247626): Introduced memory regression
https://bugs.webkit.org/show_bug.cgi?id=205815

Unreviewed rollout of https://trac.webkit.org/changeset/247626/webkit.

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::FontCache::prewarmGlobally):
(WebCore::fontFamiliesForPrewarming): Deleted.

11:00 AM Changeset in webkit [254066] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Catalina wk1 ] editing/mac/attributed-string/attributed-string-across-shadow-boundaries-with-style-2.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205814

unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
10:59 AM Changeset in webkit [254065] by ysuzuki@apple.com
  • 5 edits in trunk/Source/WebCore

[WebCore] Shrink sizeof(RuleFeature)
https://bugs.webkit.org/show_bug.cgi?id=205774

Reviewed by Dean Jackson.

We noticed that Vector<RuleFeature> is frequently allocated and kept. While sizeof(RuleFeature) is 32,

  1. RuleFeature::invalidationSelector is nullptr basically. It is used only for some specific cases.
  2. RuleFeature::selectorIndex and RuleFeature::selectorListIndex is unsigned. But they never exceed uint16_t since both values are derived from RuleData::m_selectorIndex and RuleData::m_selectorListIndex and both are uint16_t size.
  3. Optional<MatchElement> takes 8 bytes since sizeof(MatchElement) is 4. But we can make it 1 byte.

Given the above observations, this patch introduced RuleFeatureWithInvalidationSelector, which is RuleFeature + invalidationSelector.
And keep using RuleFeature if invalidationSelector is unnecessary. By applying (2) and (3)'s optimizations, we can now make
sizeof(RuleFeature) 16, 50% reduction.

No behavior change.

  • style/RuleData.h:
  • style/RuleFeature.cpp:

(WebCore::Style::RuleFeature::RuleFeature):
(WebCore::Style::RuleFeatureSet::collectFeatures):
(WebCore::Style::RuleFeatureSet::add):

  • style/RuleFeature.h:

(WebCore::Style::RuleFeatureWithInvalidationSelector::RuleFeatureWithInvalidationSelector):

  • style/StyleScopeRuleSets.cpp:

(WebCore::Style::ensureInvalidationRuleSets):

10:52 AM Changeset in webkit [254064] by dino@apple.com
  • 149 edits
    27 moves
    2 adds
    2 deletes in trunk

Rename GraphicsContext3D to GraphicsContextGL
https://bugs.webkit.org/show_bug.cgi?id=205778
<rdar://problem/58327597>

Reviewed by Sam Weinig.

Rename all the GraphicsContext3D things to GraphicsContextGL
(includes Extensions3D and GRAPHICS_CONTEXT_3D).

GraphicsContext3DBase now becomes GraphicsContextGL.
GraphicsContext3D is now GraphicsContextGLOpenGL (since it represents
the OpenGL implementation of the API).

.:

  • Source/CMakeLists.txt:
  • Source/cmake/OptionsFTW.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/OptionsPlayStation.cmake:
  • Source/cmake/OptionsWPE.cmake:
  • Source/cmake/OptionsWinCairo.cmake:

PerformanceTests:

  • StitchMarker/wtf/FeatureDefines.h:
  • StitchMarker/wtf/Platform.h:

Source/WebCore:

  • CMakeLists.txt:
  • Headers.cmake:
  • PlatformAppleWin.cmake:
  • PlatformFTW.cmake:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:
  • PlatformPlayStation.cmake:
  • PlatformWin.cmake:
  • Sources.txt:
  • SourcesCocoa.txt:
  • SourcesGTK.txt:
  • SourcesWPE.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLVideoElement.cpp:
  • html/HTMLVideoElement.h:
  • html/OffscreenCanvas.cpp:
  • html/canvas/ANGLEInstancedArrays.cpp:
  • html/canvas/OESVertexArrayObject.cpp:
  • html/canvas/WebGL2RenderingContext.cpp:
  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGLActiveInfo.h:
  • html/canvas/WebGLBuffer.cpp:
  • html/canvas/WebGLBuffer.h:
  • html/canvas/WebGLCompressedTextureASTC.cpp:
  • html/canvas/WebGLCompressedTextureATC.cpp:
  • html/canvas/WebGLCompressedTextureETC.cpp:
  • html/canvas/WebGLCompressedTextureETC1.cpp:
  • html/canvas/WebGLCompressedTexturePVRTC.cpp:
  • html/canvas/WebGLCompressedTextureS3TC.cpp:
  • html/canvas/WebGLContextAttributes.h:
  • html/canvas/WebGLContextGroup.cpp:
  • html/canvas/WebGLContextGroup.h:
  • html/canvas/WebGLContextObject.cpp:
  • html/canvas/WebGLContextObject.h:
  • html/canvas/WebGLDebugShaders.cpp:
  • html/canvas/WebGLDepthTexture.cpp:
  • html/canvas/WebGLDepthTexture.h:
  • html/canvas/WebGLDrawBuffers.cpp:
  • html/canvas/WebGLFramebuffer.cpp:
  • html/canvas/WebGLFramebuffer.h:
  • html/canvas/WebGLObject.cpp:
  • html/canvas/WebGLObject.h:
  • html/canvas/WebGLProgram.cpp:
  • html/canvas/WebGLProgram.h:
  • html/canvas/WebGLQuery.cpp:
  • html/canvas/WebGLQuery.h:
  • html/canvas/WebGLRenderbuffer.cpp:
  • html/canvas/WebGLRenderbuffer.h:
  • html/canvas/WebGLRenderingContext.cpp:
  • html/canvas/WebGLRenderingContext.h:
  • html/canvas/WebGLRenderingContextBase.cpp:
  • html/canvas/WebGLRenderingContextBase.h:
  • html/canvas/WebGLSampler.cpp:
  • html/canvas/WebGLSampler.h:
  • html/canvas/WebGLShader.cpp:
  • html/canvas/WebGLShader.h:
  • html/canvas/WebGLShaderPrecisionFormat.h:
  • html/canvas/WebGLSharedObject.cpp:
  • html/canvas/WebGLSharedObject.h:
  • html/canvas/WebGLSync.cpp:
  • html/canvas/WebGLSync.h:
  • html/canvas/WebGLTexture.cpp:
  • html/canvas/WebGLTexture.h:
  • html/canvas/WebGLTransformFeedback.cpp:
  • html/canvas/WebGLTransformFeedback.h:
  • html/canvas/WebGLVertexArrayObject.cpp:
  • html/canvas/WebGLVertexArrayObject.h:
  • html/canvas/WebGLVertexArrayObjectBase.cpp:
  • html/canvas/WebGLVertexArrayObjectBase.h:
  • html/canvas/WebGLVertexArrayObjectOES.cpp:
  • html/canvas/WebGLVertexArrayObjectOES.h:
  • inspector/InspectorShaderProgram.cpp:
  • loader/FrameLoaderClient.h:
  • page/Chrome.cpp:
  • platform/SourcesCairo.txt:
  • platform/TextureMapper.cmake:
  • platform/WebGLStateTracker.cpp:
  • platform/WebGLStateTracker.h:
  • platform/graphics/ANGLEWebKitBridge.cpp:
  • platform/graphics/ExtensionsGL.h: Renamed from Source/WebCore/platform/graphics/Extensions3D.h.
  • platform/graphics/FormatConverter.cpp:
  • platform/graphics/FormatConverter.h:
  • platform/graphics/GLContext.cpp:
  • platform/graphics/GLContext.h:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContext3D.cpp: Removed.
  • platform/graphics/GraphicsContext3DBase.cpp: Removed.
  • platform/graphics/GraphicsContextGL.cpp: Added.
  • platform/graphics/GraphicsContextGL.h: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DBase.h.
  • platform/graphics/GraphicsContextGLAttributes.h: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DAttributes.h.
  • platform/graphics/ImageBuffer.cpp:
  • platform/graphics/ImageBuffer.h:
  • platform/graphics/MediaPlayer.cpp:
  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:
  • platform/graphics/OpenGLShims.cpp:
  • platform/graphics/angle/ExtensionsGLANGLE.cpp: Renamed from Source/WebCore/platform/graphics/angle/Extensions3DANGLE.cpp.
  • platform/graphics/angle/ExtensionsGLANGLE.h: Renamed from Source/WebCore/platform/graphics/angle/Extensions3DANGLE.h.
  • platform/graphics/angle/GraphicsContextGLANGLE.cpp: Renamed from Source/WebCore/platform/graphics/angle/GraphicsContext3DANGLE.cpp.
  • platform/graphics/angle/TemporaryANGLESetting.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
  • platform/graphics/cairo/GraphicsContextGLCairo.cpp: Renamed from Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp.
  • platform/graphics/cairo/ImageBufferCairo.cpp:
  • platform/graphics/cg/GraphicsContextGLCG.cpp: Renamed from Source/WebCore/platform/graphics/cg/GraphicsContext3DCG.cpp.
  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm: Renamed from Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm.
  • platform/graphics/cocoa/IOSurface.mm:
  • platform/graphics/cocoa/WebGLLayer.h:
  • platform/graphics/cocoa/WebGLLayer.mm:
  • platform/graphics/cpu/arm/GraphicsContextGLNEON.h: Renamed from Source/WebCore/platform/graphics/cpu/arm/GraphicsContext3DNEON.h.
  • platform/graphics/cv/TextureCacheCV.h:
  • platform/graphics/cv/TextureCacheCV.mm:
  • platform/graphics/cv/VideoTextureCopierCV.cpp:
  • platform/graphics/cv/VideoTextureCopierCV.h:
  • platform/graphics/egl/GLContextEGL.cpp:
  • platform/graphics/egl/GLContextEGL.h:
  • platform/graphics/glx/GLContextGLX.cpp:
  • platform/graphics/glx/GLContextGLX.h:
  • platform/graphics/gpu/Texture.cpp:
  • platform/graphics/gpu/Texture.h:
  • platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/ios/GraphicsContextGLOpenGLESIOS.h: Renamed from Source/WebCore/platform/graphics/ios/GraphicsContext3DIOS.h.
  • platform/graphics/nicosia/texmap/NicosiaGC3DANGLELayer.cpp:
  • platform/graphics/nicosia/texmap/NicosiaGC3DANGLELayer.h:
  • platform/graphics/nicosia/texmap/NicosiaGC3DLayer.cpp:
  • platform/graphics/nicosia/texmap/NicosiaGC3DLayer.h:
  • platform/graphics/opengl/ExtensionsGLOpenGL.cpp: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp.
  • platform/graphics/opengl/ExtensionsGLOpenGL.h: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h.
  • platform/graphics/opengl/ExtensionsGLOpenGLCommon.cpp: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp.
  • platform/graphics/opengl/ExtensionsGLOpenGLCommon.h: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.h.
  • platform/graphics/opengl/ExtensionsGLOpenGLES.cpp: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLES.cpp.
  • platform/graphics/opengl/ExtensionsGLOpenGLES.h: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLES.h.
  • platform/graphics/opengl/GraphicsContextGLOpenGL.cpp: Added.
  • platform/graphics/opengl/GraphicsContextGLOpenGL.h: Renamed from Source/WebCore/platform/graphics/GraphicsContext3D.h.
  • platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp: Renamed from Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp.
  • platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp: Renamed from Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp.
  • platform/graphics/opengl/GraphicsContextGLOpenGLES.cpp: Renamed from Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp.
  • platform/graphics/opengl/GraphicsContextGLOpenGLManager.cpp: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DManager.cpp.
  • platform/graphics/opengl/GraphicsContextGLOpenGLManager.h: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DManager.h.
  • platform/graphics/opengl/GraphicsContextGLOpenGLPrivate.cpp: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp.
  • platform/graphics/opengl/GraphicsContextGLOpenGLPrivate.h: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DPrivate.h.
  • platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
  • platform/graphics/opengl/TemporaryOpenGLSetting.h:
  • platform/graphics/texmap/BitmapTextureGL.cpp:
  • platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp: Renamed from Source/WebCore/platform/graphics/texmap/GraphicsContext3DTextureMapper.cpp.
  • platform/graphics/texmap/TextureMapperGC3DPlatformLayer.cpp:
  • platform/graphics/texmap/TextureMapperGC3DPlatformLayer.h:
  • platform/graphics/texmap/TextureMapperGL.cpp:
  • platform/graphics/win/GraphicsContextGLDirect2D.cpp: Renamed from Source/WebCore/platform/graphics/win/GraphicsContext3DDirect2D.cpp.
  • testing/Internals.cpp:

Source/WebKit:

  • CMakeLists.txt:
  • UIProcess/gtk/WaylandCompositor.cpp:

(WebKit::WaylandCompositor::initializeEGL):

  • UIProcess/mac/HighPerformanceGPUManager.cpp:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::copyVideoTextureToPlatformTexture):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/mac/WebPageMac.mm:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::displayConfigurationChanged):

Source/WTF:

  • wtf/FeatureDefines.h:
  • wtf/Platform.h:

Tools:

  • Scripts/webkitpy/common/config/watchlist:
10:39 AM Changeset in webkit [254063] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKitLegacy/mac

[Web Animations] Enable CSS Animations via Web Animations for WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=205791

Patch by Antoine Quint <Antoine Quint> on 2020-01-06
Reviewed by Dean Jackson.

It was an oversight that it had not been done along with the WebKit change.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

10:33 AM Changeset in webkit [254062] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Remove unused variable jsDriverArgs from script
https://bugs.webkit.org/show_bug.cgi?id=205797

Patch by Paulo Matos <Paulo Matos> on 2020-01-06
Reviewed by Žan Doberšek.

  • Scripts/run-javascriptcore-tests:
10:24 AM Changeset in webkit [254061] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION(r218839): Web Inspector: Color picker: pressing Esc should hide color picker
https://bugs.webkit.org/show_bug.cgi?id=205570
<rdar://problem/58169820>

Reviewed by Brian Burg.

  • UserInterface/Views/QuickConsole.js:

(WI.QuickConsole.prototype.set keyboardShortcutDisabled):
(WI.QuickConsole.prototype._toggleOrFocus):
Restore keyboardShortcutDisabled setter, which was removed in r218839 without any explanation.

10:08 AM Changeset in webkit [254060] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac WK2 ] fast/text/international/unicode-bidi-other-neutrals.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=205808

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
9:56 AM Changeset in webkit [254059] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac Debug ] inspector/page/setBootstrapScript-main-frame.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=205807

Unreviewed test gardening.

  • platform/mac/TestExpectations:
9:48 AM Changeset in webkit [254058] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Canvas: unable to see recording actions for WebGL canvases that have lots of shader programs
https://bugs.webkit.org/show_bug.cgi?id=205659

Reviewed by Brian Burg.

Limit the height of the canvas and shader program tree a recording is selected.

  • UserInterface/Views/CanvasSidebarPanel.js:

(WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):

  • UserInterface/Views/CanvasSidebarPanel.css:

(.sidebar > .panel.navigation.canvas.showing-recording > .content > .tree-outline.canvas): Added.

9:39 AM Changeset in webkit [254057] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add support for passing test arguments in envvar TEST_JSC_ARGS
https://bugs.webkit.org/show_bug.cgi?id=205800

Patch by Paulo Matos <Paulo Matos> on 2020-01-06
Reviewed by Žan Doberšek.

Similarly to what is done in build-jsc, we add support to pass
extra command line arguments in environment variable TEST_JSC_ARGS.

  • Scripts/run-javascriptcore-tests:
9:33 AM Changeset in webkit [254056] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mojave ] tables/mozilla_expected_failures/bugs/bug2479-5.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205805
<rdar://problem/58342884>

Unreviewed.

Rebaseline after r254044.

  • platform/mac-mojave/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
9:09 AM Changeset in webkit [254055] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit

Remove unused GlobalFrameID from NetworkCacheSpeculativeLoad
https://bugs.webkit.org/show_bug.cgi?id=205796

Patch by Rob Buis <rbuis@igalia.com> on 2020-01-06
Reviewed by Chris Dumez.

Remove unused GlobalFrameID from NetworkCacheSpeculativeLoad
and NetworkCache::update.

No change in behavior.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponse):

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::update):

  • NetworkProcess/cache/NetworkCache.h:
  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:

(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
(WebKit::NetworkCache::SpeculativeLoad::didReceiveResponse):

  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
8:44 AM Changeset in webkit [254054] by Simon Fraser
  • 12 edits
    2 adds in trunk

REGRESSION (r252724): Unable to tap on play button on google video 'See the top search trends of 2019'
https://bugs.webkit.org/show_bug.cgi?id=205694
<rdar://problem/58062987>

Reviewed by Zalan Bujtas.

Source/WebCore:

After r252724, which separated 'used' from 'specified' z-index in style, we need to copy
the specified to the used z-index in animated styles, while preserving the existing 'forceStackingContext'
behavior which set the used z-index to 0.

Do so by creating Adjuster::adjustAnimatedStyle(), which is called from TreeResolver::createAnimatedElementUpdate()
if any animations could have affected the style. We need to pass back information about whether the animation should
force stacking context.

Test: animations/z-index-in-keyframe.html

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::apply):

  • animation/KeyframeEffect.h:

(WebCore::KeyframeEffect::triggersStackingContext const):

  • dom/Element.cpp:

(WebCore::Element::applyKeyframeEffects):

  • dom/Element.h:
  • page/animation/CSSAnimationController.h:

(): Deleted.

  • page/animation/CompositeAnimation.cpp:

(WebCore::CompositeAnimation::animate):

  • style/StyleAdjuster.cpp:

(WebCore::Style::Adjuster::adjustAnimatedStyle):

  • style/StyleAdjuster.h:
  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::createAnimatedElementUpdate):

LayoutTests:

  • animations/z-index-in-keyframe-expected.html: Added.
  • animations/z-index-in-keyframe.html: Added.
8:36 AM Changeset in webkit [254053] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Regression r254029: imported/w3c/web-platform-tests/html/dom/idlharness.https.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205803

Unreviewed, rebaseline WPT test on iOS after r254029, now that more checks are passing.

  • platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
8:03 AM Changeset in webkit [254052] by pvollan@apple.com
  • 16 edits
    2 adds in trunk

[iOS] Issue mach lookup extension to launch services daemon for Mail
https://bugs.webkit.org/show_bug.cgi?id=205316

Reviewed by Brent Fulgham.

Source/WebCore:

Export function getting bundle identifier.

Test: fast/sandbox/ios/sandbox-mach-lookup-mail.html

  • platform/RuntimeApplicationChecks.h:

Source/WebKit:

Issue mach lookup extension to "com.apple.lsd.open" for Mail, since this service will be removed from the WebContent sandbox.

Test: fast/sandbox/ios/sandbox-mach-lookup-mail.html

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
  • UIProcess/API/Cocoa/WKWebViewTesting.mm:

(+[WKWebView _setApplicationBundleIdentifier:]):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

Tools:

Add test option to set bundle identifier. Using this, WebKitTestRunner can pretend to be any client, e.g. Mail.

Test: fast/sandbox/ios/sandbox-mach-lookup-mail.html

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions):
(WTR::updateTestOptionsFromTestHeader):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestOptions.h:

(WTR::TestOptions::hasSameInitializationOptions const):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::setApplicationBundleIdentifier):

LayoutTests:

  • fast/sandbox/ios/sandbox-mach-lookup-mail-expected.txt: Added.
  • fast/sandbox/ios/sandbox-mach-lookup-mail.html: Added.
7:02 AM Changeset in webkit [254051] by youenn@apple.com
  • 5 edits in trunk/Source

RemoteVideoSample::create does not need to take a MediaSample r value
https://bugs.webkit.org/show_bug.cgi?id=205793

Reviewed by Eric Carlson.

Source/WebCore:

No change of behavior.

  • platform/graphics/RemoteVideoSample.cpp:

(WebCore::RemoteVideoSample::create):

  • platform/graphics/RemoteVideoSample.h:

Source/WebKit:

  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
1:47 AM Changeset in webkit [254050] by youenn@apple.com
  • 26 edits
    1 copy
    3 adds in trunk/Source

Implement RTC VTB encoders in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=205713

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Add support for remote video encoders created and used through simple routines.
Add factory to create video encoders implemented elsewhere than in WebRTC backend.
This is used for H264 encoders.

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:
  • Source/webrtc/sdk/WebKit/WebKitEncoder.h: Added.

(webrtc::WebKitRTPFragmentationHeader::value):
(webrtc::WebKitEncodedFrameInfo::decode):
(webrtc::WebKitEncodedFrameInfo::encode const):
(webrtc::WebKitRTPFragmentationHeader::WebKitRTPFragmentationHeader):
(webrtc::WebKitRTPFragmentationHeader::encode const):
(webrtc::WebKitRTPFragmentationHeader::decode):

  • Source/webrtc/sdk/WebKit/WebKitEncoder.mm: Added.

(webrtc::VideoEncoderFactoryWithSimulcast::CreateVideoEncoder):
(webrtc::videoEncoderCallbacks):
(webrtc::setVideoEncoderCallbacks):
(webrtc::RemoteVideoEncoder::RemoteVideoEncoder):
(webrtc::RemoteVideoEncoder::InitEncode):
(webrtc::RemoteVideoEncoder::Release):
(webrtc::RemoteVideoEncoder::Encode):
(webrtc::RemoteVideoEncoder::SetRates):
(webrtc::RemoteVideoEncoder::GetEncoderInfo const):
(webrtc::RemoteVideoEncoder::RegisterEncodeCompleteCallback):
(webrtc::RemoteVideoEncoder::encodeComplete):
(webrtc::createLocalEncoder):
(webrtc::releaseLocalEncoder):
(webrtc::initializeLocalEncoder):
(webrtc::encodeLocalEncoderFrame):
(webrtc::setLocalEncoderRates):

  • Source/webrtc/sdk/WebKit/WebKitUtilities.h:
  • Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
  • libwebrtc.xcodeproj/project.pbxproj:

Source/WebCore:

Refactoring to expose a createPixelBuffer routine, to set/get RemoteVideoSample and to create a CVPixelBuffer from an IOSurfaceRef.

Covered by existing tests, in particular webrtc/video-gpuProcess.html.

  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/RemoteVideoSample.cpp:

(WebCore::RemoteVideoSample::create):

  • platform/graphics/RemoteVideoSample.h:

(WebCore::RemoteVideoSample::rotation const):

  • platform/graphics/cv/ImageTransferSessionVT.h:
  • platform/graphics/cv/ImageTransferSessionVT.mm:

(WebCore::ImageTransferSessionVT::createPixelBuffer):

  • platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:

(WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferPool):

  • platform/mediastream/mac/RealtimeVideoUtilities.h:
  • platform/mediastream/mac/RealtimeVideoUtilities.mm: Added.

(WebCore::createPixelBufferPool):

Source/WebKit:

Add support for remote video encoders in GPUProcess based on libwebrtc exposed routines.
WebProcess sets callbacks in the webrtc backend to implement H264 encoding as a remote video encoder.
In addition to video frames, we also need to send rate setting orders.

  • Configurations/WebKit.xcconfig:
  • GPUProcess/webrtc/LibWebRTCCodecsProxy.h:
  • GPUProcess/webrtc/LibWebRTCCodecsProxy.messages.in:
  • GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:

(WebKit::LibWebRTCCodecsProxy::~LibWebRTCCodecsProxy):
(WebKit::LibWebRTCCodecsProxy::createEncoder):
(WebKit::LibWebRTCCodecsProxy::releaseEncoder):
(WebKit::LibWebRTCCodecsProxy::initializeEncoder):
(WebKit::toWebRTCVideoRotation):
(WebKit::LibWebRTCCodecsProxy::encodeFrame):
(WebKit::LibWebRTCCodecsProxy::setEncodeRates):

  • Scripts/webkit/messages.py:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:

(WebKit::createVideoEncoder):
(WebKit::releaseVideoEncoder):
(WebKit::initializeVideoEncoder):
(WebKit::toMediaSampleVideoRotation):
(WebKit::encodeVideoFrame):
(WebKit::registerEncodeCompleteCallback):
(WebKit::setEncodeRatesCallback):
(WebKit::LibWebRTCCodecs::setCallbacks):
(WebKit::LibWebRTCCodecs::createDecoder):
(WebKit::LibWebRTCCodecs::releaseDecoder):
(WebKit::LibWebRTCCodecs::failedDecoding):
(WebKit::LibWebRTCCodecs::completedDecoding):
(WebKit::LibWebRTCCodecs::createEncoder):
(WebKit::LibWebRTCCodecs::releaseEncoder):
(WebKit::LibWebRTCCodecs::initializeEncoder):
(WebKit::LibWebRTCCodecs::encodeFrame):
(WebKit::LibWebRTCCodecs::registerEncodeFrameCallback):
(WebKit::LibWebRTCCodecs::setEncodeRates):
(WebKit::LibWebRTCCodecs::completedEncoding):
(WebKit::LibWebRTCCodecs::pixelBufferPool):

  • WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
  • WebProcess/GPU/webrtc/LibWebRTCCodecs.messages.in:
  • WebProcess/GPU/webrtc/RTCEncoderIdentifier.h: Added.
  • WebProcess/Network/webrtc/LibWebRTCProvider.cpp:

(WebKit::LibWebRTCProvider::createDecoderFactory):

1:12 AM Changeset in webkit [254049] by Philippe Normand
  • 2 edits in trunk/Tools

[WPE][Qt] TestRunJavaScript failure
https://bugs.webkit.org/show_bug.cgi?id=205766

Reviewed by Carlos Garcia Campos.

  • TestWebKitAPI/Tests/WPEQt/TestRunJavaScript.cpp:

(TestRunJavaScript::main): Surround JS function with parentheses
to comply with the ECMAScript specification.

Jan 5, 2020:

9:47 PM Changeset in webkit [254048] by eric.carlson@apple.com
  • 19 edits
    1 copy
    1 add in trunk/Source

[Media in GPU process] Add remote MIME type cache
https://bugs.webkit.org/show_bug.cgi?id=205763
<rdar://problem/58312152>

Reviewed by Dean Jackson.
Source/WebCore:

Create a MIME type cache for RemoteMediaPlayerManager so types without a
'codecs' parameter don't typically require IPC, and when it is required the
result is cached so it is only required once.

  • platform/graphics/MIMETypeCache.cpp:

(WebCore::MIMETypeCache::supportsContainerType):
(WebCore::MIMETypeCache::canDecodeType):
(WebCore::MIMETypeCache::setSupportedTypes):
(WebCore::MIMETypeCache::staticContainerTypeList):
(WebCore::MIMETypeCache::isUnsupportedContainerType):
(WebCore::MIMETypeCache::isAvailable const):
(WebCore::MIMETypeCache::isEmpty const):
(WebCore::MIMETypeCache::initializeCache):
(WebCore::MIMETypeCache::canDecodeExtendedType):
(WebCore::MIMETypeCache::canDecodeTypePrivate): Deleted.
(WebCore::MIMETypeCache::addSupportedTypes): Deleted.
(WebCore::MIMETypeCache::addSupportedType): Deleted.

  • platform/graphics/MIMETypeCache.h:

(WebCore::MIMETypeCache::isUnsupportedContainerType): Deleted.
(WebCore::MIMETypeCache::isAvailable const): Deleted.
(WebCore::MIMETypeCache::isEmpty const): Deleted.
(WebCore::MIMETypeCache::canDecodeTypeInternal): Deleted.
(WebCore::MIMETypeCache::initializeCache): Deleted.

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

(WebCore::AVAssetMIMETypeCache::canDecodeExtendedType):
(WebCore::AVAssetMIMETypeCache::setSupportedTypes):
(WebCore::AVAssetMIMETypeCache::canDecodeTypeInternal): Deleted.

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

(WebCore::AVStreamDataParserMIMETypeCache::canDecodeExtendedType):
(WebCore::AVStreamDataParserMIMETypeCache::canDecodeTypeInternal): Deleted.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsTypeAndCodecs):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Deleted.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType):

Source/WebKit:

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:

(WebKit::RemoteMediaPlayerManagerProxy::supportsTypeAndCodecs):
(WebKit::RemoteMediaPlayerManagerProxy::canDecodeExtendedType):
(WebKit::RemoteMediaPlayerManagerProxy::supportsType): Deleted.

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerManagerProxy.messages.in:
  • Sources.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/media/RemoteMediaPlayerMIMETypeCache.cpp: Added.

(WebKit::RemoteMediaPlayerMIMETypeCache::RemoteMediaPlayerMIMETypeCache):
(WebKit::RemoteMediaPlayerMIMETypeCache::mimeCache const):
(WebKit::RemoteMediaPlayerMIMETypeCache::isAvailable const):
(WebKit::RemoteMediaPlayerMIMETypeCache::staticContainerTypeList):
(WebKit::RemoteMediaPlayerMIMETypeCache::isUnsupportedContainerType):
(WebKit::RemoteMediaPlayerMIMETypeCache::canDecodeExtendedType):
(WebKit::RemoteMediaPlayerMIMETypeCache::supportsTypeAndCodecs):
(WebKit::RemoteMediaPlayerMIMETypeCache::initializeCache):

  • WebProcess/GPU/media/RemoteMediaPlayerMIMETypeCache.h: Added.
  • WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:

(WebKit::mimeCaches):
(WebKit::RemoteMediaPlayerManager::typeCache):
(WebKit::RemoteMediaPlayerManager::initialize):
(WebKit::RemoteMediaPlayerManager::getSupportedTypes):
(WebKit::RemoteMediaPlayerManager::supportsTypeAndCodecs):

  • WebProcess/GPU/media/RemoteMediaPlayerManager.h:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::setMediaMIMETypes):

5:36 PM Changeset in webkit [254047] by Wenson Hsieh
  • 5 edits in trunk/Source/WebCore

Work towards implementing DisplayList::DrawGlyphs
https://bugs.webkit.org/show_bug.cgi?id=205782

Reviewed by Sam Weinig.

Encode DrawGlyphs when serializing the drawing item over IPC, with the exception of data in WebCore::Font.
No change in behavior.

  • platform/graphics/GlyphBuffer.h:

Make GlyphBufferAdvance codable.

(WebCore::GlyphBufferAdvance::encode const):
(WebCore::GlyphBufferAdvance::decode):

  • platform/graphics/displaylists/DisplayListItems.cpp:
  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::DrawGlyphs::encode const):
(WebCore::DisplayList::DrawGlyphs::decode):
(WebCore::DisplayList::Item::encode const):
(WebCore::DisplayList::Item::decode):

  • platform/text/TextFlags.h:

Add EnumTraits for FontSmoothingMode, so that it is encodable using <<.

4:20 PM Changeset in webkit [254046] by weinig@apple.com
  • 25 edits
    1 add in trunk

Further simplify StringBuilder usage by standardizing hex formating to a single hex() function
https://bugs.webkit.org/show_bug.cgi?id=205759

Reviewed by Dean Jackson.

Source/JavaScriptCore:

  • heap/HeapSnapshotBuilder.cpp:

(JSC::HeapSnapshotBuilder::json):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::encode):
(JSC::globalFuncEscape):
Replace appendUnsignedAsHex() and appendByteAsHex() with append(hex()).

Source/WebCore:

  • Modules/websockets/WebSocket.cpp:

(WebCore::encodeProtocolString):

  • css/CSSMarkup.cpp:

(WebCore::serializeCharacterAsCodePoint):

  • css/parser/CSSParserToken.cpp:

(WebCore::CSSParserToken::serialize const):

  • platform/graphics/Color.cpp:

(WebCore::Color::serialized const):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::generateHashedName):

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::generateBaseFilename):

  • rendering/RenderTreeAsText.cpp:

(WebCore::quoteAndEscapeNonPrintables):
Replace appendByteAsHex()/appendUnsignedAsHex()/appendUnsignedAsHexFixedSize() with append(hex()).

  • platform/network/FormDataBuilder.cpp:

(WebCore::FormDataBuilder::appendFormURLEncoded):
This was the last non-StringBuilder/makeString use of appendByteAsHex. Rather than keep appendByteAsHex
around, it is replaced with direct appends of the character buffer hex() produces.

Source/WebKit:

  • UIProcess/DeviceIdHashSaltStorage.cpp:

(WebKit::DeviceIdHashSaltStorage::completeDeviceIdHashSaltForOriginCall):

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::loggingString):
Replace appendUnsignedAsHex() with append(hex()).

Source/WTF:

Removes appendByteAsHex, appendUnsignedAsHex and appendUnsignedAsHexFixedSize with the
following mappings:

appendByteAsHex(value, builder, case)

-> builder.append(hex(static_cast<unsigned char>(value), 2, case))

appendUnsignedAsHex(value, builder, case)

-> builder.append(hex(value, case))

appendUnsignedAsHexFixedSize(value, builder, size, case)

-> builder.append(hex(value, size, case))

Adds new API test for HexNumber.cpp

  • wtf/HexNumber.h:

(WTF::appendByteAsHex): Deleted.
(WTF::appendUnsignedAsHex): Deleted.
(WTF::appendUnsignedAsHexFixedSize): Deleted.
Remove now unused helper functions.

  • wtf/FileSystem.cpp:

(WTF::FileSystemImpl::encodeForFileName):
Replace appendByteAsHex with direct use of hex(x, 2). The static_cast is needed
since there was an implicit down cast when appendByteAsHex was used.

  • wtf/Logger.cpp:

(WTF::Logger::LogSiteIdentifier::toString const):
(WTF::>::toString):

  • wtf/UUID.cpp:

(WTF::createCanonicalUUIDString):
Replace appendUnsignedAsHex/appendUnsignedAsHexFixedSize with hex(). Use makeString()
rather StringBuilder to simplify things further.

  • wtf/text/WTFString.cpp:

(asciiDebug):
Replace appendUnsignedAsHexFixedSize with append(hex()).

Tools:

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/HexNumber.cpp: Added.

Add testing for hex formatting of integers.

3:22 PM Changeset in webkit [254045] by commit-queue@webkit.org
  • 4 edits in trunk/Source/ThirdParty/ANGLE

REGRESSION (r253926): Flaky crashes on webgl/1.0.3/conformance/textures/texture-copying-feedback-loops.html and webgl/2.0.0/conformance/textures/misc/texture-copying-feedback-loops.html
https://bugs.webkit.org/show_bug.cgi?id=205707

Work around bugs in Intel's graphics driver where operations can
be incorrectly reordered across glBindFramebuffer calls by
flushing before/after these calls. Conclusively addresses this
crash; may also address other layout test flakiness seen when
switching to ANGLE backend for WebGL.

Patch by Kenneth Russell <kbr@chromium.org> on 2020-01-05
Reviewed by Dean Jackson.

  • include/platform/FeaturesGL.h:
  • src/libANGLE/renderer/gl/StateManagerGL.cpp:

(rx::StateManagerGL::bindFramebuffer):

  • src/libANGLE/renderer/gl/renderergl_utils.cpp:

(rx::nativegl_gl::InitializeFeatures):

11:23 AM Changeset in webkit [254044] by Alan Bujtas
  • 397 edits
    1 add in trunk

[SLL] Generate runs for preserved new lines
https://bugs.webkit.org/show_bug.cgi?id=205762
<rdar://problem/58311927>

Reviewed by Antti Koivisto.

Source/WebCore:

It matches CLL (and IFC) behavior.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::createLineRuns):

LayoutTests:

  • platform/mac/css1/basic/containment-expected.txt:
  • platform/mac/css1/basic/contextual_selectors-expected.txt:
  • platform/mac/css1/basic/grouping-expected.txt:
  • platform/mac/css1/basic/id_as_selector-expected.txt:
  • platform/mac/css1/basic/inheritance-expected.txt:
  • platform/mac/css1/box_properties/border-expected.txt:
  • platform/mac/css1/box_properties/border_bottom-expected.txt:
  • platform/mac/css1/box_properties/border_bottom_inline-expected.txt:
  • platform/mac/css1/box_properties/border_bottom_width-expected.txt:
  • platform/mac/css1/box_properties/border_bottom_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_color-expected.txt:
  • platform/mac/css1/box_properties/border_color_inline-expected.txt:
  • platform/mac/css1/box_properties/border_inline-expected.txt:
  • platform/mac/css1/box_properties/border_left-expected.txt:
  • platform/mac/css1/box_properties/border_left_inline-expected.txt:
  • platform/mac/css1/box_properties/border_left_width-expected.txt:
  • platform/mac/css1/box_properties/border_left_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_right-expected.txt:
  • platform/mac/css1/box_properties/border_right_inline-expected.txt:
  • platform/mac/css1/box_properties/border_right_width-expected.txt:
  • platform/mac/css1/box_properties/border_right_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_style-expected.txt:
  • platform/mac/css1/box_properties/border_style_inline-expected.txt:
  • platform/mac/css1/box_properties/border_top-expected.txt:
  • platform/mac/css1/box_properties/border_top_inline-expected.txt:
  • platform/mac/css1/box_properties/border_top_width-expected.txt:
  • platform/mac/css1/box_properties/border_top_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_width-expected.txt:
  • platform/mac/css1/box_properties/border_width_inline-expected.txt:
  • platform/mac/css1/box_properties/clear-expected.txt:
  • platform/mac/css1/box_properties/clear_float-expected.txt:
  • platform/mac/css1/box_properties/float-expected.txt:
  • platform/mac/css1/box_properties/float_elements_in_series-expected.txt:
  • platform/mac/css1/box_properties/float_margin-expected.txt:
  • platform/mac/css1/box_properties/height-expected.txt:
  • platform/mac/css1/box_properties/margin-expected.txt:
  • platform/mac/css1/box_properties/margin_bottom-expected.txt:
  • platform/mac/css1/box_properties/margin_bottom_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_left-expected.txt:
  • platform/mac/css1/box_properties/margin_left_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_right-expected.txt:
  • platform/mac/css1/box_properties/margin_right_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_top-expected.txt:
  • platform/mac/css1/box_properties/margin_top_inline-expected.txt:
  • platform/mac/css1/box_properties/padding-expected.txt:
  • platform/mac/css1/box_properties/padding_bottom-expected.txt:
  • platform/mac/css1/box_properties/padding_bottom_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_left-expected.txt:
  • platform/mac/css1/box_properties/padding_left_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_right-expected.txt:
  • platform/mac/css1/box_properties/padding_right_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_top-expected.txt:
  • platform/mac/css1/box_properties/padding_top_inline-expected.txt:
  • platform/mac/css1/box_properties/width-expected.txt:
  • platform/mac/css1/cascade/cascade_order-expected.txt:
  • platform/mac/css1/cascade/important-expected.txt:
  • platform/mac/css1/classification/display-expected.txt:
  • platform/mac/css1/classification/list_style-expected.txt:
  • platform/mac/css1/classification/list_style_image-expected.txt:
  • platform/mac/css1/classification/list_style_position-expected.txt:
  • platform/mac/css1/classification/list_style_type-expected.txt:
  • platform/mac/css1/classification/white_space-expected.txt:
  • platform/mac/css1/color_and_background/background-expected.txt:
  • platform/mac/css1/color_and_background/background_attachment-expected.txt:
  • platform/mac/css1/color_and_background/background_color-expected.txt:
  • platform/mac/css1/color_and_background/background_image-expected.txt:
  • platform/mac/css1/color_and_background/background_position-expected.txt:
  • platform/mac/css1/color_and_background/background_repeat-expected.txt:
  • platform/mac/css1/color_and_background/color-expected.txt:
  • platform/mac/css1/conformance/forward_compatible_parsing-expected.txt:
  • platform/mac/css1/font_properties/font-expected.txt:
  • platform/mac/css1/font_properties/font_family-expected.txt:
  • platform/mac/css1/font_properties/font_size-expected.txt:
  • platform/mac/css1/font_properties/font_style-expected.txt:
  • platform/mac/css1/font_properties/font_variant-expected.txt:
  • platform/mac/css1/font_properties/font_weight-expected.txt:
  • platform/mac/css1/formatting_model/canvas-expected.txt:
  • platform/mac/css1/formatting_model/floating_elements-expected.txt:
  • platform/mac/css1/formatting_model/height_of_lines-expected.txt:
  • platform/mac/css1/formatting_model/inline_elements-expected.txt:
  • platform/mac/css1/formatting_model/replaced_elements-expected.txt:
  • platform/mac/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/mac/css1/pseudo/anchor-expected.txt:
  • platform/mac/css1/pseudo/firstletter-expected.txt:
  • platform/mac/css1/pseudo/firstline-expected.txt:
  • platform/mac/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/mac/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
  • platform/mac/css1/text_properties/letter_spacing-expected.txt:
  • platform/mac/css1/text_properties/line_height-expected.txt:
  • platform/mac/css1/text_properties/text_align-expected.txt:
  • platform/mac/css1/text_properties/text_decoration-expected.txt:
  • platform/mac/css1/text_properties/text_indent-expected.txt:
  • platform/mac/css1/text_properties/text_transform-expected.txt:
  • platform/mac/css1/text_properties/vertical_align-expected.txt:
  • platform/mac/css1/text_properties/word_spacing-expected.txt:
  • platform/mac/css1/units/color_units-expected.txt:
  • platform/mac/css1/units/length_units-expected.txt:
  • platform/mac/css1/units/percentage_units-expected.txt:
  • platform/mac/css1/units/urls-expected.txt:
  • platform/mac/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
  • platform/mac/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
  • platform/mac/fast/css/empty-pseudo-class-expected.txt:
  • platform/mac/fast/css/first-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/last-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/only-child-pseudo-class-expected.txt:
  • platform/mac/fast/frames/onlyCommentInIFrame-expected.txt:
  • platform/mac/fast/html/listing-expected.txt:
  • platform/mac/fast/invalid/junk-data-expected.txt:
  • platform/mac/fast/invalid/missing-end-tag-expected.txt:
  • platform/mac/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
  • platform/mac/fast/parser/xhtml-alternate-entities-expected.txt:
  • platform/mac/fast/table/border-collapsing/004-expected.txt:
  • platform/mac/fast/table/border-collapsing/004-vertical-expected.txt:
  • platform/mac/fast/text/whitespace/001-expected.txt:
  • platform/mac/fast/text/whitespace/013-expected.txt:
  • platform/mac/fast/text/whitespace/014-expected.txt:
  • platform/mac/fast/text/whitespace/022-expected.txt:
  • platform/mac/fast/text/whitespace/023-expected.txt: Added.
  • platform/mac/fast/text/whitespace/024-expected.txt:
  • platform/mac/fast/text/whitespace/030-expected.txt:
  • platform/mac/fast/text/word-break-expected.txt:
  • platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt:
  • platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/mac/svg/custom/bug45331-expected.txt:
  • platform/mac/svg/custom/junk-data-expected.txt:
  • platform/mac/svg/custom/missing-xlink-expected.txt:
  • platform/mac/svg/custom/path-bad-data-expected.txt:
  • platform/mac/svg/custom/use-font-face-crash-expected.txt:
  • platform/mac/svg/hixie/error/012-expected.txt:
  • platform/mac/tables/mozilla/bugs/45621-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug139524-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug157890-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
11:18 AM Changeset in webkit [254043] by commit-queue@webkit.org
  • 9 edits in trunk

Tighten up stylesheet loading
https://bugs.webkit.org/show_bug.cgi?id=189913

Patch by Rob Buis <rbuis@igalia.com> on 2020-01-05
Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Update improved test result.

  • web-platform-tests/html/semantics/document-metadata/the-link-element/link-load-error-events.https-expected.txt:

Source/WebCore:

When fetching and processing a linked resource [1], step 11.3 states
that fetch failure should result in a network error. This patch
implements that for stylesheets.

The behavior matches Chrome and Firefox.

[1] https://html.spec.whatwg.org/multipage/semantics.html#default-fetch-and-process-the-linked-resource

Test: imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/link-load-error-events.https.html

  • css/StyleRuleImport.cpp:

(WebCore::StyleRuleImport::requestStyleSheet):

  • css/StyleSheetContents.h:
  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::process):

LayoutTests:

Adjust test to new behavior.

  • http/tests/security/mixedContent/insecure-stylesheet-redirects-to-basic-auth-secure-stylesheet-expected.txt:
  • http/tests/security/mixedContent/resources/frame-with-insecure-stylesheet-redirects-to-basic-auth-secure-stylesheet.html:
9:58 AM Changeset in webkit [254042] by Simon Fraser
  • 11 edits in trunk

Source/WebCore/PAL:
DumpRenderTree doesn't always call updateRendering() when a test completes
https://bugs.webkit.org/show_bug.cgi?id=205761

Reviewed by Darin Adler.

Add -[CATransaction synchronize].

  • pal/spi/cocoa/QuartzCoreSPI.h:

Source/WebKit:
DumpRenderTree doesn't always call updateRendering() when a test completes
https://bugs.webkit.org/show_bug.cgi?id=205761

Reviewed by Darin Adler.

Use the QuartzCore SPI header.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

Source/WebKitLegacy/mac:
Fix a souce of WebKit1 test flakiness
https://bugs.webkit.org/show_bug.cgi?id=205761

Reviewed by Darin Adler.

Some animation tests (and possibly many others) are flakey or broken in WK1 because
there was no code to guarantee that Page::updateRendering() was called at notifyDone()
time.

WK2 calls DrawingArea::forceRepaint(), which does updateRendering(), flushes layers,
and flushes a CATransaction.

In WK1, we historically relied in AppKit to call -viewWillDraw on WebView and/or WebHTMLView,
and just called [webView display] to make this happen. However, with layer backing, AppKit behavior
changes, and WebCore changes that make more things happen with HTML event loop timing, this
approach no longer works. The fix is to add WebView SPI, _forceRepaintForTesting, which emulates what
WK2 is doing.

  • WebView/WebView.mm:

(-[WebView _forceRepaintForTesting]):

  • WebView/WebViewPrivate.h:

Tools:
DumpRenderTree doesn't always call updateRendering() when a test completes
https://bugs.webkit.org/show_bug.cgi?id=205761

Reviewed by Darin Adler.

Some animation tests (and possibly many others) are flakey or broken in WK1 because
there was no code to guarantee that Page::updateRendering() was called at notifyDone()
time.

WK2 calls DrawingArea::forceRepaint(), which does updateRendering(), flushes layers,
and flushes a CATransaction.

In WK1, we historically relied in AppKit to call -viewWillDraw on WebView and/or WebHTMLView,
and just called [webView display] to make this happen. However, with layer backing, AppKit behavior
changes, and WebCore changes that make more things happen with HTML event loop timing, this
approach no longer works. The fix is to add WebView SPI, _forceRepaintForTesting, which emulates what
WK2 is doing.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(updateDisplay):

  • DumpRenderTree/mac/PixelDumpSupportMac.mm:
7:13 AM Changeset in webkit [254041] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Fix compositing/masks/compositing-clip-path-change-no-repaint.html
https://bugs.webkit.org/show_bug.cgi?id=205771
<rdar://problem/58319828>

Reviewed by Antti Koivisto.

Add LFC line layout check when deciding whether the current layout path needs
invalidation after style change.

Original patch by Antti.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::styleDidChange):

6:50 AM Changeset in webkit [254040] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Fix fast/repaint/simple-line-layout-shrinking-content.html
https://bugs.webkit.org/show_bug.cgi?id=205773
<rdar://problem/58319960>

Reviewed by Antti Koivisto.

Let's add padding and border to the repaint rect (which is not quite right since at this level reapint rect should
be about the content change, but that's what SLL does and it fixes some repaint issues when
the box with padding/border shrinks).

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutLFCLines):

3:06 AM Changeset in webkit [254039] by youenn@apple.com
  • 10 edits in trunk/Source/WebCore

Make MediaRecorderPrivate use CompletionHandler for retrieving encoded data
https://bugs.webkit.org/show_bug.cgi?id=205726

Reviewed by Eric Carlson.

Refactoring to allow asynchronous fetching of data.
No change of behavior.

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::stopRecording):
(WebCore::MediaRecorder::createRecordingDataBlob): Deleted.

  • Modules/mediarecorder/MediaRecorder.h:
  • platform/mediarecorder/MediaRecorderPrivate.h:
  • platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:

(WebCore::MediaRecorderPrivateAVFImpl::fetchData):

  • platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
  • platform/mediarecorder/MediaRecorderPrivateMock.cpp:

(WebCore::MediaRecorderPrivateMock::fetchData):

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

(WebCore::MediaRecorderPrivateWriter::fetchData):

12:55 AM Changeset in webkit [254038] by Ross Kirsling
  • 12 edits in trunk

JavaScript: Invalid date parse for ISO 8601 strings when no timezone given
https://bugs.webkit.org/show_bug.cgi?id=89071

Reviewed by Darin Adler.

Source/JavaScriptCore:

Since ES2016, the specification for Date.parse has included the following statement:

When the UTC offset representation is absent, date-only forms are interpreted as a UTC time
and date-time forms are interpreted as a local time.

This patch updates us from the old ES5 behavior, which treated offsetless date-time forms as UTC.

  • runtime/JSDateMath.cpp:

(JSC::parseDateFromNullTerminatedCharacters):
(JSC::parseES5DateFromNullTerminatedCharacters): Added.
(JSC::parseDate):

  • runtime/JSDateMath.h:

Make a local time adjustment if necessary after calling WTF::parseES5DateFromNullTerminatedCharacters.

Source/WTF:

  • wtf/DateMath.cpp:

(WTF::parseES5TimePortion):
(WTF::parseES5DateFromNullTerminatedCharacters):

  • wtf/DateMath.h:

Add an out param to tell JSC whether we still need to do a local time adjustment.

LayoutTests:

  • js/date-parse-test-expected.txt:
  • js/script-tests/date-parse-test.js:

Update test to match new behavior.

  • storage/indexeddb/modern/resources/date-basic.js:
  • storage/indexeddb/modern/resources/get-keyrange.js:
  • storage/indexeddb/modern/resources/idbobjectstore-delete-1.js:

Fix tests relying on obsolete behavior.

Note: See TracTimeline for information about the timeline view.