Timeline
Jun 19, 2022:
- 9:51 PM Changeset in webkit [295668] by
-
- 2 edits in trunk/Tools/CISupport/build-webkit-org
Add new post-commit bot WPE-Linux-64-bit-Release-Clang-Build https://bugs.webkit.org/show_bug.cgi?id=241403
Reviewed by Jonathan Bedard and Aakash Jain.
Also rename 'GTK-Linux-64-bit-Release-Clang' to 'GTK-Linux-64-bit-Release-Clang-Build'
to respect naming convention.
- Tools/CISupport/build-webkit-org/config.json:
- Tools/CISupport/build-webkit-org/factories_unittest.py: Add new test for 'WPE-Linux-64-bit-Release-Clang-Build' bot.
Canonical link: https://commits.webkit.org/251673@main
- 9:27 PM Changeset in webkit [295667] by
-
- 10 edits2 copies1 add in trunk/Source/WebCore
Add debug output support for WebCore::Gradient
https://bugs.webkit.org/show_bug.cgi?id=241767
Reviewed by Sam Weinig.
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/platform/graphics/ColorInterpolationMethod.cpp: Added.
(WebCore::operator<<):
- Source/WebCore/platform/graphics/ColorInterpolationMethod.h:
- Source/WebCore/platform/graphics/Gradient.cpp:
(WebCore::operator<<):
- Source/WebCore/platform/graphics/Gradient.h:
- Source/WebCore/platform/graphics/GradientColorStop.cpp: Copied from Source/WebCore/platform/graphics/GradientColorStop.h.
(WebCore::operator<<):
- Source/WebCore/platform/graphics/GradientColorStop.h:
- Source/WebCore/platform/graphics/GradientColorStops.cpp: Copied from Source/WebCore/platform/graphics/GradientColorStop.h.
(WebCore::operator<<):
- Source/WebCore/platform/graphics/GradientColorStops.h:
- Source/WebCore/platform/graphics/GraphicsTypes.cpp:
(WebCore::operator<<):
- Source/WebCore/platform/graphics/GraphicsTypes.h:
Canonical link: https://commits.webkit.org/251672@main
- 9:25 PM Changeset in webkit [295666] by
-
- 24 edits1 add1 delete in trunk
Make IPC::Attachment moveable on DARWIN
https://bugs.webkit.org/show_bug.cgi?id=241660
This makes the DARWIN implementation of IPC::Attachment use MachSendPort, since this
proper move handling, and lifetime management of the underlying mach_port_t.
This also removes the MachPort class, since this was largely just used as an intermediate
and is stricly worse than MachSendPort.
The primary bug fixed here is a case where the WebProcess sent a port to the UIProcess, and then
we failed to forward it to the GPUProcess since it had crashed. Previously we'd just leak the port (and
thus never notify the WebContent process that we'd failed), whereas now it gets released correctly.
Reviewed by Kimmo Kinnunen.
- Source/WebKit/GPUProcess/GPUProcess.cpp:
(WebKit::asConnectionIdentifier):
(WebKit::GPUProcess::createGPUConnectionToWebProcess):
- Source/WebKit/Platform/IPC/Attachment.cpp:
(IPC::Attachment::Attachment):
(IPC::Attachment::release): Deleted.
- Source/WebKit/Platform/IPC/Attachment.h:
(IPC::Attachment::Attachment::customWriter const):
(IPC::Attachment::Attachment): Deleted.
(IPC::Attachment::type const): Deleted.
(IPC::Attachment::isNull const): Deleted.
(IPC::Attachment::size const): Deleted.
(IPC::Attachment::fd const): Deleted.
(IPC::Attachment::release): Deleted.
(IPC::Attachment::customWriter const): Deleted.
(IPC::Attachment::port const): Deleted.
(IPC::Attachment::disposition const): Deleted.
(IPC::Attachment::handle const): Deleted.
- Source/WebKit/Platform/IPC/StreamServerConnection.cpp:
(IPC::StreamServerConnection::createWithDedicatedConnection):
- Source/WebKit/Platform/IPC/cocoa/MachPort.h: Removed.
- Source/WebKit/Platform/cocoa/SharedMemoryCocoa.cpp:
(WebKit::SharedMemory::IPCHandle::encode const):
(WebKit::SharedMemory::IPCHandle::decode):
- Source/WebKit/Scripts/webkit/parser_unittest.py:
- Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp:
(IPC::messageArgumentDescriptions):
- Source/WebKit/Scripts/webkit/tests/TestWithLegacyReceiver.messages.in:
- Source/WebKit/Scripts/webkit/tests/TestWithLegacyReceiverMessageReceiver.cpp:
- Source/WebKit/Scripts/webkit/tests/TestWithLegacyReceiverMessages.h:
(Messages::TestWithLegacyReceiver::DidCreateWebProcessConnection::DidCreateWebProcessConnection):
- Source/WebKit/Scripts/webkit/tests/TestWithoutAttributes.messages.in:
- Source/WebKit/Scripts/webkit/tests/TestWithoutAttributesMessageReceiver.cpp:
- Source/WebKit/Scripts/webkit/tests/TestWithoutAttributesMessages.h:
(Messages::TestWithoutAttributes::DidCreateWebProcessConnection::DidCreateWebProcessConnection):
- Source/WebKit/Shared/IPCConnectionTester.cpp:
(WebKit::asIdentifier):
- Source/WebKit/Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<MachSendRight>::encode):
(IPC::ArgumentCoder<MachSendRight>::decode):
- Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
- Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
- Source/WebKit/WebProcess/Inspector/WebInspector.cpp:
(WebKit::WebInspector::setFrontendConnection):
- Source/WebKit/WebProcess/Network/NetworkProcessConnectionInfo.h:
(WebKit::NetworkProcessConnectionInfo::identifier const):
(WebKit::NetworkProcessConnectionInfo::releaseIdentifier):
Converts IPC::Attachment to use MachSendPort instead of a port/disposition pair, and changes all
callsites to handle that.
- Source/WebKit/Platform/IPC/cocoa/ConnectionCocoa.mm:
(IPC::Connection::open):
(IPC::Connection::sendOutgoingMessage):
(IPC::createMessageDecoder):
(IPC::Connection::receiveSourceEventHandler):
(IPC::Connection::createConnectionIdentifierPair):
Make serialization/deserialization handle IPC::Connection being a MachSendPort.
Also makes sure we explicity allocate a send right at the two places we allocate a receive right,
rather than relying on this happening during serialization (with the MAKE_SEND disposition).
This means if the caller ends up not sending the IPC::Connection due to an error, we'll still end
up deallocating a send right, and trigger the associated notifications.
- Source/WebKit/Platform/IPC/cocoa/SharedFileHandleCocoa.cpp:
(IPC::SharedFileHandle::encode const):
(IPC::SharedFileHandle::decode):
Fixes a potential leak where we previously just passed our port to
fileport_makefd without then releasing our reference to it (which is now handled
via the MachSendPort destructor).
- Source/WTF/wtf/cocoa/MachSendRight.cpp:
(WTF::MachSendRight::operator=):
Fixes a potential leak, where we were just overwriting the old m_port contents without releasing it.
Canonical link: https://commits.webkit.org/251671@main
- 8:57 PM Changeset in webkit [295665] by
-
- 4 edits2 adds in trunk
REGRESSION (r294902): Content with continuation leaves decoration bits behind when removed
https://bugs.webkit.org/show_bug.cgi?id=241734
<rdar://95308322>
Reviewed by Simon Fraser.
This patch ensures that when a renderer is removed we always issue a repaint regardless of what the associated layer's repaint bit says.
- after r294902, repaint is not issued anymore if either the associated or an ancestor layer have the "full repaint" bit set.
- such layer-driven repaints happen after layout.
In some dynamic content cases, the layer may be removed before layout happens. This patch ensures that we preemptively issue such repaints.
- LayoutTests/fast/repaint/force-repaint-when-layer-is-destroyed-expected.txt: Added.
- LayoutTests/fast/repaint/force-repaint-when-layer-is-destroyed.html: Added.
- Source/WebCore/rendering/RenderLayerModelObject.cpp: Force (full) repaint when the renderer is being destroyed (detached -> non-internal move).
(WebCore::RenderLayerModelObject::willBeRemovedFromTree):
- Source/WebCore/rendering/RenderLayerModelObject.h:
- Source/WebCore/rendering/RenderObject.cpp: move duplicated code from repaint() and repaintRectangle() to issueRepaint().
Canonical link: https://commits.webkit.org/251670@main
- 8:28 PM Changeset in webkit [295664] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/ContentTypeUtilities.cpp
Fix includes in ContentTypeUtilities.cpp
https://bugs.webkit.org/show_bug.cgi?id=241764
Reviewed by Sam Weinig.
They should be outside the namespace.
- Source/WebCore/platform/graphics/ContentTypeUtilities.cpp:
Canonical link: https://commits.webkit.org/251669@main
- 6:46 PM Changeset in webkit [295663] by
-
- 1 edit in trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
Sort WebCore Xcode project file
https://bugs.webkit.org/show_bug.cgi?id=241768
Reviewed by Tim Horton.
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251668@main
- 11:26 AM Changeset in webkit [295662] by
-
- 3 edits in trunk/Tools/Scripts/libraries/webkitscmpy
[git-webkit] Incorrect common directory when not in checkout root
https://bugs.webkit.org/show_bug.cgi?id=241487
<rdar://problem/95327557>
Patch by Jonathan Bedard <JonWBedard@gmail.com> on 2022-06-19
Reviewed by Michael Catanzaro.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.common_directory): Run command from root_path.
Canonical link: https://commits.webkit.org/251667@main
Jun 18, 2022:
- 9:13 PM Changeset in webkit [295661] by
-
- 4 edits in trunk/Source
Change Integrity audit logging to use OS_LOG_TYPE_ERROR.
https://bugs.webkit.org/show_bug.cgi?id=241742
Reviewed by Yusuke Suzuki.
On OS(DARWIN), Integrity audit code now uses an OSLogPrintStream to achieve this
logging with type OS_LOG_TYPE_ERROR. On other ports, we just route the logging
to WTF::dataFile() instead.
Also removed VA_ARGS support when !VA_OPT_SUPPORTED. This never worked in the first
place. Ports without VA_OPT_SUPPORTED will have to live with degraded logging.
Added WTFReportBacktraceWithPrefixAndPrintStream and WTFPrintBacktraceWithPrefixAndPrintStream
to support this new Integrity audit logging. Removed the old WTFPrintBacktraceWithPrefix
because it was never used by external clients. It was only used by as an internal support
function by other stack dumper functions.
- Source/JavaScriptCore/tools/Integrity.cpp:
(JSC::Integrity::logFile):
(JSC::Integrity::logF):
(JSC::Integrity::logLnF):
(JSC::Integrity::verifyCell):
- Source/JavaScriptCore/tools/Integrity.h:
- Source/WTF/wtf/Assertions.cpp:
- Source/WTF/wtf/Assertions.h:
Canonical link: https://commits.webkit.org/251666@main
- 9:07 PM Changeset in webkit [295660] by
-
- 12 edits1 add in trunk/Source
Introducing RawHex, a counterpart to RawPointer
https://bugs.webkit.org/show_bug.cgi?id=241743
Reviewed by Saam Barati.
RawHex is for dumping integral values in hex just like RawPointer is for dumping
pointers. And similarly, RawHex is meant to be used with PrintStream.
For example:
dataLog(RawHex(42)); prints 0x2a
dataLog(RawHex(0x42); prints 0x42
dataLog(RawHex(256)); prints 0x100
dataLog(RawHex(65536); prints 0x10000
dataLog(RawHex(4294967295); prints 0xffffffff
dataLog(RawHex(4294967296); prints 0x100000000
dataLog(RawHex(INT8_MIN); prints 0x80
dataLog(RawHex(INT16_MIN); prints 0x8000
dataLog(RawHex(INT32_MIN); prints 0x80000000
dataLog(RawHex(-1); prints 0xffffffff
dataLog(RawHex(INT64_MIN); prints 0x8000000000000000
dataLog(RawHex(INT64_MAX); prints 0x7fffffffffffffff
dataLog(RawHex(UINT64_MAX); prints 0xffffffffffffffff
Also fixed up places where we were casting integral values into pointers, and
then using RawPointer to dump them in hex.
- Source/JavaScriptCore/bytecode/BytecodeDumper.cpp:
(JSC::Wasm::BytecodeDumper::formatConstant const):
- Source/JavaScriptCore/interpreter/StackVisitor.cpp:
(JSC::StackVisitor::Frame::dump const):
- Source/JavaScriptCore/runtime/ExecutableBase.cpp:
(JSC::ExecutableBase::dump const):
- Source/JavaScriptCore/runtime/LazyPropertyInlines.h:
(JSC::ElementType>::dump const):
- Source/JavaScriptCore/runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::reportTopBytecodes):
- Source/JavaScriptCore/tools/Integrity.cpp:
(JSC::Integrity::Random::reloadAndCheckShouldAuditSlow):
- Source/JavaScriptCore/wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::parseBody):
- Source/JavaScriptCore/wasm/WasmOpcodeOrigin.cpp:
(JSC::Wasm::OpcodeOrigin::dump const):
- Source/WTF/WTF.xcodeproj/project.pbxproj:
- Source/WTF/wtf/CMakeLists.txt:
- Source/WTF/wtf/PrintStream.cpp:
(WTF::printInternal):
- Source/WTF/wtf/PrintStream.h:
- Source/WTF/wtf/RawHex.h: Added.
(WTF::RawHex::RawHex):
(WTF::RawHex::ptr const):
(WTF::RawHex::is64Bit const):
(WTF::RawHex::u64 const):
Canonical link: https://commits.webkit.org/251665@main
- 3:00 AM Changeset in webkit [295659] by
-
- 1 edit in trunk/Source/JavaScriptCore/runtime/JSFunction.cpp
REGRESSION (251613@main): Missing exception check in JSFunction::put()
https://bugs.webkit.org/show_bug.cgi?id=241727
Unreviewed follow-up fix.
Adds exception check after reifyLazyPropertyIfNeeded() since it may throw.
- Source/JavaScriptCore/runtime/JSFunction.cpp:
(JSC::JSFunction::put):
Canonical link: https://commits.webkit.org/251664@main