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