Timeline
May 31, 2020:
- 7:17 PM Changeset in webkit [262367] by
-
- 2 edits in trunk/Source/WebCore
Tidy up Source/WebCore/page/DragController.h
https://bugs.webkit.org/show_bug.cgi?id=212584
Reviewed by Anders Carlsson.
Unindent the
DragControllerclass by 1 indentation level, to adhere with
<https://webkit.org/code-style-guidelines/#indentation-namespace>. Also, remove
some stray trailing whitespace.
No change in behavior.
- page/DragController.h:
(WebCore::DragController::mouseIsOverFileInput const):
(WebCore::DragController::numberOfItemsToBeAccepted const):
(WebCore::DragController::setDidInitiateDrag):
(WebCore::DragController::didInitiateDrag const):
(WebCore::DragController::sourceDragOperation const):
(WebCore::DragController::draggingImageURL const):
(WebCore::DragController::setDragOffset):
(WebCore::DragController::dragOffset const):
(WebCore::DragController::dragSourceAction const):
(WebCore::DragController::dragHandlingMethod const):
(WebCore::DragController::documentUnderMouse const):
(WebCore::DragController::dragDestinationActionMask const):
(WebCore::DragController::droppedImagePlaceholders const):
(WebCore::DragController::droppedImagePlaceholderRange const):
(WebCore::DragController::canLoadDataFromDraggingPasteboard const):
(WebCore::DragController::client const):
- 4:20 PM Changeset in webkit [262366] by
-
- 15 edits2 adds in trunk
AutoTrader crashed while browsing search results
https://bugs.webkit.org/show_bug.cgi?id=212461
rdar://60733185
Reviewed by Sam Weinig.
Source/WebCore:
On iOS, when using WebKit1 (UIWebView), CoreAnimation would
call WebGLLayer's display method from a thread that is not
the Web Thread. That method was performing some GL work using
ANGLE, causing a crash.
Since all the WebGLLayer's display method really needs to do
is swap buffers for compositing, the fix is to separate all
the GL operations into a method that can be called after
painting but before compositing. This should also have the added
benefit that by the time CoreAnimation comes to call display
on all the dirty layers, we will have already executed our
expensive GPU work. The total amount of work done on the GPU
is the same, but hopefully it is now all done in WebKit's
paint cycle, rather than when the Window Server is trying
to get CA to composite things.
Covered by a new API test: WebGLPrepareDisplayOnWebThread
- html/HTMLCanvasElement.h:
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::HTMLCanvasElement):
(WebCore::HTMLCanvasElement::~HTMLCanvasElement):
(WebCore::HTMLCanvasElement::didMoveToNewDocument):
(WebCore::HTMLCanvasElement::removedFromAncestor):
Add or remove the document as a CanvasObserver.
(WebCore::HTMLCanvasElement::needsPreparationForDisplay):
Signals whether this element is the type that needs preparation.
(WebCore::HTMLCanvasElement::prepareForDisplay):
Tell the WebGLRenderingContext it must prepare.
- html/canvas/WebGLRenderingContextBase.h:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::prepareForDisplay):
The WebGLRenderingContext must forward the call
to prepare down to the GraphicsContextGLOpenGL.
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::GraphicsContextGLOpenGL::prepareForDisplay):
And the GraphicsContextGLOpenGL forwards the call
into the WebGLLayer.
- platform/graphics/cocoa/WebGLLayer.h:
- platform/graphics/cocoa/WebGLLayer.mm:
(-[WebGLLayer prepareForDisplay]):
(-[WebGLLayer display]):
Split the parts of the
displaymethod that deal
with flushing the GL commands, preparing the framebuffer texture,
and swapping the IOSurfaces into a newprepareForDisplay. This
method is invoked at the end of the rendering/layout tasks, leaving
thedisplaymethod to only tell CoreAnimation about a new buffer
to composite.
- dom/Document.cpp:
- dom/Document.h:
(WebCore::Document::prepareCanvasesForDisplayIfNeeded):
(WebCore::Document::canvasChanged):
(WebCore::Document::canvasDestroyed):
Keep a set of HTMLCanvasElements that need to
be prepared so we can tell them when they need to prepare.
Do this by becoming a CanvasObserver, thus getting
notified when a canvas has done something that
would cause painting.
- page/Page.cpp:
(WebCore::Page::doAfterUpdateRendering):
Add a new task that asks the Document to notify
all relevant canvas objects that they should prepare
for display.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitLegacy/ios/WebGLPrepareDisplayOnWebThread.mm: Added.
(-[WebGLPrepareDisplayOnWebThreadDelegate webViewDidFinishLoad:]):
(-[WebGLPrepareDisplayOnWebThreadDelegate webView:shouldStartLoadWithRequest:navigationType:]):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitLegacy/ios/webgl.html: Added.
- 12:52 PM Changeset in webkit [262365] by
-
- 2 edits in trunk/Source/WebCore
[Cocoa] EME should return more helpful error code during key exchange
https://bugs.webkit.org/show_bug.cgi?id=212535
<rdar://problem/60439979>
Reviewed by Eric Carlson.
Clients have requested that the EME API provide more helpful information when the FairPlay CDM is unable
to provide the requested level of key security. Currently, we reject the update() promise with a generic
"failed" error code. Instead, resolve the promise, but mark the key as "output-restricted" in the key
status map, indicating that the key cannot be used with required level of security.
Drive-by fix: We currently ASSERT() that the callback from removeSessionData() isn't called if the session
is not a PUR session. When calling removeSessionData() on a non-PUR session, call the callback with a generic
"failed" error.
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::removeSessionData):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didFailToProvideRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::keyStatuses const):
- 11:51 AM Changeset in webkit [262364] by
-
- 5 edits in trunk/Source/WebCore
[Cocoa] Transition between encrypted and clear codecs throws error from SourceBuffer.appendBuffer()
https://bugs.webkit.org/show_bug.cgi?id=212550
<rdar://problem/62207260>
Reviewed by Eric Carlson.
Source/WebCore:
CoreMedia returns a different codec 4CC code for "encrypted AVC" than it does for "clear AVC", though
the underlying codec used for both is the same. While CoreMedia does use different codec implementations
for each, it is capable of freely switching between the two, and the codec string used by web developers
for encrypted vs. clear content is identical. So we will treat these two codecs as "the same" as it pertains
to the MSE requirement that codecs contained in new initialization segments are "the same" as previous
ones. Adopt kCMFormatDescriptionExtension_ProtectedContentOriginalFormat, which can query the "original"
codec used for encrypted codec playback.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
Source/WebCore/PAL:
- pal/cf/CoreMediaSoftLink.cpp:
- pal/cf/CoreMediaSoftLink.h:
- 11:02 AM Changeset in webkit [262363] by
-
- 3 edits2 adds in trunk
[iBooks] Empty pages appear in book
https://bugs.webkit.org/show_bug.cgi?id=212573
<rdar://problem/62912623>
Reviewed by Antti Koivisto.
Source/WebCore:
Do not add a page break for orphan content unless the line does not fit anymore.
Test: fast/multicol/orphans-ignored.html
- rendering/SimpleLineLayoutPagination.cpp:
(WebCore::SimpleLineLayout::setPageBreakForLine):
(WebCore::SimpleLineLayout::adjustLinePositionsForPagination):
LayoutTests:
- fast/multicol/orphans-ignored-expected.html: Added.
- fast/multicol/orphans-ignored.html: Added.
- 7:56 AM Changeset in webkit [262362] by
-
- 6 edits in trunk/Source/JavaScriptCore
Consider a Thread Specific Cache for AssemblerBuffers
https://bugs.webkit.org/show_bug.cgi?id=212562
Reviewed by Filip Pizlo.
This patch creates a thread local cache of AssemblerData in the hopes that it will reduce
memory allocation churn. The cache is cleared when a thread is destroyed.
If an AssemblerData is destroyed in another thread, its storage is cached by the
destroying thread.
Made a few changes described below to facilite the swap as well as returning a
clear()'ed AssemblerData back to its original state.
Reviewed by Filip Pizlo.
- assembler/AssemblerBuffer.cpp:
(JSC::threadSpecificAssemblerData):
(JSC::clearAssembleDataThreadSpecificCache):
- assembler/AssemblerBuffer.h:
(JSC::AssemblerData::AssemblerData):
(JSC::AssemblerData::operator=):
The copy constructor and assignment operator now perform complete AssemblerBuffer swaps.
(JSC::AssemblerData::takeBufferIfLarger):
A new method that will conditionally copy the enclosed buffer of the argument to "this"
if the argument's buffer is larger than the current buffer of "this".
(JSC::AssemblerData::~AssemblerData):
(JSC::AssemblerData::clear):
The destructor now calls clear which has been changed to reset the buffer to one with
inline capacity.
(JSC::AssemblerBuffer::AssemblerBuffer):
Take the cached out of line buffer if there is one.
(JSC::AssemblerBuffer::~AssemblerBuffer):
Cache the enclosed out of line buffer if it is larger than the currently cached one.
(JSC::AssemblerBuffer::getThreadSpecificAssemblerData):
- dfg/DFGWorklist.cpp:
- jit/JITWorklist.cpp:
- wasm/WasmWorklist.cpp:
- 7:04 AM WebKitGTK/2.28.x edited by
- Propose r259112 (diff)
- 4:57 AM Changeset in webkit [262361] by
-
- 2 edits in trunk/Tools
Unreviewed. Fix GTK4 build with current GTK
- MiniBrowser/gtk/BrowserTab.c:
(audioMutedChanged):
- 3:40 AM Changeset in webkit [262360] by
-
- 6 edits in trunk
Implement named item condition for images
https://bugs.webkit.org/show_bug.cgi?id=212473
Patch by Rob Buis <rbuis@igalia.com> on 2020-05-31
Reviewed by Maciej Stachowiak.
LayoutTests/imported/w3c:
Update improved test expectation.
- web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-06-expected.txt:
Source/WebCore:
Implement named item condition for images, not only should we
check there are both an id and a name attribute, but also that
the name attribute is non-empty [1].
Behavior matches Chrome and Firefox.
[1] https://html.spec.whatwg.org/multipage/dom.html#dom-document-nameditem-filter
Test: imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-06.html
- html/HTMLNameCollection.cpp:
(WebCore::DocumentNameCollection::elementMatchesIfIdAttributeMatch):
LayoutTests:
Update test expectation.
- fast/dom/HTMLDocument/document-special-properties-expected.txt:
- 1:36 AM Changeset in webkit [262359] by
-
- 4 edits in trunk
<area> needs to be connected in order to navigate
https://bugs.webkit.org/show_bug.cgi?id=177357
Patch by Rob Buis <rbuis@igalia.com> on 2020-05-31
Reviewed by Maciej Stachowiak.
LayoutTests/imported/w3c:
Update improved test expectation.
- web-platform-tests/html/semantics/links/following-hyperlinks/activation-behavior.window-expected.txt:
Source/WebCore:
Implement second step of cannot navigate algorithm:
https://html.spec.whatwg.org/#cannot-navigate
Test: web-platform-tests/html/semantics/links/following-hyperlinks/activation-behavior.window.html
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick):
- 1:11 AM Changeset in webkit [262358] by
-
- 5 edits in trunk/LayoutTests
Rebaseline imported/w3c/web-platform-tests/encoding/single-byte-decoder.html
https://bugs.webkit.org/show_bug.cgi?id=212565
<rdar://problem/63682561>
Unreviewed.
Rebaseline the expected result.
LayoutTests/imported/w3c:
- web-platform-tests/encoding/single-byte-decoder-expected.txt:
LayoutTests:
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- 1:10 AM Changeset in webkit [262357] by
-
- 3 edits in trunk/LayoutTests
[iPad] REGRESSION(r261940): fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-after-changing-initial-scale.html is failing
https://bugs.webkit.org/show_bug.cgi?id=212564
<rdar://problem/63729887>
Unreviewed.
Setting width=device-width was causing us to clamp the initial-scale to 1, thereby disabling autosizing.
- fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-after-changing-initial-scale.html:
- platform/ipad/TestExpectations:
- 12:05 AM Changeset in webkit [262356] by
-
- 7 edits in trunk/Source
Change JSC::Config to use storage in WTF::Config instead of its own.
https://bugs.webkit.org/show_bug.cgi?id=212575
<rdar://problem/63796584>
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
Since Configs must be rounded up to CeilingOnPageSize, this will save us some
memory since the contents of both Configs do not add up to CeilingOnPageSize.
g_jscConfig is now located at g_wtfConfig.spaceForExtensions.
- runtime/JSCConfig.cpp:
(JSC::Config::disableFreezingForTesting):
(JSC::Config::enableRestrictedOptions):
(JSC::Config::permanentlyFreeze): Deleted.
- runtime/JSCConfig.h:
(JSC::Config::permanentlyFreeze):
(JSC::Config::isPermanentlyFrozen):
(): Deleted.
- runtime/Options.cpp:
(JSC::Options::setOptions):
- tools/JSDollarVM.cpp:
(JSC::functionCallWithStackSize):
Source/WTF:
- wtf/WTFConfig.h:
May 30, 2020:
- 10:54 PM Changeset in webkit [262355] by
-
- 6 edits in trunk/Source
Rename Signal::BadAccess to Signal::AccessFault.
https://bugs.webkit.org/show_bug.cgi?id=212577
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- runtime/VMTraps.cpp:
- wasm/WasmFaultSignalHandler.cpp:
(JSC::Wasm::enableFastMemory):
Source/WTF:
This is needed because GTK port's X11 has a #define for BadAccess (in include/X11/X.h):
#define BadAccess 10 /* depending on context:
- key/button already grabbed
- attempt to free an illegal cmap entry
- attempt to store into a read-only color map entry.
- attempt to modify the access control list from other than the local host. */
As a result, this would break the GTK build when wtf/Signals.h is #include'd.
- wtf/threads/Signals.cpp:
(WTF::fromMachException):
(WTF::toMachMask):
(WTF::jscSignalHandler):
- wtf/threads/Signals.h:
(WTF::toSystemSignal):
(WTF::fromSystemSignal):
- 8:20 PM Changeset in webkit [262354] by
-
- 7 edits5 adds in trunk
[JSC] for-in should allocate new temporary register for base
https://bugs.webkit.org/show_bug.cgi?id=212519
<rdar://problem/63722044>
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/has-own-property-for-in-loop-with-heap-variable.js: Added.
(assert):
(test1.count):
(test1):
- microbenchmarks/has-own-property-for-in-loop-with-this.js: Added.
(assert):
(test1.count):
(test1):
- stress/for-in-body-replace-enumerable.js: Added.
(foo):
- stress/for-in-enumerable-shadow.js: Added.
(assert):
(test1.count):
(test1):
- stress/for-in-enumerable-this-arrow.js: Added.
(assert):
(test1):
Source/JavaScriptCore:
While r262233 keeps for-in's enumerated object in variable register if possible to use this register for heuristics driving an optimization,
for-in body can replace the content of this register during enumeration and confuse enumerator.
Instead, we record Variable information in StructureForInContext. This allows us to detect patterns using heap-variables too.
Further, this patch extends pattern-matching code to support ThisNode too.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::pushStructureForInScope):
- bytecompiler/BytecodeGenerator.h:
(JSC::Variable::Variable):
(JSC::Variable::isResolved const):
(JSC::Variable::symbolTableConstantIndex const):
(JSC::Variable::ident const):
(JSC::Variable::offset const):
(JSC::Variable::isLocal const):
(JSC::Variable::local const):
(JSC::Variable::isReadOnly const):
(JSC::Variable::isSpecial const):
(JSC::Variable::isConst const):
(JSC::Variable::setIsReadOnly):
(JSC::Variable::operator== const):
(JSC::StructureForInContext::StructureForInContext):
(JSC::StructureForInContext::baseVariable const):
(JSC::StructureForInContext::base const): Deleted.
- bytecompiler/NodesCodegen.cpp:
(JSC::HasOwnPropertyFunctionCallDotNode::emitBytecode):
(JSC::ForInNode::emitBytecode):
- parser/ASTBuilder.h:
(JSC::ASTBuilder::makeFunctionCallNode):
- parser/Nodes.h:
(JSC::ExpressionNode::isThisNode const):
- 8:01 PM Changeset in webkit [262353] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix JSC debug tests' exception checking
https://bugs.webkit.org/show_bug.cgi?id=212512
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::createWithLength):
(JSC::JSBigInt::allocateFor):
- 3:25 PM Changeset in webkit [262352] by
-
- 18 edits in trunk
Extended Color: Additional color cleanups
https://bugs.webkit.org/show_bug.cgi?id=212567
Reviewed by Simon Fraser.
Source/WebCore:
A few unrelated quality-of-life cleanups to Color and related classes:
- Rename Color::asSimpleColor() to Color::asSimple() for parity with Color::asExtended().
- Move SimpleColor implementations of invertedColorWithAlpha() and asSRGBFloatComponents() to SimpleColor for parity with ExtenedColor.
- Rename ExtendedColor::channels() to ExtendedColor::components() to consistency.
- Adds operator[] to ColorComponents to allow direct access to components rather than requiring and additional .components[]
- Using std::minmax() where possible.
- Renaming colorFloatToSimpleColorByte to scaleRoundAndClampColorChannel to have a consistent naming and location of conversion to 8-bit color channels.
- platform/graphics/Color.cpp:
(WebCore::Color::serialized const):
(WebCore::Color::cssText const):
(WebCore::Color::nameForRenderTreeAsText const):
(WebCore::Color::light const):
(WebCore::Color::dark const):
(WebCore::Color::colorWithAlpha const):
(WebCore::Color::colorWithAlphaUsingAlternativeRounding const):
(WebCore::Color::invertedColorWithAlpha const):
(WebCore::Color::colorSpaceAndComponents const):
(WebCore::Color::toSRGBASimpleColorLossy const):
(WebCore::Color::toSRGBAComponentsLossy const):
- platform/graphics/Color.h:
(WebCore::Color::isOpaque const):
(WebCore::Color::isVisible const):
(WebCore::Color::alpha const):
(WebCore::Color::alphaAsFloat const):
(WebCore::Color::asSimple const):
(WebCore::Color::isBlackColor):
(WebCore::Color::isWhiteColor):
(WebCore::Color::encode const):
(WebCore::Color::asSimpleColor const): Deleted.
- platform/graphics/ColorComponents.h:
(WebCore::ColorComponents::operator[]):
(WebCore::ColorComponents::operator[] const):
(WebCore::=):
(WebCore::perComponentMax):
(WebCore::perComponentMin):
- platform/graphics/ColorMatrix.h:
(WebCore::Rows>::transformedColorComponents const):
- platform/graphics/ColorUtilities.cpp:
(WebCore::areEssentiallyEqual):
(WebCore::rgbToLinearComponents):
(WebCore::linearToRGBComponents):
(WebCore::lightness):
(WebCore::luminance):
(WebCore::sRGBToHSL):
(WebCore::hslToSRGB):
- platform/graphics/ColorUtilities.h:
(WebCore::scaleRoundAndClampColorChannel):
(WebCore::scaleRoundAndClampColorChannelUsingAlternativeRounding):
(WebCore::colorFloatToSimpleColorByte): Deleted.
- platform/graphics/ExtendedColor.cpp:
(WebCore::ExtendedColor::hash const):
(WebCore::ExtendedColor::cssText const):
(WebCore::ExtendedColor::colorWithAlpha const):
(WebCore::ExtendedColor::invertedColorWithAlpha const):
(WebCore::ExtendedColor::toSRGBAComponentsLossy const):
(WebCore::ExtendedColor::isWhite const):
(WebCore::ExtendedColor::isBlack const):
- platform/graphics/ExtendedColor.h:
(WebCore::ExtendedColor::alpha const):
(WebCore::ExtendedColor::components const):
(WebCore::ExtendedColor::ExtendedColor):
(WebCore::operator==):
(WebCore::ExtendedColor::channels const): Deleted.
- platform/graphics/SimpleColor.cpp:
(WebCore::makeSimpleColorFromFloats):
(WebCore::makeSimpleColorFromHSLA):
- platform/graphics/SimpleColor.h:
(WebCore::SimpleColor::SimpleColor):
(WebCore::SimpleColor::valueAsARGB const):
(WebCore::SimpleColor::colorWithAlpha const):
(WebCore::SimpleColor::invertedColorWithAlpha const):
(WebCore::SimpleColor::asSRGBFloatComponents const):
(WebCore::makeSimpleColor):
- platform/graphics/cg/ColorCG.cpp:
(WebCore::cachedCGColor):
- platform/graphics/filters/FELighting.cpp:
(WebCore::FELighting::drawLighting):
- platform/graphics/filters/FETurbulence.cpp:
(WebCore::toIntBasedColorComponents):
- platform/graphics/filters/FilterOperation.cpp:
(WebCore::BasicComponentTransferFilterOperation::transformColor const):
(WebCore::InvertLightnessFilterOperation::transformColor const):
(WebCore::InvertLightnessFilterOperation::inverseTransformColor const):
- platform/graphics/filters/FilterOperations.cpp:
(WebCore::FilterOperations::transformColor const):
(WebCore::FilterOperations::inverseTransformColor const):
Tools:
- TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
Update for rename from ExtendedColor::channels() to ExtendedColor::components()
- 2:09 PM Changeset in webkit [262351] by
-
- 4 edits in trunk/Source/JavaScriptCore
AssemblyHelpers::callExceptionFuzz() is passing a wrong argument to operationExceptionFuzz().
https://bugs.webkit.org/show_bug.cgi?id=212561
Reviewed by Yusuke Suzuki.
There's 2 possible solution to this issue:
- Thread the globalObject from all the way up the clients calling into callExceptionFuzz(), or
- Introduce a operationExceptionFuzzWithCallFrame() wrapper take receives a VM* and CallFrame*, and use these to get the lexicalGlobalObject.
This patch applies solution 2.
Solution 1 is too unwieldy because it will cause the threading of the globalObject
argument to fan out to many clients, and almost all of those clients currently
do not need the globalObject. Hence, implementing this solution may incur some
performance penalty in normal code, for the sole benefit of this one fuzzing tool.
Secondly, the exception fuzzer doesn't really care which globalObject is used.
It only cares that an exception is thrown, and we need a globalObject in order to
throw that exception. Hence, there is no benefit to threading the globalObject
down from all the clients.
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::callExceptionFuzz):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- 12:15 PM Changeset in webkit [262350] by
-
- 23 edits1 delete in trunk
Unreviewed, reverting r262335.
https://bugs.webkit.org/show_bug.cgi?id=212571
Triggered assertions in WebKit1
Reverted changeset:
"Disallow responses when a response contains invalid header
values"
https://bugs.webkit.org/show_bug.cgi?id=184493
https://trac.webkit.org/changeset/262335
- 12:14 PM Changeset in webkit [262349] by
-
- 2 edits in trunk/Source/WebCore
For scroll container and scrolled contents layers, use the renderer style to set up the event regions
https://bugs.webkit.org/show_bug.cgi?id=212570
Reviewed by Antti Koivisto.
RenderLayerBacking::updateEventRegion() sets up event regions on the scroll container and scrolled contents
layer using the default style, in order to fill up the m_region part of EventRegion, but we might as well
pass the renderer style so that it fills up the touch-action and wheel event regions as well.
Also re-use the existing event region trace points for region building.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateEventRegion):
- 10:42 AM Changeset in webkit [262348] by
-
- 5 edits in trunk
[Apple Pay] Support percentage border-radius values in -apple-pay-button
https://bugs.webkit.org/show_bug.cgi?id=212559
<rdar://problem/63781881>
Reviewed by Antti Koivisto.
Source/WebCore:
Added test cases to fast/css/appearance-apple-pay-button-border-radius.html.
- rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::paintApplePayButton): Used floatValueForLength() to ensure
percentage lengths are resolved before passing a corner radius to PassKit.
LayoutTests:
- fast/css/appearance-apple-pay-button-border-radius-expected.html:
- fast/css/appearance-apple-pay-button-border-radius.html:
- 10:38 AM Changeset in webkit [262347] by
-
- 2 edits in trunk/Source/WebCore/PAL
REGRESSION (r262332): Windows build failure because <nw/private.h> doesn't exist
<https://bugs.webkit.org/show_bug.cgi?id=212551>
<rdar://problem/62461099>
Unreviewed Windows build fix.
- pal/spi/cf/CFNetworkSPI.h:
- Move <nw/private.h> so it is not included with PLATFORM(WIN).
- Add or clean up some macro comments.
- 9:29 AM Changeset in webkit [262346] by
-
- 2 edits in trunk/Source/WebKit
Deprecate WKBundlePostSynchronousMessage
https://bugs.webkit.org/show_bug.cgi?id=212536
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-30
Reviewed by Anders Carlsson.
- WebProcess/InjectedBundle/API/c/WKBundle.h:
- 5:08 AM Changeset in webkit [262345] by
-
- 1 edit2 adds in trunk/LayoutTests
[GLIB] Unreviewed gardening, update baseline after r262169
https://bugs.webkit.org/show_bug.cgi?id=212566
r262169 modifies Objective-C code and the general expected file. The
change only affected Mac ports. GTK and WPE ports keep expecting the former
result, so a new baseline is emitted for these ports.
- platform/glib/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-negative-time-expected.txt: Added.
- 4:58 AM Changeset in webkit [262344] by
-
- 4 edits in trunk/LayoutTests/imported/w3c
Unreviewed gardening, update offscreen-canvas baselines after r262254
https://bugs.webkit.org/show_bug.cgi?id=212563
- web-platform-tests/offscreen-canvas/image-smoothing/image.smoothing-expected.txt:
- web-platform-tests/offscreen-canvas/image-smoothing/image.smoothing.worker-expected.txt:
- web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.w-expected.txt:
- 12:55 AM Changeset in webkit [262343] by
-
- 11 edits in trunk
[GTK] WebDriver: stop using GdkEvent API in preparation for GTK4
https://bugs.webkit.org/show_bug.cgi?id=212465
Reviewed by Adrian Perez de Castro.
Source/WebKit:
Use the new internal API to synthesize events.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSynthesizeKeyEvent): Add type parameter, since WebDriver can send press and release events
separately. Also add a parameter to indicate that keyval should be translated according to current state that is
required by WebDriver.
- UIProcess/API/gtk/WebKitWebViewBaseInternal.h:
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::documentLoadedForFrame): Call resetClickCount().
(WebKit::WebAutomationSession::updateClickCount): Update the click count for the given button position and
maximum time and distance.
(WebKit::WebAutomationSession::resetClickCount): Reset the click count.
- UIProcess/Automation/WebAutomationSession.h:
- UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:
(WebKit::WebAutomationSession::platformSimulateMouseInteraction): Use webkitWebViewBaseSynthesizeMouseEvent().
(WebKit::WebAutomationSession::platformSimulateKeyboardInteraction): Use webkitWebViewBaseSynthesizeKeyEvent().
(WebKit::WebAutomationSession::platformSimulateKeySequence): Ditto.
(WebKit::doMouseEvent): Deleted.
(WebKit::doMotionEvent): Deleted.
(WebKit::doKeyStrokeEvent): Deleted.
- UIProcess/gtk/KeyBindingTranslator.cpp: Add missing key shortcuts to predefined list.
Tools:
Update to the new webkitWebViewBaseSynthesizeKeyEvent() API.
- WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::keyDown):
WebDriverTests:
Remove expectations for tests that are passing now.
- TestExpectations.json:
- 12:46 AM Changeset in webkit [262342] by
-
- 17 edits1 copy in trunk
[JSC] JSBigInt allocation should be graceful for OOM
https://bugs.webkit.org/show_bug.cgi?id=212512
Reviewed by Mark Lam.
JSTests:
- stress/bigint-can-throw-oom.js: Copied from JSTests/stress/get-function-realm-not-doing-recursion.js.
(canThrow):
(foo):
(get foo):
- stress/get-function-realm-not-doing-recursion.js:
(canThrow):
Source/JavaScriptCore:
This patch allows JSBigInt's storage allocation to fail gracefully if OOM condition happens.
We thread JSGlobalObject* instead of VM& and throw OOM error if storage allocation failed.
We also renameJSGlobalObject* globalObjectparameter toJSGlobalObject* nullOrGlobalObjectForOOM
if it can be nullptr.
- jit/JITOperations.cpp:
- jsc.cpp:
(functionCreateHeapBigInt):
- parser/ParserArena.cpp:
(JSC::IdentifierArena::makeBigIntDecimalIdentifier):
- runtime/BigIntConstructor.cpp:
(JSC::toBigInt):
(JSC::callBigIntConstructor):
- runtime/BigIntPrototype.cpp:
(JSC::toThisBigIntValue):
(JSC::bigIntProtoFuncToString):
(JSC::bigIntProtoFuncToLocaleString):
(JSC::bigIntProtoFuncValueOf):
- runtime/CachedTypes.cpp:
(JSC::CachedBigInt::decode const):
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatFuncFormat):
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::createZero):
(JSC::JSBigInt::tryCreateZero):
(JSC::JSBigInt::createWithLength):
(JSC::JSBigInt::tryCreateWithLength):
(JSC::JSBigInt::createFrom):
(JSC::JSBigInt::tryCreateFrom):
(JSC::JSBigInt::createFromImpl):
(JSC::JSBigInt::parseInt):
(JSC::HeapBigIntImpl::toHeapBigInt):
(JSC::Int32BigIntImpl::toHeapBigInt):
(JSC::zeroImpl):
(JSC::JSBigInt::exponentiateImpl):
(JSC::JSBigInt::multiplyImpl):
(JSC::JSBigInt::divideImpl):
(JSC::JSBigInt::copy):
(JSC::JSBigInt::unaryMinusImpl):
(JSC::JSBigInt::unaryMinus):
(JSC::JSBigInt::remainderImpl):
(JSC::JSBigInt::incImpl):
(JSC::JSBigInt::decImpl):
(JSC::JSBigInt::addImpl):
(JSC::JSBigInt::subImpl):
(JSC::JSBigInt::bitwiseAndImpl):
(JSC::JSBigInt::bitwiseOrImpl):
(JSC::JSBigInt::bitwiseXorImpl):
(JSC::JSBigInt::absoluteAdd):
(JSC::JSBigInt::absoluteSub):
(JSC::JSBigInt::absoluteDivWithDigitDivisor):
(JSC::JSBigInt::absoluteDivWithBigIntDivisor):
(JSC::JSBigInt::absoluteLeftShiftAlwaysCopy):
(JSC::JSBigInt::absoluteBitwiseOp):
(JSC::JSBigInt::absoluteAnd):
(JSC::JSBigInt::absoluteOr):
(JSC::JSBigInt::absoluteAndNot):
(JSC::JSBigInt::absoluteXor):
(JSC::JSBigInt::absoluteAddOne):
(JSC::JSBigInt::absoluteSubOne):
(JSC::JSBigInt::leftShiftByAbsolute):
(JSC::JSBigInt::rightShiftByAbsolute):
(JSC::JSBigInt::rightShiftByMaximum):
(JSC::JSBigInt::toStringBasePowerOfTwo):
(JSC::JSBigInt::toStringGeneric):
(JSC::JSBigInt::rightTrim):
(JSC::JSBigInt::tryRightTrim):
(JSC::JSBigInt::allocateFor):
(JSC::JSBigInt::asIntNImpl):
(JSC::JSBigInt::asUintNImpl):
(JSC::JSBigInt::truncateToNBits):
(JSC::JSBigInt::truncateAndSubFromPowerOfTwo):
(JSC::JSBigInt::createWithLengthUnchecked): Deleted.
- runtime/JSBigInt.h:
- runtime/JSCJSValue.cpp:
(JSC::JSValue::toThisSlowCase const):
- runtime/VM.cpp:
(JSC::VM::VM):
Source/WebCore:
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readBigInt):