Timeline
Jan 2, 2020:
- 7:52 PM Changeset in webkit [253990] by
-
- 4 edits in trunk/Source/WebKit
Reformat WebProcess logging
https://bugs.webkit.org/show_bug.cgi?id=205691
<rdar://problem/58283294>
Reviewed by Chris Dumez.
Update the format used by WebProcess in its RELEASE_LOG logging. Use
the format used by WebPageProxy and NetworkResourceLoader, which is
generally of the form:
<object-address> - [<values that help thread together operations>] <class>::<method>: <message and other useful values>
So, for example:
0x6f1df7000 - WebProcess::destroyRenderingResources() took 0.02ms
becomes:
0x6f1df7000 - [sessionID=2] WebProcess::destroyRenderingResources: took 0.02ms
While we're at it, also convert over to the RELEASE_LOG_IF_ALLOWED
style of logging macro. We didn't used to be able to do this since the
decision on whether or not to allow logging is typically based on
SessionID, which didn't used to be an attribute of WebProcess. Now
WebProcesses do (or can) have a SessionID, so use that to support the
hiding of logging in private sessions.
No new tests - no added or changed functionality.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::prepareToSuspend):
(WebKit::WebProcess::markAllLayersVolatile):
(WebKit::WebProcess::freezeAllLayerTrees):
(WebKit::WebProcess::unfreezeAllLayerTrees):
(WebKit::WebProcess::processDidResume):
(WebKit::WebProcess::grantUserMediaDeviceSandboxExtensions):
(WebKit::WebProcess::revokeUserMediaDeviceSandboxExtensions):
- WebProcess/WebProcess.h:
(WebKit::WebProcess::isAlwaysOnLoggingAllowed):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::updateProcessName):
(WebKit::WebProcess::updateCPUMonitorState):
(WebKit::WebProcess::destroyRenderingResources):
(WebKit::WebProcess::updateFreezerStatus):
- 7:31 PM Changeset in webkit [253989] by
-
- 6 edits3 moves2 deletes in trunk/LayoutTests/imported/w3c
Re-sync web-platform-tests/domparsing from upstream
https://bugs.webkit.org/show_bug.cgi?id=205696
Reviewed by Alex Christensen.
Re-sync web-platform-tests/domparsing from upstream cb0d9cacbbf30a4cae79faa2.
- web-platform-tests/domparsing/DOMParser-parseFromString-html-expected.txt:
- web-platform-tests/domparsing/DOMParser-parseFromString-html.html:
- web-platform-tests/domparsing/XMLSerializer-serializeToString-expected.txt:
- web-platform-tests/domparsing/XMLSerializer-serializeToString.html:
- web-platform-tests/domparsing/idlharness.window-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/domparsing/interfaces.any-expected.txt.
- web-platform-tests/domparsing/idlharness.window.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/domparsing/interfaces.any.html.
- web-platform-tests/domparsing/idlharness.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/domparsing/interfaces.any.js.
- web-platform-tests/domparsing/interfaces.any.worker-expected.txt: Removed.
- web-platform-tests/domparsing/interfaces.any.worker.html: Removed.
- web-platform-tests/domparsing/w3c-import.log:
- 6:52 PM Changeset in webkit [253988] by
-
- 3 edits2 adds in trunk
XMLSerializer doesn't correctly encode entities in <style> element
https://bugs.webkit.org/show_bug.cgi?id=205635
Reviewed by Alex Christensen.
Source/WebCore:
As per [1], when doing an XML serialization of text, we should escape '<', '>' and '&', even
if the text is inside a <style> element. The <style> element exception is for HTML serialization [2].
[1] https://w3c.github.io/DOM-Parsing/#xml-serializing-a-text-node
[2] https://html.spec.whatwg.org/#serialising-html-fragments
Test: fast/dom/xmlserializer-ampersand-in-style.html
- editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::entityMaskForText const):
LayoutTests:
Add layout test coverage.
- fast/dom/xmlserializer-ampersand-in-style-expected.txt: Added.
- fast/dom/xmlserializer-ampersand-in-style.html: Added.
- 6:36 PM Changeset in webkit [253987] by
-
- 174 edits12 copies1 add in trunk/Source
Experiment: create lots of different malloc zones for easier accounting of memory use
https://bugs.webkit.org/show_bug.cgi?id=186422
Patch by Yusuke Suzuki <ysuzuki@apple.com> and Simon Fraser <Simon Fraser> on 2020-01-02
Reviewed by Saam Barati.
Source/bmalloc:
- bmalloc/BPlatform.h:
- bmalloc/Environment.cpp:
(bmalloc::Environment::computeIsDebugHeapEnabled):
- bmalloc/IsoHeap.h:
(bmalloc::api::IsoHeap::IsoHeap):
- bmalloc/IsoHeapInlines.h:
(bmalloc::api::IsoHeap<Type>::IsoHeap):
- bmalloc/IsoTLSInlines.h:
(bmalloc::IsoTLS::allocateSlow):
(bmalloc::IsoTLS::deallocateSlow):
Source/JavaScriptCore:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- assembler/AssemblerBuffer.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp.
- assembler/AssemblerBuffer.h:
(JSC::AssemblerData::AssemblerData):
(JSC::AssemblerData::operator=):
(JSC::AssemblerData::~AssemblerData):
(JSC::AssemblerData::grow):
- bytecode/AccessCase.cpp:
- bytecode/AccessCase.h:
- bytecode/BytecodeBasicBlock.cpp:
- bytecode/BytecodeBasicBlock.h:
- bytecode/CodeBlock.cpp:
- bytecode/CodeBlock.h:
- bytecode/InstructionStream.cpp:
- bytecode/InstructionStream.h:
- bytecode/PolymorphicAccess.cpp:
- bytecode/PolymorphicAccess.h:
- bytecode/UnlinkedMetadataTable.cpp:
(JSC::UnlinkedMetadataTable::finalize):
- bytecode/UnlinkedMetadataTable.h:
- bytecode/UnlinkedMetadataTableInlines.h:
(JSC::UnlinkedMetadataTable::UnlinkedMetadataTable):
(JSC::UnlinkedMetadataTable::~UnlinkedMetadataTable):
(JSC::UnlinkedMetadataTable::link):
(JSC::UnlinkedMetadataTable::unlink):
- bytecode/ValueProfile.h:
(JSC::ValueProfileAndVirtualRegisterBuffer::ValueProfileAndVirtualRegisterBuffer):
- bytecode/Watchpoint.cpp:
- bytecode/Watchpoint.h:
- dfg/DFGBasicBlock.cpp:
- dfg/DFGBasicBlock.h:
- dfg/DFGNode.cpp:
- dfg/DFGNode.h:
- dfg/DFGSpeculativeJIT.cpp:
- dfg/DFGSpeculativeJIT.h:
- heap/BlockDirectory.cpp:
- heap/BlockDirectory.h:
- heap/FastMallocAlignedMemoryAllocator.cpp:
(JSC::FastMallocAlignedMemoryAllocator::FastMallocAlignedMemoryAllocator):
(JSC::FastMallocAlignedMemoryAllocator::tryAllocateAlignedMemory):
(JSC::FastMallocAlignedMemoryAllocator::freeAlignedMemory):
(JSC::FastMallocAlignedMemoryAllocator::tryAllocateMemory):
(JSC::FastMallocAlignedMemoryAllocator::freeMemory):
(JSC::FastMallocAlignedMemoryAllocator::tryReallocateMemory):
- heap/FastMallocAlignedMemoryAllocator.h:
- heap/GCSegmentedArray.cpp: Copied from Source/JavaScriptCore/parser/SourceProviderCache.cpp.
- heap/GCSegmentedArray.h:
- heap/GCSegmentedArrayInlines.h:
(JSC::GCArraySegment<T>::create):
(JSC::GCArraySegment<T>::destroy):
- heap/GigacageAlignedMemoryAllocator.cpp:
(JSC::GigacageAlignedMemoryAllocator::GigacageAlignedMemoryAllocator):
(JSC::GigacageAlignedMemoryAllocator::tryAllocateAlignedMemory):
(JSC::GigacageAlignedMemoryAllocator::freeAlignedMemory):
(JSC::GigacageAlignedMemoryAllocator::tryAllocateMemory):
(JSC::GigacageAlignedMemoryAllocator::freeMemory):
(JSC::GigacageAlignedMemoryAllocator::tryReallocateMemory):
- heap/GigacageAlignedMemoryAllocator.h:
- heap/IsoAlignedMemoryAllocator.cpp:
(JSC::IsoAlignedMemoryAllocator::IsoAlignedMemoryAllocator):
(JSC::IsoAlignedMemoryAllocator::~IsoAlignedMemoryAllocator):
(JSC::IsoAlignedMemoryAllocator::tryAllocateAlignedMemory):
(JSC::IsoAlignedMemoryAllocator::freeAlignedMemory):
(JSC::IsoAlignedMemoryAllocator::tryAllocateMemory):
(JSC::IsoAlignedMemoryAllocator::freeMemory):
- heap/IsoAlignedMemoryAllocator.h:
- heap/IsoSubspace.cpp:
(JSC::IsoSubspace::IsoSubspace):
- heap/MarkedBlock.cpp:
- heap/MarkedBlock.h:
- heap/WeakBlock.cpp:
(JSC::WeakBlock::create):
(JSC::WeakBlock::destroy):
- heap/WeakBlock.h:
- jit/JITCode.cpp:
- jit/JITCode.h:
- jit/RegisterAtOffsetList.cpp:
- jit/RegisterAtOffsetList.h:
- parser/Nodes.cpp:
- parser/Nodes.h:
- parser/ParserArena.cpp:
(JSC::ParserArena::deallocateObjects):
(JSC::ParserArena::allocateFreeablePool):
- parser/ParserArena.h:
- parser/SourceProvider.cpp:
- parser/SourceProvider.h:
- parser/SourceProviderCache.cpp:
- parser/SourceProviderCache.h:
- parser/SourceProviderCacheItem.h:
(JSC::SourceProviderCacheItem::create):
- runtime/CachePayload.cpp:
(JSC::CachePayload::makeMallocPayload):
- runtime/CachePayload.h:
- runtime/CachedBytecode.h:
(JSC::CachedBytecode::create):
- runtime/CachedTypes.cpp:
(JSC::Encoder::release):
(JSC::Encoder::Page::Page):
(JSC::CachedVector::encode):
(JSC::CachedVector::decode const):
(JSC::CachedInstructionStream::decode const):
- runtime/PropertyMapHashTable.h:
(JSC::PropertyTable::rehash):
- runtime/PropertyTable.cpp:
(JSC::PropertyTable::PropertyTable):
(JSC::PropertyTable::~PropertyTable):
- runtime/SymbolTable.cpp:
- runtime/SymbolTable.h:
- runtime/VM.cpp:
(JSC::VM::~VM):
- runtime/VM.h:
(JSC::ScratchBuffer::create):
(JSC::VM::exceptionFuzzingBuffer):
- wasm/WasmInstance.cpp:
(JSC::Wasm::Instance::Instance):
- wasm/WasmInstance.h:
- wasm/WasmTable.cpp:
(JSC::Wasm::Table::Table):
(JSC::Wasm::FuncRefTable::FuncRefTable):
- wasm/WasmTable.h:
Source/WebCore:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/SerializedScriptValue.cpp:
- bindings/js/SerializedScriptValue.h:
- css/CSSFontFace.cpp:
- css/CSSFontFace.h:
- css/CSSSelector.cpp:
- css/CSSSelector.h:
- css/CSSValue.cpp:
- css/CSSValue.h:
- css/StyleProperties.cpp:
(WebCore::ImmutableStyleProperties::create):
- css/StyleProperties.h:
- css/StyleRule.cpp:
- css/StyleRule.h:
- dom/ElementData.cpp:
(WebCore::ShareableElementData::createWithAttributes):
(WebCore::UniqueElementData::makeShareableCopy const):
- dom/ElementData.h:
- dom/NodeRareData.cpp:
- dom/NodeRareData.h:
- dom/QualifiedName.cpp:
- dom/QualifiedName.h:
- html/parser/HTMLDocumentParser.cpp:
- html/parser/HTMLDocumentParser.h:
- loader/DocumentLoader.cpp:
- loader/DocumentLoader.h:
- loader/ResourceLoader.cpp:
- loader/ResourceLoader.h:
- loader/cache/CachedResource.cpp:
- loader/cache/CachedResource.h:
- page/PerformanceEntry.cpp:
- page/PerformanceEntry.h:
- platform/graphics/Font.cpp:
- platform/graphics/Font.h:
- platform/graphics/FontCascadeFonts.cpp:
- platform/graphics/FontCascadeFonts.h:
- platform/graphics/Region.cpp:
- platform/graphics/Region.h:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::releaseUint8Vector):
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):
- platform/graphics/nicosia/NicosiaBuffer.cpp:
(Nicosia::Buffer::Buffer):
- platform/network/ResourceHandle.cpp:
- platform/network/ResourceHandleInternal.h:
- platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::closeCurrentStream):
(WebCore::advanceCurrentStream):
- rendering/RenderLayer.cpp:
- rendering/RenderLayer.h:
- rendering/TableLayout.cpp: Copied from Source/JavaScriptCore/parser/SourceProviderCache.cpp.
- rendering/TableLayout.h:
- rendering/style/RenderStyle.cpp:
- rendering/style/RenderStyle.h:
- rendering/style/SVGRenderStyle.cpp:
- rendering/style/SVGRenderStyle.h:
- rendering/style/SVGRenderStyleDefs.cpp:
- rendering/style/SVGRenderStyleDefs.h:
- rendering/style/StyleBoxData.cpp:
- rendering/style/StyleBoxData.h:
- rendering/style/StyleInheritedData.cpp:
- rendering/style/StyleInheritedData.h:
- rendering/style/StyleRareInheritedData.cpp:
- rendering/style/StyleRareInheritedData.h:
- rendering/style/StyleRareNonInheritedData.cpp:
- rendering/style/StyleRareNonInheritedData.h:
- rendering/style/StyleSurroundData.cpp:
- rendering/style/StyleSurroundData.h:
- rendering/style/StyleTransformData.cpp:
- rendering/style/StyleTransformData.h:
- style/StyleTreeResolver.cpp:
- style/StyleTreeResolver.h:
- svg/animation/SMILTimeContainer.cpp:
- svg/animation/SMILTimeContainer.h:
Source/WebKit:
- Shared/ShareableBitmap.cpp:
(WebKit::ShareableBitmap::create):
(WebKit::ShareableBitmap::~ShareableBitmap):
- UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::HistoryEntryDataEncoder::HistoryEntryDataEncoder):
(WebKit::HistoryEntryDataEncoder::finishEncoding):
(WebKit::encodeSessionHistoryEntryData):
(WebKit::encodeLegacySessionState):
Source/WTF:
This patch introduces ENABLE(MALLOC_HEAP_BREAKDOWN). If this is enabled, we allocate malloc_zone per malloc kind.
This offers the way to investigate the usage of memory per kind by using vmmap, like the following.
VIRTUAL RESIDENT DIRTY SWAPPED ALLOCATION BYTES DIRTY+SWAP REGION
MALLOC ZONE SIZE SIZE SIZE SIZE COUNT ALLOCATED FRAG SIZE % FRAG COUNT
=========== ======= ========= ========= ========= ========= ========= ========= ====== ======
StringImpl_0x116efd000 188.0M 69.3M 30.9M 0K 139456 18.0M 12.9M 42% 34
DefaultMallocZone_0x10f487000 176.0M 53.9M 14.1M 0K 115956 9955K 4497K 32% 22
Vector_0x116eff000 162.0M 56.3M 55.3M 0K 140715 17.3M 37.9M 69% 36
MetadataTable_0x11843b000 152.0M 17.5M 17.5M 0K 14200 2353K 15.2M 87% 26
WebKit Using System Malloc_0x114cbe000 150.0M 31.6M 21.8M 0K 87422 16.7M 5278K 24% 23
InstructionStream_0x118469000 150.0M 5764K 5764K 0K 14470 4688K 1076K 19% 24
AssemblerData_0x117ee6000 150.0M 1928K 1928K 0K 1 16 1928K 100% 24
To achieve this goal without making very large change, we put a template type in various containers.
For example, Vector will take Malloc parameter (the default one is FastMalloc allocator). If ENABLE(MALLOC_HEAP_BREAKDOWN) is enabled, we change this to
specific VectorMalloc allocator, and vmmap can show memory usage of this allocator. This patch also supports malloc_zone per IsoHeap. So we can see memory
allocation per IsoHeap in vmmap.
To use this feature, we need to flip two compile time flags, ENABLE(MALLOC_HEAP_BREAKDOWN) in WTF and BENABLE_MALLOC_HEAP_BREAKDOWN in bmalloc.
And usevmmap $PIDto dump malloc zones. To allocate objects of a class with a specific malloc-zone, use WTF_MAKE_FAST_ALLOCATED_WITH_HEAP_IDENTIFIER(HeapIdentifier) for the class,
and define allocator by DECLARE_ALLOCATOR_WITH_HEAP_IDENTIFIER(HeapIdentifier) in a header and DEFINE_ALLOCATOR_WITH_HEAP_IDENTIFIER(HeapIdentifier) in a cpp file.
This patch also introduce callstack collector for malloc. Vector, HashMap etc. are used to allocate various things, but the above malloc_zone feature only tells thing like "Vector
takes XXX MB memory". But what we want to know in this case is what Vector is consuming memory. We collect StackShot for each malloc call, and combine these information to tell
which callsite is consuming much memory, which tell us that what Vector is consuming memory.
- WTF.xcodeproj/project.pbxproj:
- wtf/Bag.cpp: Copied from Source/JavaScriptCore/parser/SourceProviderCache.cpp.
- wtf/Bag.h:
(WTF::Private::BagNode::BagNode): Deleted.
- wtf/BitVector.cpp:
(WTF::BitVector::OutOfLineBits::create):
(WTF::BitVector::OutOfLineBits::destroy):
- wtf/CMakeLists.txt:
- wtf/ConcurrentBuffer.cpp: Copied from Source/JavaScriptCore/parser/SourceProviderCache.cpp.
- wtf/ConcurrentBuffer.h:
- wtf/DebugHeap.cpp: Copied from Source/JavaScriptCore/runtime/CachePayload.cpp.
(WTF::DebugHeap::DebugHeap):
(WTF::DebugHeap::malloc):
(WTF::DebugHeap::calloc):
(WTF::DebugHeap::memalign):
(WTF::DebugHeap::realloc):
(WTF::DebugHeap::free):
- wtf/DebugHeap.h: Added.
- wtf/FastBitVector.cpp:
(WTF::FastBitVectorWordOwner::setEqualsSlow):
(WTF::FastBitVectorWordOwner::resizeSlow):
- wtf/FastBitVector.h:
(WTF::FastBitVectorWordOwner::~FastBitVectorWordOwner):
- wtf/FastMalloc.cpp:
(WTF::fastMallocDumpMallocStats):
(WTF::AvoidRecordingScope::AvoidRecordingScope):
(WTF::AvoidRecordingScope::~AvoidRecordingScope):
(WTF::MallocCallTracker::MallocSiteData::MallocSiteData):
(WTF::MallocCallTracker::singleton):
(WTF::MallocCallTracker::MallocCallTracker):
(WTF::MallocCallTracker::recordMalloc):
(WTF::MallocCallTracker::recordRealloc):
(WTF::MallocCallTracker::recordFree):
(WTF::MallocCallTracker::dumpStats):
(WTF::fastMalloc):
(WTF::fastRealloc):
(WTF::fastFree):
(WTF::fastAlignedMalloc):
(WTF::tryFastAlignedMalloc):
(WTF::fastAlignedFree):
- wtf/FastMalloc.h:
(WTF::FastMalloc::zeroedMalloc):
(WTF::FastMalloc::tryZeroedMalloc):
- wtf/Forward.h:
- wtf/HashTable.cpp:
- wtf/HashTable.h:
(WTF::KeyTraits>::allocateTable):
(WTF::KeyTraits>::deallocateTable):
(WTF::KeyTraits>::rehash):
- wtf/MallocPtr.h:
(WTF::MallocPtr::MallocPtr):
(WTF::MallocPtr::malloc):
(WTF::MallocPtr::zeroedMalloc):
(WTF::MallocPtr::tryMalloc):
(WTF::MallocPtr::tryZeroedMalloc):
(WTF::adoptMallocPtr):
- wtf/MetaAllocator.cpp:
(WTF::MetaAllocator::allocFreeSpaceNode):
(WTF::MetaAllocator::freeFreeSpaceNode):
- wtf/MetaAllocatorHandle.h:
- wtf/Platform.h:
- wtf/RefCountedArray.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp.
- wtf/RefCountedArray.h:
(WTF::RefCountedArray::RefCountedArray):
(WTF::RefCountedArray::~RefCountedArray):
(WTF::RefCountedArray::assign):
- wtf/SegmentedVector.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp.
- wtf/SegmentedVector.h:
- wtf/SmallPtrSet.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp.
- wtf/SmallPtrSet.h:
(WTF::SmallPtrSet::~SmallPtrSet):
(WTF::SmallPtrSet::grow):
- wtf/UniqueArray.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp.
- wtf/UniqueArray.h:
(WTF::UniqueArrayFree::operator() const):
(WTF::UniqueArrayFree<T::operator() const):
- wtf/Vector.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp.
- wtf/Vector.h:
(WTF::VectorBufferBase::allocateBuffer):
(WTF::VectorBufferBase::tryAllocateBuffer):
(WTF::VectorBufferBase::reallocateBuffer):
(WTF::VectorBufferBase::deallocateBuffer):
(WTF::VectorBufferBase::releaseBuffer):
(WTF::VectorBuffer::releaseBuffer):
(WTF::Vector::swap):
(WTF::Malloc>::Vector):
(WTF::=):
(WTF::Malloc>::contains const):
(WTF::Malloc>::findMatching const):
(WTF::Malloc>::find const):
(WTF::Malloc>::reverseFind const):
(WTF::Malloc>::appendIfNotContains):
(WTF::Malloc>::fill):
(WTF::Malloc>::appendRange):
(WTF::Malloc>::expandCapacity):
(WTF::Malloc>::tryExpandCapacity):
(WTF::Malloc>::resize):
(WTF::Malloc>::resizeToFit):
(WTF::Malloc>::shrink):
(WTF::Malloc>::grow):
(WTF::Malloc>::asanSetInitialBufferSizeTo):
(WTF::Malloc>::asanSetBufferSizeToFullCapacity):
(WTF::Malloc>::asanBufferSizeWillChangeTo):
(WTF::Malloc>::reserveCapacity):
(WTF::Malloc>::tryReserveCapacity):
(WTF::Malloc>::reserveInitialCapacity):
(WTF::Malloc>::shrinkCapacity):
(WTF::Malloc>::append):
(WTF::Malloc>::tryAppend):
(WTF::Malloc>::constructAndAppend):
(WTF::Malloc>::tryConstructAndAppend):
(WTF::Malloc>::appendSlowCase):
(WTF::Malloc>::constructAndAppendSlowCase):
(WTF::Malloc>::tryConstructAndAppendSlowCase):
(WTF::Malloc>::uncheckedAppend):
(WTF::Malloc>::uncheckedConstructAndAppend):
(WTF::Malloc>::appendVector):
(WTF::Malloc>::insert):
(WTF::Malloc>::insertVector):
(WTF::Malloc>::remove):
(WTF::Malloc>::removeFirst):
(WTF::Malloc>::removeFirstMatching):
(WTF::Malloc>::removeAll):
(WTF::Malloc>::removeAllMatching):
(WTF::Malloc>::reverse):
(WTF::Malloc>::map const):
(WTF::Malloc>::releaseBuffer):
(WTF::Malloc>::checkConsistency):
(WTF::swap):
(WTF::operator==):
(WTF::operator!=):
(WTF::Malloc>::isolatedCopy const):
(WTF::removeRepeatedElements):
(WTF::minCapacity>::Vector): Deleted.
(WTF::minCapacity>::contains const): Deleted.
(WTF::minCapacity>::findMatching const): Deleted.
(WTF::minCapacity>::find const): Deleted.
(WTF::minCapacity>::reverseFind const): Deleted.
(WTF::minCapacity>::appendIfNotContains): Deleted.
(WTF::minCapacity>::fill): Deleted.
(WTF::minCapacity>::appendRange): Deleted.
(WTF::minCapacity>::expandCapacity): Deleted.
(WTF::minCapacity>::tryExpandCapacity): Deleted.
(WTF::minCapacity>::resize): Deleted.
(WTF::minCapacity>::resizeToFit): Deleted.
(WTF::minCapacity>::shrink): Deleted.
(WTF::minCapacity>::grow): Deleted.
(WTF::minCapacity>::asanSetInitialBufferSizeTo): Deleted.
(WTF::minCapacity>::asanSetBufferSizeToFullCapacity): Deleted.
(WTF::minCapacity>::asanBufferSizeWillChangeTo): Deleted.
(WTF::minCapacity>::reserveCapacity): Deleted.
(WTF::minCapacity>::tryReserveCapacity): Deleted.
(WTF::minCapacity>::reserveInitialCapacity): Deleted.
(WTF::minCapacity>::shrinkCapacity): Deleted.
(WTF::minCapacity>::append): Deleted.
(WTF::minCapacity>::tryAppend): Deleted.
(WTF::minCapacity>::constructAndAppend): Deleted.
(WTF::minCapacity>::tryConstructAndAppend): Deleted.
(WTF::minCapacity>::appendSlowCase): Deleted.
(WTF::minCapacity>::constructAndAppendSlowCase): Deleted.
(WTF::minCapacity>::tryConstructAndAppendSlowCase): Deleted.
(WTF::minCapacity>::uncheckedAppend): Deleted.
(WTF::minCapacity>::uncheckedConstructAndAppend): Deleted.
(WTF::minCapacity>::appendVector): Deleted.
(WTF::minCapacity>::insert): Deleted.
(WTF::minCapacity>::insertVector): Deleted.
(WTF::minCapacity>::remove): Deleted.
(WTF::minCapacity>::removeFirst): Deleted.
(WTF::minCapacity>::removeFirstMatching): Deleted.
(WTF::minCapacity>::removeAll): Deleted.
(WTF::minCapacity>::removeAllMatching): Deleted.
(WTF::minCapacity>::reverse): Deleted.
(WTF::minCapacity>::map const): Deleted.
(WTF::minCapacity>::releaseBuffer): Deleted.
(WTF::minCapacity>::checkConsistency): Deleted.
(WTF::minCapacity>::isolatedCopy const): Deleted.
- wtf/text/CString.cpp:
(WTF::CStringBuffer::createUninitialized):
- wtf/text/CString.h:
- wtf/text/StringBuffer.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp.
- wtf/text/StringBuffer.h:
(WTF::StringBuffer::StringBuffer):
(WTF::StringBuffer::~StringBuffer):
(WTF::StringBuffer::resize):
(WTF::StringBuffer::release):
- wtf/text/StringImpl.cpp:
(WTF::StringImpl::~StringImpl):
(WTF::StringImpl::destroy):
(WTF::StringImpl::createUninitializedInternalNonEmpty):
(WTF::StringImpl::reallocateInternal):
- wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):
(WTF::StringImpl::createSubstringSharingImpl):
(WTF::StringImpl::tryCreateUninitialized):
(WTF::StringImpl::adopt):
- wtf/text/cf/StringImplCF.cpp:
(WTF::StringWrapperCFAllocator::allocate):
(WTF::StringWrapperCFAllocator::reallocate):
(WTF::StringWrapperCFAllocator::deallocate):
- 5:05 PM Changeset in webkit [253986] by
-
- 11 edits2 adds in trunk
[Payment Request] Perform payment method data IDL conversion in the PaymentRequest constructor
https://bugs.webkit.org/show_bug.cgi?id=199225
<rdar://problem/52217847>
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Imported test web-platform-tests/payment-request/constructor_convert_method_data.https.html
using Tools/Scripts/import-w3c-tests.
- web-platform-tests/payment-request/constructor_convert_method_data.https-expected.txt: Added.
- web-platform-tests/payment-request/constructor_convert_method_data.https.html: Added.
- web-platform-tests/payment-request/w3c-import.log:
Source/WebCore:
Implemented support for validating payment method data during Payment Request construction.
IDL conversion errors for payment method data will now trigger an exception in the
PaymentRequest constructor rather than being deferred to the show() method.
Payment Request specified this change in <https://github.com/w3c/payment-request/pull/829>.
Test: imported/w3c/web-platform-tests/payment-request/constructor_convert_method_data.https.html
- Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::convertAndValidate): Moved the logic for converting a JSValue to an
ApplePayRequest IDL type from ApplePayPaymentHandler::convertData to here.
(WebCore::ApplePayPaymentHandler::validateData): Added. Checks that the specified JSValue is
a valid ApplePayRequest, throwing an exception if not.
(WebCore::ApplePayPaymentHandler::convertData): Changed to use convertAndValidate to convert
from a JSValue to an ApplePayRequest.
- Modules/applepay/paymentrequest/ApplePayPaymentHandler.h:
- Modules/paymentrequest/PaymentHandler.cpp:
(WebCore::PaymentHandler::validateData): Added. Calls ApplePayPaymentHandler::validateData
if Apple Pay handles the specified identifier.
- Modules/paymentrequest/PaymentHandler.h:
- Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::parse): Moved up to be callable by PaymentRequest::create.
(WebCore::PaymentRequest::create): Validated that serializedData can be converted to a valid
ApplePayRequest, throwing an exception if not.
LayoutTests:
- http/tests/ssl/applepay/PaymentRequest.https-expected.txt:
- http/tests/ssl/applepay/PaymentRequest.https.html: Changed some tests to expect exceptions
from the constructor rather than promise rejections after calling show(). Removed a bogus
test for applicationData. Cleaned up numerous tests by moving setup code to the correct
location.
- 4:15 PM Changeset in webkit [253985] by
-
- 6 edits in trunk/Source/WebCore
[LFC][Integration] Fix failing text-indent cases when the IFC root is an anonymous box
https://bugs.webkit.org/show_bug.cgi?id=205693
<rdar://problem/58284277>
Reviewed by Antti Koivisto.
During text-indent computation we would normally check if the IFC root is anonymous and if so,
whether it's the first child of its parent element.
e.g. <div><div>text</div>this text is wrapped inside an anonymous renderer</div>
The IFC root of the "this text.." content is an anonymous container and it is not
the first child of its parent renderer.
However in the LFC integration case, we can't go beyond the IFC root and check for parent-child status.
- layout/LayoutState.h:
(WebCore::Layout::LayoutState::isIntegratedRootBoxFirstChild const):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::constraintsForLine):
- layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::isAnonymous const):
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::buildLayoutTreeForIntegration):
(WebCore::Layout::LayoutTreeContent::setRootIsFirstChild):
(WebCore::Layout::LayoutTreeContent::isRootFirstChild const):
(WebCore::Layout::TreeBuilder::createLayoutBox):
- layout/layouttree/LayoutTreeBuilder.h:
- 3:28 PM Changeset in webkit [253984] by
-
- 13 edits1 copy5 adds in trunk
[iOS] Replace "unexpectedly resumed" observer with RunningBoard suspendible assertions
https://bugs.webkit.org/show_bug.cgi?id=205687
<rdar://problem/57890246>
Reviewed by Tim Horton.
Adopt new RunningBoard process assertion to indicate that WebContent processes depend on their
UIProcess (and therefore, the UIProcess must be running if the WebContent process is). This
replaces our "Unexpectedly resumed" assertion which was causing unexpected terminations in some
cases.
- Configurations/WebKit.xcconfig:
- Platform/spi/ios/RunningBoardServicesSPI.h: Added.
- Scripts/process-entitlements.sh:
- Shared/DependencyProcessAssertion.cpp: Added.
(WebKit::DependencyProcessAssertion::DependencyProcessAssertion):
(WebKit::DependencyProcessAssertion::~DependencyProcessAssertion):
- Shared/DependencyProcessAssertion.h: Added.
- Shared/ios/DependencyProcessAssertionIOS.mm: Added.
(WebKit::DependencyProcessAssertion::DependencyProcessAssertion):
(WebKit::DependencyProcessAssertion::~DependencyProcessAssertion):
- Sources.txt:
- SourcesCocoa.txt:
- UIProcess/Cocoa/WebProcessProxyCocoa.mm:
- UIProcess/WebProcessProxy.h:
- UIProcess/WebProcessProxy.messages.in:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeConnection):
- WebProcess/WebProcess.h:
- WebProcess/cocoa/WebProcessCocoa.mm:
- 2:35 PM Changeset in webkit [253983] by
-
- 2 edits in trunk/Source/WTF
REGRESSION(r253926): Crash at libANGLE-shared.dylib: gl::LogMessage::~LogMessage
https://bugs.webkit.org/show_bug.cgi?id=205690
rdar://58279401
Reviewed by Eric Carlson.
Only enable ANGLE for iOS hardware while we investigate this fatal error.
- wtf/Platform.h:
- 1:58 PM Changeset in webkit [253982] by
-
- 10 edits1 add in trunk
REGRESSION (r253867): Six test262 tests broken
https://bugs.webkit.org/show_bug.cgi?id=205583
Reviewed by Mark Lam.
JSTests:
- stress/bound-function-empty-name.js: Added.
(shouldBe):
Source/JavaScriptCore:
If a function has empty name, a bound function should have "bound " name.
But Intl prototypes' bound functions are exceptions: these JSBoundFunctions have empty name.
In this patch, we passnullptrfor the JSBoundFunction::create's nameMayBeNull parameter of Intl prototypes' bound functions,
to generate empty string name for these bound functions instead of "bound "[1].
This fixes test262 failures.
[1]: https://tc39.es/ecma402/#sec-collator-compare-functions
- runtime/IntlCollatorPrototype.cpp:
(JSC::IntlCollatorPrototypeGetterCompare):
- runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::IntlDateTimeFormatPrototypeGetterFormat):
- runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatPrototypeGetterFormat):
- runtime/JSBoundFunction.cpp:
(JSC::JSBoundFunction::create):
(JSC::JSBoundFunction::JSBoundFunction):
(JSC::JSBoundFunction::visitChildren):
- runtime/JSBoundFunction.h:
- runtime/JSFunction.cpp:
(JSC::JSFunction::reifyLazyBoundNameIfNeeded):
- runtime/SmallStrings.cpp:
(JSC::SmallStrings::initializeCommonStrings):
- runtime/SmallStrings.h:
(JSC::SmallStrings::boundPrefixString const):
- 1:43 PM Changeset in webkit [253981] by
-
- 2 edits in trunk/Source/WebKit
Reformat WebProcessCache logging
https://bugs.webkit.org/show_bug.cgi?id=205683
<rdar://problem/58269352>
Reviewed by Alex Christensen.
Update the format used by WebProcessCache in its RELEASE_LOG logging.
Use the format used by WebPageProxy and NetworkResourceLoader, which
is generally of the form:
<object-address> - [<values that help thread together operations>] <class>::<method>: <message and other useful values>
So, for example:
0x1145ed208 - WebProcessCache::canCacheProcess(): Not caching process 83671 because it does not have an associated registrable domain
becomes:
0x1145ed208 - [PID=83671] WebProcessCache::canCacheProcess: Not caching process because it does not have an associated registrable domain
No new tests - no added or changed functionality.
- UIProcess/WebProcessCache.cpp:
(WebKit::WebProcessCache::canCacheProcess const):
(WebKit::WebProcessCache::addProcessIfPossible):
(WebKit::WebProcessCache::addProcess):
(WebKit::WebProcessCache::takeProcess):
(WebKit::WebProcessCache::updateCapacity):
(WebKit::WebProcessCache::clear):
(WebKit::WebProcessCache::clearAllProcessesForSession):
(WebKit::WebProcessCache::setApplicationIsActive):
(WebKit::WebProcessCache::removeProcess):
- 1:24 PM Changeset in webkit [253980] by
-
- 3 edits in trunk/Source/WebKit
Reformat ProcessThrottler logging
https://bugs.webkit.org/show_bug.cgi?id=205679
<rdar://problem/58265958>
Reviewed by Alex Christensen.
Update the format used by ProcessThrottler in its RELEASE_LOG logging.
Use the format used by WebPageProxy and NetworkResourceLoader, which
is generally of the form:
<object-address> - [<values that help thread together operations>] <class>::<method>: <message and other useful values>
So, for example:
[PID: 0] 0x1145ce5e8 - ProcessThrottler::invalidateAllActivities() BEGIN
becomes:
0x1145ce5e8 - [PID: 0] ProcessThrottler::invalidateAllActivities: BEGIN
No new tests - no added or changed functionality.
- UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::invalidateAllActivities):
(WebKit::ProcessThrottler::setAssertionState):
(WebKit::ProcessThrottler::updateAssertionIfNeeded):
(WebKit::ProcessThrottler::didConnectToProcess):
(WebKit::ProcessThrottler::prepareToSuspendTimeoutTimerFired):
(WebKit::ProcessThrottler::processReadyToSuspend):
(WebKit::ProcessThrottler::sendPrepareToSuspendIPC):
(WebKit::ProcessThrottler::uiAssertionWillExpireImminently):
- UIProcess/ProcessThrottler.h:
(WebKit::ProcessThrottler::Activity::Activity):
(WebKit::ProcessThrottler::Activity::invalidate):
- 1:21 PM Changeset in webkit [253979] by
-
- 2 edits in trunk/Source/WebKit
Reformat WebResourceLoader logging
https://bugs.webkit.org/show_bug.cgi?id=205680
<rdar://problem/58266105>
Reviewed by Alex Christensen.
Update the format used by WebResourceLoader in its RELEASE_LOG
logging. Use the format used by WebPageProxy and
NetworkResourceLoader, which is generally of the form:
<object-address> - [<values that help thread together operations>] <class>::<method>: <message and other useful values>
So, for example:
0x4a1dbcb58 - WebResourceLoader::didFinishResourceLoad: (webPageID=15, frameID=3, resourceID=1, length=212132)
becomes:
0x4a1dbcb58 - [webPageID=15, frameID=3, resourceID=1] WebResourceLoader::didFinishResourceLoad: (length=212132)
No new tests - no added or changed functionality.
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::didReceiveResponse):
(WebKit::WebResourceLoader::didReceiveData):
(WebKit::WebResourceLoader::didFinishResourceLoad):
(WebKit::WebResourceLoader::serviceWorkerDidNotHandle):
(WebKit::WebResourceLoader::didFailResourceLoad):
(WebKit::WebResourceLoader::didBlockAuthenticationChallenge):
(WebKit::WebResourceLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied):
(WebKit::WebResourceLoader::didReceiveResource):
- 1:14 PM Changeset in webkit [253978] by
-
- 17 edits in trunk
Add SPI to disable CORS on requests to URLs matching a pattern
https://bugs.webkit.org/show_bug.cgi?id=205534
<rdar://problem/58011337>
Reviewed by Chris Dumez.
Source/WebCore:
This should allow us to remove the layering violation in LegacySchemeRegistry::isUserExtensionScheme
and fix the bug in the radar. The SPI is exercised by a new API test.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
- page/Page.cpp:
(WebCore::m_deviceOrientationUpdateProvider):
(WebCore::Page::shouldDisableCorsForRequestTo const):
- page/Page.h:
- page/PageConfiguration.h:
- platform/LegacySchemeRegistry.cpp:
(WebCore::LegacySchemeRegistry::isUserExtensionScheme):
Source/WebKit:
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/API/APIPageConfiguration.cpp:
(API::PageConfiguration::copy const):
(API::PageConfiguration::PageConfiguration): Deleted.
(API::PageConfiguration::~PageConfiguration): Deleted.
- UIProcess/API/APIPageConfiguration.h:
(API::PageConfiguration::corsDisablingPatterns const):
(API::PageConfiguration::setCORSDisablingPatterns):
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _corsDisablingPatterns]):
(-[WKWebViewConfiguration _setCORSDisablingPatterns:]):
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- UIProcess/WebPageProxy.cpp:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_overriddenMediaType):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
- 12:53 PM Changeset in webkit [253977] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Text-indent shrinks the available horizontal space
https://bugs.webkit.org/show_bug.cgi?id=205688
<rdar://problem/58279938>
Reviewed by Antti Koivisto.
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::constraintsForLine):
- 12:50 PM Changeset in webkit [253976] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening for iPad
- platform/ipad/TestExpectations:
Skip this layout test on iPad, where the zoom scale is not expected to change after focusing a text field.
- 11:31 AM Changeset in webkit [253975] by
-
- 31 edits in trunk
Simplify StringBuilder API/align with makeString by removing appendFixed* functions and using FormatNumber struct instead
https://bugs.webkit.org/show_bug.cgi?id=205671
Reviewed by Alex Christensen.
Source/JavaScriptCore:
- API/tests/ExecutionTimeLimitTest.cpp:
(testExecutionTimeLimit):
- runtime/Options.cpp:
(JSC::OptionReader::Option::dump const):
Replace all uses of builder.appendFixedPrecisionNumber(...) with builder.append(FormattedNumber::fixedPrecision(...)).
Source/WebCore:
- css/CSSFontVariationValue.cpp:
- css/CSSKeyframeRule.cpp:
- css/CSSTimingFunctionValue.cpp:
- css/parser/CSSParserToken.cpp:
- html/HTMLImageElement.cpp:
- page/scrolling/AxisScrollSnapOffsets.cpp:
- platform/graphics/Color.cpp:
- platform/graphics/ExtendedColor.cpp:
- platform/graphics/ca/win/PlatformCALayerWin.cpp:
- platform/graphics/freetype/FontCacheFreeType.cpp:
- svg/SVGNumberList.h:
- svg/SVGPathStringBuilder.cpp:
- svg/SVGPointList.h:
- svg/SVGTransformValue.h:
- svg/properties/SVGPropertyTraits.h:
- testing/Internals.cpp:
Replace all uses of builder.appendFixedPrecisionNumber(...) with builder.append(FormattedNumber::fixedPrecision(...))
and builder.appendFixedWidthNumber(...) with with builder.append(FormattedNumber::fixedWidth(...))
Source/WebKit:
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::dumpContentsToFile):
- NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::asJSON const):
- Shared/Gamepad/GamepadData.cpp:
(WebKit::GamepadData::loggingString const):
Replace all uses of builder.appendFixedPrecisionNumber(...) with builder.append(FormattedNumber::fixedPrecision(...)).
Source/WTF:
In an ongoing attempt to simplify the StringBuilder interface and unify it's functionality with makeString,
this change removes appendFixedPrecisionNumber() and appendFixedWidthNumber(), replacing their uses
with direct calls to append(), using a FormattedNumber object to direct it to the appropriate StringTypeAdapter.
- wtf/text/StringBuilder.h:
- wtf/text/StringBuilder.cpp:
(WTF::StringBuilder::appendFixedPrecisionNumber): Deleted.
(WTF::StringBuilder::appendFixedWidthNumber): Deleted.
Remove StringBuilder::appendFixedPrecisionNumber() and StringBuilder::appendFixedWidthNumber(). The same functionality
is available and more flexible by passing FormattedNumbers to the variadic append() function.
- wtf/text/TextStream.cpp:
(WTF::TextStream::operator<<):
- wtf/MediaTime.cpp:
(WTF::MediaTime::toString const):
Replace all uses of builder.appendFixedPrecisionNumber(...) with builder.append(FormattedNumber::fixedPrecision(...))
and builder.appendFixedWidthNumber(...) with with builder.append(FormattedNumber::fixedWidth(...))
Tools:
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
Replace all uses of builder.appendFixedPrecisionNumber(...) with builder.append(FormattedNumber::fixedPrecision(...)).
- 1:04 AM Changeset in webkit [253974] by
-
- 3 edits in trunk/Source/WebKit
[GTK] Make ondemand hardware acceleration policy never leave AC mode
https://bugs.webkit.org/show_bug.cgi?id=205558
Reviewed by Sergio Villar Senin.
We still enter AC mode on demand but we never leave it for the same drawing area. This avoids scrolling
performance problems with some websites that start small accelerated animation while scrolling (like WebKit
bugzilla review tool), due to constant enter/leave AC mode.
- UIProcess/API/glib/WebKitSettings.cpp:
(webkit_settings_class_init): Update API documentation.
- WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::enterAcceleratedCompositingMode): Force AC mode the first time we enter it.
- 12:08 AM Changeset in webkit [253973] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Remove the build warning below since r253939.
warning: no return statement in function returning non-void [-Wreturn-type]
No new tests, no behavioral changes.
Patch by Joonghun Park <jh718.park@samsung.com> on 2020-01-01
- platform/graphics/texmap/GraphicsContext3DTextureMapper.cpp:
(WebCore::GraphicsContext3D::mapBufferRange):
Jan 1, 2020:
- 3:53 PM Changeset in webkit [253972] by
-
- 5 edits in trunk/Source/WebCore
[LFC][Integration] Provide the viewport size when faking ICB
https://bugs.webkit.org/show_bug.cgi?id=205676
<rdar://problem/58263799>
Reviewed by Antti Koivisto.
Normally we would get the viewport size by checking the ICB, but in integration mode
the ICB is not sized to the size of the RenderView.
- layout/LayoutState.cpp:
(WebCore::Layout::LayoutState::setViewportSize):
(WebCore::Layout::LayoutState::viewportSize const):
- layout/LayoutState.h:
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::prepareRootGeometryForLayout):
- 1:22 PM Changeset in webkit [253971] by
-
- 7 edits in trunk/Source/WebCore
Make SelectorCompiler interface use CompiledSelector type
https://bugs.webkit.org/show_bug.cgi?id=205673
Reviewed by Sam Weinig.
SelectorCompiler interface is currently rather low-level, taking void* code references.
Expand use of CompiledSelector type to simplify clients.
- cssjit/CompiledSelector.h:
(WebCore::CompiledSelector::wasUsed):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::compileSelector):
Generate code directory to a CompiledSelector.
- cssjit/SelectorCompiler.h:
(WebCore::SelectorCompiler::ruleCollectorSimpleSelectorCheckerFunction):
(WebCore::SelectorCompiler::querySelectorSimpleSelectorCheckerFunction):
(WebCore::SelectorCompiler::ruleCollectorSelectorCheckerFunctionWithCheckingContext):
(WebCore::SelectorCompiler::querySelectorSelectorCheckerFunctionWithCheckingContext):
Take CompiledSelector.
- dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::SelectorDataList):
(WebCore::SelectorDataList::executeCompiledSimpleSelectorChecker const):
(WebCore::SelectorDataList::executeCompiledSelectorCheckerWithCheckingContext const):
(WebCore::SelectorDataList::executeCompiledSingleMultiSelectorData const):
(WebCore::SelectorDataList::compileSelector):
(WebCore::SelectorDataList::execute const):
(WebCore::isCompiledSelector): Deleted.
- dom/SelectorQuery.h:
(WebCore::SelectorDataList::SelectorData::SelectorData): Deleted.
(WebCore::SelectorDataList::SelectorData::~SelectorData): Deleted.
(WebCore::SelectorDataList::SelectorData::compiledSelectorUsed const): Deleted.
Replace SelectorData fields with a CompiledSelector member.
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::ruleMatches):
- 1:15 PM Changeset in webkit [253970] by
-
- 8 edits in trunk/Source/WebCore
[LFC][IFC] Add support for ink overflow
https://bugs.webkit.org/show_bug.cgi?id=205674
<rdar://problem/58262376>
Reviewed by Antti Koivisto.
Add ink overflow information to Display::Run and to each Display::LineBox while
the display boxes are being created.
(Eventually we should add both scrollable and ink overflow to Display::Box)
- layout/displaytree/DisplayInlineRect.h:
(WebCore::Display::InlineRect::expandToContain):
(WebCore::Display::InlineRect::inflate):
- layout/displaytree/DisplayLineBox.h:
(WebCore::Display::LineBox::scrollableOverflow const):
(WebCore::Display::LineBox::inkOverflow const):
(WebCore::Display::LineBox::setScrollableOverflow):
(WebCore::Display::LineBox::setInkOverflow):
(WebCore::Display::LineBox::scrollableOverflowRect const): Deleted.
(WebCore::Display::LineBox::setScrollableOverflowRect): Deleted.
- layout/displaytree/DisplayRun.h:
(WebCore::Display::Run::inkOverflow const):
(WebCore::Display::Run::Run):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::alignContentVertically):
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::collectOverflow):
(WebCore::LayoutIntegration::LineLayout::paint):
(WebCore::LayoutIntegration::computeVisualOverflow): Deleted.
- platform/graphics/LayoutSize.h:
(WebCore::ceiledIntSize):
- 10:29 AM Changeset in webkit [253969] by
-
- 7 edits in trunk/Source/JavaScriptCore
Declare some classes as final.
https://bugs.webkit.org/show_bug.cgi?id=205670
Reviewed by Sam Weinig.
There are a few "Status" classes, all of whom have static computeFor() methods.
All of these classes do not have derived classes, and are independent of each
others in terms of inheritance relationships. By explicitly declaring them as
final, we can make it clear that a call to any unqualified computeFor() methods
within one of these classes must be from the self class, and that external calls
to any given computeFor() method qualified with a class name is defined in that
class (and is not inherited from another class).
This detail may already be known to folks who are familiar with these classes.
Declaring them as final helps surface this independence for readers of the code
who is not already in the know.
- bytecode/CallLinkStatus.h:
- bytecode/ComplexGetStatus.h:
- bytecode/GetByStatus.h:
- bytecode/InByIdStatus.h:
- bytecode/InstanceOfStatus.h:
- bytecode/PutByIdStatus.h:
- 9:58 AM Changeset in webkit [253968] by
-
- 19 edits in trunk
Update user-visible copyright strings to include 2020
https://bugs.webkit.org/show_bug.cgi?id=205552
Reviewed by Darin Adler.
.:
- Source/cmake/tools/scripts/COPYRIGHT-END-YEAR:
Source/JavaScriptCore:
- Info.plist:
Source/WebCore:
- Info.plist:
Source/WebKit:
- GPUProcess/EntryPoint/Cocoa/XPCService/GPUService/Info-OSX.plist:
- GPUProcess/EntryPoint/Cocoa/XPCService/GPUService/Info-iOS.plist:
- Info.plist:
- NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkService/Info-OSX.plist:
- NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkService/Info-iOS.plist:
- PluginProcess/EntryPoint/Cocoa/XPCService/PluginService.64.Info.plist:
- WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-OSX.plist:
- WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-iOS.plist:
Source/WebKitLegacy/mac:
- Info.plist:
WebKitLibraries:
- win/tools/scripts/COPYRIGHT-END-YEAR:
- 5:05 AM Changeset in webkit [253967] by
-
- 3 edits in trunk/Source/WebCore
ServiceWorkerJobData should have a move constructor
https://bugs.webkit.org/show_bug.cgi?id=205555
<rdar://problem/57853373>
Reviewed by Darin Adler.
Previously, ServiceWorkerJobData did not have a move constructor.
Refactor code to enable it.
This improves efficiency and ensures that strings and other ref counted fields are
properly moved and isolated.
Covered by existing tests.
- workers/service/ServiceWorkerJobData.cpp:
(WebCore::ServiceWorkerJobData::isolatedCopy const):
- workers/service/ServiceWorkerJobData.h:
(WebCore::ServiceWorkerJobData::decode):
- 4:55 AM Changeset in webkit [253966] by
-
- 27 edits1 copy1 add in trunk
Implement transceiver setCodecPreferences
https://bugs.webkit.org/show_bug.cgi?id=190840
<rdar://problem/45496326>
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/webrtc/RTCRtpTransceiver-setCodecPreferences-expected.txt:
Source/ThirdParty/libwebrtc:
- Configurations/libwebrtc.iOS.exp:
- Configurations/libwebrtc.iOSsim.exp:
- Configurations/libwebrtc.mac.exp:
Source/WebCore:
Add binding code to pipe setCodecPreferences up to webrtc backend,
Covered by updated and rebased tests.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/mediastream/RTCRtpCapabilities.idl:
- Modules/mediastream/RTCRtpCodecCapability.idl: Added.
- Modules/mediastream/RTCRtpTransceiver.cpp:
(WebCore::RTCRtpTransceiver::setCodecPreferences):
- Modules/mediastream/RTCRtpTransceiver.h:
- Modules/mediastream/RTCRtpTransceiver.idl:
- Modules/mediastream/RTCRtpTransceiverBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCObservers.h:
(WebCore::toExceptionCode): Deleted.
- Modules/mediastream/libwebrtc/LibWebRTCRtpTransceiverBackend.cpp:
(WebCore::toRtpCodecCapability):
(WebCore::LibWebRTCRtpTransceiverBackend::setCodecPreferences):
- Modules/mediastream/libwebrtc/LibWebRTCRtpTransceiverBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:
(WebCore::toExceptionCode):
(WebCore::toException):
- Modules/mediastream/libwebrtc/LibWebRTCUtils.h:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/mediastream/RTCRtpCapabilities.h:
(): Deleted.
- platform/mediastream/RTCRtpCodecCapability.h: Added.
- platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::toRTCRtpCapabilities):
LayoutTests:
- webrtc/video-mute-vp8.html:
- 3:25 AM Changeset in webkit [253965] by
-
- 7 edits in trunk/Source/WebCore
Make better use of HTTPHeaderValues constants
https://bugs.webkit.org/show_bug.cgi?id=205672
Patch by Rob Buis <rbuis@igalia.com> on 2020-01-01
Reviewed by Youenn Fablet.
Use HTTPHeaderValues constants instead of allocating
temporary strings.
- Modules/websockets/ThreadableWebSocketChannel.cpp:
(WebCore::ThreadableWebSocketChannel::webSocketConnectRequest):
- Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::clientHandshakeRequest const):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::addExtraFieldsToRequest):
- loader/PingLoader.cpp:
(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::createRequest):
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::load):