Timeline
May 26, 2021:
- 11:42 PM Changeset in webkit [278151] by
-
- 8 edits in trunk/Source
Prevent sbix glyphs from being rendered in the GPU process
https://bugs.webkit.org/show_bug.cgi?id=226159
<rdar://77231959>
Reviewed by Darin Adler.
Source/WebCore:
When GPUP canvas is enabled, the display list recorder handles sbix
glyphs by recording drawImage calls. This means that during display list
replay, we should not have any sbix glyphs in a DrawGlyphs display list
item. This patch checks for such glyphs (like we already do for SVG
glyphs) and returns early if they're found.
Manually tested. No new tests, since we'd need to add some way inject
sbix glyph IDs into display list items.
- platform/graphics/Font.h:
(WebCore::Font::ComplexColorFormatGlyphs::hasRelevantTables const):
(WebCore::Font::ComplexColorFormatGlyphs::bitForInitialized):
(WebCore::Font::ComplexColorFormatGlyphs::bitForValue):
(WebCore::Font::ComplexColorFormatGlyphs::bitsRequiredForGlyphCount):
(WebCore::Font::ComplexColorFormatGlyphs::ComplexColorFormatGlyphs):
- platform/graphics/coretext/FontCascadeCoreText.cpp:
(WebCore::FontCascade::drawGlyphs): Call new function that checks for
SVG and sbix glyph presence. Change release assertion to debug
assertion to avoid unnecessarily crashing the GPUP, and instead return
early in the presence of these glyphs.
- platform/graphics/coretext/FontCoreText.cpp:
(WebCore::Font::otSVGTable const):
(WebCore::Font::ComplexColorFormatGlyphs::createWithNoRelevantTables):
(WebCore::Font::ComplexColorFormatGlyphs::createWithRelevantTablesAndGlyphCount):
(WebCore::Font::ComplexColorFormatGlyphs::hasValueFor const):
(WebCore::Font::ComplexColorFormatGlyphs::get const):
(WebCore::Font::ComplexColorFormatGlyphs::set):
(WebCore::Font::hasComplexColorFormatTables const):
(WebCore::Font::glyphsWithComplexColorFormat const):
(WebCore::Font::glyphHasComplexColorFormat const):
(WebCore::Font::findOTSVGGlyphs const):
(WebCore::Font::hasAnyComplexColorFormatGlyphs const): New function to
check if a list of glyph IDs has any that would be inappropriate
to render in the GPU process. Since calling the CoreText function that
allows us to check if an sbix glyph exists would be too expensive to
call for every drawGlyphs call, we lazily cache (in a BitVector) the
presence of sbix and SVG images for glyph IDs we check.
Source/WebCore/PAL:
- pal/spi/cf/CoreTextSPI.h: Add declaration for an SPI that lets us
infer whether a glyph has an sbix image.
Source/WTF:
- wtf/PlatformHave.h: Add HAVE_CORE_TEXT_SBIX_IMAGE_SIZE_FUNCTIONS.
- 10:13 PM Changeset in webkit [278150] by
-
- 5 edits in trunk/Source/WebCore
Add logging for when SQLiteDatabase fails to close
https://bugs.webkit.org/show_bug.cgi?id=226290
Reviewed by Chris Dumez.
Also fix some logging error in IDB.
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::createOrMigrateRecordsTableIfNecessary):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidBlobTables):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidRecordsTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsRecordIndex):
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::open):
(WebCore::SQLiteDatabase::close):
- platform/sql/SQLiteDatabase.h:
- 9:43 PM Changeset in webkit [278149] by
-
- 6 edits in trunk/Source/WebCore
[Win] Remove unused GraphicsContext::WindowsBitmap class
https://bugs.webkit.org/show_bug.cgi?id=226312
Reviewed by Don Olmstead.
- platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::WindowsBitmap::hdc const): Deleted.
(WebCore::GraphicsContext::WindowsBitmap::buffer const): Deleted.
(WebCore::GraphicsContext::WindowsBitmap::bufferLength const): Deleted.
(WebCore::GraphicsContext::WindowsBitmap::size const): Deleted.
(WebCore::GraphicsContext::WindowsBitmap::bytesPerRow const): Deleted.
(WebCore::GraphicsContext::WindowsBitmap::bitsPerPixel const): Deleted.
(WebCore::GraphicsContext::WindowsBitmap::windowsDIB const): Deleted.
- platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::drawWindowsBitmap): Deleted.
- platform/graphics/win/GraphicsContextCairoWin.cpp:
(WebCore::GraphicsContext::drawWindowsBitmap): Deleted.
- platform/graphics/win/GraphicsContextDirect2D.cpp:
(WebCore::GraphicsContextDirect2D::drawWindowsBitmap): Deleted.
- platform/graphics/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContext::shouldIncludeChildWindows const):
(WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap): Deleted.
(WebCore::GraphicsContext::WindowsBitmap::~WindowsBitmap): Deleted.
(WebCore::GraphicsContext::createWindowsBitmap): Deleted.
- 9:36 PM Changeset in webkit [278148] by
-
- 4 edits in trunk/Source/WebCore
[Cairo] Remove unused members ownedPlatformContext and platformContext of GraphicsContextPlatformPrivate
https://bugs.webkit.org/show_bug.cgi?id=226310
Reviewed by Don Olmstead.
GraphicsContextPlatformPrivate is a class tracking HDC
transforming. It doesn't need to know about PlatformContextCairo.
Remove unused members ownedPlatformContext and platformContext.
GraphicsContextPlatformPrivate::syncContext was a setter of
cairo_t*. Removed it and set cairo_t* as an argument of the
constructor.
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContextCairo::GraphicsContextCairo):
- platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContextPlatformPrivate::setCTM):
(WebCore::GraphicsContextPlatformPrivate::syncContext): Deleted.
- platform/graphics/win/GraphicsContextCairoWin.cpp:
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContextPlatformPrivate::syncContext): Deleted.
- 9:35 PM Changeset in webkit [278147] by
-
- 3 edits2 adds in trunk
[MSE] MediaSample that need to be removed with SourceBufferPrivate::evictCodedFrames() may not be removed.
https://bugs.webkit.org/show_bug.cgi?id=225800
<rdar://problem/78296352>
Patch by Toshio Ogasawara <toshio.ogasawara@access-company.com> on 2021-05-26
Reviewed by Jer Noble.
Source/WebCore:
Fixed evictCodedFrames to remove MediaSample that can be removed after the minimumRangeStart.
Test: media/media-source/media-source-evict-codedframe-after-seek.html
- platform/graphics/SourceBufferPrivate.cpp:
(WebCore::SourceBufferPrivate::evictCodedFrames):
LayoutTests:
- media/media-source/media-source-evict-codedframe-after-seek-expected.txt: Added.
- media/media-source/media-source-evict-codedframe-after-seek.html: Added.
- 8:17 PM Changeset in webkit [278146] by
-
- 42 edits in trunk/Source
Leverage the new Vector(const T*, size_t) constructor
https://bugs.webkit.org/show_bug.cgi?id=226304
Reviewed by Darin Adler.
Leverage the new Vector(const T*, size_t) constructor in existing code.
Source/JavaScriptCore:
- wasm/WasmStreamingParser.cpp:
(JSC::Wasm::StreamingParser::consume):
Source/WebCore:
- Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::blobFromData):
- Modules/indexeddb/IDBGetResult.cpp:
(WebCore::IDBGetResult::dataFromBuffer):
- Modules/webauthn/WebAuthenticationUtils.cpp:
(WebCore::convertBytesToVector):
- Modules/webauthn/fido/DeviceResponseConverter.cpp:
(fido::decodeResponseMap):
- Modules/webauthn/fido/FidoHidPacket.cpp:
(fido::FidoHidInitPacket::createFromSerializedData):
(fido::FidoHidContinuationPacket::createFromSerializedData):
- Modules/webauthn/fido/Pin.cpp:
(fido::pin::encodeCOSEPublicKey):
- Modules/webauthn/fido/U2fResponseConverter.cpp:
(fido::WebCore::extractECPublicKeyFromU2fRegistrationResponse):
(fido::WebCore::extractCredentialIdFromU2fRegistrationResponse):
(fido::WebCore::createFidoAttestationStatementFromU2fRegisterResponse):
(fido::readU2fSignResponse):
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::enqueueRawFrame):
- crypto/SubtleCrypto.cpp:
(WebCore::toKeyData):
(WebCore::copyToVector):
- crypto/gcrypt/CryptoKeyECGCrypt.cpp:
(WebCore::CryptoKeyEC::platformAddFieldElements const):
- crypto/mac/CryptoKeyECMac.cpp:
(WebCore::CryptoKeyEC::platformImportPkcs8):
- crypto/mac/SerializedCryptoKeyWrapMac.mm:
(WebCore::vectorFromNSData):
- crypto/openssl/CryptoAlgorithmAES_GCMOpenSSL.cpp:
(WebCore::cryptDecrypt):
- fileapi/Blob.cpp:
(WebCore::Blob::Blob):
- platform/graphics/ImageBackingStore.h:
(WebCore::ImageBackingStore::ImageBackingStore):
- platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp:
(WebCore::data):
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::GstMappedBuffer::createVector const):
- platform/graphics/gstreamer/eme/CDMProxyClearKey.cpp:
(WebCore::CDMProxyClearKey::cencSetDecryptionKey):
- platform/mediarecorder/MediaRecorderPrivateMock.cpp:
(WebCore::MediaRecorderPrivateMock::fetchData):
- platform/network/FormData.cpp:
(WebCore::FormDataElement::isolatedCopy const):
(WebCore::FormData::appendData):
- platform/network/curl/OpenSSLHelper.cpp:
(OpenSSL::BIO::getDataAsVector const):
- testing/Internals.cpp:
(WebCore::Internals::deserializeBuffer const):
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::openFunc):
Source/WebCore/PAL:
- pal/crypto/gcrypt/CryptoDigestGCrypt.cpp:
(PAL::CryptoDigest::computeHash):
Source/WebKit:
- Platform/IPC/ArrayReference.h:
(IPC::ArrayReference::vector const):
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(vectorFromNSData):
- UIProcess/API/glib/IconDatabase.cpp:
(WebKit::IconDatabase::setIconForPageURL):
- UIProcess/Cocoa/SOAuthorization/SubFrameSOAuthorizationSession.mm:
(WebKit::WebCore::convertBytesToVector):
- UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp:
(WebKit::WebInspectorUIExtensionControllerProxy::evaluateScriptForExtension):
- UIProcess/WebAuthentication/Cocoa/HidConnection.mm:
(WebKit::reportReceived):
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticatorInternal::toVector):
(WebKit::LocalAuthenticatorInternal::aaguidVector):
- UIProcess/WebAuthentication/Cocoa/NfcConnection.mm:
(WebKit::NfcConnection::transact const):
- UIProcess/WebURLSchemeTask.cpp:
(WebKit::WebURLSchemeTask::didComplete):
- WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:
(WebKit::WebURLSchemeTaskProxy::didReceiveData):
Source/WTF:
- wtf/text/WTFString.cpp:
(asciiDebug):
- 8:16 PM Changeset in webkit [278145] by
-
- 2 edits in trunk/Source/WebKit
Fix the ENABLE(CG_DISPLAY_LIST_BACKED_IMAGE_BUFFER) build
- Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp:
(WebKit::CGDisplayListImageBufferBackend::create):
Missed one GraphicsContext!
- 6:48 PM Changeset in webkit [278144] by
-
- 3 edits in trunk/Source/WTF
Use timingsafe_bcmp() in WTF::constantTimeMemcmp() when available
https://bugs.webkit.org/show_bug.cgi?id=226294
<rdar://problem/78542643>
Reviewed by Darin Adler.
Follow-up to r278140 to address post-landing feedback.
- wtf/CryptographicUtilities.cpp:
(WTF::constantTimeMemcmp):
- wtf/CryptographicUtilities.h:
(WTF::constantTimeMemcmp):
- 6:33 PM Changeset in webkit [278143] by
-
- 11 edits in trunk
Make MediaSession readystate enums all lowercase
https://bugs.webkit.org/show_bug.cgi?id=226213
<rdar://problem/78437011>
Reviewed by Eric Carlson.
Source/WebCore:
Use the current MediaSession definition pattern which makes all enum names
lower case.
- Modules/mediasession/MediaSession.h:
- Modules/mediasession/MediaSessionReadyState.h:
- Modules/mediasession/MediaSessionReadyState.idl:
Source/WebKit:
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _createMediaSessionCoordinatorForTesting:completionHandler:]):
Tools:
- TestWebKitAPI/Tests/WebKit/MediaSessionCoordinatorTest.mm:
(TestWebKitAPI::TEST_F):
LayoutTests:
Use the current MediaSession definition pattern which makes all enum names
lower case.
- media/media-session/mock-coordinator-expected.txt:
- media/media-session/mock-coordinator.html:
- 5:40 PM Changeset in webkit [278142] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening, remove some outdated test expectations.
https://bugs.webkit.org/show_bug.cgi?id=226284
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-05-26
- 5:40 PM Changeset in webkit [278141] by
-
- 1 copy in tags/Safari-612.1.15.1.14
Tag Safari-612.1.15.1.14.
- 5:39 PM Changeset in webkit [278140] by
-
- 2 edits in trunk/Source/WTF
Use timingsafe_bcmp() in WTF::constantTimeMemcmp() when available
https://bugs.webkit.org/show_bug.cgi?id=226294
Reviewed by Alex Christensen.
Use timingsafe_bcmp() in WTF::constantTimeMemcmp() when available (iOS, macOS, FreeBSD, OpenBSD),
instead of our own custom implementation.
- wtf/CryptographicUtilities.cpp:
(WTF::constantTimeMemcmp):
- 5:36 PM Changeset in webkit [278139] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION: ASSERTION FAILED: !isCompilationThread() in JSC::Profiler::Database::addCompilation()
https://bugs.webkit.org/show_bug.cgi?id=226302
<rdar://78537378>
Reviewed by Saam Barati.
We started linking the JIT code in the compiler thread, which now triggers this assertion.
The assertion was introduce before a lock was held to modify the data structures in the
profiler database, but it's safe to remove it now.
- profiler/ProfilerDatabase.cpp:
(JSC::Profiler::Database::addCompilation):
- 5:35 PM Changeset in webkit [278138] by
-
- 2 edits in trunk/Tools
Cleanup temporary directory after TestWTF's FileSystemTests
https://bugs.webkit.org/show_bug.cgi?id=226300
Reviewed by Chris Dumez.
- TestWebKitAPI/Tests/WTF/FileSystem.cpp: move to deleteNonEmptyDirectory during test cleanup
- 5:10 PM Changeset in webkit [278137] by
-
- 1 copy in tags/Safari-612.1.15.0.100
Tag Safari-612.1.15.0.100.
- 5:04 PM Changeset in webkit [278136] by
-
- 1 edit in branches/safari-612.1.15.0.100-branch/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb
Apply patch. rdar://problem/78538947
- 5:03 PM Changeset in webkit [278135] by
-
- 8 edits in branches/safari-612.1.15.0.100-branch/Source
Versioning.
WebKit-7612.1.15.0.100
- 4:44 PM Changeset in webkit [278134] by
-
- 1 copy in tags/Safari-612.1.15.0.8
Tag Safari-612.1.15.0.8.
- 4:42 PM WebKitGTK/2.32.x edited by
- (diff)
- 4:33 PM Changeset in webkit [278133] by
-
- 1 copy in branches/safari-612.1.15.0.100-branch
New branch.
- 4:24 PM Changeset in webkit [278132] by
-
- 2 edits in trunk/Source/WTF
[Hardening] Have the Ref<> destructor null out its pointer
https://bugs.webkit.org/show_bug.cgi?id=226293
<rdar://problem/78532149>
Reviewed by Geoffrey Garen.
- wtf/Ref.h:
(WTF::Ref::~Ref):
- 4:17 PM Changeset in webkit [278131] by
-
- 5 edits2 adds in trunk/Source/WebCore
Add a PAL softlinking header for the Reveal framework
https://bugs.webkit.org/show_bug.cgi?id=226292
Reviewed by Tim Horton.
Source/WebCore:
Pull soft-linking bits out of
DictionaryLookup.mmand into a separate PAL header, so that we can easily soft-
link both Reveal and RevealCore in WebKit, in future patches. See below for more details.
No change in behavior.
- editing/cocoa/DictionaryLookup.mm:
Also do some minor cleanup around this code:
- Use
autoin more places. - Make
WebRevealHighlightconform toRVPresenterHighlightDelegateandUIRVPresenterHighlightDelegate, as
was (probably) intended. Currently, the names of these delegate methods are treated as unused type template
arguments on the class. This means we no longer need tostatic_castto the protocol when passing these
objects around.
- Move several ivars on
WebRevealHighlightout of the @interface, and into the @implementation.
(-[WebRevealHighlight revealContext:drawRectsForItem:]):
(WebCore::canCreateRevealItems):
(WebCore::DictionaryLookup::rangeForSelection):
(WebCore::DictionaryLookup::rangeAtHitTestResult):
(WebCore::showPopupOrCreateAnimationController):
(SOFT_LINK_CLASS_OPTIONAL): Deleted.
Source/WebCore/PAL:
Add the new header and source file.
- PAL.xcodeproj/project.pbxproj:
- pal/PlatformMac.cmake:
- pal/cocoa/RevealSoftLink.h: Added.
- pal/cocoa/RevealSoftLink.mm: Added.
- 3:49 PM Changeset in webkit [278130] by
-
- 17 edits2 adds in trunk
[CMake] Support USE_ANGLE_EGL on additional platforms
https://bugs.webkit.org/show_bug.cgi?id=224888
<rdar://problem/77280211>
Reviewed by Ken Russell.
.:
USE_ANGLE_EGL is for platforms that want to use ANGLE as the sole OpenGL ES implementation
within WebKit. This setting is applicable to Mac and Windows platforms. USE_ANGLE_WEBGL is
just for platforms that want to use ANGLE for WebGL 2.0 support only. Any other uses of
OpenGL should go through the system OpenGL (desktop or embedded). This setting applies to
GTK.
The platform options were modified to match this.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsMac.cmake:
Source/ThirdParty/ANGLE:
Support ANGLE using the OpenGL backend for GTK. Support ANGLE using Metal
backend for Mac. Add the generated sources for these two backends.
Clean up the CMake and introduce additional targets.
- CMakeLists.txt:
- Compiler.cmake:
- GL.cmake: Added.
- Metal.cmake: Added.
- PlatformFTW.cmake:
- PlatformGTK.cmake:
- PlatformMac.cmake:
- PlatformWin.cmake:
Source/WebCore:
Use the ANGLE library targets when applicable.
- CMakeLists.txt:
- Headers.cmake:
Source/WebKit:
Use the ANGLE library targets when applicable.
- CMakeLists.txt:
Tools:
Generate source listings for Metal and OpenGL ANGLE backends.
- Scripts/update-angle:
- 3:46 PM Changeset in webkit [278129] by
-
- 4 edits in trunk
Scrollbars/indicators are sometimes incorrectly drawn when async overflow scrolling is enabled
https://bugs.webkit.org/show_bug.cgi?id=226259
Reviewed by Simon Fraser.
Source/WebCore:
Respect scrolled contents visibility when rendering scrollbar layers.
No new tests, covered by existing tests.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintContents):
LayoutTests:
Some tests involving overflow scrolling now pass.
- platform/wpe/TestExpectations:
- 3:44 PM Changeset in webkit [278128] by
-
- 2 edits in trunk/LayoutTests
[BigSur] http/tests/performance/performance-resource-timing-resourcetimingbufferfull-crash.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=226299
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 3:08 PM Changeset in webkit [278127] by
-
- 2 edits in trunk/Tools
[webkitpy] Refactor SimulatorDevice (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=225158
Unreviewed follow-up fix.
- Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.is_usable): When no UI Manager service is defined, we should early exit.
- 2:34 PM Changeset in webkit [278126] by
-
- 2 edits in trunk/LayoutTests
[ macOS iOS ] crypto/crypto-random-values-oom.html is a flakey timeout
https://bugs.webkit.org/show_bug.cgi?id=223949
Unreviewed test gardening.
Updated test expectations due to test still appearing flaky.
- platform/mac/TestExpectations:
- 2:19 PM Changeset in webkit [278125] by
-
- 3 edits2 deletes in trunk
Unreviewed, reverting r278028.
Caused fast/selectors/slow-style-sharing-with-long-cousin-
list.html to timeout on iOS and Windows.
Reverted changeset:
"CrashOnOverflow in
WebCore::RenderTable::cellBefore(WebCore::RenderTableCell
const*)"
https://bugs.webkit.org/show_bug.cgi?id=225949
https://commits.webkit.org/r278028
- 2:05 PM Changeset in webkit [278124] by
-
- 2 edits in trunk/Tools
Do not skip SetCommitQueueMinusFlagOnPatch step on EWS test instances
https://bugs.webkit.org/show_bug.cgi?id=226289
Reviewed by Jonathan Bedard.
- CISupport/ews-build/steps.py:
(SetCommitQueueMinusFlagOnPatch.start):
(SetCommitQueueMinusFlagOnPatch.doStepIf): Deleted.
- 2:02 PM WebKitGTK/2.32.x edited by
- (diff)
- 1:39 PM Changeset in webkit [278123] by
-
- 2 edits in trunk/Source/WebKit
Add release logging in WebPage::runJavaScriptInFrameInScriptWorld()
https://bugs.webkit.org/show_bug.cgi?id=226286
Reviewed by Geoffrey Garen.
Add release logging in WebPage::runJavaScriptInFrameInScriptWorld(). We have logging on UIProcess side but not on
WebProcess side. It makes it hard to determine if the WebProcess processed the request to run JS or not.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScriptInFrameInScriptWorld):
- 1:35 PM Changeset in webkit [278122] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, skip new WebAudio tests added in r278068 on Windows.
WebAudio is disabled on Windows.
- platform/win/TestExpectations:
- 1:06 PM Changeset in webkit [278121] by
-
- 11 edits1 add in trunk/Source/WebCore
[macOS] Support painting data detector highlights inside image overlays
https://bugs.webkit.org/show_bug.cgi?id=226227
Reviewed by Tim Horton.
Add support for painting data detector highlights inside image overlays by leveraging
DataDetectorHighlight.
See comments below for more details.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- editing/Editor.cpp:
(WebCore::scanForTelephoneNumbers):
Avoid painting service-controls-based telephone number highlights for selected text inside image overlays, in
order to avoid painting a redundant data detector highlight for telephone numbers in image overlays.
- html/HTMLElement.cpp:
(WebCore::imageOverlayDataDetectorClassName):
(WebCore::HTMLElement::isImageOverlayDataDetectorResult const):
(WebCore::HTMLElement::updateWithImageExtractionResult):
- html/HTMLElement.h:
- html/shadow/imageOverlay.css:
(div.image-overlay-data-detector-result):
Add support for injecting elements in the DOM that represent data detection results; these are transformed and
overlaid on the image in the same way as existing text containers. Note that we lay out these elements on top
of text, but make them invisible to hit-testing unless theIgnoreCSSPointerEventsPropertyoption is specified.
We'll take advantage of this behavior in a future patch.
- page/ImageOverlayController.cpp:
(WebCore::ImageOverlayController::selectionQuadsDidChange):
(WebCore::ImageOverlayController::uninstallPageOverlayIfNeeded):
(WebCore::ImageOverlayController::drawRect):
(WebCore::ImageOverlayController::platformHandleMouseEvent):
- page/ImageOverlayController.h:
Refactor the image overlay controller, such that we install the page overlay if there is any selection inside
the image overlay (as opposed to only when we need to use this overlay to paint the text selection for
transparent images). If data detectors are present, we'll additionally set up outDataDetectorHighlights (one
for each data detection result container).
- page/mac/ImageOverlayControllerMac.mm: Added.
(WebCore::ImageOverlayController::updateDataDetectorHighlights):
Traverse the image overlay's subtree in search of container elements that correspond to data detection results;
for each of these elements, we create a newDataDetectorHighlightusing the element's bounds, and save the
pair inm_dataDetectorContainersAndHighlights. Note that we hold a weak pointer to the container element, such
that there's no risk of leaking any of these data detection result containers (or their documents).
(WebCore::ImageOverlayController::platformHandleMouseEvent):
(WebCore::ImageOverlayController::handleDataDetectorAction):
Add a FIXME referencing the next patch in the sequence.
(WebCore::ImageOverlayController::clearDataDetectorHighlights):
- platform/mac/DataDetectorHighlight.h:
- platform/mac/DataDetectorHighlight.mm:
(WebCore::DataDetectorHighlight::createForImageOverlay):
Add a helper method to create a
DataDetectorHighlightfor image overlays.
- 12:59 PM Changeset in webkit [278120] by
-
- 5 edits1 move1 delete in trunk
[run-webkit-tests] Strip php support from webserver (Apache)
https://bugs.webkit.org/show_bug.cgi?id=226032
<rdar://problem/78269181>
Reviewed by Adrian Perez de Castro.
Tools:
- Scripts/webkitpy/port/base.py:
(Port._apache_config_file_name_for_platform): Use explicit Darwin httpd.conf.
(Port._is_darwin_php_version_7): Deleted.
(Port._darwin_php_version): Deleted.
LayoutTests:
- http/conf/apache2.2-httpd.conf: Remove PHP.
- http/conf/apache2.4-darwin-httpd.conf: Copied from LayoutTests/http/conf/apache2.4-x-httpd.conf.
- http/conf/apache2.4-httpd.conf: Remove PHP.
- http/conf/apache2.4-php7-httpd.conf: Removed.
- http/conf/apache2.4-x-httpd.conf: Renamed apache2.4-darwin-httpd.conf.
- 12:19 PM Changeset in webkit [278119] by
-
- 7 edits in trunk/Source/WebCore
Don't hang onto expired resources without validation headers in memory cache
https://bugs.webkit.org/show_bug.cgi?id=226083
rdar://78035612
Reviewed by Chris Dumez.
They consume memory while only really being useful for history navigation.
Disk cache can handle the relatively rare cases where that is useful and not
covered by the page cache.
- loader/ResourceTimingInformation.cpp:
(WebCore::ResourceTimingInformation::addResourceTiming):
(WebCore::ResourceTimingInformation::removeResourceTiming):
Add way to remove entries from the map.
- loader/ResourceTimingInformation.h:
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::removeClient):
Removal from cache is now handled in deleteIfPossible() so any path that gets the resource to
canDelete() state will do cache removal check.
Since deleteIfPossible is invoked by removeClient the existing behavior is covered.
(WebCore::CachedResource::deleteIfPossible):
Remove expired resources without validation headers from the cache if the resource is otherwise deletable.
Also eagerly remove no-store http resources (previously only https was removed).
(WebCore::CachedResource::deleteThis):
Factor into a function.
- loader/cache/CachedResource.h:
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
Ensure existing resource is removed from cache adding a new one. This was causing confusion with inCache state.
(WebCore::CachedResourceLoader::garbageCollectDocumentResources):
Don't remove entries with active loader. They are needed for resource timing.
Don't leave removed entries to ResourceTimingInformation. They are not guaranteed to stay alive after
being removed from m_documentResources.
- loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::remove):
Call CachedResource::deleteThis() directly.
- 11:52 AM Changeset in webkit [278118] by
-
- 1 copy in tags/Safari-612.1.15.4.1
Tag Safari-612.1.15.4.1.
- 11:50 AM Changeset in webkit [278117] by
-
- 2 edits in branches/safari-612.1.15.4-branch/Source/WTF
Cherry-pick r278032. rdar://problem/78517968
[AppleWin] JSC fails to build
https://bugs.webkit.org/show_bug.cgi?id=226225
<rdar://78330435>
Reviewed by Brent Fulgham.
Speculative build fix for missing script to generate unified sources. Make sure the WTF scripts directory exists before
copying the script there, and add a CMake log message to help further debugging if this is not the correct fix.
- wtf/CMakeLists.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:48 AM Changeset in webkit [278116] by
-
- 1 edit in branches/safari-612.1.15.4-branch/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
Cherry-pick r278009. rdar://problem/78463104
Ensure app highlight visibility observer is initialized before adding a new highlight
https://bugs.webkit.org/show_bug.cgi?id=226214
rdar://78173370
Patch by Matt Mokary <mmokary@apple.com> on 2021-05-25
Reviewed by Wenson Hsieh.
The app highlight visibility observer is initialized before restoring highlights, but was not initialized
before adding a new one. It must be initialized before adding a highlight so a change in visibility resulting
from a new highlight is handled correct.
- UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::createAppHighlightInSelectedRange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278009 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:48 AM Changeset in webkit [278115] by
-
- 13 edits in branches/safari-612.1.15.4-branch/Source/bmalloc
Cherry-pick r277898. rdar://problem/78411755
[bmalloc] Rollout r276266 because WebKit processes are spending much more time in madvise
https://bugs.webkit.org/show_bug.cgi?id=226122
Unreviewed rollout.
Rolling out r276266 to do some automated testing. At the same time, we'll work on changing the madvise() decommitting to be more precise.
- bmalloc/BPlatform.h:
- bmalloc/Heap.cpp: (bmalloc::Heap::scavenge): (bmalloc::Heap::scavengeToHighWatermark): (bmalloc::Heap::allocateSmallChunk): (bmalloc::Heap::allocateSmallPage): (bmalloc::Heap::allocateLarge):
- bmalloc/Heap.h:
- bmalloc/IsoDirectory.h:
- bmalloc/IsoDirectoryInlines.h: (bmalloc::passedNumPages>::takeFirstEligible): (bmalloc::passedNumPages>::scavenge): (bmalloc::passedNumPages>::scavengeToHighWatermark):
- bmalloc/IsoHeapImpl.h:
- bmalloc/IsoHeapImplInlines.h: (bmalloc::IsoHeapImpl<Config>::scavengeToHighWatermark):
- bmalloc/LargeMap.cpp: (bmalloc::LargeMap::add):
- bmalloc/LargeRange.h: (bmalloc::LargeRange::LargeRange): (bmalloc::merge):
- bmalloc/Scavenger.cpp: (bmalloc::Scavenger::Scavenger): (bmalloc::Scavenger::timeSinceLastPartialScavenge): (bmalloc::Scavenger::scavenge): (bmalloc::Scavenger::partialScavenge): (bmalloc::Scavenger::threadRunLoop):
- bmalloc/Scavenger.h:
- bmalloc/SmallPage.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277898 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:48 AM Changeset in webkit [278114] by
-
- 1 edit in branches/safari-612.1.15.4-branch/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm
Cherry-pick r277784. rdar://problem/78264934
CRASH: Null-pointer deref in MediaSessionManagerCocoa::setNowPlayingInfo()
https://bugs.webkit.org/show_bug.cgi?id=225999
<rdar://78232970>
Reviewed by Eric Carlson.
Null-check
nowPlayingInfo.artwork->imageDatabefore dereferencing.
- platform/audio/cocoa/MediaSessionManagerCocoa.mm: (WebCore::MediaSessionManagerCocoa::setNowPlayingInfo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277784 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:48 AM Changeset in webkit [278113] by
-
- 1 edit2 adds in branches/safari-612.1.15.4-branch
Cherry-pick r277726. rdar://problem/78260457
[Mac] MSE-based video pauses when put in background; PiP context menu disabled
https://bugs.webkit.org/show_bug.cgi?id=225958
<rdar://78130303>
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/media-source/media-source-has-audio-video.html
In r277116, in order to reduce the CPU usage incurred when pushing state changes from
the GPU process to the WebContent process, state changes tohasAudioandhasVideo
were now only updated when the MediaPlayer indicated that itscharacteristicsChanged().
However, in SourceBufferPrivateAVFObjC, this call was performed too early, before the
SourceBuffer in the WebContent process had informed SourceBufferPrivate of newly added
audio and video tracks. Thus the cached values ofhasAudioandhasVideoinside the
WebContent process were never updated.
Call
characteristicsChanged()from the callback handler ofdidReceiveInitializationSegment(),
which will be called only after the WebContent process completes its handling of the
new initialization segment, which includes telling the SourceBufferPrivate in the GPU
process about newly added audio and video tracks.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: (WebCore::SourceBufferPrivateAVFObjC::didParseInitializationData):
LayoutTests:
- media/media-source/media-source-has-audio-video-expected.txt: Added.
- media/media-source/media-source-has-audio-video.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277726 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:48 AM Changeset in webkit [278112] by
-
- 1 edit in branches/safari-612.1.15.4-branch/Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm
Cherry-pick r277518. rdar://problem/78260425
Web Inspector:
_WKInspectorleaksWebInspectorUIProxy
https://bugs.webkit.org/show_bug.cgi?id=225815
Reviewed by Tim Horton.
Add a missing call in
_WKInspector's destructor to destruct theWebInspectorUIProxyin API object storage.
- UIProcess/API/Cocoa/_WKInspector.mm: (-[_WKInspector dealloc]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277518 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:48 AM Changeset in webkit [278111] by
-
- 1 edit in branches/safari-612.1.15.4-branch/Source/JavaScriptCore/runtime/JSCJSValue.cpp
Unreviewed build fix, rdar://problem/78224090
./runtime/JSCJSValue.cpp:262:70: error: no member named 'callSetter' in 'JSC::GetterSetter'
- 11:48 AM Changeset in webkit [278110] by
-
- 95 edits15 deletes in branches/safari-612.1.15.4-branch
Cherry-pick r277665. rdar://problem/78224090
Temporarily revert r276592 as it breaks some native apps
https://bugs.webkit.org/show_bug.cgi?id=225917
JSTests:
Unreviewed, revert.
- microbenchmarks/put-slow-no-cache-array.js: Removed.
- microbenchmarks/put-slow-no-cache-function.js: Removed.
- microbenchmarks/put-slow-no-cache-js-proxy.js: Removed.
- microbenchmarks/put-slow-no-cache-long-prototype-chain.js: Removed.
- microbenchmarks/put-slow-no-cache.js: Removed.
- microbenchmarks/reflect-set-with-receiver.js: Removed.
- stress/custom-get-set-proto-chain-put.js: (getObjects): (let.base.of.getBases):
- stress/module-namespace-access-set-fails.js: Removed.
- stress/put-non-reified-static-accessor-or-custom.js: Removed.
- stress/put-non-reified-static-function-or-custom.js: Removed.
- stress/put-to-primitive-non-reified-static-custom.js: Removed.
- stress/put-to-primitive.js: Removed.
- stress/put-to-proto-chain-overrides-put.js: Removed.
- stress/typed-array-canonical-numeric-index-string-set.js: Removed.
LayoutTests/imported/w3c:
Unreviewed, revert.
- web-platform-tests/WebIDL/ecmascript-binding/interface-object-set-receiver-expected.txt: Removed.
- web-platform-tests/WebIDL/ecmascript-binding/interface-object-set-receiver.html: Removed.
- web-platform-tests/WebIDL/ecmascript-binding/interface-prototype-constructor-set-receiver-expected.txt:
- web-platform-tests/WebIDL/ecmascript-binding/interface-prototype-constructor-set-receiver.html:
Source/JavaScriptCore:
Unreviewed, revert.
- API/JSCallbackObject.h:
- API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::put):
- debugger/DebuggerScope.h:
- runtime/ClassInfo.h:
- runtime/ClonedArguments.h:
- runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter):
- runtime/CustomGetterSetter.h:
- runtime/ErrorConstructor.h:
- runtime/ErrorInstance.h:
- runtime/GenericArguments.h:
- runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::put):
- runtime/GetterSetter.h:
- runtime/JSArray.cpp: (JSC::JSArray::put):
- runtime/JSArray.h:
- runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::put):
- runtime/JSArrayBufferView.h:
- runtime/JSCJSValue.cpp: (JSC::JSValue::putToPrimitive):
- runtime/JSCell.cpp: (JSC::JSCell::doPutPropertySecurityCheck):
- runtime/JSCell.h:
- runtime/JSFunction.cpp: (JSC::JSFunction::put):
- runtime/JSFunction.h:
- runtime/JSGenericTypedArrayView.h:
- runtime/JSGlobalLexicalEnvironment.h:
- runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::put):
- runtime/JSGlobalObject.h:
- runtime/JSLexicalEnvironment.h:
- runtime/JSModuleEnvironment.h:
- runtime/JSModuleNamespaceObject.h:
- runtime/JSObject.cpp: (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::putInlineSlow): (JSC::JSObject::prototypeChainMayInterceptStoreTo): (JSC::definePropertyOnReceiverSlow): Deleted. (JSC::JSObject::definePropertyOnReceiver): Deleted. (JSC::JSObject::putInlineFastReplacingStaticPropertyIfNeeded): Deleted.
- runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::hasNonReifiedStaticProperties): Deleted.
- runtime/JSObjectInlines.h: (JSC::JSObject::canPerformFastPutInlineExcludingProto): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::putDirectInternal): (JSC::JSObject::putInlineFast): Deleted.
- runtime/JSProxy.h:
- runtime/JSTypeInfo.h: (JSC::TypeInfo::overridesGetOwnPropertySlot const): (JSC::TypeInfo::overridesAnyFormOfGetOwnPropertyNames const): (JSC::TypeInfo::hasPutPropertySecurityCheck const): (JSC::TypeInfo::hasStaticPropertyTable const): Deleted. (JSC::TypeInfo::overridesPut const): Deleted.
- runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut):
- runtime/PropertySlot.h:
- runtime/ProxyObject.cpp: (JSC::ProxyObject::put):
- runtime/ProxyObject.h:
- runtime/PutPropertySlot.h: (JSC::PutPropertySlot::PutPropertySlot): (JSC::PutPropertySlot::context const): (JSC::PutPropertySlot::type const): (JSC::PutPropertySlot::isInitialization const): (JSC::PutPropertySlot::isTaintedByOpaqueObject const): Deleted. (JSC::PutPropertySlot::setIsTaintedByOpaqueObject): Deleted.
- runtime/ReflectObject.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/RegExpObject.cpp: (JSC::RegExpObject::put):
- runtime/RegExpObject.h:
- runtime/StringObject.cpp: (JSC::StringObject::put):
- runtime/StringObject.h:
- runtime/StringPrototype.cpp: (JSC::StringPrototype::finishCreation): (JSC::StringPrototype::create):
- runtime/StringPrototype.h:
- runtime/Structure.cpp: (JSC::Structure::validateFlags):
- runtime/Structure.h: (JSC::Structure::takesSlowPathInDFGForImpureProperty): (JSC::Structure::hasNonReifiedStaticProperties const): Deleted.
- tools/JSDollarVM.cpp:
Source/WebCore:
Unreviewed, revert.
- bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put):
- bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::doPutPropertySecurityCheck):
- bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::put):
- bindings/scripts/CodeGeneratorJS.pm: (GeneratePut): (GenerateHeader):
- bindings/scripts/test/JS/JSTestDomainSecurity.h:
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::put):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h:
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::put):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h:
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::put):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h:
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h:
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::put):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h:
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h:
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::put):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h:
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::put):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h:
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::put):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h:
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::put):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h:
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h:
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.cpp: (WebCore::JSTestNamedSetterWithLegacyOverrideBuiltIns::put):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.h:
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp: (WebCore::JSTestNamedSetterWithLegacyUnforgeableProperties::put):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.h:
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp: (WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns::put):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.h:
- bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::put):
- bindings/scripts/test/JS/JSTestPluginInterface.h:
- bridge/objc/objc_runtime.h:
- bridge/runtime_array.h:
- bridge/runtime_object.h:
Source/WebKit:
Unreviewed, revert.
- WebProcess/Plugins/Netscape/JSNPObject.h:
LayoutTests:
Unreviewed, revert
- http/tests/security/cross-frame-access-object-getPrototypeOf-in-put-expected.txt:
- http/tests/security/cross-frame-access-object-getPrototypeOf-in-put.html:
- js/dom/reflect-set-onto-dom-expected.txt:
- js/dom/script-tests/reflect-set-onto-dom.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277665 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:48 AM Changeset in webkit [278109] by
-
- 2 edits in branches/safari-612.1.15.4-branch/Tools
Revert "Cherry-pick r277608. rdar://problem/78207944"
This reverts commit r277723
- 11:48 AM Changeset in webkit [278108] by
-
- 2 edits in branches/safari-612.1.15.4-branch/Tools
Cherry-pick r277608. rdar://problem/78207944
Fix clean build after r277606
https://bugs.webkit.org/show_bug.cgi?id=223658
- TestWebKitAPI/Tests/WebKitCocoa/ContentSecurityPolicy.mm: (TEST): Use API instead of removed API. Why EWS didn't find this, we may never know.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:48 AM Changeset in webkit [278107] by
-
- 2 edits2 adds in branches/safari-612.1.15.4-branch
Cherry-pick r277452. rdar://problem/78179698
REGRESSION (r276945): [iOS] Focus rings are too large
https://bugs.webkit.org/show_bug.cgi?id=225778
<rdar://problem/77858341>
Reviewed by Tim Horton.
Source/WebCore:
r276945 updated scaling logic to ensure that the scale of the base CTM
matches the device scale factor. The change itself makes our base CTM
more correct, but exposed a longstanding bug with our focus ring
implementation.
Focus rings are drawn using CoreGraphics, using CGFocusRingStyle. On
macOS, the style is initialized using NSInitializeCGFocusRingStyleForTime.
However, on iOS, we initialize the style ourselves, using UIKit constants.
Currently, the focus ring's style's radius is set to
+[UIFocusRingStyle cornerRadius], a constant of 8. This is the longstanding
issue. CGFocusRingStyle's radius is not a corner radius, but is the
width of the focus ring. In UIKit, this width is represented by
+[UIFocusRingStyle borderThickness], a constant of 3. WebKit has always
intended to match this width, as evidenced by the default outline-width
of 3px in the UA style sheet.
Considering the large disparity between the existing and expected radius
value, it may be surprising that this mistake has gone unnoticed since
2019, when focus rings were first introduced on iOS. This is where r276945
comes into play. Prior to r276945, the scale of the base CTM did not match
the device scale factor. This meant that CG scaled down the constant of 8
to 4 CSS pixels (1 (base CTM) / 2 (device scale factor)). After r276945,
the two scales are equal and the focus ring is drawn as 8 CSS pixels, much
larger than the expected 3px.
Test: fast/forms/ios/focus-ring-size.html
- platform/graphics/cocoa/GraphicsContextCocoa.mm: (WebCore::drawFocusRingAtTime):
To fix, use the correct SPI to get the focus ring width,
+[UIFocusRingStyle borderThickness]. This ensures that focus rings have
the right width, following r276945.
The change also fixes focus ring repaint issues that arose from the
fact that the outline-width was 3px, but the painted width was 4px.
Source/WebCore/PAL:
- pal/spi/ios/UIKitSPI.h:
LayoutTests:
Added a regression test to verify the size of the focus ring on iOS.
The test works by drawing an overlay on top of an input element, that
is just large enough to obscure the focus ring. If the focus ring is
too large, the ring will not obscured, leading to a mismatch failure.
- fast/forms/ios/focus-ring-size-expected.html: Added.
- fast/forms/ios/focus-ring-size.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:48 AM Changeset in webkit [278106] by
-
- 2 edits in branches/safari-612.1.15.4-branch/Source/WebCore
Revert "Cherry-pick r277459. rdar://problem/78110796"
This reverts commit r277597.
- 11:48 AM Changeset in webkit [278105] by
-
- 29 edits1 add1 delete in branches/safari-612.1.15.4-branch
Revert "Cherry-pick r277505. rdar://problem/78110796"
This reverts commit r277598.
- 11:48 AM Changeset in webkit [278104] by
-
- 2 edits in branches/safari-612.1.15.4-branch/Source/WebCore
Revert "Cherry-pick r277594. rdar://problem/78130222"
This reverts commit r277621
- 11:47 AM Changeset in webkit [278103] by
-
- 2 edits in branches/safari-612.1.15.4-branch/Source/WebCore
Revert "Cherry-pick r277603. rdar://problem/78130222"
This reverts commit r277623
- 11:47 AM Changeset in webkit [278102] by
-
- 2 edits in branches/safari-612.1.15.4-branch/Source/ThirdParty/ANGLE
Cherry-pick r277661. rdar://problem/78175007
Stop compiling ANGLE metal files twice
https://bugs.webkit.org/show_bug.cgi?id=225919
<rdar://78013511>
Reviewed by Dean Jackson.
ANGLE currently generates an unused default.metallib that conflicts with other default.metallibs being built.
Since it is unused, remove it.
What we currently do is put all the source bytes into gDefaultMetallibSrc and compile it at runtime.
This could be optimized to do it at compile time and use newLibraryWithData instead of newLibraryWithSource,
but that should be done separately.
- ANGLE.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277661 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:47 AM Changeset in webkit [278101] by
-
- 5 edits in branches/safari-612.1.15.4-branch/Source
Apply patch. rdar://problem/77799537
- 11:47 AM Changeset in webkit [278100] by
-
- 2 edits in branches/safari-612.1.15.4-branch/Source/WebCore
Cherry-pick r277603. rdar://problem/78130222
Null check m_resource in SubresourceLoader::didReceiveResponse
https://bugs.webkit.org/show_bug.cgi?id=225879
Reviewed by Chris Dumez.
Add ASSERT_NOT_REACHED and RELEASE_LOG_FAULT if m_resource is null.
This will help us notice this invalid state in debug builds and diagnose strange loading failures in simulated crash logs.
On further investigation, the crash fixed in r277594 was likely already fixed by something else, but that made it more robust.
- loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::didReceiveResponse):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:47 AM Changeset in webkit [278099] by
-
- 2 edits in branches/safari-612.1.15.4-branch/Source/WebCore
Cherry-pick r277600. rdar://problem/78130132
REGRESSION(r277425): Crash in FrameSelection::selectFrameElementInParentIfFullySelected
https://bugs.webkit.org/show_bug.cgi?id=225795
Patch by Frederic Wang <fwang@igalia.com> on 2021-05-17
Reviewed by Ryosuke Niwa.
r277425 claimed that in FrameSelection::setSelectionWithoutUpdatingAppearance,
!m_document->frame() was equivalent to !selectionEndpointsBelongToMultipleDocuments &&
!selectionIsInAnotherDocument && selectionIsInDetachedDocument, but it misses the case when
newSelection.document() is null. So this patch adds back this particular case to the
original "if" block. This patch also adds an ASSERT on m_document->frame().
No new tests.
- editing/FrameSelection.cpp: (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance): Add back the case !m_document->frame() && !newSelection.document() to the first sanity check and ASSERT on m_document->frame() after the second sanity check.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:47 AM Changeset in webkit [278098] by
-
- 2 edits in branches/safari-612.1.15.4-branch/Source/WebCore
Cherry-pick r277594. rdar://problem/78130222
Null check m_resource in SubresourceLoader::didReceiveResponse
https://bugs.webkit.org/show_bug.cgi?id=225879
<rdar://78084804>
Reviewed by Chris Dumez.
- loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::didReceiveResponse):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277594 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:47 AM Changeset in webkit [278097] by
-
- 29 edits1 add1 delete in branches/safari-612.1.15.4-branch
Cherry-pick r277505. rdar://problem/78110796
Promote
-[WKWebView _pageExtendedBackgroundColor]SPI to-[WKWebView underPageBackgroundColor]API
https://bugs.webkit.org/show_bug.cgi?id=225615
<rdar://problem/76568094>
Reviewed by Wenson Hsieh.
Source/WebCore:
underPageBackgroundColoris anull_resettableproperty that will return (in order of validity)
- the most recent non-null value provided
- the CSS
background-colorof the<body>and/or<html>(this is the current value of_pageExtendedBackgroundColor) - the underlying platform view's background color
Modifications to this property will not have any effect until control is returned to the runloop.
Tests: WKWebViewUnderPageBackgroundColor.OnLoad
WKWebViewUnderPageBackgroundColor.SingleSolidColor
WKWebViewUnderPageBackgroundColor.SingleBlendedColor
WKWebViewUnderPageBackgroundColor.MultipleSolidColors
WKWebViewUnderPageBackgroundColor.MultipleBlendedColors
WKWebViewUnderPageBackgroundColor.KVO
WKWebViewUnderPageBackgroundColor.MatchesScrollView
- page/Page.h: (WebCore::Page::underPageBackgroundColorOverride const): Added.
- page/Page.cpp:
(WebCore::Page::setUnderPageBackgroundColorOverride): Added.
Hold the client-overriden value for
underPageBackgroundColorso that it can be used when drawing the overscroll layer.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateLayerForOverhangAreasBackgroundColor):
Remove the experimental settings
UseSampledPageTopColorForScrollAreaBackgroundColorandUseThemeColorForScrollAreaBackgroundColornow that clients can override the default overscroll area background color using-[WKWebView setUnderPageBackgroundColor:].
- dom/Document.cpp:
(WebCore::Document::themeColorChanged):
It's no longer necessary to force the overscroll area to redraw since that'll be handled by
a client calling
-[WKWebView setUnderPageBackgroundColor:](possibly in response to a-[WKWebView themeColor]KVO notification).
Source/WebKit:
underPageBackgroundColoris anull_resettableproperty that will return (in order of validity)
- the most recent non-null value provided
- the CSS
background-colorof the<body>and/or<html>(this is the current value of_pageExtendedBackgroundColor) - the underlying platform view's background color
Modifications to this property will not have any effect until control is returned to the runloop.
- UIProcess/API/Cocoa/WKWebView.h:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView underPageBackgroundColor]): Added. (-[WKWebView setUnderPageBackgroundColor:]): Added. (+[WKWebView automaticallyNotifiesObserversOfUnderPageBackgroundColor]): Added.
- UIProcess/API/ios/WKWebViewIOS.mm:
(baseScrollViewBackgroundColor):
(scrollViewBackgroundColor):
Remove the experimental settings
UseSampledPageTopColorForScrollAreaBackgroundColorandUseThemeColorForScrollAreaBackgroundColornow that clients can override the default overscroll area background color using-[WKWebView setUnderPageBackgroundColor:].
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::underPageBackgroundColor const): Added. (WebKit::WebPageProxy::setUnderPageBackgroundColorOverride): Added. (WebKit::WebPageProxy::pageExtendedBackgroundColorDidChange): (WebKit::WebPageProxy::platformUnderPageBackgroundColor const): Added. (WebKit::WebPageProxy::scrollAreaBackgroundColor const): Deleted.
- UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::platformUnderPageBackgroundColor const): Added.
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::platformUnderPageBackgroundColor const): Added.
Store the client-overriden value for
underPageBackgroundColorand manage state changes.
- UIProcess/PageClient.h: (WebKit::PageClient::underPageBackgroundColorWillChange): Added. (WebKit::PageClient::underPageBackgroundColorDidChange): Added.
- UIProcess/Cocoa/PageClientImplCocoa.h:
- UIProcess/Cocoa/PageClientImplCocoa.mm:
(WebKit::PageClientImplCocoa::underPageBackgroundColorWillChange): Added.
(WebKit::PageClientImplCocoa::underPageBackgroundColorDidChange): Added.
Add ObjC KVO support for
-[WKWebView underPageBackgroundColor].
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::contentViewBackgroundColor): Added.
Provide a way to get the
backgroundColorof theWKContentView. This is needed on iOS becausescrollViewBackgroundColor(nowWebPageProxy::platformUnderPageBackgroundColor) would use this value before falling back to the underlying platform view's background color.
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setUnderPageBackgroundColorOverride): Added.
Pass the client-overriden value for
underPageBackgroundColorto the WebProcess so that it can be used when drawing the overscroll layer.
- UIProcess/ViewSnapshotStore.cpp:
(WebKit::ViewSnapshotStore::recordSnapshot):
Go back to using the
pageExtendedBackgroundColor(before r273083).
Source/WTF:
underPageBackgroundColoris anull_resettableproperty that will return (in order of validity)
- the most recent non-null value provided
- the CSS
background-colorof the<body>and/or<html>(this is the current value of_pageExtendedBackgroundColor) - the underlying platform view's background color
Modifications to this property will not have any effect until control is returned to the runloop.
- Scripts/Preferences/WebPreferencesInternal.yaml:
Remove the experimental settings
UseSampledPageTopColorForScrollAreaBackgroundColorandUseThemeColorForScrollAreaBackgroundColornow that clients can override the default overscroll area background color using-[WKWebView setUnderPageBackgroundColor:].
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewUnderPageBackgroundColor.mm: Renamed from PageExtendedBackgroundColor.mm. (defaultBackgroundColor): Added. (TEST.WKWebViewUnderPageBackgroundColor.OnLoad): (TEST.WKWebViewUnderPageBackgroundColor.SingleSolidColor): Added. (TEST.WKWebViewUnderPageBackgroundColor.SingleBlendedColor): Added. (TEST.WKWebViewUnderPageBackgroundColor.MultipleSolidColors): Added. (TEST.WKWebViewUnderPageBackgroundColor.MultipleBlendedColors): Added. (-[WKWebViewUnderPageBackgroundColorObserver initWithWebView:]): Added. (-[WKWebViewUnderPageBackgroundColorObserver observeValueForKeyPath:ofObject:change:context:]): Added. (TEST.WKWebViewUnderPageBackgroundColor.KVO): (TEST.WKWebViewUnderPageBackgroundColor.MatchesScrollView): Added. (TEST.WKWebViewUnderPageBackgroundColor.MultipleStyles): Deleted. (-[WKWebViewPageExtendedBackgroundColorObserver initWithWebView:]): Deleted. (-[WKWebViewPageExtendedBackgroundColorObserver observeValueForKeyPath:ofObject:change:context:]): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm: (createWebViewWithSampledPageTopColorMaxDifference): (TEST.SampledPageTopColor.ExperimentalUseSampledPageTopColorForScrollAreaBackgroundColor): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewThemeColor.mm:
(createWebView): Deleted.
(TEST.WKWebView.ExperimentalUseThemeColorForScrollAreaBackgroundColor): Deleted.
Remove the experimental settings
UseSampledPageTopColorForScrollAreaBackgroundColorandUseThemeColorForScrollAreaBackgroundColornow that clients can override the default overscroll area background color using-[WKWebView setUnderPageBackgroundColor:].
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277505 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:47 AM Changeset in webkit [278096] by
-
- 2 edits in branches/safari-612.1.15.4-branch/Source/WebCore
Cherry-pick r277459. rdar://problem/78110796
[macOS] experimental "Use theme color for scroll area background" isn't working
https://bugs.webkit.org/show_bug.cgi?id=225726
<rdar://problem/77933000>
Reviewed by Tim Horton.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateLayerForOverhangAreasBackgroundColor):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
Fix last remaining
m_layerForOverhangAreas->setBackgroundColorto use the helper functionRenderLayerCompositor::updateLayerForOverhangAreasBackgroundColorinstead so that all paths that update the overscroll area color check the experimental settings too.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:47 AM Changeset in webkit [278095] by
-
- 2 edits in branches/safari-612.1.15.4-branch/Source/WebKit
Cherry-pick r277528. rdar://problem/78109685
REGRESSION (r269824): Random tile corruption when scrolling/zooming in macCatalyst
https://bugs.webkit.org/show_bug.cgi?id=225837
<rdar://problem/75053997>
Reviewed by Simon Fraser.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer): Mark the newly front buffer non-volatile before painting into it. This was lost in r269824. Oddly, this caused less trouble than one might expect, except on some particular hardware.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277528 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:47 AM Changeset in webkit [278094] by
-
- 35 edits in branches/safari-612.1.15.4-branch/Source
Cherry-pick r277453. rdar://problem/78108967
Add textIndicator bounce for AppHighlights on scroll.
https://bugs.webkit.org/show_bug.cgi?id=225727
Reviewed by Tim Horton.
- Modules/highlight/AppHighlightStorage.cpp: (WebCore::AppHighlightStorage::attemptToRestoreHighlightAndScroll):
- loader/EmptyClients.cpp: (WebCore::EmptyChromeClient::setTextIndicator const):
- loader/EmptyClients.h:
- page/ChromeClient.h:
- page/TextIndicator.h:
- page/cocoa/WebTextIndicatorLayer.h:
- page/cocoa/WebTextIndicatorLayer.mm: (-[WebTextIndicatorLayer initWithFrame:textIndicator:margin:offset:]): (createBounceAnimation): (-[WebTextIndicatorLayer _animationDuration]):
- page/mac/TextIndicatorWindow.h:
- page/mac/TextIndicatorWindow.mm: (WebCore::TextIndicatorWindow::~TextIndicatorWindow): (WebCore::TextIndicatorWindow::clearTextIndicator): (WebCore::TextIndicatorWindow::setTextIndicator):
Use factored out textIndicator code to add a bounce to an appHighlight
when it is scrolled to.
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm: (-[WKWindowVisibilityObserver _dictionaryLookupPopoverWillClose:]): (WebKit::WebViewImpl::setTextIndicator): (WebKit::WebViewImpl::clearTextIndicatorWithAnimation): (WebKit::WebViewImpl::dismissContentRelativeChildWindowsWithAnimationFromViewOnly): (WebKit::WebViewImpl::dismissContentRelativeChildWindowsFromViewOnly):
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setTextIndicator): (WebKit::WebPageProxy::clearTextIndicator):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::setTextIndicator): (WebKit::PageClientImpl::clearTextIndicator): (WebKit::PageClientImpl::setTextIndicatorAnimationProgress):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView setUpTextIndicator:]): (-[WKContentView clearTextIndicator:]): (-[WKContentView setTextIndicatorAnimationProgress:]): (-[WKContentView teardownTextIndicatorLayer]): (-[WKContentView startFadeOut]):
- UIProcess/mac/PageClientImplMac.h:
- UIProcess/mac/PageClientImplMac.mm: (WebKit::PageClientImpl::setTextIndicator): (WebKit::PageClientImpl::clearTextIndicator): (WebKit::PageClientImpl::didPerformDictionaryLookup):
- UIProcess/mac/WKImmediateActionController.mm: (-[WKImmediateActionController _animationControllerForText]):
- WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::setTextIndicator const):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/FindController.cpp: (WebKit::FindController::updateFindIndicator):
- WebCoreSupport/WebChromeClient.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:35 AM Changeset in webkit [278093] by
-
- 35 edits in trunk/Source/JavaScriptCore
Use UncheckedLock even less in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=226278
Reviewed by Darin Adler.
Use UncheckedLock even less in JavaScriptCore as it is being phased out in
favor of Lock, which supports Clang thread safety analysis.
- heap/BlockDirectory.h:
(JSC::BlockDirectory::WTF_RETURNS_LOCK):
- heap/CodeBlockSet.h:
(JSC::CodeBlockSet::WTF_RETURNS_LOCK):
- heap/Heap.h:
- heap/MarkedSpace.h:
(JSC::MarkedSpace::directoryLock):
- heap/MarkingConstraintSolver.h:
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::donateKnownParallel):
- heap/SlotVisitor.h:
- jit/JITWorklist.cpp:
- jit/JITWorklist.h:
- jsc.cpp:
- profiler/ProfilerDatabase.h:
- runtime/DeferredWorkTimer.h:
- runtime/VMTraps.cpp:
(JSC::VMTraps::invalidateCodeBlocksOnStack):
- runtime/VMTraps.h:
- tools/FunctionOverrides.cpp:
(JSC::FunctionOverrides::FunctionOverrides):
(JSC::FunctionOverrides::reinstallOverrides):
(JSC::FunctionOverrides::parseOverridesInFile):
- tools/FunctionOverrides.h:
(JSC::FunctionOverrides::WTF_REQUIRES_LOCK):
- tools/VMInspector.cpp:
(JSC::ensureIsSafeToLock):
(JSC::VMInspector::codeBlockForMachinePC):
- wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::work):
(JSC::Wasm::BBQPlan::compileFunction):
(JSC::Wasm::BBQPlan::didCompleteCompilation):
- wasm/WasmBBQPlan.h:
- wasm/WasmEntryPlan.cpp:
(JSC::Wasm::EntryPlan::parseAndValidateModule):
(JSC::Wasm::EntryPlan::prepare):
(JSC::Wasm::EntryPlan::ThreadCountHolder::~ThreadCountHolder):
(JSC::Wasm::EntryPlan::complete):
- wasm/WasmEntryPlan.h:
(JSC::Wasm::EntryPlan::tryReserveCapacity):
- wasm/WasmLLIntPlan.cpp:
(JSC::Wasm::LLIntPlan::compileFunction):
(JSC::Wasm::LLIntPlan::didCompleteCompilation):
(JSC::Wasm::LLIntPlan::completeInStreaming):
(JSC::Wasm::LLIntPlan::didFailInStreaming):
- wasm/WasmLLIntPlan.h:
- wasm/WasmOMGForOSREntryPlan.cpp:
(JSC::Wasm::OMGForOSREntryPlan::work):
- wasm/WasmOMGForOSREntryPlan.h:
- wasm/WasmOMGPlan.cpp:
(JSC::Wasm::OMGPlan::work):
- wasm/WasmOMGPlan.h:
- wasm/WasmPlan.cpp:
(JSC::Wasm::Plan::runCompletionTasks):
(JSC::Wasm::Plan::tryRemoveContextAndCancelIfLast):
(JSC::Wasm::Plan::fail):
- wasm/WasmPlan.h:
- wasm/WasmStreamingCompiler.cpp:
(JSC::Wasm::StreamingCompiler::didCompileFunction):
(JSC::Wasm::StreamingCompiler::completeIfNecessary):
(JSC::Wasm::StreamingCompiler::didComplete):
(JSC::Wasm::StreamingCompiler::finalize):
- wasm/WasmStreamingCompiler.h:
- wasm/WasmStreamingPlan.cpp:
(JSC::Wasm::StreamingPlan::work):
- wasm/WasmStreamingPlan.h:
- wasm/WasmThunks.h:
- 10:40 AM Changeset in webkit [278092] by
-
- 2 edits19 deletes in trunk/LayoutTests
[LayoutTests] Delete php tests from imported/blink
https://bugs.webkit.org/show_bug.cgi?id=226177
<rdar://problem/78401190>
Reviewed by Stephanie Lewis.
- imported/blink/http/tests/css/remove-placeholder-styles-expected.txt: Removed.
- imported/blink/http/tests/css/remove-placeholder-styles.html: Removed.
- imported/blink/http/tests/css/resources: Removed.
- imported/blink/http/tests/resources: Removed.
- imported/blink/http/tests/security/referrer-policy-attribute-img-origin-expected.html: Removed.
- imported/blink/http/tests/security/referrer-policy-attribute-img-origin-when-crossorigin-expected.html: Removed.
- imported/blink/http/tests/security/referrer-policy-attribute-img-origin-when-crossorigin.html: Removed.
- imported/blink/http/tests/security/referrer-policy-attribute-img-origin.html: Removed.
- imported/blink/http/tests/security/referrer-policy-attribute-img-picture-expected.html: Removed.
- imported/blink/http/tests/security/referrer-policy-attribute-img-picture.html: Removed.
- imported/blink/http/tests/security/referrer-policy-attribute-img-removeattr-expected.html: Removed.
- imported/blink/http/tests/security/referrer-policy-attribute-img-removeattr.html: Removed.
- imported/blink/http/tests/security/referrer-policy-attribute-img-unsafe-url-expected.html: Removed.
- imported/blink/http/tests/security/referrer-policy-attribute-img-unsafe-url.html: Removed.
- imported/blink/http/tests/security/resources/green-if-no-referrer.php: Removed.
- imported/blink/http/tests/security/resources/green-if-referrer-is-full-url-origin-when-crossorigin.php: Removed.
- imported/blink/http/tests/security/resources/green-if-referrer-is-full-url.php: Removed.
- imported/blink/http/tests/security/resources/green-if-referrer-is-origin.php: Removed.
- imported/blink/http/tests/svg/image-fetch-fail-expected.txt: Removed.
- imported/blink/http/tests/svg/image-fetch-fail.svg: Removed.
- imported/blink/http/tests/svg/resources: Removed.
- platform/ios/TestExpectations:
- 10:34 AM Changeset in webkit [278091] by
-
- 4 edits in trunk
URL path setter messes up UTF-8 encoding after ?
https://bugs.webkit.org/show_bug.cgi?id=226136
Patch by Alex Christensen <achristensen@webkit.org> on 2021-05-26
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/url/url-setters-expected.txt:
Source/WTF:
escapePathWithoutCopying needs to tell percentEncodeCharacters to percent encode all non-ASCII characters in the output of UTF-8 encoding
in addition to ? and #. Otherwise, we take the output of UTF-8 encoding and append each code unit to the input of URL parsing as if it were Latin-1.
This matches Chrome, Firefox, and reason.
Covered by a newly passing WPT test.
Other callers of percentEncodeCharacters use functions that already encode all non-ASCII characters.
- wtf/URL.cpp:
(WTF::escapePathWithoutCopying):
- 10:08 AM Changeset in webkit [278090] by
-
- 8 edits in branches/safari-612.1.15.4-branch/Source
Versioning.
WebKit-7612.1.15.4.1
- 10:04 AM Changeset in webkit [278089] by
-
- 5 edits in trunk
Drop SecurityPolicyViolationEvent's blockedURL & documentURL attributes
https://bugs.webkit.org/show_bug.cgi?id=226270
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline WPT test due to change.
- web-platform-tests/content-security-policy/securitypolicyviolation/idlharness.window-expected.txt:
Source/WebCore:
Drop SecurityPolicyViolationEvent's blockedURL & documentURL attributes that I very recently added as part of
r278042. No other browser supports those and it looks like they may get dropped from the spec
(https://github.com/w3c/webappsec-csp/issues/498) since the blockedURI/documentURI cannot be renamed in the
SecurityPolicyViolationEventInit dictionary.
This is basically a partial revert of r278042, while we work on the spec to get updated to match browsers.
- dom/SecurityPolicyViolationEvent.h:
- dom/SecurityPolicyViolationEvent.idl:
- 9:47 AM Changeset in webkit [278088] by
-
- 1 copy in branches/safari-612.1.15.4-branch
New branch.
- 9:46 AM Changeset in webkit [278087] by
-
- 16 edits in trunk/Source
Stop using UncheckedLock in WTF::AutomaticThread
https://bugs.webkit.org/show_bug.cgi?id=226255
Reviewed by Keith Miller.
Source/JavaScriptCore:
Some code in JSC had to be ported from UncheckedLock to Lock as a result of
WTF::AutomaticThread using the Lock type.
- dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::Worklist):
- dfg/DFGWorklist.h:
- heap/Heap.cpp:
(JSC::Heap::Heap):
- heap/Heap.h:
- jit/JITWorklist.cpp:
(JSC::JITWorklist::JITWorklist):
- jit/JITWorklist.h:
- runtime/VMTraps.cpp:
(JSC::VMTraps::VMTraps):
- runtime/VMTraps.h:
- wasm/WasmWorklist.cpp:
(JSC::Wasm::Worklist::Worklist):
- wasm/WasmWorklist.h:
Source/WTF:
Stop using UncheckedLock in WTF::AutomaticThread as it is being phased out in favor of
Lock, which supports Clang thread safety analysis.
- wtf/AutomaticThread.cpp:
(WTF::AutomaticThreadCondition::wait):
(WTF::AutomaticThreadCondition::waitFor):
(WTF::AutomaticThread::AutomaticThread):
- wtf/AutomaticThread.h:
- wtf/ParallelHelperPool.cpp:
(WTF::ParallelHelperClient::~ParallelHelperClient):
(WTF::ParallelHelperClient::finish):
(WTF::ParallelHelperClient::finishWithLock):
(WTF::ParallelHelperPool::ParallelHelperPool):
- wtf/ParallelHelperPool.h:
(WTF::ParallelHelperPool::numberOfThreads const):
- wtf/WorkerPool.cpp:
(WTF::WorkerPool::WorkerPool):
- wtf/WorkerPool.h:
- 9:30 AM Changeset in webkit [278086] by
-
- 3 edits1 add in trunk/Source/WebCore
[LFC] Introduce containingBlockChain iterator
https://bugs.webkit.org/show_bug.cgi?id=226269
Reviewed by Antti Koivisto.
Let's use the range loop syntax to climb the containing block chain.
- WebCore.xcodeproj/project.pbxproj:
- layout/formattingContexts/table/TableFormattingQuirks.cpp:
(WebCore::Layout::TableFormattingQuirks::heightValueOfNearestContainingBlockWithFixedHeight const):
- layout/layouttree/LayoutContainingBlockChainIterator.h: Added.
(WebCore::Layout::LayoutContainingBlockChainIterator::operator* const):
(WebCore::Layout::LayoutContainingBlockChainIterator::operator-> const):
(WebCore::Layout::LayoutContainingBlockChainIterator::operator== const):
(WebCore::Layout::LayoutContainingBlockChainIterator::operator!= const):
(WebCore::Layout::LayoutContainingBlockChainIterator::LayoutContainingBlockChainIterator):
(WebCore::Layout::LayoutContainingBlockChainIterator::operator++):
(WebCore::Layout::LayoutContainingBlockChainIteratorAdapter::LayoutContainingBlockChainIteratorAdapter):
(WebCore::Layout::LayoutContainingBlockChainIteratorAdapter::begin):
(WebCore::Layout::LayoutContainingBlockChainIteratorAdapter::end):
(WebCore::Layout::containingBlockChainOf):
- 8:35 AM Changeset in webkit [278085] by
-
- 8 edits in branches/safari-612.1.15.1-branch/Source
Versioning.
WebKit-7612.1.15.1.14
- 8:34 AM Changeset in webkit [278084] by
-
- 8 edits in branches/safari-612.1.15.0-branch/Source
Versioning.
WebKit-7612.1.15.0.8
- 8:23 AM Changeset in webkit [278083] by
-
- 2 edits in trunk/Tools
[test-lldb-webkit] Update for Xcode 12.5
https://bugs.webkit.org/show_bug.cgi?id=226115
<rdar://problem/78331664>
Reviewed by Darin Adler.
- lldb/lldb_webkit_unittest.py:
(TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_8bit_string): Use unicode directly.
(TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_16bit_string): Ditto.
(TestSummaryProviders.serial_test_WTFString_SummaryProvider_8bit_string): Ditto.
(TestSummaryProviders.serial_test_WTFString_SummaryProvider_16bit_string): Ditto.
- 8:15 AM Changeset in webkit [278082] by
-
- 35 edits3 copies9 moves3 adds4 deletes in trunk/Source/JavaScriptCore
Merge all the JIT worklists into a shared worklist
https://bugs.webkit.org/show_bug.cgi?id=226207
Reviewed by Saam Barati.
Delete the DFG and FTL worklists and refactor JITWorklist to handle the compilation
for all tiers. This reduces the total number of compiler threads while allowing each
tier to use more threads whenever necessary. The default configuration is for the
worklist to have 3 threads, baseline can use up to all 3 threads and DFG and FTL follow
the previous limits set through JSC::Options. Right now, the worklist will only do work
on upper tiers when all lower tiers have no pending tasks or have exceeded the maximum
number of concurrent compilations. i.e. by default we only DFG compile when there are
no baseline tasks in the queue and we only FTL compile when we either have no DFG tasks
in the queue OR there are already 2 DFG compilations in progress.
- API/JSVirtualMachine.mm:
(+[JSVirtualMachine setNumberOfDFGCompilerThreads:]):
(+[JSVirtualMachine setNumberOfFTLCompilerThreads:]):
- API/tests/testapi.mm:
(runJITThreadLimitTests):
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::checkIfOptimizationThresholdReached):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCommon.h:
(JSC::DFG::verboseCompilationEnabled):
(JSC::DFG::logCompilationChanges):
(JSC::DFG::shouldDumpGraphAtEachPhase):
(JSC::DFG::shouldDumpDisassembly):
- dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
(JSC::DFG::compile):
- dfg/DFGDriver.h:
- dfg/DFGGraph.h:
- dfg/DFGGraphSafepoint.h:
- dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
(JSC::DFG::OSRAvailabilityAnalysisPhase::run):
- dfg/DFGOSREntrypointCreationPhase.cpp:
(JSC::DFG::OSREntrypointCreationPhase::run):
- dfg/DFGOperations.cpp:
(JSC::DFG::triggerFTLReplacementCompile):
(JSC::DFG::tierUpCommon):
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::Plan):
(JSC::DFG::Plan::codeSize const):
(JSC::DFG::Plan::finalizeInGC):
(JSC::DFG::Plan::notifyReady):
(JSC::DFG::Plan::cancel):
(JSC::DFG::Plan::compileInThreadImpl):
(JSC::DFG::Plan::finalize):
(JSC::DFG::Plan::iterateCodeBlocksForGC):
(JSC::DFG::Plan::checkLivenessAndVisitChildren):
(JSC::DFG::Plan::isKnownToBeLiveDuringGC):
(JSC::DFG::Plan::isKnownToBeLiveAfterGC):
- dfg/DFGPlan.h:
- dfg/DFGPlanInlines.h: Removed.
- dfg/DFGTierUpCheckInjectionPhase.cpp:
(JSC::DFG::TierUpCheckInjectionPhase::run):
- dfg/DFGWorklist.cpp: Removed.
- dfg/DFGWorklist.h: Removed.
- dfg/DFGWorklistInlines.h: Removed.
- ftl/FTLCompile.h:
- ftl/FTLLink.cpp:
(JSC::FTL::link):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::lower):
(JSC::FTL::DFG::LowerDFGToB3::buildExitArguments):
- ftl/FTLState.cpp:
(JSC::FTL::State::State):
- ftl/FTLState.h:
(JSC::FTL::verboseCompilationEnabled):
(JSC::FTL::shouldDumpDisassembly):
- heap/Heap.cpp:
(JSC::Heap::completeAllJITPlans):
(JSC::Heap::iterateExecutingAndCompilingCodeBlocks):
(JSC::Heap::removeDeadCompilerWorklistEntries):
(JSC::Heap::stopThePeriphery):
(JSC::Heap::suspendCompilerThreads):
(JSC::Heap::resumeCompilerThreads):
(JSC::Heap::addCoreConstraints):
- heap/Heap.h:
- heap/RootMarkReason.h:
- jit/JIT.cpp:
(JSC::JIT::compileAndLinkWithoutFinalizing):
(JSC::JIT::codeSize const):
(JSC::JIT::compileTimeStats):
- jit/JIT.h:
- jit/JITBaselinePlan.cpp: Copied from Source/JavaScriptCore/ftl/FTLState.cpp.
(JSC::JITBaselinePlan::JITBaselinePlan):
(JSC::JITBaselinePlan::compileInThreadImpl):
(JSC::JITBaselinePlan::codeSize const):
(JSC::JITBaselinePlan::finalize):
- jit/JITBaselinePlan.h: Copied from Source/JavaScriptCore/dfg/DFGScannable.h.
- jit/JITCompilationKey.cpp: Renamed from Source/JavaScriptCore/dfg/DFGCompilationKey.cpp.
(JSC::JITCompilationKey::dump const):
- jit/JITCompilationKey.h: Renamed from Source/JavaScriptCore/dfg/DFGCompilationKey.h.
(JSC::JITCompilationKey::JITCompilationKey):
(JSC::JITCompilationKey::operator! const):
(JSC::JITCompilationKey::isHashTableDeletedValue const):
(JSC::JITCompilationKey::mode const):
(JSC::JITCompilationKey::operator== const):
(JSC::JITCompilationKey::hash const):
(JSC::JITCompilationKeyHash::hash):
(JSC::JITCompilationKeyHash::equal):
- jit/JITCompilationMode.cpp: Renamed from Source/JavaScriptCore/dfg/DFGCompilationMode.cpp.
(WTF::printInternal):
- jit/JITCompilationMode.h: Renamed from Source/JavaScriptCore/dfg/DFGCompilationMode.h.
(JSC::isFTL):
- jit/JITOperations.cpp:
(JSC::JSC_DEFINE_JIT_OPERATION):
- jit/JITPlan.cpp: Added.
(JSC::JITPlan::JITPlan):
(JSC::JITPlan::cancel):
(JSC::JITPlan::notifyCompiling):
(JSC::JITPlan::notifyReady):
(JSC::JITPlan::tier const):
(JSC::JITPlan::key):
(JSC::JITPlan::isKnownToBeLiveAfterGC):
(JSC::JITPlan::isKnownToBeLiveDuringGC):
(JSC::JITPlan::iterateCodeBlocksForGC):
(JSC::JITPlan::checkLivenessAndVisitChildren):
(JSC::JITPlan::computeCompileTimes const):
(JSC::JITPlan::reportCompileTimes const):
(JSC::JITPlan::compileInThread):
- jit/JITPlan.h: Added.
(JSC::JITPlan::~JITPlan):
(JSC::JITPlan::vm const):
(JSC::JITPlan::codeBlock const):
(JSC::JITPlan::thread const):
(JSC::JITPlan::mode const):
(JSC::JITPlan::stage const):
(JSC::JITPlan::isFTL const):
(JSC::JITPlan::finalizeInGC):
- jit/JITPlanStage.h: Renamed from Source/JavaScriptCore/dfg/DFGThreadData.cpp.
- jit/JITSafepoint.cpp: Renamed from Source/JavaScriptCore/dfg/DFGSafepoint.cpp.
(JSC::Safepoint::Safepoint):
(JSC::Safepoint::~Safepoint):
(JSC::Safepoint::begin):
(JSC::Safepoint::cancel):
- jit/JITSafepoint.h: Renamed from Source/JavaScriptCore/dfg/DFGSafepoint.h.
- jit/JITScannable.h: Copied from Source/JavaScriptCore/dfg/DFGScannable.h.
- jit/JITWorklist.cpp:
(JSC::JITWorklist::JITWorklist):
(JSC::JITWorklist::~JITWorklist):
(JSC::JITWorklist::existingGlobalWorklistOrNull):
(JSC::JITWorklist::ensureGlobalWorklist):
(JSC::JITWorklist::enqueue):
(JSC::JITWorklist::queueLength const):
(JSC::JITWorklist::suspendAllThreads):
(JSC::JITWorklist::resumeAllThreads):
(JSC::JITWorklist::compilationState):
(JSC::JITWorklist::completeAllReadyPlansForVM):
(JSC::JITWorklist::waitUntilAllPlansForVMAreReady):
(JSC::JITWorklist::completeAllPlansForVM):
(JSC::JITWorklist::cancelAllPlansForVM):
(JSC::JITWorklist::removeDeadPlans):
(JSC::JITWorklist::setMaximumNumberOfConcurrentDFGCompilations):
(JSC::JITWorklist::setMaximumNumberOfConcurrentFTLCompilations):
(JSC::JITWorklist::visitWeakReferences):
(JSC::JITWorklist::dump const):
(JSC::JITWorklist::removeAllReadyPlansForVM):
(JSC::JITWorklist::removeMatchingPlansForVM):
- jit/JITWorklist.h:
(JSC::JITWorklist::static_cast<size_t>):
- jit/JITWorklistInlines.h: Renamed from Source/JavaScriptCore/dfg/DFGScannable.h.
(JSC::JITWorklist::iterateCodeBlocksForGC):
- jit/JITWorklistThread.cpp: Added.
(JSC::JITWorklistThread::JITWorklistThread):
(JSC::JITWorklistThread::name const):
(JSC::JITWorklistThread::poll):
(JSC::JITWorklistThread::work):
(JSC::JITWorklistThread::threadDidStart):
(JSC::JITWorklistThread::threadIsStopping):
- jit/JITWorklistThread.h: Renamed from Source/JavaScriptCore/dfg/DFGThreadData.h.
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::jitCompileAndSetHeuristics):
- runtime/OptionsList.h:
- runtime/VM.cpp:
(JSC::VM::~VM):
- 7:23 AM Changeset in webkit [278081] by
-
- 3 edits in trunk/Tools
Fix remaining test-webkitpy{,-python2} --all --integration-tests failures
https://bugs.webkit.org/show_bug.cgi?id=226242
Reviewed by Jonathan Bedard.
- Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
(GitTest.test_remote_branch_ref): Allow main
(GitTest.test_native_branch): Allow main
(SVNTest.clean_bogus_dir): Deleted.
(SVNTest.test_diff_for_file_with_existing_bogus_dir): Deleted.
(SVNTest.test_diff_for_file_with_missing_bogus_dir): Deleted.
- Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN._setup_bogus_dir): Use tempfile
(SVN._teardown_bogus_dir): Make no-op when no bogus dir exists
(SVN._bogus_dir_name): Deleted.
- 6:28 AM Changeset in webkit [278080] by
-
- 4 edits2 adds in trunk
REGRESSION: Safari v14.1 computes element height to be 33,554,432 pixels
https://bugs.webkit.org/show_bug.cgi?id=226006
<rdar://problem/78471122>
Reviewed by Antti Koivisto.
Source/WebCore:
We fail to find the intrusive floats when they don't line up with the top of the line.
The fix is twofold here.
- when probing for the intrusive float boxes, we need to look at both the line geometry and the initial line constraints. When the intrusive floats take up the entire horizontal space and the line ends up with no inline content, the computed line geometry may come back with a 0px tall line. Now if we probe the intrusive floats at [top: 0px, bottom: 0px] and they happen to have a vertical offset e.g 1px, we won't find them (since we only scan at 0px vertically).
- if we still don't find the intrusive float(s), let's just offset the next line by the line height candidate (e.g. 18px) instead of the "inifitePoint". The layout will likely be incorrect but it won't produce an infinitely tall content.
Test: fast/inline/inline-root-with-negative-margin-and-sibling-float.html
- layout/floats/FloatingContext.h:
- layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
LayoutTests:
- fast/inline/inline-root-with-negative-margin-and-sibling-float-expected.html: Added.
- fast/inline/inline-root-with-negative-margin-and-sibling-float.html: Added.
- 12:19 AM Changeset in webkit [278079] by
-
- 2 edits19 adds in trunk/LayoutTests
Followup test expectation updates.
https://bugs.webkit.org/show_bug.cgi?id=225586
<rdar://77527890>
Unreviewed.
- platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Added.
- platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Added.
- platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt: Added.
- platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Added.
- platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Added.
- platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt: Added.
- platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Added.
- platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt: Added.
- platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Added.
- platform/mac/TestExpectations:
May 25, 2021:
- 11:29 PM Changeset in webkit [278078] by
-
- 8 edits in trunk/Source/WebCore
Rename ImageBuffer::transformColorSpace to transformToColorSpace, and it should take a single argument
https://bugs.webkit.org/show_bug.cgi?id=226108
Reviewed by Said Abou-Hallawa.
The 'srcColorSpace' argument of ImageBuffer::transformColorSpace()
should be removed because it is redundant and it is the same as
ImageBuffer::colorSpace().
RenderSVGResourceMasker::applyResource creates a image buffer for
a mask image. In Cairo, rendering happens in sRGB color space. So,
create a image buffer in sRGB, then renders the content and
transforms to linear sRGB.
- platform/graphics/ConcreteImageBuffer.h:
- platform/graphics/ImageBuffer.h:
- platform/graphics/ImageBufferBackend.h:
(WebCore::ImageBufferBackend::transformToColorSpace): Take a single argument 'newColorSpace'.
(WebCore::ImageBufferBackend::transformColorSpace): Renamed to transformToColorSpace.
- platform/graphics/cairo/ImageBufferCairoBackend.cpp:
(WebCore::ImageBufferCairoBackend::transformToColorSpace):
(WebCore::ImageBufferCairoBackend::transformColorSpace): Renamed to transformToColorSpace.
- platform/graphics/cairo/ImageBufferCairoBackend.h:
- platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::transformResultColorSpace):
- rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource):
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
- 10:00 PM Changeset in webkit [278077] by
-
- 3 edits in trunk/Source/WebCore
Stop using UncheckedLock in MediaElementAudioSourceNode
https://bugs.webkit.org/show_bug.cgi?id=226250
Reviewed by Darin Adler.
Stop using UncheckedLock in MediaElementAudioSourceNode as it is being phased out in favor of
Lock, which supports clang thread safety analysis.
- Modules/webaudio/MediaElementAudioSourceNode.h:
- html/HTMLMediaElement.cpp:
- 9:59 PM Changeset in webkit [278076] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, another GCC8 build fix after r278035
https://bugs.webkit.org/show_bug.cgi?id=211674
Missed from previous patch.
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<WebCore::SerializedPlatformDataCueValue>::decode):
- 9:58 PM Changeset in webkit [278075] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Stop using UncheckedLock in WebKitCommonEncryptionDecryptorGStreamer
https://bugs.webkit.org/show_bug.cgi?id=226249
Reviewed by Darin Adler.
Stop using UncheckedLock in WebKitCommonEncryptionDecryptorGStreamer as it is being phased out
in favor of WTF::Lock, which supports Clang thread safety analysis.
- platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
(transformInPlace):
(isCDMProxyAvailable):
(attachCDMProxy):
(sinkEventHandler):
(webKitMediaCommonEncryptionDecryptIsFlushing):
(setContext):
- 8:50 PM Changeset in webkit [278074] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, fix GCC8 build after r278035
https://bugs.webkit.org/show_bug.cgi?id=211674
Avoid "...from initializer list would use explicit constructor ..." errors
in GCC8 when initializing std::optional.
- Shared/SandboxExtension.h:
(WebKit::SandboxExtension::HandleArray::decode):
- 8:31 PM Changeset in webkit [278073] by
-
- 2 edits in trunk/Source/JavaScriptCore
Clang can't compile Optional<GPRTemporary> since r278035 because GPRTemporary has non-const copy constructor
https://bugs.webkit.org/show_bug.cgi?id=226251
Reviewed by Chris Dumez.
WinCairo clang-cl builds reported a compilation error since r278035.
include\optional(95,5): error: the parameter for this explicitly-defaulted copy constructor is const, but a member or base requires it to be non-const
- dfg/DFGSpeculativeJIT.h: Deleted the const copy ctor instead of the non-const copy ctor.
- 6:23 PM Changeset in webkit [278072] by
-
- 40 edits2 deletes in trunk/Websites/perf.webkit.org
[perf dashboard] Add sequential mode for perf dashboard A/B testing.
https://bugs.webkit.org/show_bug.cgi?id=223886
Reviewed by Ryosuke Niwa.
Add 'testgroup_repetition_type' to 'analysis_test_groups' table to store repetition type which defaults to 'alternating'.
Add support to schedule 'sequential' A/B testing which schedules all iterations for the first configuration (A)
before the iterations for the second configuration (B).
Before this patch, all A/B testing alternated between two different configurations for each iteration.
Add retry logic for 'sequential' A/B testing.
Update syncing script to not proceed with next configuration the current configuration successfully completed
more iterations than the initially requested or retries exceeded the list.
Fix a potential race in syncing script that 'Promise.all' may cause test group not scheduled in order.
- browser-tests/test-group-form-tests.js: Updated and added unit tests.
- init-database.sql: Added 'testgroup_repetition_type' field to 'analysis_test_groups' table.
- migrate-database.sql: Updated migration script to conditionally add 'testgroup_repetition_type' field.
- public/api/test-groups.php: Added 'repetitionType' field in api return value.
- public/include/build-requests-fetcher.php: Fetching build requests under a triggerable should include test
group with all test groups finished but still need retry. This will allow syncing script to resolve the build
request by ID and block other request to be scheduled on the builder.
- public/include/commit-sets-helpers.php: Added code to create build requests based on test mode.
- public/privileged-api/add-build-requests.php: Added support to only add build requests to one commit set.
- public/privileged-api/create-analysis-task.php: Added 'repetitionType' support.
- public/privileged-api/create-test-group.php: Added 'repetitionType' support.
- public/privileged-api/update-test-group.php:
- public/shared/common-component-base.js:
- public/v3/components/custom-configuration-test-group-form.js: Added 'repetitionType' support.
(CustomConfigurationTestGroupForm.prototype.startTesting):
- public/v3/components/customizable-test-group-form.js:
(CustomizableTestGroupForm.prototype.startTesting):
- public/v3/components/test-group-form.js:
(TestGroupForm.prototype.startTesting):
- public/v3/models/analysis-task.js:
(AnalysisTask.async create):
(AnalysisTask):
- public/v3/models/build-request.js:
(BuildRequest):
(BuildRequest.prototype.updateSingleton): Allow build request order to be updated.
- public/v3/models/test-group.js:
(TestGroup):
(TestGroup.prototype.updateSingleton):
(TestGroup.prototype.repetitionType):
(TestGroup.prototype.repetitionCountForCommitSet): RefactoredrepetitionCountsince repetition may be different
between configurations.
(TestGroup.prototype.hasRetries): A helper function to tell if a test group has retry runs.
(TestGroup.prototype.additionalRepetitionNeededToReachInitialRepetitionCount):
(TestGroup.prototype.successfulTestCount):
(TestGroup.prototype.isFirstTestRequest):
(TestGroup.prototype.precedingBuildRequest):
(TestGroup.prototype.retryCountForCommitSet):
(TestGroup.prototype.retryCountsAreSameForAllCommitSets):
(TestGroup.prototype.async _createAlternatingRetriesForTestGroup): Moved from 'retry-failed-build-requests' module.
(TestGroup.async _createSequentialRetriesForTestGroup): Moved from 'retry-failed-build-requests' module.
(TestGroup.prototype.async cancelPendingRequests):
(TestGroup.prototype.async didSendNotification):
(TestGroup.prototype.async addMoreBuildRequests):
(TestGroup.async createWithTask):
(TestGroup.async createWithCustomConfiguration):
(TestGroup.async createAndRefetchTestGroups):
(TestGroup.prototype.async scheduleMoreRequestsOrClearFlag): Moved from 'retry-failed-build-requests' module.
(TestGroup.async fetchById): Added support to fetch test group by ID.
- public/v3/pages/analysis-task-page.js:
(AnalysisTaskChartPane.prototype.didConstructShadowTree):
(AnalysisTaskResultsPane.prototype.didConstructShadowTree):
(AnalysisTaskConfiguratorPane.prototype.setTestGroups):
(AnalysisTaskConfiguratorPane):
(AnalysisTaskTestGroupPane.prototype.didConstructShadowTree):
(AnalysisTaskTestGroupPane.prototype._renderCurrentTestGroup):
(AnalysisTaskTestGroupPane.prototype._retrySummary):
(AnalysisTaskPage.prototype.didConstructShadowTree):
(AnalysisTaskPage.prototype.async _retryCurrentTestGroup):
(AnalysisTaskPage.prototype.async _bisectCurrentTestGroup):
(AnalysisTaskPage.set const):
(AnalysisTaskPage.prototype.async _createTestGroupAfterVerifyingCommitSetList):
(AnalysisTaskPage.prototype.async _createCustomTestGroup):
- public/v3/pages/chart-pane.js:
(ChartPane.prototype.didConstructShadowTree):
(ChartPane.prototype.async _analyzeRange):
- public/v3/pages/create-analysis-task-page.js:
(CreateAnalysisTaskPage.prototype.async _createAnalysisTaskWithGroup):
- server-tests/api-build-requests-tests.js: Added a unit test.
- server-tests/api-upload-root-tests.js: Updated unit tests.
- server-tests/privileged-api-add-build-requests-tests.js: Updated and added unit tests.
- server-tests/privileged-api-create-analysis-task-tests.js: Added unit tests.
- server-tests/privileged-api-create-test-group-tests.js: Updated and added unit tests.
- server-tests/privileged-api-update-test-group-tests.js: Updated and added unit tests.
- server-tests/resources/common-operations.js:
(async assertThrows):
- server-tests/resources/mock-data.js:
(MockData.addMockData):
(MockData.set addMockBuildRequestsWithRoots):
(MockData.set addAnotherMockTestGroup):
(MockData.set mockTestSyncConfigWithSingleBuilder):
(MockData.sampleBuildData):
- server-tests/tools-buildbot-triggerable-tests.js: Updated and added unit tests.
- server-tests/tools-sync-buildbot-integration-tests.js: Updated unit tests.
(async createTestGroupWithPatch):
(createTestGroupWihOwnedCommit):
- tools/js/buildbot-syncer.js:
(BuildbotSyncer.prototype.scheduleRequestInGroupIfAvailable):
(BuildbotSyncer.prototype.pullBuildbot):
- tools/js/buildbot-triggerable.js:
(BuildbotTriggerable):
(BuildbotTriggerable.prototype.async syncOnce):
(BuildbotTriggerable.prototype.async _scheduleRequest):
(BuildbotTriggerable.prototype._shouldDeferSequentialTestingRequestWithNewCommitSet):
- tools/js/measurement-set-analyzer.js:
(MeasurementSetAnalyzer.prototype.async _analyzeMeasurementSet):
(MeasurementSetAnalyzer):
- tools/js/retry-failed-build-requests.js: Removed.
- tools/run-analysis.js: Use updated API to retry.
(async analysisLoop):
(async processTestGroupMayNeedMoreRequests):
- tools/sync-buildbot.js: Added command line option '--max-retry-factor'.
- unit-tests/analysis-task-tests.js: Updated unit tests.
- unit-tests/buildbot-syncer-tests.js: Updated unit tests.
(createSampleBuildRequest):
- unit-tests/measurement-set-analyzer-tests.js:
- unit-tests/retry-failed-build-requests-tests.js: Moved unit tests to test-group-tests.js.
- unit-tests/test-groups-tests.js: Added unit tests from 'retry-failed-build-requests-tests.js'.
- 6:19 PM Changeset in webkit [278071] by
-
- 2 edits in trunk/Source/WebKit
_WKRemoteObjectRegistry should not call completion handlers if block signatures don't match or can't be found
https://bugs.webkit.org/show_bug.cgi?id=226189
Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2021-05-25
Reviewed by Chris Dumez.
_WKRemoteObjectRegistry already enforces completion handlers to not be nil,
so complete that enforcement by dropping invocations where block signatures aren't available
or don't match. This has not reproduced but completes our hardening efforts.
- Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(-[_WKRemoteObjectRegistry _invokeMethod:]):
- 6:10 PM Changeset in webkit [278070] by
-
- 4 edits in trunk/Source/WebCore
Support byte components for all bounded RGB color types, not just SRGBA
https://bugs.webkit.org/show_bug.cgi?id=226222
Reviewed by Darin Adler.
We currently arbitrarily restrict byte components (e.g. SRGBA<uint8_t>)
to just SRGBA by only supporting conversion for that one color type. Support
for any bounded (e.g. [0..1]) RGB type would have the same semantics and
be useful now that we can get pixel buffers that are not SRGBA only out
of ImageBuffer.
To do this, we replace the ColorConversion specializations for this type
of conversion, and inline it directly in the main conversion convert function,
allowing for a more complex conditional without SFINAE complexity.
To make things a bit simpler, this also simplifies the RGB color type descriptors
to no longer be templates, as the description of the types is always float
based, regardless of the component used. This allows for a simpler new helper,
SelfWithReplacementComponent, to convert to and from ColorType<float>/ColorType<uint8_t>.
- platform/graphics/ColorConversion.cpp:
(WebCore::SRGBA<uint8_t>>::convert): Deleted.
- platform/graphics/ColorConversion.h:
(WebCore::ColorConversion::convert):
(WebCore::ColorConversion::handleToFloatConversion):
(WebCore::ColorConversion::handleToByteConversion):
- platform/graphics/ColorTypes.h:
- 5:37 PM Changeset in webkit [278069] by
-
- 12 edits in trunk/Source
Use UncheckedLock less in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=226212
Reviewed by Saam Barati.
Source/JavaScriptCore:
Use UncheckedLock less in JavaScriptCore as it is being phased out in favor of Lock, which
enables Clang thread safety analysis.
- assembler/testmasm.cpp:
- dfg/DFGCommon.cpp:
- dynbench.cpp:
- heap/Heap.cpp:
- heap/Heap.h:
- inspector/remote/socket/RemoteInspectorSocketEndpoint.h:
- runtime/JSLock.cpp:
- runtime/JSLock.h:
- runtime/VM.h:
Source/WTF:
Add support for unlockEarly() to Locker<Lock> specialization, for consistency
with the generic Locker.
- wtf/Lock.h:
- 5:29 PM Changeset in webkit [278068] by
-
- 5 edits5 adds in trunk
CSP does not apply to AudioWorklets
https://bugs.webkit.org/show_bug.cgi?id=225862
<rdar://problem/78098440>
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
Rebaseline WPT test that is now passing.
- web-platform-tests/worklets/audio-worklet-csp.https-expected.txt:
Source/WebCore:
Make sure Worklet::addModule() checks with CSP before attempting to load the script.
Tests: http/tests/security/contentSecurityPolicy/audioworklet-script-src-allowed.html
http/tests/security/contentSecurityPolicy/audioworklet-script-src-blocked.html
- worklets/Worklet.cpp:
(WebCore::Worklet::addModule):
LayoutTests:
Add layout test coverage since the upstream WPT tests for this are unable to run with our infrastructure.
- http/tests/security/contentSecurityPolicy/audioworklet-script-src-allowed-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/audioworklet-script-src-allowed.html: Added.
- http/tests/security/contentSecurityPolicy/audioworklet-script-src-blocked-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/audioworklet-script-src-blocked.html: Added.
- http/tests/security/contentSecurityPolicy/resources/audioworklet-processor.js: Added.
(DummyProcessor):
(DummyProcessor.prototype.process):
- 5:21 PM Changeset in webkit [278067] by
-
- 1 copy in tags/Safari-612.1.15.1.13
Tag Safari-612.1.15.1.13.
- 5:19 PM Changeset in webkit [278066] by
-
- 1 delete in tags/Safari-612.1.15.1.13
Delete tag.
- 5:15 PM Changeset in webkit [278065] by
-
- 3 edits1 add in trunk/Tools
AX: Improve string conversion in AccessibilityController::injectAccessibilityPreference
https://bugs.webkit.org/show_bug.cgi?id=226239
Reviewed by Darin Adler.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AccessibilityController::injectAccessibilityPreference):
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- WebKitTestRunner/cocoa/StringFunctionsCocoa.h: Added.
(WTR::toWK):
- 5:15 PM Changeset in webkit [278064] by
-
- 20 edits3 adds in trunk
[Modern Media Controls] REGRESSION(r254389) media controls needs the full list of language preferences for ordering tracks
https://bugs.webkit.org/show_bug.cgi?id=226038
Reviewed by Myles C. Maxfield and Eric Carlson.
Source/JavaScriptCore:
Media controls need access to the full list of language preferences in order to properly
sort/order the list of tracks in the controls UI. For example, if a<video>has subtitles
for English, Spanish, and French, and the user has English (default) and French (alternate)
configured in the Language & Region view of System Preferences on macOS, WebKit should order
the subtitles list English, French, and then Spanish.
- shell/playstation/TestShell.cpp:
(preTest):
Instead of propagating the override, just clear it out.
Source/WebCore:
Media controls need access to the full list of language preferences in order to properly
sort/order the list of tracks in the controls UI. For example, if a<video>has subtitles
for English, Spanish, and French, and the user has English (default) and French (alternate)
configured in the Language & Region view of System Preferences on macOS, WebKit should order
the subtitles list English, French, and then Spanish.
Test: media/modern-media-controls/tracks-support/sorted-by-user-preferred-languages.html
- page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::preferredLanguages const):
(WebCore::CaptionUserPreferences::textTrackSelectionScore const):
(WebCore::CaptionUserPreferences::primaryAudioTrackLanguageOverride const):
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::preferredLanguages const):
(WebCore::buildDisplayStringForTrackBase):
(WebCore::trackDisplayName):
(WebCore::textTrackCompare):
- platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:
(WebCore::MediaSelectionGroupAVFObjC::updateOptions):
- bindings/js/JSDOMWindowBase.cpp:
- bindings/js/JSWorkerGlobalScopeBase.cpp:
- bindings/js/JSWorkletGlobalScopeBase.cpp:
Wrap
defaultLanguagein a lambda since it now has a parameter.
- platform/LocalizedStrings.h:
- platform/LocalizedStrings.cpp:
(WebCore::captionsTextTrackKindDisplayName): Added.
(WebCore::descriptionsTextTrackKindDisplayName): Added.
(WebCore::chaptersTextTrackKindDisplayName): Added.
(WebCore::metadataTextTrackKindDisplayName): Added.
(WebCore::closedCaptionKindTrackDisplayName): Added.
(WebCore::sdhTrackKindDisplayName): Added.
(WebCore::easyReaderKindDisplayName): Added.
(WebCore::forcedTrackKindDisplayName): Added.
Move the logic added in r277797 frombuildDisplayStringForTrackBasetotrackDisplayName
and only perform it if the text track display name doesn't already contain the display name
for the text track kind (e.g. if thelabelis "English Captions" don't add "Captions", but
do if thelabelis only "English").
Source/WTF:
Media controls need access to the full list of language preferences in order to properly
sort/order the list of tracks in the controls UI. For example, if a<video>has subtitles
for English, Spanish, and French, and the user has English (default) and French (alternate)
configured in the Language & Region view of System Preferences on macOS, WebKit should order
the subtitles list English, French, and then Spanish.
- wtf/Language.h:
- wtf/Language.cpp:
(WTF::cachedFullPlatformPreferredLanguages): Added.
(WTF::cachedMinimizedPlatformPreferredLanguages): Added.
(WTF::languageDidChange):
(WTF::defaultLanguage):
(WTF::userPreferredLanguages):
(WTF::platformLanguageDidChange): Deleted.
Move the caching inwtf/cf/LanguageCF.cpptowtf/Language.cppso that all platforms can
benefit from caching the result ofplatformUserPreferredLanguages.
- wtf/cf/LanguageCF.cpp:
(WTF::platformUserPreferredLanguages):
(WTF::platformLanguageDidChange): Deleted.
- wtf/playstation/LanguagePlayStation.cpp:
(WTF::platformUserPreferredLanguages):
- wtf/spi/cocoa/NSLocaleSPI.h:
- wtf/unix/LanguageUnix.cpp:
(WTF::platformUserPreferredLanguages):
- wtf/win/LanguageWin.cpp:
(WTF::platformUserPreferredLanguages):
AddWTF::ShouldMinimizeLanguagesthat controls whetherWTF::minimizedPreferredLanguages
is called. Since the result is cached, create separateVector<String>for each enum value.
LayoutTests:
- media/modern-media-controls/tracks-support/sorted-by-user-preferred-languages.html: Added.
- media/modern-media-controls/tracks-support/sorted-by-user-preferred-languages-expected.txt: Added.
- media/content/lorem-ipsum.vtt: Added.
- 5:05 PM Changeset in webkit [278063] by
-
- 1 copy in tags/Safari-612.1.15.1.13
Tag Safari-612.1.15.1.13.
- 5:01 PM Changeset in webkit [278062] by
-
- 90 edits1 move2 adds5 deletes in trunk
Virtualize GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=226170
Reviewed by Simon Fraser.
Source/WebCore:
No new tests, just a refactoring.
In preparation for future patches which introduce new kinds of GraphicsContexts,
virtualize GraphicsContext, moving platform implementations into subclasses
GraphicsContext{CG,Cairo,Direct2D}, NullGraphicsContext, DisplayList::Recorder,
and Nicosia::CairoOperationRecorder.
GraphicsContextImpl dissolves away; platform contexts that were
unnecessarily implemented both asGraphicsContextand as a subclass
of GraphicsContextImpl (GraphicsContextImplCairo and GraphicsContextImplDirect2D)
are folded into their GraphicsContext subclass.
paintingDisabled()is no longer relevant in GraphicsContext implementations,
so we no longer have to check it everywhere; NullGraphicsContext overrides
everything with an empty implementation. We keeppaintingDisabled()for
use in code outside of GraphicsContext, where it just distinguishes between
NullGraphicsContext and the others.
Also, a few bits of cleanup to make this easier:
- Legacy shadow radius behavior becomes a parameter to setShadow instead of a separate method.
- canvasClip(), which hasn't done anything different than clip() since Skia, is removed.
- GraphicsContext gains renderingMode() in place of isAcceleratedContext().
- Subclasses override updateState() to respond to GraphicsContext state changes, as was already done for GraphicsContextImpl, to keep subclassing simple.
- builderState(), which was unused, is removed.
- drawPath() is introduced on all platforms, with a default implementation that just fills and strokes.
- Headers.cmake:
- PlatformFTW.cmake:
- PlatformWin.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- display/css/DisplayBoxDecorationPainter.cpp:
(WebCore::Display::BoxDecorationPainter::paintBoxShadow const):
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::isAccelerated const):
(WebCore::CanvasRenderingContext2DBase::clipInternal):
(WebCore::CanvasRenderingContext2DBase::clearRect):
(WebCore::CanvasRenderingContext2DBase::applyShadow):
(WebCore::CanvasRenderingContext2DBase::createPattern):
(WebCore::CanvasRenderingContext2DBase::drawTextUnchecked):
- page/FrameView.cpp:
(WebCore::FrameView::traverseForPaintInvalidation):
(WebCore::FrameView::adjustPageHeightDeprecated):
- page/FrameView.h:
- page/win/FrameCGWin.cpp:
(WebCore::imageFromRect):
- page/win/FrameGdiWin.cpp:
(WebCore::imageFromRect):
- platform/Cairo.cmake:
- platform/SourcesCairo.txt:
- platform/cocoa/DragImageCocoa.mm:
(WebCore::createDragImageForLink):
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::displayListForTextRun const):
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContextState::GraphicsContextState):
(WebCore::GraphicsContextStateChange::accumulate):
(WebCore::GraphicsContextStateChange::apply const):
(WebCore::GraphicsContextStateChange::dump const):
(WebCore::GraphicsContext::~GraphicsContext):
(WebCore::GraphicsContext::save):
(WebCore::GraphicsContext::restore):
(WebCore::GraphicsContext::drawRaisedEllipse):
(WebCore::GraphicsContext::setStrokeColor):
(WebCore::GraphicsContext::setShadow):
(WebCore::GraphicsContext::clearShadow):
(WebCore::GraphicsContext::setFillColor):
(WebCore::GraphicsContext::setStrokePattern):
(WebCore::GraphicsContext::setFillPattern):
(WebCore::GraphicsContext::setStrokeGradient):
(WebCore::GraphicsContext::setFillGradient):
(WebCore::GraphicsContext::beginTransparencyLayer):
(WebCore::GraphicsContext::endTransparencyLayer):
(WebCore::GraphicsContext::drawText):
(WebCore::GraphicsContext::drawGlyphs):
(WebCore::GraphicsContext::drawEmphasisMarks):
(WebCore::GraphicsContext::drawBidiText):
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawImageBuffer):
(WebCore::GraphicsContext::drawConsumingImageBuffer):
(WebCore::GraphicsContext::clipRoundedRect):
(WebCore::GraphicsContext::clipOutRoundedRect):
(WebCore::GraphicsContext::clipToDrawingCommands):
(WebCore::GraphicsContext::clipToImageBuffer):
(WebCore::GraphicsContext::clipBounds const):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):
(WebCore::GraphicsContext::setCompositeOperation):
(WebCore::GraphicsContext::drawPath):
(WebCore::GraphicsContext::drawLineForText):
(WebCore::GraphicsContext::paintFrameForMedia):
(WebCore::NullGraphicsContext::drawConsumingImageBuffer):
(WebCore::GraphicsContext::GraphicsContext): Deleted.
(WebCore::GraphicsContext::hasPlatformContext const): Deleted.
(WebCore::GraphicsContext::setStrokeThickness): Deleted.
(WebCore::GraphicsContext::setStrokeStyle): Deleted.
(WebCore::GraphicsContext::setLegacyShadow): Deleted.
(WebCore::GraphicsContext::setShadowsIgnoreTransforms): Deleted.
(WebCore::GraphicsContext::setShouldAntialias): Deleted.
(WebCore::GraphicsContext::setShouldSmoothFonts): Deleted.
(WebCore::GraphicsContext::setShouldSubpixelQuantizeFonts): Deleted.
(WebCore::GraphicsContext::setImageInterpolationQuality): Deleted.
(WebCore::GraphicsContext::setFillRule): Deleted.
(WebCore::GraphicsContext::drawNativeImage): Deleted.
(WebCore::GraphicsContext::drawPattern): Deleted.
(WebCore::GraphicsContext::setTextDrawingMode): Deleted.
(WebCore::GraphicsContext::setAlpha): Deleted.
(WebCore::GraphicsContext::setDrawLuminanceMask): Deleted.
(WebCore::GraphicsContext::setUseDarkAppearance): Deleted.
(WebCore::GraphicsContext::setPlatformTextDrawingMode): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeStyle): Deleted.
(WebCore::GraphicsContext::setPlatformShouldSmoothFonts): Deleted.
(WebCore::GraphicsContext::isAcceleratedContext const): Deleted.
(WebCore::GraphicsContext::platformApplyDeviceScaleFactor): Deleted.
(WebCore::GraphicsContext::applyDeviceScaleFactor): Deleted.
(WebCore::GraphicsContext::fillEllipse): Deleted.
(WebCore::GraphicsContext::strokeEllipse): Deleted.
(WebCore::GraphicsContext::platformFillEllipse): Deleted.
(WebCore::GraphicsContext::platformStrokeEllipse): Deleted.
(WebCore::GraphicsContext::builderState): Deleted.
(WebCore::GraphicsContext::supportsInternalLinks const): Deleted.
(WebCore::GraphicsContext::setDestinationForRect): Deleted.
(WebCore::GraphicsContext::addDestinationAtPoint): Deleted.
- platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::hasPlatformContext const):
(WebCore::GraphicsContext::platformContext const):
(WebCore::GraphicsContext::paintingDisabled const):
(WebCore::GraphicsContext::performingPaintInvalidation const):
(WebCore::GraphicsContext::invalidatingControlTints const):
(WebCore::GraphicsContext::invalidatingImagesWithAsyncDecodes const):
(WebCore::GraphicsContext::detectingContentfulPaint const):
(WebCore::GraphicsContext::setStrokeThickness):
(WebCore::GraphicsContext::setStrokeStyle):
(WebCore::GraphicsContext::setStrokeGradient):
(WebCore::GraphicsContext::setFillRule):
(WebCore::GraphicsContext::setShadowsIgnoreTransforms):
(WebCore::GraphicsContext::setShouldAntialias):
(WebCore::GraphicsContext::setShouldSmoothFonts):
(WebCore::GraphicsContext::setShouldSubpixelQuantizeFonts):
(WebCore::GraphicsContext::setImageInterpolationQuality):
(WebCore::GraphicsContext::imageInterpolationQuality const):
(WebCore::GraphicsContext::setAlpha):
(WebCore::GraphicsContext::alpha const):
(WebCore::GraphicsContext::compositeOperation const):
(WebCore::GraphicsContext::blendModeOperation const):
(WebCore::GraphicsContext::setDrawLuminanceMask):
(WebCore::GraphicsContext::drawLuminanceMask const):
(WebCore::GraphicsContext::setTextDrawingMode):
(WebCore::GraphicsContext::textDrawingMode const):
(WebCore::GraphicsContext::hasVisibleShadow const):
(WebCore::GraphicsContext::hasShadow const):
(WebCore::GraphicsContext::hasBlurredShadow const):
(WebCore::GraphicsContext::setUseDarkAppearance):
(WebCore::GraphicsContext::useDarkAppearance const):
(WebCore::GraphicsContext::state const):
(WebCore::GraphicsContext::renderingMode const):
(WebCore::GraphicsContext::fillEllipse):
(WebCore::GraphicsContext::strokeEllipse):
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawImageBuffer):
(WebCore::GraphicsContext::drawConsumingImageBuffer):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::isInTransparencyLayer const):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::applyDeviceScaleFactor):
(WebCore::GraphicsContext::setURLForRect):
(WebCore::GraphicsContext::setDestinationForRect):
(WebCore::GraphicsContext::addDestinationAtPoint):
(WebCore::GraphicsContext::supportsInternalLinks const):
(WebCore::GraphicsContext::setContentfulPaintDetected):
(WebCore::GraphicsContext::contenfulPaintDetected const):
(WebCore::GraphicsContext::deprecatedPrivateContext const):
(WebCore::GraphicsContext::supportsTransparencyLayers const):
(WebCore::GraphicsContext::impl): Deleted.
- platform/graphics/GraphicsContextImpl.cpp: Removed.
- platform/graphics/GraphicsContextImpl.h: Removed.
- platform/graphics/Image.cpp:
(WebCore::Image::drawTiled):
- platform/graphics/Image.h:
- platform/graphics/ShadowBlur.cpp:
(WebCore::ShadowBlur::ShadowBlur):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
- platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::drawTextAtPoint const):
- platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
(PlatformCALayerWinInternal::displayCallback):
(PlatformCALayerWinInternal::drawRepaintCounters):
- platform/graphics/ca/win/WebTiledBackingLayerWin.cpp:
(WebTiledBackingLayerWin::displayCallback):
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContextCairo::GraphicsContextCairo):
(WebCore::GraphicsContextCairo::~GraphicsContextCairo):
(WebCore::GraphicsContextCairo::hasPlatformContext const):
(WebCore::GraphicsContextCairo::getCTM const):
(WebCore::GraphicsContextCairo::platformContext const):
(WebCore::GraphicsContextCairo::save):
(WebCore::GraphicsContextCairo::restore):
(WebCore::GraphicsContextCairo::drawRect):
(WebCore::GraphicsContextCairo::drawNativeImage):
(WebCore::GraphicsContextCairo::drawLine):
(WebCore::GraphicsContextCairo::drawEllipse):
(WebCore::GraphicsContextCairo::fillPath):
(WebCore::GraphicsContextCairo::strokePath):
(WebCore::GraphicsContextCairo::fillRect):
(WebCore::GraphicsContextCairo::clip):
(WebCore::GraphicsContextCairo::clipPath):
(WebCore::GraphicsContextCairo::clipBounds const):
(WebCore::GraphicsContextCairo::clipToImageBuffer):
(WebCore::GraphicsContextCairo::drawFocusRing):
(WebCore::GraphicsContextCairo::drawLinesForText):
(WebCore::GraphicsContextCairo::drawDotsForDocumentMarker):
(WebCore::GraphicsContextCairo::roundToDevicePixels):
(WebCore::GraphicsContextCairo::translate):
(WebCore::GraphicsContextCairo::updateState):
(WebCore::GraphicsContextCairo::concatCTM):
(WebCore::GraphicsContextCairo::setCTM):
(WebCore::GraphicsContextCairo::beginTransparencyLayer):
(WebCore::GraphicsContextCairo::endTransparencyLayer):
(WebCore::GraphicsContextCairo::clearRect):
(WebCore::GraphicsContextCairo::strokeRect):
(WebCore::GraphicsContextCairo::setLineCap):
(WebCore::GraphicsContextCairo::setLineDash):
(WebCore::GraphicsContextCairo::setLineJoin):
(WebCore::GraphicsContextCairo::setMiterLimit):
(WebCore::GraphicsContextCairo::clipOut):
(WebCore::GraphicsContextCairo::rotate):
(WebCore::GraphicsContextCairo::scale):
(WebCore::GraphicsContextCairo::fillRoundedRectImpl):
(WebCore::GraphicsContextCairo::fillRectWithRoundedHole):
(WebCore::GraphicsContextCairo::drawPattern):
(WebCore::GraphicsContextCairo::renderingMode const):
(WebCore::GraphicsContextCairo::drawGlyphs):
(WebCore::GraphicsContext::platformInit): Deleted.
(WebCore::GraphicsContext::platformDestroy): Deleted.
(WebCore::GraphicsContext::getCTM const): Deleted.
(WebCore::GraphicsContext::platformContext const): Deleted.
(WebCore::GraphicsContext::savePlatformState): Deleted.
(WebCore::GraphicsContext::restorePlatformState): Deleted.
(WebCore::GraphicsContext::drawRect): Deleted.
(WebCore::GraphicsContext::drawPlatformImage): Deleted.
(WebCore::GraphicsContext::drawLine): Deleted.
(WebCore::GraphicsContext::drawEllipse): Deleted.
(WebCore::GraphicsContext::fillPath): Deleted.
(WebCore::GraphicsContext::strokePath): Deleted.
(WebCore::GraphicsContext::fillRect): Deleted.
(WebCore::GraphicsContext::clip): Deleted.
(WebCore::GraphicsContext::clipPath): Deleted.
(WebCore::GraphicsContext::clipBounds const): Deleted.
(WebCore::GraphicsContext::drawFocusRing): Deleted.
(WebCore::GraphicsContext::drawLineForText): Deleted.
(WebCore::GraphicsContext::drawLinesForText): Deleted.
(WebCore::GraphicsContext::drawDotsForDocumentMarker): Deleted.
(WebCore::GraphicsContext::roundToDevicePixels): Deleted.
(WebCore::GraphicsContext::translate): Deleted.
(WebCore::GraphicsContext::setPlatformFillColor): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeColor): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeThickness): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeStyle): Deleted.
(WebCore::GraphicsContext::setURLForRect): Deleted.
(WebCore::GraphicsContext::concatCTM): Deleted.
(WebCore::GraphicsContext::setCTM): Deleted.
(WebCore::GraphicsContext::setPlatformShadow): Deleted.
(WebCore::GraphicsContext::clearPlatformShadow): Deleted.
(WebCore::GraphicsContext::beginPlatformTransparencyLayer): Deleted.
(WebCore::GraphicsContext::endPlatformTransparencyLayer): Deleted.
(WebCore::GraphicsContext::supportsTransparencyLayers): Deleted.
(WebCore::GraphicsContext::clearRect): Deleted.
(WebCore::GraphicsContext::strokeRect): Deleted.
(WebCore::GraphicsContext::setLineCap): Deleted.
(WebCore::GraphicsContext::setLineDash): Deleted.
(WebCore::GraphicsContext::setLineJoin): Deleted.
(WebCore::GraphicsContext::setMiterLimit): Deleted.
(WebCore::GraphicsContext::setPlatformAlpha): Deleted.
(WebCore::GraphicsContext::setPlatformCompositeOperation): Deleted.
(WebCore::GraphicsContext::canvasClip): Deleted.
(WebCore::GraphicsContext::clipOut): Deleted.
(WebCore::GraphicsContext::rotate): Deleted.
(WebCore::GraphicsContext::scale): Deleted.
(WebCore::GraphicsContext::platformFillRoundedRect): Deleted.
(WebCore::GraphicsContext::fillRectWithRoundedHole): Deleted.
(WebCore::GraphicsContext::drawPlatformPattern): Deleted.
(WebCore::GraphicsContext::setPlatformShouldAntialias): Deleted.
(WebCore::GraphicsContext::setPlatformImageInterpolationQuality): Deleted.
(WebCore::GraphicsContext::isAcceleratedContext const): Deleted.
- platform/graphics/cairo/GraphicsContextImplCairo.cpp: Removed.
- platform/graphics/cairo/GraphicsContextImplCairo.h: Removed.
- platform/graphics/cairo/ImageBufferCairoBackend.cpp:
- platform/graphics/cairo/ImageBufferCairoSurfaceBackend.cpp:
(WebCore::ImageBufferCairoSurfaceBackend::ImageBufferCairoSurfaceBackend):
- platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::strokeBoundingRect const):
(WebCore::Path::strokeContains const):
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::coreInterpolationQuality):
(WebCore::cgInterpolationQuality):
(WebCore::cgTextDrawingMode):
(WebCore::GraphicsContextCG::GraphicsContextCG):
(WebCore::GraphicsContextCG::~GraphicsContextCG):
(WebCore::GraphicsContextCG::hasPlatformContext const):
(WebCore::GraphicsContextCG::platformContext const):
(WebCore::GraphicsContextCG::save):
(WebCore::GraphicsContextCG::restore):
(WebCore::GraphicsContextCG::drawNativeImage):
(WebCore::drawPatternCallback):
(WebCore::GraphicsContextCG::drawPattern):
(WebCore::GraphicsContextCG::drawRect):
(WebCore::GraphicsContextCG::drawLine):
(WebCore::GraphicsContextCG::drawEllipse):
(WebCore::GraphicsContextCG::applyStrokePattern):
(WebCore::GraphicsContextCG::applyFillPattern):
(WebCore::GraphicsContextCG::drawPath):
(WebCore::GraphicsContextCG::fillPath):
(WebCore::GraphicsContextCG::strokePath):
(WebCore::GraphicsContextCG::fillRect):
(WebCore::GraphicsContextCG::fillRoundedRectImpl):
(WebCore::GraphicsContextCG::fillRectWithRoundedHole):
(WebCore::GraphicsContextCG::clip):
(WebCore::GraphicsContextCG::clipOut):
(WebCore::GraphicsContextCG::clipPath):
(WebCore::GraphicsContextCG::clipBounds const):
(WebCore::GraphicsContextCG::beginTransparencyLayer):
(WebCore::GraphicsContextCG::endTransparencyLayer):
(WebCore::applyShadowOffsetWorkaroundIfNeeded):
(WebCore::setCGShadow):
(WebCore::GraphicsContextCG::updateState):
(WebCore::GraphicsContextCG::setMiterLimit):
(WebCore::GraphicsContextCG::clearRect):
(WebCore::GraphicsContextCG::strokeRect):
(WebCore::GraphicsContextCG::setLineCap):
(WebCore::GraphicsContextCG::setLineDash):
(WebCore::GraphicsContextCG::setLineJoin):
(WebCore::GraphicsContextCG::scale):
(WebCore::GraphicsContextCG::rotate):
(WebCore::GraphicsContextCG::translate):
(WebCore::GraphicsContextCG::concatCTM):
(WebCore::GraphicsContextCG::setCTM):
(WebCore::GraphicsContextCG::getCTM const):
(WebCore::GraphicsContextCG::roundToDevicePixels):
(WebCore::GraphicsContextCG::drawLinesForText):
(WebCore::GraphicsContextCG::setURLForRect):
(WebCore::GraphicsContextCG::setIsCALayerContext):
(WebCore::GraphicsContextCG::isCALayerContext const):
(WebCore::GraphicsContextCG::setIsAcceleratedContext):
(WebCore::GraphicsContextCG::renderingMode const):
(WebCore::GraphicsContextCG::applyDeviceScaleFactor):
(WebCore::GraphicsContextCG::fillEllipse):
(WebCore::GraphicsContextCG::strokeEllipse):
(WebCore::GraphicsContextCG::supportsInternalLinks const):
(WebCore::GraphicsContextCG::setDestinationForRect):
(WebCore::GraphicsContextCG::addDestinationAtPoint):
(WebCore::setCGStrokeColor): Deleted.
(WebCore::convertInterpolationQuality): Deleted.
(WebCore::GraphicsContext::platformInit): Deleted.
(WebCore::GraphicsContext::platformDestroy): Deleted.
(WebCore::GraphicsContext::platformContext const): Deleted.
(WebCore::GraphicsContext::savePlatformState): Deleted.
(WebCore::GraphicsContext::restorePlatformState): Deleted.
(WebCore::GraphicsContext::drawPlatformImage): Deleted.
(WebCore::GraphicsContext::drawPlatformPattern): Deleted.
(WebCore::GraphicsContext::drawRect): Deleted.
(WebCore::GraphicsContext::drawLine): Deleted.
(WebCore::GraphicsContext::drawEllipse): Deleted.
(WebCore::GraphicsContext::applyStrokePattern): Deleted.
(WebCore::GraphicsContext::applyFillPattern): Deleted.
(WebCore::GraphicsContext::drawPath): Deleted.
(WebCore::GraphicsContext::fillPath): Deleted.
(WebCore::GraphicsContext::strokePath): Deleted.
(WebCore::GraphicsContext::fillRect): Deleted.
(WebCore::GraphicsContext::platformFillRoundedRect): Deleted.
(WebCore::GraphicsContext::fillRectWithRoundedHole): Deleted.
(WebCore::GraphicsContext::clip): Deleted.
(WebCore::GraphicsContext::clipOut): Deleted.
(WebCore::GraphicsContext::clipPath): Deleted.
(WebCore::GraphicsContext::clipBounds const): Deleted.
(WebCore::GraphicsContext::beginPlatformTransparencyLayer): Deleted.
(WebCore::GraphicsContext::endPlatformTransparencyLayer): Deleted.
(WebCore::GraphicsContext::supportsTransparencyLayers): Deleted.
(WebCore::GraphicsContext::setPlatformShadow): Deleted.
(WebCore::GraphicsContext::clearPlatformShadow): Deleted.
(WebCore::GraphicsContext::setMiterLimit): Deleted.
(WebCore::GraphicsContext::clearRect): Deleted.
(WebCore::GraphicsContext::strokeRect): Deleted.
(WebCore::GraphicsContext::setLineCap): Deleted.
(WebCore::GraphicsContext::setLineDash): Deleted.
(WebCore::GraphicsContext::setLineJoin): Deleted.
(WebCore::GraphicsContext::canvasClip): Deleted.
(WebCore::GraphicsContext::scale): Deleted.
(WebCore::GraphicsContext::rotate): Deleted.
(WebCore::GraphicsContext::translate): Deleted.
(WebCore::GraphicsContext::concatCTM): Deleted.
(WebCore::GraphicsContext::setCTM): Deleted.
(WebCore::GraphicsContext::getCTM const): Deleted.
(WebCore::GraphicsContext::roundToDevicePixels): Deleted.
(WebCore::GraphicsContext::drawLineForText): Deleted.
(WebCore::GraphicsContext::drawLinesForText): Deleted.
(WebCore::GraphicsContext::setURLForRect): Deleted.
(WebCore::GraphicsContext::setPlatformImageInterpolationQuality): Deleted.
(WebCore::GraphicsContext::setIsCALayerContext): Deleted.
(WebCore::GraphicsContext::isCALayerContext const): Deleted.
(WebCore::GraphicsContext::setIsAcceleratedContext): Deleted.
(WebCore::GraphicsContext::isAcceleratedContext const): Deleted.
(WebCore::GraphicsContext::setPlatformTextDrawingMode): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeColor): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeThickness): Deleted.
(WebCore::GraphicsContext::setPlatformFillColor): Deleted.
(WebCore::GraphicsContext::setPlatformShouldAntialias): Deleted.
(WebCore::GraphicsContext::setPlatformShouldSmoothFonts): Deleted.
(WebCore::GraphicsContext::setPlatformAlpha): Deleted.
(WebCore::GraphicsContext::setPlatformCompositeOperation): Deleted.
(WebCore::GraphicsContext::platformApplyDeviceScaleFactor): Deleted.
(WebCore::GraphicsContext::platformFillEllipse): Deleted.
(WebCore::GraphicsContext::platformStrokeEllipse): Deleted.
(WebCore::GraphicsContext::supportsInternalLinks const): Deleted.
(WebCore::GraphicsContext::setDestinationForRect): Deleted.
(WebCore::GraphicsContext::addDestinationAtPoint): Deleted.
- platform/graphics/cg/GraphicsContextCG.h:
- platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:
(WebCore::ImageBufferCGBitmapBackend::create):
- platform/graphics/cg/PathCG.cpp:
(WebCore::Path::strokeContains const):
(WebCore::Path::strokeBoundingRect const):
- platform/graphics/cg/PatternCG.cpp:
(WebCore::patternCallback):
- platform/graphics/cocoa/FontCascadeCocoa.mm:
- platform/graphics/cocoa/GraphicsContextCocoa.mm:
(WebCore::GraphicsContextCG::drawFocusRing):
(WebCore::drawFocusRingToContextAtTime):
(WebCore::GraphicsContextCG::drawDotsForDocumentMarker):
(WebCore::GraphicsContext::drawFocusRing): Deleted.
(WebCore::GraphicsContext::drawDotsForDocumentMarker): Deleted.
- platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::ensureGraphicsContext):
- platform/graphics/displaylists/DisplayListDrawGlyphsRecorder.h:
- platform/graphics/displaylists/DisplayListDrawGlyphsRecorderCoreText.cpp:
(WebCore::DisplayList::DrawGlyphsRecorder::createInternalContext):
(WebCore::DisplayList::DrawGlyphsRecorder::populateInternalContext):
(WebCore::DisplayList::DrawGlyphsRecorder::recordDrawGlyphs):
- platform/graphics/displaylists/DisplayListDrawingContext.cpp:
(WebCore::DisplayList::DrawingContext::DrawingContext):
(WebCore::DisplayList::DrawingContext::recorder): Deleted.
- platform/graphics/displaylists/DisplayListDrawingContext.h:
(WebCore::DisplayList::DrawingContext::recorder):
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::DrawPath::apply const):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::SetState::encode const):
(WebCore::DisplayList::SetState::decode):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::Recorder):
(WebCore::DisplayList::Recorder::drawImageBuffer):
(WebCore::DisplayList::Recorder::getCTM const):
(WebCore::DisplayList::Recorder::drawLinesForText):
(WebCore::DisplayList::Recorder::drawFocusRing):
(WebCore::DisplayList::Recorder::clipBounds const):
(WebCore::DisplayList::Recorder::clipToDrawingCommands):
(WebCore::DisplayList::Recorder::paintFrameForMedia):
(WebCore::DisplayList::Recorder::extentFromLocalBounds const):
(WebCore::DisplayList::Recorder::clearShadow): Deleted.
(WebCore::DisplayList::Recorder::getCTM): Deleted.
(WebCore::DisplayList::Recorder::clipBounds): Deleted.
(WebCore::DisplayList::Recorder::canPaintFrameForMedia const): Deleted.
- platform/graphics/displaylists/DisplayListRecorder.h:
(WebCore::DisplayList::Recorder::append):
- platform/graphics/mac/ColorMac.mm:
(WebCore::makeSimpleColorFromNSColor):
- platform/graphics/mac/WebLayer.mm:
(-[WebLayer drawInContext:]):
(-[WebSimpleLayer drawInContext:]):
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::CairoOperationRecorder):
(Nicosia::CairoOperationRecorder::fillRect):
(Nicosia::CairoOperationRecorder::fillRoundedRect):
(Nicosia::CairoOperationRecorder::fillRectWithRoundedHole):
(Nicosia::CairoOperationRecorder::fillPath):
(Nicosia::CairoOperationRecorder::fillEllipse):
(Nicosia::CairoOperationRecorder::strokeRect):
(Nicosia::CairoOperationRecorder::strokePath):
(Nicosia::CairoOperationRecorder::strokeEllipse):
(Nicosia::CairoOperationRecorder::drawGlyphs):
(Nicosia::CairoOperationRecorder::drawNativeImage):
(Nicosia::CairoOperationRecorder::drawRect):
(Nicosia::CairoOperationRecorder::drawLine):
(Nicosia::CairoOperationRecorder::drawLinesForText):
(Nicosia::CairoOperationRecorder::drawEllipse):
(Nicosia::CairoOperationRecorder::getCTM const):
(Nicosia::CairoOperationRecorder::clipBounds const):
(Nicosia::CairoOperationRecorder::clipToDrawingCommands):
(Nicosia::CairoOperationRecorder::paintFrameForMedia):
(Nicosia::CairoOperationRecorder::clearShadow): Deleted.
(Nicosia::CairoOperationRecorder::drawPath): Deleted.
(Nicosia::CairoOperationRecorder::getCTM): Deleted.
(Nicosia::CairoOperationRecorder::clipBounds): Deleted.
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
- platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.cpp:
(Nicosia::PaintingContextCairo::ForPainting::ForPainting):
(Nicosia::PaintingContextCairo::ForRecording::ForRecording):
- platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContextCG::GraphicsContextCG):
(WebCore::GraphicsContext::releaseWindowsContext):
(WebCore::GraphicsContext::drawWindowsBitmap):
(WebCore::GraphicsContextCG::drawFocusRing):
(WebCore::GraphicsContextCG::drawDotsForDocumentMarker):
(WebCore::GraphicsContextCG::deprecatedPrivateContext const):
(WebCore::GraphicsContext::GraphicsContext): Deleted.
(WebCore::GraphicsContext::platformInit): Deleted.
(WebCore::GraphicsContext::drawFocusRing): Deleted.
(WebCore::GraphicsContext::drawDotsForDocumentMarker): Deleted.
- platform/graphics/win/GraphicsContextCairoWin.cpp:
(WebCore::GraphicsContextCairo::GraphicsContextCairo):
(WebCore::GraphicsContext::releaseWindowsContext):
(WebCore::GraphicsContextCairo::deprecatedPrivateContext const):
(WebCore::GraphicsContext::GraphicsContext): Deleted.
(WebCore::GraphicsContext::platformInit): Deleted.
- platform/graphics/win/GraphicsContextDirect2D.cpp:
(WebCore::GraphicsContextDirect2D::GraphicsContextDirect2D):
(WebCore::GraphicsContextDirect2D::systemFactory):
(WebCore::GraphicsContextDirect2D::defaultRenderTarget):
(WebCore::GraphicsContextDirect2D::platformInit):
(WebCore::GraphicsContextDirect2D::~GraphicsContextDirect2D):
(WebCore::GraphicsContextDirect2D::platformContext const):
(WebCore::GraphicsContextDirect2D::save):
(WebCore::GraphicsContextDirect2D::restore):
(WebCore::GraphicsContextDirect2D::drawNativeImage):
(WebCore::GraphicsContextDirect2D::releaseWindowsContext):
(WebCore::GraphicsContextDirect2D::drawWindowsBitmap):
(WebCore::GraphicsContextDirect2D::drawFocusRing):
(WebCore::GraphicsContextDirect2D::drawDotsForDocumentMarker):
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContextDirect2D::brushWithColor):
(WebCore::GraphicsContextDirect2D::colorWithGlobalAlpha const):
(WebCore::GraphicsContextDirect2D::solidStrokeBrush const):
(WebCore::GraphicsContextDirect2D::solidFillBrush const):
(WebCore::GraphicsContextDirect2D::patternStrokeBrush const):
(WebCore::GraphicsContextDirect2D::patternFillBrush const):
(WebCore::GraphicsContextDirect2D::beginDraw):
(WebCore::GraphicsContextDirect2D::endDraw):
(WebCore::GraphicsContextDirect2D::flush):
(WebCore::GraphicsContextDirect2D::drawPattern):
(WebCore::GraphicsContextDirect2D::drawRect):
(WebCore::GraphicsContextDirect2D::strokeStyle const):
(WebCore::GraphicsContextDirect2D::drawLine):
(WebCore::GraphicsContextDirect2D::drawEllipse):
(WebCore::GraphicsContextDirect2D::applyStrokePattern):
(WebCore::GraphicsContextDirect2D::applyFillPattern):
(WebCore::GraphicsContextDirect2D::drawPath):
(WebCore::GraphicsContextDirect2D::fillPath):
(WebCore::GraphicsContextDirect2D::strokePath):
(WebCore::GraphicsContextDirect2D::fillRect):
(WebCore::GraphicsContextDirect2D::fillRoundedRectImpl):
(WebCore::GraphicsContextDirect2D::fillRectWithRoundedHole):
(WebCore::GraphicsContextDirect2D::clip):
(WebCore::GraphicsContextDirect2D::clipOut):
(WebCore::GraphicsContextDirect2D::clipPath):
(WebCore::GraphicsContextDirect2D::clipBounds const):
(WebCore::GraphicsContextDirect2D::beginTransparencyLayer):
(WebCore::GraphicsContextDirect2D::endTransparencyLayer):
(WebCore::GraphicsContextDirect2D::supportsTransparencyLayers):
(WebCore::GraphicsContextDirect2D::updateState):
(WebCore::GraphicsContextDirect2D::setMiterLimit):
(WebCore::GraphicsContextDirect2D::clearRect):
(WebCore::GraphicsContextDirect2D::strokeRect):
(WebCore::GraphicsContextDirect2D::setLineCap):
(WebCore::GraphicsContextDirect2D::setLineDash):
(WebCore::GraphicsContextDirect2D::setLineJoin):
(WebCore::GraphicsContextDirect2D::scale):
(WebCore::GraphicsContextDirect2D::rotate):
(WebCore::GraphicsContextDirect2D::translate):
(WebCore::GraphicsContextDirect2D::concatCTM):
(WebCore::GraphicsContextDirect2D::setCTM):
(WebCore::GraphicsContextDirect2D::getCTM const):
(WebCore::GraphicsContextDirect2D::roundToDevicePixels):
(WebCore::GraphicsContextDirect2D::drawLinesForText):
(WebCore::GraphicsContextDirect2D::setURLForRect):
(WebCore::GraphicsContextDirect2D::setIsCALayerContext):
(WebCore::GraphicsContextDirect2D::isCALayerContext const):
(WebCore::GraphicsContextDirect2D::setIsAcceleratedContext):
(WebCore::GraphicsContextDirect2D::isAcceleratedContext const):
(WebCore::GraphicsContextDirect2D::applyDeviceScaleFactor):
(WebCore::GraphicsContextDirect2D::fillEllipse):
(WebCore::GraphicsContextDirect2D::strokeEllipse):
(WebCore::GraphicsContextDirect2D::drawGlyphs):
(WebCore::GraphicsContextDirect2D::clipToDrawingCommands):
(WebCore::GraphicsContextDirect2D::clipToImageBuffer):
(WebCore::GraphicsContextDirect2D::paintFrameForMedia):
(WebCore::GraphicsContext::GraphicsContext): Deleted.
(WebCore::GraphicsContext::systemFactory): Deleted.
(WebCore::GraphicsContext::defaultRenderTarget): Deleted.
(WebCore::GraphicsContext::platformInit): Deleted.
(WebCore::GraphicsContext::platformDestroy): Deleted.
(WebCore::GraphicsContext::platformContext const): Deleted.
(WebCore::GraphicsContext::savePlatformState): Deleted.
(WebCore::GraphicsContext::restorePlatformState): Deleted.
(WebCore::GraphicsContext::drawPlatformImage): Deleted.
(WebCore::GraphicsContext::releaseWindowsContext): Deleted.
(WebCore::GraphicsContext::drawWindowsBitmap): Deleted.
(WebCore::GraphicsContext::drawFocusRing): Deleted.
(WebCore::GraphicsContext::drawDotsForDocumentMarker): Deleted.
(WebCore::GraphicsContext::brushWithColor): Deleted.
(WebCore::GraphicsContext::colorWithGlobalAlpha const): Deleted.
(WebCore::GraphicsContext::solidStrokeBrush const): Deleted.
(WebCore::GraphicsContext::solidFillBrush const): Deleted.
(WebCore::GraphicsContext::patternStrokeBrush const): Deleted.
(WebCore::GraphicsContext::patternFillBrush const): Deleted.
(WebCore::GraphicsContext::beginDraw): Deleted.
(WebCore::GraphicsContext::endDraw): Deleted.
(WebCore::GraphicsContext::flush): Deleted.
(WebCore::GraphicsContext::drawPlatformPattern): Deleted.
(WebCore::GraphicsContext::drawRect): Deleted.
(WebCore::GraphicsContext::platformStrokeStyle const): Deleted.
(WebCore::GraphicsContext::drawLine): Deleted.
(WebCore::GraphicsContext::drawEllipse): Deleted.
(WebCore::GraphicsContext::applyStrokePattern): Deleted.
(WebCore::GraphicsContext::applyFillPattern): Deleted.
(WebCore::GraphicsContext::drawPath): Deleted.
(WebCore::GraphicsContext::fillPath): Deleted.
(WebCore::GraphicsContext::strokePath): Deleted.
(WebCore::GraphicsContext::fillRect): Deleted.
(WebCore::GraphicsContext::platformFillRoundedRect): Deleted.
(WebCore::GraphicsContext::fillRectWithRoundedHole): Deleted.
(WebCore::GraphicsContext::clip): Deleted.
(WebCore::GraphicsContext::clipOut): Deleted.
(WebCore::GraphicsContext::clipPath): Deleted.
(WebCore::GraphicsContext::clipBounds const): Deleted.
(WebCore::GraphicsContext::beginPlatformTransparencyLayer): Deleted.
(WebCore::GraphicsContext::endPlatformTransparencyLayer): Deleted.
(WebCore::GraphicsContext::supportsTransparencyLayers): Deleted.
(WebCore::GraphicsContext::setPlatformShadow): Deleted.
(WebCore::GraphicsContext::clearPlatformShadow): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeStyle): Deleted.
(WebCore::GraphicsContext::setMiterLimit): Deleted.
(WebCore::GraphicsContext::clearRect): Deleted.
(WebCore::GraphicsContext::strokeRect): Deleted.
(WebCore::GraphicsContext::setLineCap): Deleted.
(WebCore::GraphicsContext::setLineDash): Deleted.
(WebCore::GraphicsContext::setLineJoin): Deleted.
(WebCore::GraphicsContext::canvasClip): Deleted.
(WebCore::GraphicsContext::scale): Deleted.
(WebCore::GraphicsContext::rotate): Deleted.
(WebCore::GraphicsContext::translate): Deleted.
(WebCore::GraphicsContext::concatCTM): Deleted.
(WebCore::GraphicsContext::setCTM): Deleted.
(WebCore::GraphicsContext::getCTM const): Deleted.
(WebCore::GraphicsContext::roundToDevicePixels): Deleted.
(WebCore::GraphicsContext::drawLineForText): Deleted.
(WebCore::GraphicsContext::drawLinesForText): Deleted.
(WebCore::GraphicsContext::setURLForRect): Deleted.
(WebCore::GraphicsContext::setPlatformImageInterpolationQuality): Deleted.
(WebCore::GraphicsContext::setIsCALayerContext): Deleted.
(WebCore::GraphicsContext::isCALayerContext const): Deleted.
(WebCore::GraphicsContext::setIsAcceleratedContext): Deleted.
(WebCore::GraphicsContext::isAcceleratedContext const): Deleted.
(WebCore::GraphicsContext::setPlatformTextDrawingMode): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeColor): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeThickness): Deleted.
(WebCore::GraphicsContext::setPlatformFillColor): Deleted.
(WebCore::GraphicsContext::setPlatformShouldAntialias): Deleted.
(WebCore::GraphicsContext::setPlatformShouldSmoothFonts): Deleted.
(WebCore::GraphicsContext::setPlatformAlpha): Deleted.
(WebCore::GraphicsContext::setPlatformCompositeOperation): Deleted.
(WebCore::GraphicsContext::platformApplyDeviceScaleFactor): Deleted.
(WebCore::GraphicsContext::platformFillEllipse): Deleted.
(WebCore::GraphicsContext::platformStrokeEllipse): Deleted.
- platform/graphics/win/GraphicsContextImplDirect2D.cpp: Removed.
- platform/graphics/win/GraphicsContextImplDirect2D.h: Removed.
- platform/graphics/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContext::setShouldIncludeChildWindows):
(WebCore::GraphicsContext::shouldIncludeChildWindows const):
(WebCore::GraphicsContext::createWindowsBitmap):
(WebCore::GraphicsContext::getWindowsContext):
(WebCore::GraphicsContext::hdc const):
- platform/graphics/win/ImageBufferDirect2DBackend.cpp:
(WebCore::ImageBufferDirect2DBackend::create):
- platform/graphics/win/ImageCGWin.cpp:
(WebCore::BitmapImage::getHBITMAPOfSize):
- platform/graphics/win/ImageCairoWin.cpp:
(WebCore::BitmapImage::getHBITMAPOfSize):
- platform/graphics/win/PathDirect2D.cpp:
(WebCore::Path::strokeContains const):
(WebCore::Path::strokeBoundingRect const):
- platform/ios/DragImageIOS.mm:
(WebCore::createDragImageFromImage):
(WebCore::createDragImageForLink):
(WebCore::createDragImageForSelection):
(WebCore::createDragImageForRange):
(WebCore::createDragImageForColor):
- platform/mediastream/cocoa/AudioMediaStreamTrackRendererCocoa.cpp:
- platform/win/DragImageWin.cpp:
(WebCore::createDragImageForLink):
- platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::paint):
- rendering/ContentfulPaintChecker.cpp:
(WebCore::ContentfulPaintChecker::qualifiesForContentfulPaint):
- rendering/RenderBoxModelObject.cpp:
(WebCore::applyBoxShadowForBackground):
(WebCore::RenderBoxModelObject::paintBoxShadow):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateEventRegion):
Source/WebKit:
- Shared/cairo/ShareableBitmapCairo.cpp:
(WebKit::ShareableBitmap::createGraphicsContext):
- Shared/cg/ShareableBitmapCG.cpp:
(WebKit::ShareableBitmap::createGraphicsContext):
- Shared/win/ShareableBitmapDirect2D.cpp:
(WebKit::ShareableBitmap::createGraphicsContext):
- UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::BackingStore::incorporateUpdate):
- UIProcess/mac/WKPrintingView.mm:
(-[WKPrintingView _drawPreview:]):
- UIProcess/win/BackingStoreDirect2D.cpp:
- UIProcess/win/WebPopupMenuProxyWin.cpp:
(WebKit::WebPopupMenuProxyWin::paint):
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::paintControlForLayerInContext):
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::pdfSnapshotAtSize):
- WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::drawPagesToPDFImpl):
- WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
(WebKit::WebPrintOperationGtk::renderPage):
Source/WebKitLegacy/mac:
- Misc/WebCoreStatistics.mm:
(-[WebFrame printToCGContext:pageWidth:pageHeight:]):
- Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:]):
- WebInspector/WebNodeHighlightView.mm:
(-[WebNodeHighlightView drawRect:]):
- WebView/WebFrame.mm:
(-[WebFrame _drawRect:contentsOnly:]):
Source/WebKitLegacy/win:
- FullscreenVideoController.cpp:
(FullscreenVideoController::draw):
- WebFrame.cpp:
(WebFrame::paintDocumentRectToContext):
(WebFrame::paintScrollViewRectToContextAtPoint):
(WebFrame::spoolPages):
- WebNodeHighlight.cpp:
(WebNodeHighlight::update):
- WebView.cpp:
(WebView::paintWithDirect2D):
(WebView::paintIntoBackingStore):
Tools:
- TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
- 4:52 PM Changeset in webkit [278061] by
-
- 2 edits in trunk/Tools
Raise jitMemoryReservationSize for ftl-no-cjit-small-pool* tests.
https://bugs.webkit.org/show_bug.cgi?id=226205
Rubber-stamped by Saam Barati.
The bump to 75K didn't relieve the jsc EWS bot. Trying a bump to 100K this time.
- Scripts/run-jsc-stress-tests:
- 4:35 PM Changeset in webkit [278060] by
-
- 1 copy in tags/Safari-611.3.6.0.2
Tag Safari-611.3.6.0.2.
- 4:33 PM Changeset in webkit [278059] by
-
- 1 copy in tags/Safari-611.3.6.1.2
Tag Safari-611.3.6.1.2.
- 4:19 PM Changeset in webkit [278058] by
-
- 2 edits in trunk/Source/WebCore
Stop using UncheckedLock in Node's s_eventTargetDataMapLock
https://bugs.webkit.org/show_bug.cgi?id=226191
Reviewed by Geoffrey Garen.
Stop using UncheckedLock in Node's s_eventTargetDataMapLock. This is a step towards phasing
out UncheckedLock in favor of Lock which supports Clang Thread Safety Analysis.
Note that I had to factor the code a little differently because Clang Thread Safety Analysis
doesn't support conditional locking.
- dom/Node.cpp:
(WebCore::Node::eventTargetDataConcurrently):
- 4:19 PM Changeset in webkit [278057] by
-
- 13 edits in trunk/Source
Stop using UncheckedLock in html/canvas
https://bugs.webkit.org/show_bug.cgi?id=226186
Reviewed by Darin Adler.
Source/WebCore:
Stop using UncheckedLock in html/canvas. This is a step towards phasing out
UncheckedLock, in favor of the checked Lock. Technically, the code still
doesn't do much thread-safety analysis after this change. It is very difficult
to adopt thread-safety analysis here because the call sites don't always lock
(there are cases where no locking is needed). It is also hard to get a reference
to the various locks to make WTF_REQUIRES_LOCK() work.
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::deleteVertexArray):
- html/canvas/WebGLContextGroup.cpp:
(WebCore::WebGLContextGroup::objectGraphLockForAContext):
- html/canvas/WebGLContextGroup.h:
- html/canvas/WebGLContextObject.cpp:
(WebCore::WebGLContextObject::objectGraphLockForContext):
- html/canvas/WebGLContextObject.h:
- html/canvas/WebGLObject.h:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::objectGraphLock):
- html/canvas/WebGLRenderingContextBase.h:
- html/canvas/WebGLSharedObject.cpp:
(WebCore::WebGLSharedObject::objectGraphLockForContext):
- html/canvas/WebGLSharedObject.h:
Source/WTF:
Allow converting a Locker<Lock> to an AbstractLocker type. This allows porting
code from UncheckedLock to Lock even if said code is passing the Locker<Lock>
as parameter around as an AbstractLocker. This is very common in JSC and in
html/canvas.
Also make DropLockForScope work with Locker<Lock> to help port code over.
- wtf/Lock.h:
- 4:17 PM Changeset in webkit [278056] by
-
- 3 edits in trunk/Source/WebCore
[iOS] ASSERTION FAILED: !isMainThread() in WebCore::SpeechRecognitionCaptureSourceImpl::audioSamplesAvailable
https://bugs.webkit.org/show_bug.cgi?id=226247
<rdar://problem/78481513>
Unreviewed, drop threading assertions I added in r277921 as my understanding was wrong
about which thread the functions run on and they are hitting on the bots.
- Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp:
(WebCore::SpeechRecognitionCaptureSourceImpl::updateDataSource):
- Modules/speech/SpeechRecognitionCaptureSourceImpl.h:
- 4:14 PM Changeset in webkit [278055] by
-
- 3 edits in trunk/Source/JavaScriptCore
Stop using UncheckedLock in JSC::PerfLog
https://bugs.webkit.org/show_bug.cgi?id=226209
Reviewed by Saam Barati.
Stop using UncheckedLock in JSC::PerfLog and use Lock instead to benefit from Clang thread
safety analysis.
- assembler/PerfLog.cpp:
(JSC::PerfLog::PerfLog):
(JSC::PerfLog::write):
(JSC::PerfLog::flush):
(JSC::PerfLog::log):
- assembler/PerfLog.h:
- 4:07 PM Changeset in webkit [278054] by
-
- 1 copy in tags/Safari-612.1.15.0.7
Tag Safari-612.1.15.0.7.
- 3:34 PM Changeset in webkit [278053] by
-
- 6 edits in trunk/Source/WebCore
Make error returned by SQLiteIDBBackingStore::getOrEstablishDatabaseInfo more detailed
https://bugs.webkit.org/show_bug.cgi?id=226124
Reviewed by Chris Dumez.
Convert some error loggings to error info to help debug rdar://77532291.
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::createOrMigrateRecordsTableIfNecessary):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidBlobTables):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidRecordsTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsRecordIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidObjectStoreInfoTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- platform/sql/SQLiteDatabase.cpp: add two helper funtions that are used in many places.
(WebCore::SQLiteDatabase::tableExists):
(WebCore::SQLiteDatabase::tableSQL):
(WebCore::SQLiteDatabase::indexSQL):
- platform/sql/SQLiteDatabase.h:
- 2:34 PM Changeset in webkit [278052] by
-
- 2 edits in branches/safari-612.1.15.1-branch/Source/WebKit
Cherry-pick r278009. rdar://problem/78463104
Ensure app highlight visibility observer is initialized before adding a new highlight
https://bugs.webkit.org/show_bug.cgi?id=226214
rdar://78173370
Patch by Matt Mokary <mmokary@apple.com> on 2021-05-25
Reviewed by Wenson Hsieh.
The app highlight visibility observer is initialized before restoring highlights, but was not initialized
before adding a new one. It must be initialized before adding a highlight so a change in visibility resulting
from a new highlight is handled correct.
- UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::createAppHighlightInSelectedRange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278009 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:11 PM Changeset in webkit [278051] by
-
- 2 edits in trunk/LayoutTests
[ Catalina E Wk1 ] imported/w3c/web-platform-tests/css/css-backgrounds/hidpi/simple-bg-color.html is flaky failure
https://bugs.webkit.org/show_bug.cgi?id=226229
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 2:05 PM Changeset in webkit [278050] by
-
- 5 edits in branches/safari-611.3.6.1-branch/Source
Cherry-pick r277881. rdar://problem/78467211
[Cocoa] Unable to upload files that are stored in the cloud (without a local copy)
https://bugs.webkit.org/show_bug.cgi?id=226090
<rdar://77775887>
Reviewed by Darin Adler.
Source/WebKit:
Allow the network process to load / read dataless files stored in the cloud by allowing
the process to materialize such files. I initially only allowed the AsyncFileStream
thread to materialize the dataless files and this was enough to make the file upload
use cases work. However, I noticed that drag and dropping such file in the Safari URL
bar would fail loading, which I think is bad user experience. As a result, I have
decided to allow the materializing at network process level.
I have verified manually that I can now upload such dataless files via either file
picker or drag and drop (used https://blueimp.github.io/jQuery-File-Upload/). I have
also verified that drag and dropping such a file in the Safari URL bar successfuly
loads that file.
- NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
Source/WTF:
Add FileSystem API to allow/disallow the materializing of dataless files stored
in the cloud, at process or thread level.
- wtf/FileSystem.h:
- wtf/cocoa/FileSystemCocoa.mm: (WTF::FileSystemImpl::toIOPolicyScope): (WTF::FileSystemImpl::setAllowsMaterializingDatalessFiles): (WTF::FileSystemImpl::allowsMaterializingDatalessFiles):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:01 PM Changeset in webkit [278049] by
-
- 2 edits in trunk/Source/WebKit
[PlayStation] Update usage of libWPE API
https://bugs.webkit.org/show_bug.cgi?id=226231
Reviewed by Ross Kirsling.
Update to use 1.6.0+ API version.
- UIProcess/API/C/playstation/WKPagePrivatePlayStation.cpp:
(WKPageHandleWheelEvent):
- 1:47 PM Changeset in webkit [278048] by
-
- 1 edit in branches/safari-611.3.6.0-branch/Source/WTF/wtf/cocoa/FileSystemCocoa.mm
Unreviewed build fix, rdar://problem/78467190
- 1:37 PM Changeset in webkit [278047] by
-
- 2 edits in trunk/Source/WebCore
[PlayStation] Build failure in UserAgentPlayStation
https://bugs.webkit.org/show_bug.cgi?id=226232
Unreviewed build fix after r277967.
- platform/playstation/UserAgentPlayStation.cpp:
(WebCore::standardUserAgentStatic):
- 1:37 PM Changeset in webkit [278046] by
-
- 8 edits in branches/safari-612.1.15.1-branch/Source
Versioning.
WebKit-7612.1.15.1.13
- 1:36 PM Changeset in webkit [278045] by
-
- 1 copy in tags/Safari-612.1.15.1.12
Tag Safari-612.1.15.1.12.
- 1:35 PM Changeset in webkit [278044] by
-
- 1 delete in tags/Safari-612.1.15.1.12
Delete tag.
- 1:35 PM Changeset in webkit [278043] by
-
- 8 edits in branches/safari-612.1.15.1-branch/Source
Revert "Versioning."
This reverts commit r278039.
- 1:31 PM Changeset in webkit [278042] by
-
- 10 edits in trunk
SecurityPolicyViolationEvent.constructor do not throw any exception as expected when eventInitDict param do not include all the members required
https://bugs.webkit.org/show_bug.cgi?id=226215
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline WPT tests that are now passing.
- web-platform-tests/content-security-policy/securitypolicyviolation/constructor-required-fields-expected.txt:
- web-platform-tests/content-security-policy/securitypolicyviolation/idlharness.window-expected.txt:
Source/WebCore:
Update our SecurityPolicyViolationEvent & SecurityPolicyViolationEventInit IDL to match
Blink more closely, which gets us much closer to the specification:
I added comments in the IDL for cases where we intentionally don't match the specification
because it would not be compatible with Blink.
The following changes were made:
- Mark documentURI, violatedDirective, effectiveDirective, originalPolicy, disposition and statusCode dictionary members as required.
- Use 'unsigned long' type for lineNumber & columNumber dictionary members instead of 'long'.
- Add disposition and sample dictionary members.
- Use USVString type for referrer dictionary member instead of DOMString
- Allow workers to construct a SecurityPolicyViolationEvent.
- Add documentURL, blockedURL, sample, disposition, lineno, colno attributes to SecurityPolicyViolationEvent.
- dom/SecurityPolicyViolationEvent.h:
(WebCore::SecurityPolicyViolationEvent::Init::encode const):
(WebCore::SecurityPolicyViolationEvent::Init::decode):
- dom/SecurityPolicyViolationEvent.idl:
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation const):
LayoutTests:
Update existing test so that it keeps passing with the new SecurityPolicyViolationEvent constructor
changes.
- http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-basics-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-basics.html:
- 1:29 PM Changeset in webkit [278041] by
-
- 2 edits in trunk/Tools
Wasm low memory tests should have a larger executable pool
https://bugs.webkit.org/show_bug.cgi?id=226233
Reviewed by Saam Barati.
With some other recent JSC changes we can sometimes go over the allocation pool we set aside. Let's bump the number.
- Scripts/run-jsc-stress-tests:
- 1:27 PM Changeset in webkit [278040] by
-
- 9 edits in trunk/Tools
Run webkitpy integration tests under pytest by default
https://bugs.webkit.org/show_bug.cgi?id=226017
Reviewed by Jonathan Bedard.
This involves adding a variety of new xfail annotations and moving some tests to
be serial to avoid flakiness.
- Scripts/webkitpy/common/config/committers_unittest.py:
(CommittersTest):
- Scripts/webkitpy/conftest.py:
(pytest_addoption): Remove --run-integration
(pytest_collection_modifyitems): Remove --run-integration
- Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RunTest.serial_test_basic):
(RunTest.serial_test_batch_size):
(RunTest.serial_test_dryrun):
(RunTest.serial_test_full_results_html):
(RunTest.serial_test_no_order_with_directory_entries_in_natural_order):
(RunTest.serial_test_gc_between_tests):
(RunTest.serial_test_check_for_world_leaks):
(RunTest.serial_test_complex_text):
(RunTest.serial_test_threaded):
(RunTest.serial_test_run_force):
(RunTest.serial_test_run_singly):
(RunTest.serial_test_skip_failing_tests):
(RunTest.serial_test_run_singly_actually_runs_tests):
(RunTest.serial_test_stderr_is_saved):
(RunTest.serial_test_results_directory_absolute):
(RunTest.serial_test_results_directory_default):
(RunTest.serial_test_results_directory_relative):
(RunTest.serial_test_run_orderinline):
(RunTest.serial_test_additional_platform_directory):
(RunTest.serial_test_no_http_and_force):
(RunTest.serial_test_no_http_tests):
(RunTest.serial_test_platform_tests_are_found):
- Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py:
(BaseTest):
(HTTPServerTest):
(HTTPServerTest.integration_test_servernormal):
(HTTPServerTest.integration_test_serverfails):
(HTTPServerTest.integration_test_port_and_root):
(WebsocketserverTest):
(WebsocketserverTest.integration_test_servernormal):
(WebsocketserverTest.integration_test_serverfails):
(WebsocketserverTest.integration_test_port_and_root):
- Scripts/webkitpy/port/port_testcase.py:
(PortTestCase):
- Scripts/webkitpy/test/main_unittest.py:
(TesterTest):
- Scripts/webkitpy/test/markers.py:
(skip): Add skip
- Scripts/webkitpy/tool/steps/haslanded_unittest.py:
(HasLandedTest): Always skip this, as it seems to fail always
- 1:25 PM Changeset in webkit [278039] by
-
- 8 edits in branches/safari-612.1.15.1-branch/Source
Versioning.
WebKit-7612.1.15.1.13
- 1:24 PM Changeset in webkit [278038] by
-
- 1 copy in tags/Safari-612.1.15.1.12
Tag Safari-612.1.15.1.12.
- 1:06 PM Changeset in webkit [278037] by
-
- 8 edits in branches/safari-612.1.15.1-branch/Source
Versioning.
WebKit-7612.1.15.1.12
- 12:41 PM Changeset in webkit [278036] by
-
- 5 edits in branches/safari-611.3.6.0-branch/Source
Cherry-pick r277881. rdar://problem/78467190
[Cocoa] Unable to upload files that are stored in the cloud (without a local copy)
https://bugs.webkit.org/show_bug.cgi?id=226090
<rdar://77775887>
Reviewed by Darin Adler.
Source/WebKit:
Allow the network process to load / read dataless files stored in the cloud by allowing
the process to materialize such files. I initially only allowed the AsyncFileStream
thread to materialize the dataless files and this was enough to make the file upload
use cases work. However, I noticed that drag and dropping such file in the Safari URL
bar would fail loading, which I think is bad user experience. As a result, I have
decided to allow the materializing at network process level.
I have verified manually that I can now upload such dataless files via either file
picker or drag and drop (used https://blueimp.github.io/jQuery-File-Upload/). I have
also verified that drag and dropping such a file in the Safari URL bar successfuly
loads that file.
- NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
Source/WTF:
Add FileSystem API to allow/disallow the materializing of dataless files stored
in the cloud, at process or thread level.
- wtf/FileSystem.h:
- wtf/cocoa/FileSystemCocoa.mm: (WTF::FileSystemImpl::toIOPolicyScope): (WTF::FileSystemImpl::setAllowsMaterializingDatalessFiles): (WTF::FileSystemImpl::allowsMaterializingDatalessFiles):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:35 PM Changeset in webkit [278035] by
-
- 38 edits1 delete in trunk
Switch from WTF::Optional to std::optional
https://bugs.webkit.org/show_bug.cgi?id=211674
Reviewed by Chris Dumez.
Source/JavaScriptCore:
- runtime/IntlCollator.cpp:
(JSC::IntlCollator::initializeCollator): Use JSObject* instead of
Optional<JSObject&>.
- runtime/IntlDateTimeFormat.cpp:
(JSC::toDateTimeOptionsAnyDate): Ditto.
(JSC::IntlDateTimeFormat::initializeDateTimeFormat): Ditto.
- runtime/IntlDisplayNames.cpp:
(JSC::IntlDisplayNames::initializeDisplayNames): Ditto.
- runtime/IntlListFormat.cpp:
(JSC::IntlListFormat::initializeListFormat): Ditto.
- runtime/IntlLocale.cpp:
(JSC::IntlLocale::initializeLocale): Ditto.
- runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::initializeNumberFormat): Ditto.
- runtime/IntlNumberFormat.h: Ditto.
- runtime/IntlNumberFormatInlines.h:
(JSC::setNumberFormatDigitOptions): Ditto.
- runtime/IntlObject.cpp:
(JSC::intlBooleanOption): Ditto.
(JSC::intlStringOption): Ditto.
(JSC::intlNumberOption): Ditto.
(JSC::supportedLocales): Ditto.
- runtime/IntlObject.h: Ditto.
- runtime/IntlObjectInlines.h:
(JSC::intlOption): Ditto.
(JSC::intlGetOptionsObject): Ditto.
(JSC::intlCoerceOptionsToObject): Ditto.
- runtime/IntlPluralRules.cpp:
(JSC::IntlPluralRules::initializePluralRules): Ditto.
- runtime/IntlPluralRules.h: Ditto.
- runtime/IntlRelativeTimeFormat.cpp:
(JSC::IntlRelativeTimeFormat::initializeRelativeTimeFormat): Ditto.
- runtime/IntlSegmenter.cpp:
(JSC::IntlSegmenter::initializeSegmenter): Ditto.
Source/WebCore:
- platform/graphics/VP9Utilities.h: Tweaked coding style a bit.
Added missing operator!= because std::optional's operator!= relies
on that, while WTF::Optional's operator!= relied on operator==.
- platform/mediastream/libwebrtc/GStreamerVideoEncoder.cpp:
(Encoders::definition): Use a pointer instead of Optional<&>.
- testing/Internals.cpp:
(WebCore::Internals::setVP9ScreenSizeAndScaleForTesting): Use a
form of construction for ScreenDataOverrides that works with both
WTF::Optional and std::optional. Something about way the old code
used WTF::makeOptional was not compatible with std::make_optional,
but it was easy to make it more straightforward and not even have
to use a "make" function.
Source/WebKit:
- Platform/IPC/ArgumentCoder.h:
(IPC::ArgumentCoder::decode): Add a WTFMove. Turns out this was not needed
to get compiling with std::optional, but it's a good idea for performance.
This is one of those cases where it looks like the return value optimization
would work, but it doesn't because the return value doesn't exactly match
the local variable's type.
- Shared/TouchBarMenuData.h: Remove some overzealous use of explicit that
was preventing some files from compiling with the stricter std::optional
constructor rules, while it did not prevent compiling with WTF::Optional.
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::switchToBrowsingContext): Removed an unused
lambda capture and local variable. Not clear how this is related to
std::optional, but showed up as a compiler warning.
Source/WTF:
- wtf/Forward.h: Remove Optional forward declaration.
Also include Optional.h, just for now. Need to remove this once
we do the global rename.
- wtf/Optional.h: Replaced the entire WTF::Optional implementation
with a WTF::Optional "using" that makes it a synonym for std::optional.
WTF::nullopt being a synonym for std::nullopt and WTF::nullopt_t
being a synonym for std::nullopt_t. Also included functions so
that WTF::makeOptional calls std::make_optional and kept the
WTF extension named valueOrCompute. Need to remove these once we
do the global rename, and likely just get rid of valueOrCompute, and
then delete this entire header.
- wtf/Seconds.h: Added an include of FastMalloc.h, since it's no
longer pulled in because of including Optional.h.
- wtf/persistence/PersistentCoder.h: Use Forward.h for now instead of
forward-declaring WTF::optional.
Tools:
- Scripts/webkitpy/style/checker.py: Removed exceptions from the WTF::Optional
style rule for WebRTC.
- Scripts/webkitpy/style/checkers/cpp.py: Removed check_wtf_optional.
- Scripts/webkitpy/style/checkers/cpp_unittest.py: Removed test_wtf_optional.
- TestWebKitAPI/CMakeLists.txt: Removed Optional.cpp.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
- TestWebKitAPI/Tests/WTF/Optional.cpp: Removed.
- TestWebKitAPI/Tests/WTF/cf/RetainPtr.cpp: Updated test to not rely on non-standard
aspects of moving from an optional. Instead check the retain count to make sure we
have moved successfully.
- TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm: Ditto.
- 12:33 PM Changeset in webkit [278034] by
-
- 1 copy in tags/Safari-612.1.15.1.11
Tag Safari-612.1.15.1.11.
- 12:32 PM Changeset in webkit [278033] by
-
- 1 edit32 deletes in trunk/LayoutTests
[LayoutTess] Delete unused LayoutTests/fast resources
https://bugs.webkit.org/show_bug.cgi?id=226064
<rdar://problem/78289833>
Reviewed by Dewei Zhu.
- fast/box-shadow/resources/box-shadow-overflow-scroll.js: Removed.
- fast/canvas/resources/empty.svg: Removed.
- fast/canvas/resources/orientation-rotate-0.jpg: Removed.
- fast/canvas/resources/orientation-rotate-180.jpg: Removed.
- fast/canvas/resources/orientation-rotate-90-ccw.jpg: Removed.
- fast/canvas/resources/orientation-rotate-90-cw.jpg: Removed.
- fast/canvas/webgl/resources/out-of-bounds-test.js: Removed.
- fast/css-grid-layout/resources/blue-100x50.png: Removed.
- fast/css/resources/alignment-parsing-utils.js: Removed.
- fast/css/resources/purple-noprofile.png: Removed.
- fast/custom-elements/resources/document-types.js: Removed.
- fast/dom/HTMLScriptElement/resources/script-set-src-p4pass.js: Removed.
- fast/dom/resources/event-sender-util.js: Removed.
- fast/forms/resources/common-clearbutton-change-and-input-events.js: Removed.
- fast/forms/resources/multiple-fields-ax-aria-attributes.js: Removed.
- fast/forms/resources/multiple-fields-blur-and-focus-events.js: Removed.
- fast/forms/resources/multiple-fields-validity-badinput.js: Removed.
- fast/forms/resources/multiple-fields-value-set-empty.js: Removed.
- fast/history/resources/clicked-link-is-visited-2.html: Removed.
- fast/history/resources/page-cache-helper-10000ms.html: Removed.
- fast/history/resources/page-cache-helper-100ms.html: Removed.
- fast/images/resources/animated-red-green-blue-repeat-infinite.webp: Removed.
- fast/images/resources/large.webp: Removed.
- fast/images/resources/lenna.jpg: Removed.
- fast/images/resources/lenna.png: Removed.
- fast/reflections/resources/reflection-overflow-scroll.js: Removed.
- fast/shadow-dom/resources/red-div.css: Removed.
- fast/text/resources/gw432047-license.txt: Removed.
- fast/text/resources/unicode-range-download-Ahem.otf: Removed.
- fast/text/resources/unicode-range-download-Ahem.ttf: Removed.
- fast/text/resources/unicode-range-download-Ahem.woff: Removed.
- fast/workers/resources/messageevent-source.js: Removed.
- fast/xmlhttprequest/resources/1251.html: Removed.
- 12:12 PM Changeset in webkit [278032] by
-
- 2 edits in trunk/Source/WTF
[AppleWin] JSC fails to build
https://bugs.webkit.org/show_bug.cgi?id=226225
<rdar://78330435>
Reviewed by Brent Fulgham.
Speculative build fix for missing script to generate unified sources. Make sure the WTF scripts directory exists before
copying the script there, and add a CMake log message to help further debugging if this is not the correct fix.
- wtf/CMakeLists.txt:
- 11:26 AM Changeset in webkit [278031] by
-
- 2 edits in trunk/Source/WebCore
Divide by zero in DisplayUpdate::relevantForUpdateFrequency()
https://bugs.webkit.org/show_bug.cgi?id=226224
<rdar://76894675>
Reviewed by Wenson Hsieh.
Check for non-zero preferredFramesPerSecond before using it as a denominator
to avoid divide by zero.
- platform/graphics/DisplayUpdate.cpp:
(WebCore::DisplayUpdate::relevantForUpdateFrequency const):
- 11:16 AM Changeset in webkit [278030] by
-
- 22 edits in trunk/Source/JavaScriptCore
Finalize DFG/FTL code refs on the compiler threads
https://bugs.webkit.org/show_bug.cgi?id=226096
Reviewed by Mark Lam.
Previously, link tasks that ran via the addLinkTask API were guaranteed to be
called on the main thread. This is no longer the case. Most link tasks are
happy running on a background thread, since all they're really doing is
linking branches/calls or grabbing labels. However, a few users of addLinkTask were
relying on it running on the main thread. For those users, there is a new
addMainThreadFinalizationTask API, which is now used instead.
- assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::~LinkBuffer):
(JSC::LinkBuffer::runMainThreadFinalizationTasks):
- assembler/LinkBuffer.h:
(JSC::LinkBuffer::cancel):
(JSC::LinkBuffer::addMainThreadFinalizationTask):
(JSC::LinkBuffer::~LinkBuffer): Deleted.
- dfg/DFGFailedFinalizer.cpp:
(JSC::DFG::FailedFinalizer::finalizeFunction): Deleted.
- dfg/DFGFailedFinalizer.h:
- dfg/DFGFinalizer.h:
(JSC::DFG::Finalizer::cancel):
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):
- dfg/DFGJITFinalizer.cpp:
(JSC::DFG::JITFinalizer::cancel):
(JSC::DFG::JITFinalizer::finalize):
(JSC::DFG::JITFinalizer::finalizeFunction): Deleted.
(JSC::DFG::JITFinalizer::finalizeCommon): Deleted.
- dfg/DFGJITFinalizer.h:
- dfg/DFGLazyJSValue.cpp:
(JSC::DFG::LazyJSValue::emit const):
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::finalizeWithoutNotifyingCallback):
(JSC::DFG::Plan::cancel):
- ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::finalize):
(JSC::FTL::JITFinalizer::cancel):
(JSC::FTL::JITFinalizer::finalizeFunction): Deleted.
(JSC::FTL::JITFinalizer::finalizeCommon): Deleted.
- ftl/FTLJITFinalizer.h:
- ftl/FTLLink.cpp:
(JSC::FTL::link):
- ftl/FTLPatchpointExceptionHandle.cpp:
(JSC::FTL::PatchpointExceptionHandle::scheduleExitCreationForUnwind):
- ftl/FTLThunks.h:
(JSC::FTL::Thunks::getSlowPathCallThunk):
Add a lock to FTLThunks since we now may be calling into it from more than
one thread at a time.
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitVirtualCall):
(JSC::AssemblyHelpers::emitUnlinkedVirtualCall): Deleted.
- jit/AssemblyHelpers.h:
- jit/JIT.cpp:
(JSC::JIT::finalizeOnMainThread):
- jit/JIT.h:
- jit/JITCall.cpp:
(JSC::JIT::compileCallEvalSlowCase):
- jit/JITCall32_64.cpp:
(JSC::JIT::compileCallEvalSlowCase):
- 11:03 AM Changeset in webkit [278029] by
-
- 13 edits in trunk/Source/JavaScriptCore
Reduce Baseline JIT emitted code size for op_jfalse, op_jtrue, op_get_from_scope, op_resolve_scope.
https://bugs.webkit.org/show_bug.cgi?id=226107
Reviewed by Saam Barati.
Benchmarking with JetStream2 and Speedometer2 on M1 Mac shows that performance is
neutral.
This patch reduces Baseline JIT emitted code side on a run of JetStream2 CLI by
another ~6.6M:
Base New Diff
BaselineJIT: 64955116 (61.946026 MB) 57991704 (55.305199 MB) 0.89x (reduction)
DFG: 36382012 (34.696590 MB) 36540652 (34.847881 MB) 1.00x
Thunk: 23217692 (22.142117 MB) 23115852 (22.044994 MB) 1.00x
InlineCache: 22228140 (21.198406 MB) 22262572 (21.231243 MB) 1.00x
FTL: 6025320 (5.746193 MB) 6164332 (5.878765 MB) 1.02x
Wasm: 2327604 (2.219776 MB) 2297036 (2.190624 MB) 0.99x
YarrJIT: 1547172 (1.475498 MB) 1522584 (1.452049 MB) 0.98x
CSSJIT: 0 0
Uncategorized: 0 0
Cumulative diff since the start of this effort to reduce Baseline JIT code size:
Base New Diff
BaselineJIT: 89089964 (84.962811 MB) 57991704 (55.305199 MB) 0.65x (reduction)
DFG: 39117360 (37.305222 MB) 36540652 (34.847881 MB) 0.93x (reduction)
Thunk: 23230968 (22.154778 MB) 23115852 (22.044994 MB) 1.00x
InlineCache: 22027416 (21.006981 MB) 22262572 (21.231243 MB) 1.01x
FTL: 6575772 (6.271145 MB) 6164332 (5.878765 MB) 0.94x (reduction)
Wasm: 2302724 (2.196049 MB) 2297036 (2.190624 MB) 1.00x
YarrJIT: 1538956 (1.467663 MB) 1522584 (1.452049 MB) 0.99x
CSSJIT: 0 0
Uncategorized: 0 0
- bytecode/CodeBlock.h:
(JSC::CodeBlock::offsetInMetadataTable):
(JSC::CodeBlock::offsetOfMetadataTable):
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::branchIfValue):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::branchIfTruthy):
(JSC::AssemblyHelpers::branchIfFalsey):
- jit/JIT.cpp:
(JSC::JIT::privateCompileSlowCases):
- jit/JIT.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_jfalse):
(JSC::JIT::valueIsFalseyGenerator):
(JSC::JIT::emit_op_jtrue):
(JSC::JIT::valueIsTruthyGenerator):
- jit/JITOperations.cpp:
(JSC::JSC_DEFINE_JIT_OPERATION):
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::generateOpResolveScopeThunk):
(JSC::JIT::slow_op_resolve_scopeGenerator):
(JSC::JIT::emitSlow_op_get_from_scope):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::generateOpGetFromScopeThunk):
(JSC::JIT::slow_op_get_from_scopeGenerator):
- jit/ThunkGenerators.cpp:
(JSC::popThunkStackPreservesAndHandleExceptionGenerator):
- runtime/GetPutInfo.h:
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::offsetOfGlobalLexicalEnvironment):
(JSC::JSGlobalObject::offsetOfGlobalLexicalBindingEpoch):
- 10:34 AM Changeset in webkit [278028] by
-
- 3 edits2 adds in trunk
CrashOnOverflow in WebCore::RenderTable::cellBefore(WebCore::RenderTableCell const*)
https://bugs.webkit.org/show_bug.cgi?id=225949
Reviewed by Sergio Villar Senin.
Source/WebCore:
The table section maintains a grid of rows and columns. This grid is used to jump to cells directly during layout (as opposed to tree walking).
It needs to be re-populated on tree mutations e.g when a new row is added to the table.
RenderTableSection::willInsertTableRow assumes that rows and cells are inserted subsequently, after each other and
it's ok to ignore the grid invalidation on the first row insertion (beforeChild is nullptr).
However in case of continuation split (e.g <table> is inside of an inline element and this inline element
needs to be split due to a block level box insertion), the row and all of its cells are cloned and inserted under the table section at once.
Test: fast/table/table-split-on-insert-with-section-crash.html
- rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::willInsertTableRow): fun fact: this code dates back to r3351 "The new table code from Lars.".
LayoutTests:
- fast/table/table-split-on-insert-with-section-crash-expected.txt: Added.
- fast/table/table-split-on-insert-with-section-crash.html: Added.
- 10:34 AM Changeset in webkit [278027] by
-
- 7 edits1 add in trunk
[PlayStation] Implement FileSystem without std::filesystem
https://bugs.webkit.org/show_bug.cgi?id=226197
Reviewed by Chris Dumez.
.:
Expose the result of the check for <filesystem> support as HAVE_STD_FILESYSTEM.
- Source/cmake/OptionsCommon.cmake:
Source/WTF:
The PlayStation 4 doesn't have support in its SDK for std::filesystem so backport the
functions jettisoned from FileSystemPOSIX and add them to a FileSystemPlayStation.cpp.
The ordering matches the contents of FileSystem.cpp.
Most of the functions ported to std::filesystem were just moved over as is from the commit
prior to r276879. Minor changes to the function signatures made when required.
The fileTypePotentiallyFollowingSymLinks function was created from the previous behavior
of fileMetadataUsingFunction and toFileMetataType.
The hardLinkCount was created from looking at the behavior hardLinkCount replaced in
r277446.
- wtf/FileSystem.cpp:
- wtf/PlatformHave.h:
- wtf/PlatformPlayStation.cmake:
- wtf/StdFilesystem.h:
- wtf/playstation/FileSystemPlayStation.cpp: Added.
(WTF::FileSystemImpl::fileTypePotentiallyFollowingSymLinks):
(WTF::FileSystemImpl::fileExists):
(WTF::FileSystemImpl::deleteFile):
(WTF::FileSystemImpl::deleteEmptyDirectory):
(WTF::FileSystemImpl::moveFile):
(WTF::FileSystemImpl::fileSize):
(WTF::FileSystemImpl::makeAllDirectories):
(WTF::FileSystemImpl::volumeFreeSpace):
(WTF::FileSystemImpl::createSymbolicLink):
(WTF::FileSystemImpl::hardLink):
(WTF::FileSystemImpl::hardLinkOrCopyFile):
(WTF::FileSystemImpl::hardLinkCount):
(WTF::FileSystemImpl::deleteNonEmptyDirectory):
(WTF::FileSystemImpl::fileModificationTime):
(WTF::FileSystemImpl::updateFileModificationTime):
(WTF::FileSystemImpl::isHiddenFile):
(WTF::FileSystemImpl::fileType):
(WTF::FileSystemImpl::fileTypeFollowingSymlinks):
(WTF::FileSystemImpl::pathFileName):
(WTF::FileSystemImpl::parentPath):
(WTF::FileSystemImpl::realPath):
(WTF::FileSystemImpl::pathByAppendingComponent):
(WTF::FileSystemImpl::pathByAppendingComponents):
(WTF::FileSystemImpl::listDirectory):
- 10:25 AM Changeset in webkit [278026] by
-
- 3 edits2 adds in branches/safari-612.1.15.0-branch
Cherry-pick r277990. rdar://problem/78463670
[iOS] Adjust meaningful click heuristic to detect focus changes and editable content
https://bugs.webkit.org/show_bug.cgi?id=226199
rdar://78368624
Reviewed by Tim Horton.
Source/WebKit:
Fine tune the "meaningful click" heuristic by not dispatching a non-meaningful click message to the UI process
in the cases where the tap:
- Causes the focused element to change.
- Is over a form control or editable element.
Test: fast/events/ios/meaningful-click-when-focusing-body.html
- WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::completeSyntheticClick):
LayoutTests:
Add a layout test to exercise the change.
- fast/events/ios/meaningful-click-when-focusing-body-expected.txt: Added.
- fast/events/ios/meaningful-click-when-focusing-body.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277990 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:24 AM Changeset in webkit [278025] by
-
- 8 edits in branches/safari-612.1.15.0-branch/Source
Versioning.
WebKit-7612.1.15.0.7
- 10:13 AM Changeset in webkit [278024] by
-
- 8 edits in branches/safari-612.1.15.1-branch/Source
Versioning.
WebKit-7612.1.15.1.11
- 9:47 AM Changeset in webkit [278023] by
-
- 1 copy in tags/Safari-611.2.7.1.7
Tag Safari-611.2.7.1.7.
- 9:46 AM Changeset in webkit [278022] by
-
- 1 copy in tags/Safari-611.2.7.0.5
Tag Safari-611.2.7.0.5.
- 9:46 AM Changeset in webkit [278021] by
-
- 1 copy in tags/Safari-611.2.6.2.1
Tag Safari-611.2.6.2.1.
- 9:43 AM Changeset in webkit [278020] by
-
- 2 edits in branches/safari-611.2.6.2-branch/Source/WebCore
Cherry-pick r277177. rdar://problem/78431521
AudioWorkletProcessor which does not extend base class crashes Safari
https://bugs.webkit.org/show_bug.cgi?id=225449
<rdar://problem/77624792>
Reviewed by Sam Weinig.
Update AudioWorkletGlobalScope::createProcessor() to validate the type of the processor
after constructing it.
- Modules/webaudio/AudioWorkletGlobalScope.cpp: (WebCore::AudioWorkletGlobalScope::createProcessor):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:41 AM Changeset in webkit [278019] by
-
- 8 edits in branches/safari-611.2.6.2-branch/Source
Versioning.
WebKit-7611.2.6.2.1
- 9:18 AM Changeset in webkit [278018] by
-
- 8 edits in branches/safari-611-branch/Source
Versioning.
WebKit-7611.2.6.2.1
- 9:15 AM Changeset in webkit [278017] by
-
- 1 copy in branches/safari-611.2.6.2-branch
New branch.
- 9:06 AM Changeset in webkit [278016] by
-
- 2 edits in branches/safari-611.2.7.0-branch/Source/WebCore
Cherry-pick r277177. rdar://problem/78427537
AudioWorkletProcessor which does not extend base class crashes Safari
https://bugs.webkit.org/show_bug.cgi?id=225449
<rdar://problem/77624792>
Reviewed by Sam Weinig.
Update AudioWorkletGlobalScope::createProcessor() to validate the type of the processor
after constructing it.
- Modules/webaudio/AudioWorkletGlobalScope.cpp: (WebCore::AudioWorkletGlobalScope::createProcessor):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:06 AM Changeset in webkit [278015] by
-
- 2 edits in branches/safari-611.2.7.1-branch/Source/WebCore
Cherry-pick r277177. rdar://problem/78427582
AudioWorkletProcessor which does not extend base class crashes Safari
https://bugs.webkit.org/show_bug.cgi?id=225449
<rdar://problem/77624792>
Reviewed by Sam Weinig.
Update AudioWorkletGlobalScope::createProcessor() to validate the type of the processor
after constructing it.
- Modules/webaudio/AudioWorkletGlobalScope.cpp: (WebCore::AudioWorkletGlobalScope::createProcessor):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:04 AM Changeset in webkit [278014] by
-
- 8 edits in branches/safari-611.2.7.0-branch/Source
Versioning.
WebKit-7611.2.7.0.5
- 9:03 AM Changeset in webkit [278013] by
-
- 8 edits in branches/safari-611.2.7.1-branch/Source
Versioning.
WebKit-7611.2.7.1.7
- 9:00 AM Changeset in webkit [278012] by
-
- 8 edits in branches/safari-611.3.6.1-branch/Source
Versioning.
WebKit-7611.3.6.1.2
- 8:58 AM Changeset in webkit [278011] by
-
- 8 edits in branches/safari-611.3.6.0-branch/Source
Versioning.
WebKit-7611.3.6.0.2
- 8:35 AM Changeset in webkit [278010] by
-
- 5 edits2 adds in trunk
[LFC][TFC] Percent height resolving quirk should stop at the table formatting context root
https://bugs.webkit.org/show_bug.cgi?id=226156
Reviewed by Darin Adler.
Source/WebCore:
Test: fast/layoutformattingcontext/table-with-percent-height-descendant.html
- layout/formattingContexts/FormattingQuirks.h:
- layout/formattingContexts/table/TableFormattingQuirks.cpp:
(WebCore::Layout::TableFormattingQuirks::heightValueOfNearestContainingBlockWithFixedHeight const):
- layout/formattingContexts/table/TableFormattingQuirks.h:
LayoutTests:
- fast/layoutformattingcontext/table-with-percent-height-descendant-expected.html: Added.
- fast/layoutformattingcontext/table-with-percent-height-descendant.html: Added.
- 8:31 AM Changeset in webkit [278009] by
-
- 2 edits in trunk/Source/WebKit
Ensure app highlight visibility observer is initialized before adding a new highlight
https://bugs.webkit.org/show_bug.cgi?id=226214
rdar://78173370
Patch by Matt Mokary <mmokary@apple.com> on 2021-05-25
Reviewed by Wenson Hsieh.
The app highlight visibility observer is initialized before restoring highlights, but was not initialized
before adding a new one. It must be initialized before adding a highlight so a change in visibility resulting
from a new highlight is handled correct.
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::createAppHighlightInSelectedRange):
- 8:26 AM Changeset in webkit [278008] by
-
- 3 edits in trunk/Source/WebCore
Stop using UncheckedLock in DatabaseTracker
https://bugs.webkit.org/show_bug.cgi?id=226208
Reviewed by Sam Weinig.
Stop using UncheckedLock in DatabaseTracker. This is a step towards phasing out the
UncheckedLock in favor of the regular Lock which support Clang thread safety analysis.
In this particular instance, I have opted to annotate the functions that gave out
warning with WTF_IGNORES_THREAD_SAFETY_ANALYSIS. I initially tried to use proper
annotations (WTF_ACQUIRES_LOCK() / WTF_RELEASES_LOCK()). However, the call sites are
Objective C functions and I am unable to annotate those.
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::openDatabaseMutex):
- Modules/webdatabase/DatabaseTracker.h:
- 8:11 AM Changeset in webkit [278007] by
-
- 10 edits in trunk/Source
Initialize WebCore and WebKit logging channels in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=226210
Reviewed by Andy Estes.
Source/WebCore:
Send the strings representing the enabled WebCore and WebKit logging channels to the
GPU Process, and use them to initialize log channels there, as we do for the WebContent
process.
- platform/LogInitialization.h: Export logLevelString().
- platform/Logging.h: Remove functions that are declared in LogInitialization.h.
- platform/mac/LoggingMac.mm:
Source/WebKit:
Send the strings representing the enabled WebCore and WebKit logging channels to the
GPU Process, and use them to initialize log channels there, as we do for the WebContent
process.
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::initializeGPUProcess):
- GPUProcess/GPUProcessCreationParameters.cpp:
(WebKit::GPUProcessCreationParameters::encode const):
(WebKit::GPUProcessCreationParameters::decode):
- GPUProcess/GPUProcessCreationParameters.h:
- Shared/mac/MediaFormatReader/MediaSampleCursor.cpp:
- UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::GPUProcessProxy):
- 7:45 AM Changeset in webkit [278006] by
-
- 3 edits in trunk/Tools
[WebDriver][WPE] Support running w3c webdriver tests with Cog
https://bugs.webkit.org/show_bug.cgi?id=226203
Reviewed by Adrian Perez de Castro.
Using the same infrastructure as the MiniBrowser, through ENABLE_COG.
Selenium not yet supported, as the browserName capability is hardcoded
as MiniBrowser in selenium's test codebase.
- Scripts/webkitpy/port/wpe.py:
(WPEPort.browser_env): Factored out of run_minibrowser to be used in the WebDriver driver module.
(WPEPort.run_minibrowser):
- Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:
(WebDriverWPE.browser_args):
(WebDriverWPE.browser_env):
- 7:00 AM Changeset in webkit [278005] by
-
- 2 edits2 moves1 add3 deletes in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Update some SVG test baselines.
https://bugs.webkit.org/show_bug.cgi?id=226111
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-05-25
- platform/glib/svg/transforms/svg-css-transforms-clip-path-expected.txt: Renamed from LayoutTests/platform/wpe/svg/transforms/svg-css-transforms-clip-path-expected.txt.
- platform/glib/svg/transforms/svg-css-transforms-expected.txt: Renamed from LayoutTests/platform/wpe/svg/transforms/svg-css-transforms-expected.txt.
- platform/glib/transforms/svg-vs-css-expected.txt:
- platform/gtk/svg/transforms/svg-css-transforms-clip-path-expected.txt: Removed.
- platform/gtk/svg/transforms/svg-css-transforms-expected.txt: Removed.
- platform/wpe/transforms/svg-vs-css-expected.txt: Removed.
- 5:52 AM Changeset in webkit [278004] by
-
- 5 edits in trunk
[GTK] Layout test media/track/track-cue-missing.html is failing
https://bugs.webkit.org/show_bug.cgi?id=191004
Reviewed by Alicia Boya Garcia.
Source/WebCore:
Implemented the missing performTaskAtMediaTime() method, needed by HTMLMediaElement::updateActiveTextTrackCues()
to trigger custom updates at times that don't fit in the regular updates statically scheduled every 250 ms.
The implementation uses triggerRepaint() for synchronization instead of timers, computing the current stream time
of the last video frame to be painted as an heuristic, instead of asking the position to the pipeline (more
expensive and risky from a non-main thread). If the stream time is beyond the task target time, the task is run
on the main thread.
Still, that is not enough. The task scheduled by HTMLMediaElement requires currentTime() to return an accurate
value, not one cached every 200ms. m_cachedTime needs to be updated more frequently (at least once every main
loop iteration), but still remain consistent along the whole iteration. This is achieved by enqueing an
invalidation task (to be run at the end of the current iteration) each time the cached value is set with a value
coming from a position query.
The changes in the m_cachedTime management add an overhead between 173% (track-cue-missing test) and 426%
(regular video playback without subtitles) in the run time spent querying the position to the pipeline. As an
optimization, the position is now directly queried to the audio and video sink and the highest value (according
to the current playback direction) is returned. This reduces the overhead to just 63% in the regular playback
without subtitles case.
The inner TaskAtMediaTimeScheduler class is used for task target time evaluation. As it can be used from the
main thread and from a secondary one in triggerRepaint(), it's wrapped in a DataMutex to manage concurrent
access. The original task is returned to the caller of checkTaskForScheduling() when the currentTime is beyond
the target time. The caller is then responsible of running the task externally in the main thread, out of the
influence of the DataMutex lock (the task can be expensive and the lock is only needed to evaluate the triggering
conditions).
Covered by existing tests.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
(WebCore::MediaPlayerPrivateGStreamer::TaskAtMediaTimeScheduler::setTask): Configure the object with the right task, targetTime, and current playback direction.
(WebCore::MediaPlayerPrivateGStreamer::TaskAtMediaTimeScheduler::checkTaskForScheduling): Check if the task must run. In that case, return the task as result so the caller can run it externally on the main thread after the DataMutex lock has been released.
(WebCore::MediaPlayerPrivateGStreamer::invalidateCachedPosition): Implementation moved to the cpp file.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): Don't initialize m_cachedPosition, as it's now an Optional that will be initialized as no-value.
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition const): Change the time based caching mechanism to a mainloop iteration based one. Directly query the sinks instead of the pipeline for position.
(WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone): Invalidate the Optional, instead of setting an invalid MediaTime.
(WebCore::MediaPlayerPrivateGStreamer::updateStates): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::didEnd): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::performTaskAtMediaTime): Set the task on the TaskAtMediaTimeScheduler when the media is currently playing. That task will run at the target time. The HTMLMediaElement periodic update will already take care if the media isn't currently playing.
(WebCore::MediaPlayerPrivateGStreamer::invalidateCachedPosition const): Reset Optional<MediaTime> m_cachedTime.
(WebCore::MediaPlayerPrivateGStreamer::invalidateCachedPositionOnNextIteration const): Enqueue an invalidation on the next mainloop iteration.
(WebCore::MediaPlayerPrivateGStreamer::triggerRepaint): Check if the PendingTask needs to be run, using the streaming time of the last rendered sample as an approximate way to get the position, and run it if that's the case.
LayoutTests:
- platform/glib/TestExpectations: Unskipped test.
- 1:33 AM Changeset in webkit [278003] by
-
- 15 edits in trunk
Add basic <dialog> element UA styles
https://bugs.webkit.org/show_bug.cgi?id=226169
Reviewed by Antti Koivisto.
Basic styles from https://html.spec.whatwg.org/#flow-content-3
LayoutTests/imported/w3c:
- web-platform-tests/html/rendering/non-replaced-elements/flow-content-0/dialog-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/abspos-dialog-layout-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-autofocus-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-autofocus-multiple-times-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-node-is-unfocusable-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/remove-dialog-should-unblock-document-expected.txt:
Source/WebCore:
- css/dialog.css:
(dialog):
LayoutTests:
- TestExpectations: marked relevant tests as failing until a proper modal dialog implementation makes them pass
- fast/box-shadow/box-shadow-huge-area-crash.html: changed it to use a <div> to match the behaviour before this patch
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/abspos-dialog-layout-expected.txt:
- 1:32 AM Changeset in webkit [278002] by
-
- 3 edits2 adds in trunk
Crash in CompositeEditCommand::splitTreeToNode via InsertParagraphSeparatorCommand::doApply
https://bugs.webkit.org/show_bug.cgi?id=225267
Patch by Frederic Wang <fwang@igalia.com> on 2021-05-25
Reviewed by Ryosuke Niwa.
Source/WebCore:
WebCore::Position::upstream behaves specially for table renderer, which may confuse the
execution of WebCore::InsertParagraphSeparatorCommand::doApply() when the visible position
is within a table, leading to a debug assertion failure and a nullptr dereference in release
build. In r273375, this was fixed for DOM elements with the table tag, but this does not work
for display: table. This patch instead directly calls isRenderedTable, for consistency with
WebCore::Position::upstream.
Test: fast/editing/paste-and-match-style-with-table-2-crash.html
- editing/markup.cpp:
(WebCore::createFragmentFromText): Use isRenderedTable instead of checking the tag name.
LayoutTests:
Add regression test.
- fast/editing/paste-and-match-style-with-table-2-crash-expected.txt: Added.
- fast/editing/paste-and-match-style-with-table-2-crash.html: Added.
- 12:40 AM Changeset in webkit [278001] by
-
- 2 edits in trunk/LayoutTests
[WinCairo] Unreviewed test gardening
- platform/wincairo/TestExpectations:
- 12:08 AM Changeset in webkit [278000] by
-
- 2 edits in trunk/Source/WebCore
Only create MediaElementSession when necessary
https://bugs.webkit.org/show_bug.cgi?id=226132
Patch by Ian Gilbert <iang@apple.com> on 2021-05-25
Reviewed by Eric Carlson.
Some methods had an unexpected side effect of creating a MediaElementSession.
Modified these to not create one if one does not already exist.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent):
(WebCore::HTMLMediaElement::mediaState const):