Timeline
Dec 31, 2020:
- 7:38 PM Changeset in webkit [271117] by
-
- 3 edits1 add in trunk
JSFunction::deleteProperty() fails to delete a non-existent "prototype" property
https://bugs.webkit.org/show_bug.cgi?id=220211
Reviewed by Yusuke Suzuki.
JSTests:
- stress/function-delete-prototype.js: Added.
Source/JavaScriptCore:
This patch replaces arrow function check with hasPrototypeProperty() since there
are more functions without a "prototype" (accessors, methods, async functions),
aligning JSC with the spec, V8, and SpiderMonkey.
hasPrototypeProperty() is already used by JSFunction::getOwnPropertySlot().
- runtime/JSFunction.cpp:
(JSC::JSFunction::deleteProperty):
- 8:29 AM Changeset in webkit [271116] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Horizontal padding/border makes the inline box non-empty
https://bugs.webkit.org/show_bug.cgi?id=220208
Reviewed by Antti Koivisto.
<span style="padding-left: 1px"></span> makes this inline box non-empty and it stretches the line box.
(note that horizontal margin does not make the inline box non-empty)
(fast/inline/inline-padding-disables-text-quirk.html)
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
Dec 30, 2020:
- 7:27 PM Changeset in webkit [271115] by
-
- 8 edits in trunk
[JSC] WebAssembly Table/Memory/Global should allow inheritance
https://bugs.webkit.org/show_bug.cgi?id=220207
Reviewed by Alexey Shvayka.
LayoutTests/imported/w3c:
- web-platform-tests/wasm/jsapi/proto-from-ctor-realm-expected.txt:
- web-platform-tests/wasm/jsapi/prototypes.any-expected.txt:
- web-platform-tests/wasm/jsapi/prototypes.any.worker-expected.txt:
Source/JavaScriptCore:
WebAssembly.{Table,Memory,Global} should accept inheritance by JS class syntax.
We need to create structure from new.target value.
- wasm/js/WebAssemblyGlobalConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyMemoryConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyTableConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- 7:20 PM Changeset in webkit [271114] by
-
- 3 edits1 add in trunk
Unreviewed, fix iteration count check
https://bugs.webkit.org/show_bug.cgi?id=220206
JSTests:
- wasm/stress/multivalue-iteration-count.js: Added.
(async let):
Source/JavaScriptCore:
We should have iterationCount variable to track iteration count since it can be larger than MarkedArgumentBuffer's size.
- wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
- 6:49 PM Changeset in webkit [271113] by
-
- 5 edits in trunk
[JSC] Wasm multivalue should iterate iterable result from JS function first before converting values
https://bugs.webkit.org/show_bug.cgi?id=220206
Reviewed by Alexey Shvayka.
LayoutTests/imported/w3c:
- web-platform-tests/wasm/jsapi/constructor/multi-value.any-expected.txt:
- web-platform-tests/wasm/jsapi/constructor/multi-value.any.worker-expected.txt:
Source/JavaScriptCore:
When converting JS results to Wasm multivalue (result from JS when executing Wasm->JS calls), we should first iterate all results from iterable.
And then, we should convert each element into Wasm value. Currently, we are converting while iterating, this is not aligned to the spec.
- wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
- 4:04 PM Changeset in webkit [271112] by
-
- 17 edits1 add in trunk
[JSC] Update WebAssembly instance's exports object
https://bugs.webkit.org/show_bug.cgi?id=220189
Reviewed by Alexey Shvayka.
JSTests:
- stress/sampling-profiler-wasm-name-section.js:
(platformSupportsSamplingProfiler.vm.isWasmSupported):
- stress/sampling-profiler-wasm.js:
(platformSupportsSamplingProfiler.vm.isWasmSupported):
- wasm/js-api/test_basic_api.js:
(const.c.in.constructorProperties.switch):
- wasm/stress/exports-object.js: Added.
(async try):
(catch):
LayoutTests/imported/w3c:
- web-platform-tests/wasm/jsapi/constructor/instantiate.any-expected.txt:
- web-platform-tests/wasm/jsapi/constructor/instantiate.any.worker-expected.txt:
- web-platform-tests/wasm/jsapi/instance/constructor.any-expected.txt:
- web-platform-tests/wasm/jsapi/instance/constructor.any.worker-expected.txt:
- web-platform-tests/wasm/jsapi/table/grow-reftypes.tentative.any-expected.txt:
Source/JavaScriptCore:
This patch aligns the WebAssembly Instance's exports object to the updated spec.
- exports object is a plain object which Prototype is null[1]. We were using module namespace object. Also, the object should be frozen.
- exported functions' name should be index, according to the spec[2].
[1]: https://webassembly.github.io/spec/js-api/index.html#create-an-exports-object
[2]: https://webassembly.github.io/spec/js-api/index.html#exported-function-exotic-objects
- wasm/js/JSWebAssembly.cpp:
(JSC::resolve):
- wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::finishCreation):
(JSC::JSWebAssemblyInstance::visitChildren):
(JSC::JSWebAssemblyInstance::finalizeCreation):
(JSC::JSWebAssemblyInstance::tryCreate):
- wasm/js/JSWebAssemblyInstance.h:
- wasm/js/WebAssemblyInstancePrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::visitChildren):
(JSC::WebAssemblyModuleRecord::link):
- wasm/js/WebAssemblyModuleRecord.h:
- 3:01 PM Changeset in webkit [271111] by
-
- 4 edits2 adds in trunk/Source/WebCore
Introduce RenderLayerScrollableArea
https://bugs.webkit.org/show_bug.cgi?id=219808
Reviewed by Simon Fraser.
Overhaul RenderLayer:
The goal is to move all overflow/scroll/... handling
out of RenderLayer, to streamline its interface and
make it re-usable for layer types that do not need
nor support scrolling/overflow.
This patch introduces RenderLayerScrollableArea inheriting
from ScrollableArea, with a back-reference to RenderLayer --
that mimics the design of RenderLayerFilters.
Follow-up patches will land the actual implementation, this
only adds a stub and adds it to the build systems.
No functional change - no new tests needed.
- Headers.cmake: Add RenderLayerScrollableArea.* to build.
- Sources.txt: Ditto.
- WebCore.xcodeproj/project.pbxproj: Ditto.
- rendering/RenderLayerScrollableArea.cpp: Added.
(WebCore::RenderLayerScrollableArea::RenderLayerScrollableArea):
(WebCore::RenderLayerScrollableArea::~RenderLayerScrollableArea):
(WebCore::RenderLayerScrollableArea::shouldPlaceBlockDirectionScrollbarOnLeft const):
- rendering/RenderLayerScrollableArea.h: Added.
- 2:31 PM Changeset in webkit [271110] by
-
- 23 edits in trunk
[Legacy Line Layout] Remove unnecessary 'vertical-align: middle' integral rounding
https://bugs.webkit.org/show_bug.cgi?id=220198
Reviewed by Antti Koivisto.
Source/WebCore:
Let's not do "random" rounding for 'vertical-align: middle'. Fix it for all the alignment types by
adjusting the logical top position when the inline box stretches the line.
- rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
- rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::verticalPositionForBox):
LayoutTests:
Added additional 'vertical-align' values.
- fast/sub-pixel/vertical-align-middle-overflow.html:
- 1:30 PM Changeset in webkit [271109] by
-
- 4 edits3 adds in trunk
[LFC Display] Stacking item bounds were wrong in some cases
https://bugs.webkit.org/show_bug.cgi?id=220201
Reviewed by Zalan Bujtas.
Source/WebCore:
Display::StackingItem were computed incorrectly for some content configurations,
such as:
- inline non-container box
- inline container box with no children
- positioned inline non-container box
- positioned inline container box with no children
- positioned block non-container box
Fix by ensuring that when we create a StackingItem for a box with no children
to descend into, we run the same geometry logic that happens for
pushStateForBoxDescendants()/popState(). Also ensure that we call
accountForBoxPaintingExtent() for leaf boxes without a stacking item.
Test: fast/layoutformattingcontext/display/stacking-item-bounds.html
- display/DisplayTreeBuilder.cpp:
(WebCore::Display::TreeBuilder::popState):
(WebCore::Display::TreeBuilder::didAppendNonContainerStackingItem):
(WebCore::Display::TreeBuilder::insertIntoTree):
(WebCore::Display::TreeBuilder::buildInlineDisplayTree):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree):
- display/DisplayTreeBuilder.h:
LayoutTests:
- fast/layoutformattingcontext/display/stacking-item-bounds-expected.html: Added.
- fast/layoutformattingcontext/display/stacking-item-bounds.html: Added.
Dec 29, 2020:
- 10:57 PM Changeset in webkit [271108] by
-
- 14 edits in trunk/Source/WebCore
[LFC Display] Clean up display tree dumping
https://bugs.webkit.org/show_bug.cgi?id=220195
Reviewed by Daniel Bates.
Reduce redundant code in debugDescription() functions by having boxes
report their box type.
Improve the formatting of the tree dump.
- display/DisplayTreeBuilder.cpp:
(WebCore::Display::outputStackingTree):
(WebCore::Display::displayTreeAsText):
- display/css/DisplayBox.cpp:
(WebCore::Display::Box::boxName const):
(WebCore::Display::Box::debugDescription const):
- display/css/DisplayBox.h:
- display/css/DisplayBoxModelBox.cpp:
(WebCore::Display::BoxModelBox::boxName const):
(WebCore::Display::BoxModelBox::debugDescription const):
- display/css/DisplayBoxModelBox.h:
- display/css/DisplayContainerBox.cpp:
(WebCore::Display::ContainerBox::boxName const):
(WebCore::Display::ContainerBox::debugDescription const): Deleted.
- display/css/DisplayContainerBox.h:
- display/css/DisplayImageBox.cpp:
(WebCore::Display::ImageBox::boxName const):
(WebCore::Display::ImageBox::debugDescription const):
- display/css/DisplayImageBox.h:
- display/css/DisplayReplacedBox.cpp:
(WebCore::Display::ReplacedBox::boxName const):
- display/css/DisplayReplacedBox.h:
- display/css/DisplayTextBox.cpp:
(WebCore::Display::TextBox::boxName const):
(WebCore::Display::TextBox::debugDescription const):
- display/css/DisplayTextBox.h:
- 3:18 PM Changeset in webkit [271107] by
-
- 2 edits in trunk/Source/WebCore
Fix compile error in non libressl WinCairo
https://bugs.webkit.org/show_bug.cgi?id=220191
Reviewed by Don Olmstead.
- platform/network/curl/CurlSSLVerifier.cpp:
(WebCore::CurlSSLVerifier::CurlSSLVerifier):
- 10:08 AM Changeset in webkit [271106] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Incorrectly positioned content with vertical-align: length/percentage
https://bugs.webkit.org/show_bug.cgi?id=220193
Reviewed by Antti Koivisto.
vertical-align: length/percentage is a baseline shift. Let's use the inline level box's baseline and not its height
when adjusting the vertical position (css1/text_properties/vertical_align.html).
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::computeLineBoxHeightAndAlignInlineLevelBoxesVertically):
Dec 28, 2020:
- 1:43 PM Changeset in webkit [271105] by
-
- 2 edits in trunk/LayoutTests
Mark tests as flaky for https://bugs.webkit.org/show_bug.cgi?id=220188
- platform/mac-wk1/TestExpectations:
- 1:03 PM Changeset in webkit [271104] by
-
- 2 edits in trunk/LayoutTests
Mark webanimations/accelerated-animation-with-easing.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=220187
- platform/mac/TestExpectations:
- 10:26 AM Changeset in webkit [271103] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Integration] Add support for non-baseline aligned text painting
https://bugs.webkit.org/show_bug.cgi?id=220185
Reviewed by Antti Koivisto.
Use the run's vertical position to set the text origin (instead of using the line's baseline position).
This is in preparation for enabling inline box content.
(e.g. <div><span style="vertical-align: text-top">non-baseline aligned text</span></div>)
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::paint):
- 9:33 AM Changeset in webkit [271102] by
-
- 2 edits in trunk/Tools
built-product-archive should work with Python 3
https://bugs.webkit.org/show_bug.cgi?id=220157
Reviewed by Aakash Jain.
- CISupport/built-product-archive:
(webkitBuildDirectoryForConfigurationAndPlatform): Decode result as a string,
because the directory is then used in string manipulation.
(createZipFromList): Use Python 3 compatible 'except' syntax. The new syntax works
in Python 2.6 and newer.
(createZip): Ditto.
Dec 27, 2020:
- 10:44 PM Changeset in webkit [271101] by
-
- 3 edits in trunk/Source/WTF
Add a helper method to WTF::MachSemaphore to wait with a timeout duration
https://bugs.webkit.org/show_bug.cgi?id=220110
Reviewed by Sam Weinig.
Adds a helper method on the cross-process WTF::MachSemaphore class (to be utilized in webkit.org/b/219586).
- wtf/cocoa/MachSemaphore.cpp:
(WTF::MachSemaphore::waitFor):
This wraps a call to
semaphore_timedwait
, and converts the given time (in WTF::Seconds) into a
mach_timespec_t
, which is an unsigned representing the number of seconds, along with another integer
representing the number of nanoseconds.
- wtf/cocoa/MachSemaphore.h:
- 8:41 PM Changeset in webkit [271100] by
-
- 7 edits2 adds in trunk
[WASM-References] Fix table.init and table.grow to satisfy the spec
https://bugs.webkit.org/show_bug.cgi?id=220181
Patch by Dmitry Bezhetskov <dbezhetskov> on 2020-12-27
Reviewed by Yusuke Suzuki.
JSTests:
Fix behaviour of the previous tests and added ref-types
spec tests for bulk operations and table.grow.
- wasm.yaml:
- wasm/references-spec-tests/bulk.wast.js: Added.
- wasm/references-spec-tests/table_grow.wast.js: Added.
- wasm/references/table_misc.js:
(TableSize.0.End.End.WebAssembly):
Source/JavaScriptCore:
Fix and refactor a little bit table.init and
table.grow.
- wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
- wasm/WasmOperations.h:
- wasm/WasmSlowPaths.cpp:
(JSC::LLInt::WASM_SLOW_PATH_DECL):
- 6:47 PM Changeset in webkit [271099] by
-
- 1 edit1 add in trunk/Source/WebCore
Add a ReadMe.md for Source/WebCore/display
Reviewed by Zalan Bujtas.
- display/ReadMe.md: Added.
- 3:50 PM Changeset in webkit [271098] by
-
- 7 edits1 add in trunk
[WASM-References] Adjust table.fill to satisfy the spec
https://bugs.webkit.org/show_bug.cgi?id=220161
Patch by Dmitry Bezhetskov <dbezhetskov> on 2020-12-27
Reviewed by Yusuke Suzuki.
JSTests:
Added table.fill spec tests and adjusted existing tests.
- wasm.yaml:
- wasm/references-spec-tests/table_fill.wast.js: Added.
- wasm/references/table_misc.js:
(GetLocal.0.GetLocal.1.TableGrow.0.End.End.WebAssembly):
Source/JavaScriptCore:
Fixed table.fill for the case when count is 0 and offset is equal to
table size.
- wasm/WasmOperations.cpp:
(JSC::Wasm::setWasmTableElement):
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
- wasm/WasmOperations.h:
- wasm/WasmSlowPaths.cpp:
(JSC::LLInt::WASM_SLOW_PATH_DECL):
- 3:35 PM Changeset in webkit [271097] by
-
- 7 edits1 add in trunk
[WASM-References] Add declared function indexes set to check from what functions we can create refs
https://bugs.webkit.org/show_bug.cgi?id=220009
Patch by Dmitry Bezhetskov <dbezhetskov> on 2020-12-27
Reviewed by Yusuke Suzuki.
JSTests:
Now we satisfy ref_func spec test so I've added it.
- wasm.yaml:
- wasm/references-spec-tests/ref_func.wast.js: Added.
Source/JavaScriptCore:
By ref-types spec we can create references only from declared functions.
Declared function is a function that was mentioned:
as export,
as part of ref.func init expression for a global,
in the element section.
In this patch declared function indexes set introduced to check this
requirement.
https://webassembly.github.io/reference-types/core/valid/instructions.html#reference-instructions.
- wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::parseExpression):
- wasm/WasmModuleInformation.h:
(JSC::Wasm::ModuleInformation::isDeclaredFunction const):
(JSC::Wasm::ModuleInformation::addDeclaredFunction):
- wasm/WasmSectionParser.cpp:
(JSC::Wasm::SectionParser::parseGlobal):
(JSC::Wasm::SectionParser::parseExport):
(JSC::Wasm::SectionParser::parseElementSegmentVectorOfExpressions):
(JSC::Wasm::SectionParser::parseElementSegmentVectorOfIndexes):
- 10:57 AM Changeset in webkit [271096] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Inline box should start with a strut in standards mode
https://bugs.webkit.org/show_bug.cgi?id=220160
Reviewed by Antti Koivisto.
If the inline box contains no glyphs at all, or if it contains only glyphs from fallback fonts,
it is considered to contain a “strut” (an invisible glyph of zero width) with the metrics of the box’s first available font.
https://www.w3.org/TR/css-inline-3/#inline-height
(css2.1/20110323/empty-inline-003.htm)
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
- 10:37 AM Changeset in webkit [271095] by
-
- 2 edits in trunk/Source/WebCore
Fix incorrect return types of fallback color conversion functions
https://bugs.webkit.org/show_bug.cgi?id=220159
Reviewed by Dean Jackson.
- platform/graphics/ColorConversion.h:
Fixup return types of fallback conversion functions to match signature.
- 10:34 AM Changeset in webkit [271094] by
-
- 2 edits in trunk/Source/WebCore
Generalize callWithColorType to work with either float or uint8_t color types
https://bugs.webkit.org/show_bug.cgi?id=220155
Reviewed by Dean Jackson.
- platform/graphics/ColorTypes.h:
(WebCore::callWithColorType):
Templatize the component type.
- 10:00 AM Changeset in webkit [271093] by
-
- 3 edits in trunk/Source/WebCore
Remove one more place needed when adding new color types
https://bugs.webkit.org/show_bug.cgi?id=220156
Reviewed by Simon Fraser.
- platform/graphics/Color.h:
(WebCore::Color::Color):
Missed this in the last pass. Replace specific overloads with a conditional template function contructor.
- platform/graphics/ColorTypes.h:
Adds a few traits to help identify color types.