Timeline
May 29, 2022:
- 12:56 PM Changeset in webkit [295019] by
-
- 1 edit in trunk/LayoutTests/fast/dom/HTMLMeterElement/meter-element-markup-expected.txt
[Gardening] Rebaseline fast/dom/HTMLMeterElement/meter-element-markup.html after 9a73643
https://bugs.webkit.org/show_bug.cgi?id=240930
Unreviewed test gardening.
Just reflects the new unprefixed style.
- LayoutTests/fast/dom/HTMLMeterElement/meter-element-markup-expected.txt:
Canonical link: https://commits.webkit.org/251114@main
- 10:10 AM Changeset in webkit [295018] by
-
- 2 edits in trunk/Source/WebCore/layout/formattingContexts/inline
LineBuilder::initialConstraintsForLine needs to know whether there is previous line and if it ended with line break
https://bugs.webkit.org/show_bug.cgi?id=241062
Reviewed by Antti Koivisto.
No need to pass in the PreviousLine struct.
- Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::layoutInlineContent):
(WebCore::Layout::LineBuilder::computedIntrinsicWidth):
(WebCore::Layout::LineBuilder::initialConstraintsForLine const):
- Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h:
Canonical link: https://commits.webkit.org/251112@main
- 10:09 AM Changeset in webkit [295017] by
-
- 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex
Add basic support for justify-content
https://bugs.webkit.org/show_bug.cgi?id=241073
Reviewed by Antti Koivisto.
"justify-content" property defines how space is distributed between and around flex items along the main-axis.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::justiftFlexItems):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
Canonical link: https://commits.webkit.org/251112@main
- 8:34 AM Changeset in webkit [295016] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Add support for align-self
https://bugs.webkit.org/show_bug.cgi?id=241071
Reviewed by Antti Koivisto.
Align-items behavior can be overwritten for individual flex items by applying the align-self property to them.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::alignFlexItems):
Canonical link: https://commits.webkit.org/251111@main
- 7:03 AM Changeset in webkit [295015] by
-
- 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex
Compute available space when ConstraintsForFlexContent does not provide one
https://bugs.webkit.org/show_bug.cgi?id=241070
Reviewed by Antti Koivisto.
e.g. if the flex box does not have fixed height in the cross axis direction, all flex items become as tall as the tallest flex item.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computeAvailableLogicalVerticalSpace const):
(WebCore::Layout::FlexFormattingContext::computeAvailableLogicalHorizontalSpace const):
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForFlexItems):
(WebCore::Layout::FlexFormattingContext::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexFormattingContext::alignFlexItems):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
(WebCore::Layout::availableLogicalVerticalSpace): Deleted.
(WebCore::Layout::availableLogicalHorizontalSpace): Deleted.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
Canonical link: https://commits.webkit.org/251110@main
- 6:44 AM Changeset in webkit [295014] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Add support for flex-start/flex-end/start/end alignment
https://bugs.webkit.org/show_bug.cgi?id=241067
Reviewed by Antti Koivisto.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexFormattingContext::alignFlexItems):
Canonical link: https://commits.webkit.org/251109@main
- 6:22 AM Changeset in webkit [295013] by
-
- 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex
Introduce FlexFormattingContext::alignFlexItems
https://bugs.webkit.org/show_bug.cgi?id=241064
Reviewed by Antti Koivisto.
This is cross axis alignment (add support for 'center' to showcase).
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexFormattingContext::alignFlexItems):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
Canonical link: https://commits.webkit.org/251108@main
- 1:24 AM Changeset in webkit [295012] by
-
- 1 edit in trunk/Source/WTF/wtf/CompactPtr.h
REGRESSION(251103@main): Broke GTK/WPE
https://bugs.webkit.org/show_bug.cgi?id=241076
Patch by Philippe Normand <philn@igalia.com> on 2022-05-29
Unreviewed. Fix GTK/WPE build.
- Source/WTF/wtf/CompactPtr.h:
(WTF::CompactPtr::swap):
Canonical link: https://commits.webkit.org/251107@main
- 1:14 AM Changeset in webkit [295011] by
-
- 10 edits1 add in trunk
[JSC] Async / Await should not wrap awaited value with one tick
https://bugs.webkit.org/show_bug.cgi?id=241072
Reviewed by Saam Barati.
This patch integrates spec change[1], which removes one level tick count when resolving promise with await.
Previously, regardless of whether the value is promise or not, we are always using resolveWithoutPromise,
but it introduces one tick before the handlers are resolved. The spec change makes it that we can call
performPromiseThen directly if the input value is promise, so we can skip one tick which looks up "then"
and register handlers.
This is beneficial for await performance and it also fixes a bug tested via test262 and attached test due
to the spec change.
We observed performance improvement in async + native promise tests.
ToT
Time(doxbee-async-es2017-native): 35.6 ms.
Time(fibonacci-async-es2017-native): 292.3 ms.
Time(parallel-async-es2017-native): 117.3 ms.
Patched
Time(doxbee-async-es2017-native): 24.2 ms.
Time(fibonacci-async-es2017-native): 198.1 ms.
Time(parallel-async-es2017-native): 109.5 ms.
[1]: https://github.com/tc39/ecma262/pull/1250
- JSTests/stress/async-await-basic.js:
- JSTests/stress/async-await-tick-count.js: Added.
(shouldBe):
(async returnDirectPrimitive):
(async returnAwaitPrimitive):
(async returnDirectPromisePrimitive):
(async returnAwaitPromisePrimitive):
(async test):
(async tests):
(globalThis.setUnhandledRejectionCallback.setUnhandledRejectionCallback):
- JSTests/test262/expectations.yaml:
- LayoutTests/inspector/canvas/recording-bitmaprenderer-frameCount-expected.txt:
- LayoutTests/inspector/canvas/recording-bitmaprenderer-full-expected.txt:
- LayoutTests/inspector/canvas/recording-bitmaprenderer-memoryLimit-expected.txt:
- LayoutTests/inspector/console/message-stack-trace-expected.txt:
- Source/JavaScriptCore/builtins/AsyncFromSyncIteratorPrototype.js:
- Source/JavaScriptCore/builtins/AsyncFunctionPrototype.js:
(globalPrivate.asyncFunctionResume):
- Source/JavaScriptCore/builtins/AsyncGeneratorPrototype.js:
(globalPrivate.awaitValue):
(globalPrivate.asyncGeneratorResumeNext):
- Source/JavaScriptCore/builtins/PromiseOperations.js:
(globalPrivate.newPromiseCapabilitySlow):
(globalPrivate.promiseResolve):
(globalPrivate.promiseResolveSlow):
(globalPrivate.promiseRejectSlow):
(globalPrivate.resolvePromiseWithFirstResolvingFunctionCallCheck):
(globalPrivate.fulfillPromiseWithFirstResolvingFunctionCallCheck):
(globalPrivate.rejectPromiseWithFirstResolvingFunctionCallCheck):
(globalPrivate.resolveWithoutPromiseForAsyncAwait):
Canonical link: https://commits.webkit.org/251106@main
- 12:57 AM Changeset in webkit [295010] by
-
- 35 edits in trunk
Replace CSS3_TEXT build flag with Experimental feature settings
https://bugs.webkit.org/show_bug.cgi?id=121875
Patch by Kiet Ho <Kiet Ho> on 2022-05-29
Reviewed by Tim Nguyen and Myles C. Maxfield.
Currently, -webkit-text-align-last and -webkit-text-justify are gated behind
the ENABLE(CSS3_TEXT) build flag. EWS bots doesn't enable it, hence the properties
aren't tested even though tests are available for them. This patch replaces the build
flag with two experimental settings, which is on during layout tests, allowing the
properties to be tested.
- LayoutTests/TestExpectations:
- LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- LayoutTests/platform/win/TestExpectations:
- LayoutTests/platform/wincairo/TestExpectations:
- LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:
- Source/WTF/wtf/PlatformEnable.h:
- Source/WebCore/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
Temporarily mark -webkit-text-align-last and -webkit-text-justify as not animatable
to avoid the assert. CSS animations for those properties will be implemented in
webkit.org/b/240591.
- Source/WebCore/css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- Source/WebCore/css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator TextJustify const):
- Source/WebCore/css/CSSProperties.json:
- Source/WebCore/css/StyleProperties.cpp:
- Source/WebCore/css/parser/CSSParserContext.cpp:
(WebCore::operator==):
(WebCore::add):
(WebCore::CSSParserContext::isPropertyRuntimeDisabled const):
- Source/WebCore/css/parser/CSSParserContext.h:
- Source/WebCore/css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
- Source/WebCore/rendering/LegacyLineLayout.cpp:
(WebCore::LegacyLineLayout::textAlignmentForLine const):
- Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::rareInheritedDataChangeRequiresLayout):
- Source/WebCore/rendering/style/RenderStyle.h:
(WebCore::RenderStyle::textIndentType const):
(WebCore::RenderStyle::textJustify const):
(WebCore::RenderStyle::setTextIndentType):
(WebCore::RenderStyle::setTextJustify):
(WebCore::RenderStyle::initialTextIndentType):
(WebCore::RenderStyle::initialTextJustify):
- Source/WebCore/rendering/style/RenderStyleConstants.h:
- Source/WebCore/rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):
- Source/WebCore/rendering/style/StyleRareInheritedData.h:
- Source/WebKitLegacy/win/WebPreferences.cpp:
(WebPreferences::cssTextAlignLastEnabled):
(WebPreferences::cssTextJustifyEnabled):
- Source/WebKitLegacy/win/WebPreferences.h:
- Source/WebKitLegacy/win/WebView.cpp:
(WebView::notifyPreferencesChanged):
- Source/cmake/OptionsWin.cmake:
- Source/cmake/WebKitFeatures.cmake:
- Source/cmake/tools/vsprops/FeatureDefines.props:
- Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
- Tools/DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
- Tools/Scripts/webkitperl/FeatureList.pm:
Canonical link: https://commits.webkit.org/251105@main
May 28, 2022:
- 10:09 PM Changeset in webkit [295009] by
-
- 2 edits in trunk/Source/WebCore/html/parser
Optimize href attribute lookup in TokenPreloadScanner::updatePredictedBaseURL()
https://bugs.webkit.org/show_bug.cgi?id=241051
Reviewed by Darin Adler.
Optimize href attribute lookup in TokenPreloadScanner::updatePredictedBaseURL() by avoiding
is8Bit() checks for every character of the parameter. Instead, make sure both the parameter
is aconst UChar*for fast comparison with attributes, which are stored as Vector<UChar>.
- Source/WebCore/html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::updatePredictedBaseURL):
- Source/WebCore/html/parser/HTMLToken.h:
(WebCore::findAttribute):
(WebCore::nameMatches): Deleted.
Canonical link: https://commits.webkit.org/251104@main
- 8:23 PM Changeset in webkit [295008] by
-
- 29 edits2 copies1 move3 adds in trunk
Shrink Structure to 96 Bytes when addresses can be encoded in 36-bits
https://bugs.webkit.org/show_bug.cgi?id=240407
Reviewed by Yusuke Suzuki.
We have 2% RAMification regression on iOS, which needs a memory performance
improvement. To work towards resolving this regression, this patch is to
reduce JS object's structure size from 112 bytes to 96 bytes for iOS systems.
- We can reduce 36-bit addresses into 4 bytes when dealing with pointers that
have 16-byte alignment.
- StructureID can be removed from StructureIDBlob since we can directly compute
the id by encoding the Structure pointer.
CompactPtr and CompactRefPtr classes are introduced for pointers, which can
achieve 8 bytes in MacOS and 4 bytes in iOS.
- PerformanceTests/JetStream2/RexBench/OfflineAssembler/LowLevelInterpreter64.asm:
- PerformanceTests/JetStream2/RexBench/OfflineAssembler/LowLevelInterpreter64.js:
- PerformanceTests/JetStream2/RexBench/OfflineAssembler/expected.js:
- PerformanceTests/RexBench/OfflineAssembler/LowLevelInterpreter64.asm:
- PerformanceTests/RexBench/OfflineAssembler/LowLevelInterpreter64.js:
- PerformanceTests/RexBench/OfflineAssembler/expected.js:
- Source/JavaScriptCore/CMakeLists.txt:
- Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
- Source/JavaScriptCore/bytecode/GetByValHistory.h:
(JSC::GetByValHistory::observe):
- Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
- Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.cpp:
(JSC::FTL::AbstractHeapRepository::AbstractHeapRepository):
- Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h:
- Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- Source/JavaScriptCore/heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::genericAddPointer):
(JSC::ConservativeRoots::genericAddSpan):
- Source/JavaScriptCore/heap/ConservativeRoots.h:
- Source/JavaScriptCore/heap/HeapSnapshot.h:
- Source/JavaScriptCore/heap/HeapUtil.h:
(JSC::HeapUtil::findGCObjectPointersForMarking):
(JSC::HeapUtil::isPointerGCObjectJSCell):
(JSC::HeapUtil::isValueGCObject):
- Source/JavaScriptCore/heap/MarkedBlockSet.h:
(JSC::MarkedBlockSet::add):
(JSC::MarkedBlockSet::recomputeFilter):
(JSC::MarkedBlockSet::filter const):
- Source/JavaScriptCore/heap/TinyBloomFilter.h:
(JSC::TinyBloomFilter<Bits>::TinyBloomFilter):
(JSC::TinyBloomFilter<Bits>::add):
(JSC::TinyBloomFilter<Bits>::ruleOut const):
(JSC::TinyBloomFilter<Bits>::reset):
(JSC::TinyBloomFilter::TinyBloomFilter): Deleted.
(JSC::TinyBloomFilter::add): Deleted.
(JSC::TinyBloomFilter::ruleOut const): Deleted.
(JSC::TinyBloomFilter::reset): Deleted.
- Source/JavaScriptCore/jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo):
(JSC::AssemblyHelpers::emitEncodeStructure):
- Source/JavaScriptCore/jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo):
(JSC::AssemblyHelpers::loadCompactPtr):
(JSC::AssemblyHelpers::branchCompactPtr):
- Source/JavaScriptCore/jit/JITPropertyAccess.cpp:
(JSC::JIT::generateOpGetFromScopeThunk):
(JSC::JIT::emit_op_put_to_scope):
- Source/JavaScriptCore/runtime/ClassInfo.h:
(JSC::ClassInfo::offsetOfParentClass): Deleted.
(JSC::ClassInfo::isSubClassOf const): Deleted.
- Source/JavaScriptCore/runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::processUnverifiedStackTraces):
- Source/JavaScriptCore/runtime/Structure.cpp:
(JSC::Structure::Structure):
- Source/JavaScriptCore/runtime/Structure.h:
(JSC::Structure::id const):
(JSC::Structure::typeInfoBlob const):
(JSC::Structure::classInfoForCells const):
(JSC::Structure::indexingModeIncludingHistoryOffset):
(JSC::Structure::objectInitializationBlob const): Deleted.
(JSC::Structure::idBlob const): Deleted.
(JSC::Structure::structureIDOffset): Deleted.
- Source/JavaScriptCore/runtime/StructureInlines.h:
(JSC::Structure::get):
(JSC::Structure::add):
- Source/JavaScriptCore/runtime/TypeInfoBlob.h: Renamed from Source/JavaScriptCore/runtime/StructureIDBlob.h.
(JSC::TypeInfoBlob::TypeInfoBlob):
(JSC::TypeInfoBlob::operator=):
(JSC::TypeInfoBlob::indexingModeIncludingHistory const):
(JSC::TypeInfoBlob::fencedIndexingModeIncludingHistory):
(JSC::TypeInfoBlob::setIndexingModeIncludingHistory):
(JSC::TypeInfoBlob::type const):
(JSC::TypeInfoBlob::inlineTypeFlags const):
(JSC::TypeInfoBlob::typeInfo const):
(JSC::TypeInfoBlob::blob const):
(JSC::TypeInfoBlob::indexingModeIncludingHistoryOffset):
- Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp:
(JSC::WebAssemblyFunction::jsCallEntrypointSlow):
- Source/WTF/WTF.xcodeproj/project.pbxproj:
- Source/WTF/wtf/CMakeLists.txt:
- Source/WTF/wtf/CompactPtr.h: Added.
(WTF::CompactPtr::CompactPtr):
(WTF::CompactPtr::operator* const):
(WTF::CompactPtr::operator-> const):
(WTF::CompactPtr::operator! const):
(WTF::CompactPtr::operator bool const):
(WTF::CompactPtr::operator=):
(WTF::CompactPtr::get const):
(WTF::CompactPtr::set):
(WTF::CompactPtr::exchange):
(WTF::CompactPtr::swap):
(WTF::CompactPtr::encode):
(WTF::CompactPtr::encode const):
(WTF::CompactPtr::decode const):
(WTF::GetPtrHelper<CompactPtr<T>>::getPtr):
(WTF::CompactPtrTraits::exchange):
(WTF::CompactPtrTraits::swap):
(WTF::CompactPtrTraits::unwrap):
(WTF::CompactPtrTraits::hashTableDeletedValue):
(WTF::CompactPtrTraits::isHashTableDeletedValue):
- Source/WTF/wtf/CompactRefPtr.h: Copied from Source/JavaScriptCore/heap/HeapSnapshot.h.
- Source/WTF/wtf/text/StringImpl.cpp:
- Source/WTF/wtf/text/StringImpl.h:
- Tools/TestWebKitAPI/CMakeLists.txt:
- Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Tools/TestWebKitAPI/Tests/WTF/AlignedRefLogger.h: Copied from Source/JavaScriptCore/heap/TinyBloomFilter.h.
(TestWebKitAPI::DerivedAlignedRefLogger::DerivedAlignedRefLogger):
- Tools/TestWebKitAPI/Tests/WTF/CompactPtr.cpp: Added.
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WTF/CompactRefPtr.cpp: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::f1):
(TestWebKitAPI::returnConstRefCountedRef):
(TestWebKitAPI::returnRefCountedRef):
(TestWebKitAPI::CompactRefPtrCheckingAlignedRefLogger::CompactRefPtrCheckingAlignedRefLogger):
(TestWebKitAPI::loggerName):
(TestWebKitAPI::CompactRefPtrCheckingAlignedRefLogger::ref):
(TestWebKitAPI::CompactRefPtrCheckingAlignedRefLogger::deref):
- Tools/TestWebKitAPI/Tests/WTF/JSONValue.cpp:
(TestWebKitAPI::TEST):
- Websites/browserbench.org/JetStream2.0/RexBench/OfflineAssembler/LowLevelInterpreter64.asm:
- Websites/browserbench.org/JetStream2.0/RexBench/OfflineAssembler/LowLevelInterpreter64.js:
- Websites/browserbench.org/JetStream2.0/RexBench/OfflineAssembler/expected.js:
Canonical link: https://commits.webkit.org/251103@main
- 7:03 PM Changeset in webkit [295007] by
-
- 1 edit in trunk/Source/WTF/wtf/text/StringBuilderJSON.cpp
Simplify / Optimize StringBuilder::appendQuotedJSONString()
https://bugs.webkit.org/show_bug.cgi?id=240955
Reviewed by Darin Adler.
This simplifies the code, makes it more consistent with the test of StringBuilder,
and appears to be a ~0.3% progression on Speedometer on Apple Silicon.
- Source/WTF/wtf/text/StringBuilderJSON.cpp:
(WTF::StringBuilder::appendQuotedJSONString):
Canonical link: https://commits.webkit.org/251102@main
- 5:11 PM Changeset in webkit [295006] by
-
- 1 edit in trunk/LayoutTests/editing/execCommand/outdent-paragraph-crash.html
Null check split node parent in outdentParagraph
https://bugs.webkit.org/show_bug.cgi?id=235914
Patch by Rob Buis <rbuis@igalia.com> on 2022-05-28
Reviewed by Ryosuke Niwa.
Changed test to use setTimeout as it more reliably causes the original crash.
- LayoutTests/editing/execCommand/outdent-paragraph-crash.html:
Canonical link: https://commits.webkit.org/251101@main
- 4:33 PM Changeset in webkit [295005] by
-
- 1 copy in tags/WebKit-7614.1.14.1.15
Tag WebKit-7614.1.14.1.15.
- 3:58 PM Changeset in webkit [295004] by
-
- 9 edits in branches/safari-7614.1.14.1-branch/Source
Versioning.
WebKit-7614.1.14.1.15
- 11:00 AM Changeset in webkit [295003] by
-
- 1 edit in branches/safari-613-branch/Source/WebCore/rendering/RenderElement.h
Unreviewed build fix. rdar://problem/91519558
./rendering/RenderElement.cpp:723:21:|error: out-of-line definition of 'moveLayers' does not match any declaration in 'WebCore::RenderElement'
- 10:44 AM Changeset in webkit [295002] by
-
- 6 edits1 delete in trunk/Source
Unreviewed, revert "[Xcode] Compute PGO profdata paths instead of searching for them at build time"
This reverts commit 6dfb5dc2b3bcd083231cee3cacc599ca7f76998b because of Speedometer2 3% regression.
Probably breaking PGO build.
Canonical link: https://commits.webkit.org/251100@main
- 9:31 AM Changeset in webkit [295001] by
-
- 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex
Introduce FlexFormattingContext::computeLogicalHeightForFlexItems
https://bugs.webkit.org/show_bug.cgi?id=241056
Reviewed by Antti Koivisto.
This is just a very basic "let's stretch the flex items in the cross axis direction" change.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::availableLogicalVerticalSpace):
(WebCore::Layout::availableLogicalHorizontalSpace):
(WebCore::Layout::FlexFormattingContext::setFlexItemsGeometry):
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForFlexItems):
(WebCore::Layout::FlexFormattingContext::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
Canonical link: https://commits.webkit.org/251099@main
- 9:18 AM Changeset in webkit [295000] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Transition flex-grow computation to flex-basis based
https://bugs.webkit.org/show_bug.cgi?id=241057
Reviewed by Antti Koivisto.
- Introduce StrechingFlexItem to cache growth related values
- Use flex-basis as the base for the flex grow computation
- Compute the final logical width values
(This is very similar to how we compute "shrink values".)
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems):
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForStretchingFlexItems):
Canonical link: https://commits.webkit.org/251098@main
- 6:26 AM Changeset in webkit [294999] by
-
- 40 edits in trunk/Source
Perform media networking operations off the main thread
https://bugs.webkit.org/show_bug.cgi?id=235353
rdar://84517825
Reviewed by Eric Carlson.
We run the media's networking operation and IPC service into a new dedicated WorkQueue.
Not all operation on a MediaResource can be made thread-agnostic, and the creation and shutdown of the MediaResource must still occur on the main thread due to the current architecture which forces more task dispatches than ideal.
However, all other operations will now run on a WorkQueue when the GPU Process is enabled. For WK1 we continue to use the main thread.
We use the IPC::Connection::WorkQueueMessageReceiver characteristics to proxy the network operations from the content process main thread to the GPU Process MediaResourceLoader's WorkQueue.
Some changes were required in data structures such as ResourceResponseBase, where we must use Strings over AtomStrings. A WorkQueue while guaranteeing that all tasks runs sequentially, will use different threads making the use of AtomStrings impossible.
RemoteMediaResourceManager now holds a strong reference to the RemoteMediaResource, to clear that reference and to make the call more explicit we rename PlatformMediaResource::stop into PlatformMediaResource::shutdown()
A call to shutdown() is equivalent to the previous call to stop() followed by setClient(nullptr).
Side-by fixes: various thread-safety fixes in WebCoreNSURLSession, access to some members weren't thread-safe.
To make the code flow easier to follow, we use the new assertIsCurrent(WorkQueue&) extensively. Most methods will now assert that it runs on the thread it's supposed to.
- Source/WebCore/Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::create):
- Source/WebCore/Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::readServerHandshake):
(WebCore::WebSocketHandshake::readStatusLine):
- Source/WebCore/Modules/websockets/WebSocketHandshake.h:
- Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::interceptWithResponse):
(WebCore::InspectorNetworkAgent::interceptRequestWithResponse):
- Source/WebCore/loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::setResponseMIMEType):
- Source/WebCore/loader/DocumentLoader.h:
- Source/WebCore/loader/MediaResourceLoader.cpp:
(WebCore::MediaResource::MediaResource):
(WebCore::MediaResource::~MediaResource):
(WebCore::MediaResource::shutdown):
(WebCore::MediaResource::responseReceived):
(WebCore::MediaResource::shouldCacheResponse):
(WebCore::MediaResource::redirectReceived):
(WebCore::MediaResource::dataSent):
(WebCore::MediaResource::dataReceived):
(WebCore::MediaResource::notifyFinished):
(WebCore::MediaResource::ensureShutdown):
(WebCore::MediaResource::stop): Deleted.
- Source/WebCore/loader/MediaResourceLoader.h:
- Source/WebCore/loader/cache/CachedRawResourceClient.h:
- Source/WebCore/platform/graphics/PlatformMediaResourceLoader.h:
(WebCore::PlatformMediaResourceLoader::targetQueue):
(WebCore::PlatformMediaResource::shutdown):
(WebCore::PlatformMediaResource::didPassAccessControlCheck const):
(WebCore::PlatformMediaResource::setClient):
(WebCore::PlatformMediaResource::client const):
(WebCore::PlatformMediaResource::stop): Deleted.
(WebCore::PlatformMediaResource::client): Deleted.
- Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::clearMediaCache):
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
(WebCore::MediaPlayerPrivateAVFoundationObjC::didCancelLoadingRequest):
(WebCore::MediaPlayerPrivateAVFoundationObjC::didStopLoadingRequest):
(WebCore::MediaPlayerPrivateAVFoundationObjC::didPassCORSAccessCheck const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::wouldTaintOrigin const):
- Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
- Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::CachedResourceMediaLoader::responseReceived):
(WebCore::PlatformResourceMediaLoader::create):
(WebCore::PlatformResourceMediaLoader::PlatformResourceMediaLoader):
(WebCore::PlatformResourceMediaLoader::stop):
(WebCore::PlatformResourceMediaLoader::responseReceived):
(WebCore::PlatformResourceMediaLoader::loadFailed):
(WebCore::PlatformResourceMediaLoader::loadFinished):
(WebCore::PlatformResourceMediaLoader::dataReceived):
(WebCore::DataURLResourceMediaLoader::DataURLResourceMediaLoader):
(WebCore::WebCoreAVFResourceLoader::create):
(WebCore::WebCoreAVFResourceLoader::WebCoreAVFResourceLoader):
(WebCore::WebCoreAVFResourceLoader::~WebCoreAVFResourceLoader):
(WebCore::WebCoreAVFResourceLoader::startLoading):
(WebCore::WebCoreAVFResourceLoader::stopLoading):
(WebCore::WebCoreAVFResourceLoader::responseReceived):
(WebCore::WebCoreAVFResourceLoader::loadFailed):
(WebCore::WebCoreAVFResourceLoader::loadFinished):
(WebCore::WebCoreAVFResourceLoader::newDataStoredInSharedBuffer):
(WebCore::WebCoreAVFResourceLoader::invalidate): Deleted.
- Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(stopLoaderIfNeeded):
(webKitWebSrcUnLock):
(webKitSrcWouldTaintOrigin):
- Source/WebCore/platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::crossThreadData const):
(WebCore::ResourceResponseBase::fromCrossThreadData):
(WebCore::ResourceResponseBase::mimeType const):
(WebCore::ResourceResponseBase::setMimeType):
(WebCore::ResourceResponseBase::textEncodingName const):
(WebCore::ResourceResponseBase::setTextEncodingName):
(WebCore::ResourceResponseBase::httpStatusText const):
(WebCore::ResourceResponseBase::setHTTPStatusText):
(WebCore::ResourceResponseBase::httpVersion const):
(WebCore::ResourceResponseBase::setHTTPVersion):
- Source/WebCore/platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::decode):
- Source/WebCore/platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::ResourceResponse::cfURLResponse const):
(WebCore::ResourceResponse::platformLazyInit):
- Source/WebCore/platform/network/cocoa/RangeResponseGenerator.h:
(WebCore::RangeResponseGenerator::create):
- Source/WebCore/platform/network/cocoa/RangeResponseGenerator.mm:
(WebCore::RangeResponseGenerator::Data::Data):
(WebCore::RangeResponseGenerator::Data::~Data):
(WebCore::RangeResponseGenerator::Data::shutdownResource):
(WebCore::RangeResponseGenerator::RangeResponseGenerator):
(WebCore::synthesizedResponseForRange):
(WebCore::RangeResponseGenerator::removeTask):
(WebCore::RangeResponseGenerator::giveResponseToTaskIfBytesInRangeReceived):
(WebCore::RangeResponseGenerator::expectedContentLengthFromData):
(WebCore::RangeResponseGenerator::giveResponseToTasksWithFinishedRanges):
(WebCore::RangeResponseGenerator::willHandleRequest):
(WebCore::RangeResponseGenerator::willSynthesizeRangeResponses):
(WebCore::RangeResponseGenerator::~RangeResponseGenerator): Deleted.
- Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.h:
- Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.mm:
(-[WebCoreNSURLSessionTaskTransactionMetrics _initWithMetrics:onTarget:]):
(-[WebCoreNSURLSessionTaskTransactionMetrics dealloc]):
(-[WebCoreNSURLSessionTaskMetrics _initWithMetrics:onTarget:]):
(-[WebCoreNSURLSessionTaskMetrics dealloc]):
(-[WebCoreNSURLSessionTaskMetrics transactionMetrics]):
(-[WebCoreNSURLSession initWithResourceLoader:delegate:delegateQueue:]):
(-[WebCoreNSURLSession dealloc]):
(-[WebCoreNSURLSession taskCompleted:]):
(-[WebCoreNSURLSession addDelegateOperation:]):
(-[WebCoreNSURLSession task:didReceiveCORSAccessCheckResult:]):
(-[WebCoreNSURLSession task:didReceiveResponseFromOrigin:]):
(-[WebCoreNSURLSession rangeResponseGenerator]):
(-[WebCoreNSURLSession didPassCORSAccessChecks]):
(-[WebCoreNSURLSession finishTasksAndInvalidate]):
(-[WebCoreNSURLSession dataTaskWithRequest:]):
(-[WebCoreNSURLSession sendH2Ping:pongHandler:]):
(WebCore::WebCoreNSURLSessionDataTaskClient::WebCoreNSURLSessionDataTaskClient):
(WebCore::WebCoreNSURLSessionDataTaskClient::clearTask):
(WebCore::WebCoreNSURLSessionDataTaskClient::dataSent):
(WebCore::WebCoreNSURLSessionDataTaskClient::responseReceived):
(WebCore::WebCoreNSURLSessionDataTaskClient::shouldCacheResponse):
(WebCore::WebCoreNSURLSessionDataTaskClient::dataReceived):
(WebCore::WebCoreNSURLSessionDataTaskClient::redirectReceived):
(WebCore::WebCoreNSURLSessionDataTaskClient::accessControlCheckFailed):
(WebCore::WebCoreNSURLSessionDataTaskClient::loadFailed):
(WebCore::WebCoreNSURLSessionDataTaskClient::loadFinished):
(-[WebCoreNSURLSessionDataTask initWithSession:identifier:request:targetQueue:]):
(-[WebCoreNSURLSessionDataTask _cancel:]):
(-[WebCoreNSURLSessionDataTask error]):
(-[WebCoreNSURLSessionDataTask session]):
(-[WebCoreNSURLSessionDataTask setSession:]):
(-[WebCoreNSURLSessionDataTask resource]):
(-[WebCoreNSURLSessionDataTask setResource:]):
(-[WebCoreNSURLSessionDataTask cancel]):
(-[WebCoreNSURLSessionDataTask suspend]):
(-[WebCoreNSURLSessionDataTask resume]):
(-[WebCoreNSURLSessionDataTask dealloc]):
(-[WebCoreNSURLSessionDataTask resource:sentBytes:totalBytesToBeSent:]):
(-[WebCoreNSURLSessionDataTask resource:receivedResponse:completionHandler:]):
(-[WebCoreNSURLSessionDataTask resource:shouldCacheResponse:]):
(-[WebCoreNSURLSessionDataTask resource:receivedData:]):
(-[WebCoreNSURLSessionDataTask resource:receivedRedirect:request:completionHandler:]):
(-[WebCoreNSURLSessionDataTask _resource:loadFinishedWithError:metrics:]):
(-[WebCoreNSURLSessionDataTask resource:accessControlCheckFailedWithError:]):
(-[WebCoreNSURLSessionDataTask resource:loadFailedWithError:]):
(-[WebCoreNSURLSessionDataTask resourceFinished:metrics:]):
(-[WebCoreNSURLSessionTaskTransactionMetrics _initWithMetrics:]): Deleted.
(-[WebCoreNSURLSessionTaskMetrics _initWithMetrics:]): Deleted.
(-[WebCoreNSURLSessionDataTask initWithSession:identifier:request:]): Deleted.
(-[WebCoreNSURLSessionDataTask _restart]): Deleted.
(-[WebCoreNSURLSessionDataTask _cancel]): Deleted.
- Source/WebCore/platform/network/curl/CurlCacheEntry.cpp:
(WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
- Source/WebCore/platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::handleDataURL):
- Source/WebCore/platform/network/curl/ResourceResponseCurl.cpp:
(WebCore::ResourceResponse::ResourceResponse):
(WebCore::ResourceResponse::setStatusLine):
- Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::ResourceResponse):
- Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::didClose):
(WebKit::GPUConnectionToWebProcess::remoteMediaResourceManager):
- Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::requestResource):
- Source/WebKit/GPUProcess/media/RemoteMediaResource.cpp:
(WebKit::RemoteMediaResource::RemoteMediaResource):
(WebKit::RemoteMediaResource::~RemoteMediaResource):
(WebKit::RemoteMediaResource::shutdown):
(WebKit::RemoteMediaResource::didPassAccessControlCheck const):
(WebKit::RemoteMediaResource::responseReceived):
(WebKit::RemoteMediaResource::redirectReceived):
(WebKit::RemoteMediaResource::dataSent):
(WebKit::RemoteMediaResource::dataReceived):
(WebKit::RemoteMediaResource::accessControlCheckFailed):
(WebKit::RemoteMediaResource::loadFailed):
(WebKit::RemoteMediaResource::loadFinished):
(WebKit::RemoteMediaResource::stop): Deleted.
- Source/WebKit/GPUProcess/media/RemoteMediaResource.h:
- Source/WebKit/GPUProcess/media/RemoteMediaResourceLoader.cpp:
(WebKit::RemoteMediaResourceLoader::RemoteMediaResourceLoader):
(WebKit::RemoteMediaResourceLoader::requestResource):
(WebKit::RemoteMediaResourceLoader::sendH2Ping):
- Source/WebKit/GPUProcess/media/RemoteMediaResourceLoader.h:
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.cpp:
(WebKit::RemoteMediaResourceManager::~RemoteMediaResourceManager):
(WebKit::RemoteMediaResourceManager::stopListeningForIPC):
(WebKit::RemoteMediaResourceManager::initializeConnection):
(WebKit::RemoteMediaResourceManager::addMediaResource):
(WebKit::RemoteMediaResourceManager::removeMediaResource):
(WebKit::RemoteMediaResourceManager::resourceForIdAndReady):
(WebKit::RemoteMediaResourceManager::responseReceived):
(WebKit::RemoteMediaResourceManager::redirectReceived):
(WebKit::RemoteMediaResourceManager::dataSent):
(WebKit::RemoteMediaResourceManager::dataReceived):
(WebKit::RemoteMediaResourceManager::accessControlCheckFailed):
(WebKit::RemoteMediaResourceManager::loadFailed):
(WebKit::RemoteMediaResourceManager::loadFinished):
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.h:
- Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didReceiveResponse):
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::processResponse):
- Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::didGetFileInfo):
- Source/WebKit/Shared/API/glib/WebKitURIResponse.cpp:
(webkit_uri_response_get_mime_type):
- Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestReadCallback):
- Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::~MediaPlayerPrivateRemote):
(WebKit::MediaPlayerPrivateRemote::removeResource):
- Source/WebKit/WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveData):
- Source/WebKit/WebProcess/Network/WebResourceLoader.h:
Canonical link: https://commits.webkit.org/251097@main
- 6:22 AM Changeset in webkit [294998] by
-
- 1 copy in releases/WPE WebKit/webkit-2.36.3
WPE WebKit 2.36.3
- 6:21 AM Changeset in webkit [294997] by
-
- 4 edits in releases/WebKitGTK/webkit-2.36
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.36.3 release
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for 2.36.3.
- 6:21 AM Changeset in webkit [294996] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Use flex-basis when shrinking flex items
https://bugs.webkit.org/show_bug.cgi?id=241046
Reviewed by Antti Koivisto.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems):
Canonical link: https://commits.webkit.org/251096@main
- 6:06 AM Changeset in webkit [294995] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Introduce the concept of frozen flex items
https://bugs.webkit.org/show_bug.cgi?id=241034
Reviewed by Antti Koivisto.
When a shrinking flex item gets too small, we exclude it from the shrinking algorithm and recompute the shrink factor. However the new shrink factor could make additional flex items too small.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems):
Canonical link: https://commits.webkit.org/251095@main
- 5:43 AM Changeset in webkit [294994] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Introduce ShrinkingFlexItem structure
https://bugs.webkit.org/show_bug.cgi?id=241033
Reviewed by Antti Koivisto.
This local structure caches some of the shrinking related values.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems):
Canonical link: https://commits.webkit.org/251094@main
- 3:43 AM Changeset in webkit [294993] by
-
- 5 edits in trunk/Source/WebCore/bindings/js
REGRESSION(251082@main): Broke WPE/GTK builds
https://bugs.webkit.org/show_bug.cgi?id=241060
Patch by Philippe Normand <philn@igalia.com> on 2022-05-28
Unreviewed, fix WPE/GTK builds by including new WebCoreOpaqueRoot header in custom JS bindings.
- Source/WebCore/bindings/js/JSDOMQuadCustom.cpp:
- Source/WebCore/bindings/js/JSNavigatorCustom.cpp:
- Source/WebCore/bindings/js/JSServiceWorkerGlobalScopeCustom.cpp:
- Source/WebCore/bindings/js/JSWorkerGlobalScopeCustom.cpp:
- Source/WebCore/bindings/js/JSWorkerNavigatorCustom.cpp:
Canonical link: https://commits.webkit.org/251093@main
- 2:11 AM Changeset in webkit [294992] by
-
- 1 copy in releases/WebKitGTK/webkit-2.36.3
WebKitGTK 2.36.3
- 2:10 AM Changeset in webkit [294991] by
-
- 4 edits in releases/WebKitGTK/webkit-2.36
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.36.3 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.36.3.
- 2:10 AM Changeset in webkit [294990] by
-
- 2 edits in releases/WebKitGTK/webkit-2.36/Source
Merge r294939 - Non unified build fixes, lateish May 2022 edition
https://bugs.webkit.org/show_bug.cgi?id=241019
Unreviewed build fixes.
- Source/JavaScriptCore/wasm/js/WasmToJS.cpp: Add missing JSCJSValueInlines.h header inclusion.
- Source/WebCore/platform/audio/MultiChannelResampler.cpp: Add missing <functional> header inclusion, needed for std::bind().
Canonical link: https://commits.webkit.org/251050@main
- 2:10 AM Changeset in webkit [294989] by
-
- 3 edits in releases/WebKitGTK/webkit-2.36/Source
Merge r294881 - Cannot link WebKitTestRunner in non-unified builds
https://bugs.webkit.org/show_bug.cgi?id=240755
Reviewed by Adrian Perez de Castro.
In GTK non-unified build, WebKit shared library didn't export all
WEBCORE_EXPORT marked WebCore symbols because WebCore was a static
library.
WebCore should be an SHARED or OBJECT library to work WEBCORE_EXPORT
macro as expected.
- Source/WebCore/PlatformGTK.cmake:
- Source/WebCore/page/gtk/DragControllerGtk.cpp:
- Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Canonical link: https://commits.webkit.org/251011@main
- 1:07 AM Changeset in webkit [294988] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/avfoundation/objc/QueuedVideoOutput.mm
CRASH: Exception thrown from QueuedVideoOutput::invalidate
https://bugs.webkit.org/show_bug.cgi?id=241052
<rdar://93953827>
Reviewed by Eric Carlson.
- Source/WebCore/platform/graphics/avfoundation/objc/QueuedVideoOutput.mm:
(WebCore::QueuedVideoOutput::QueuedVideoOutput):
An Objective-C exception is thrown from -removeObserver: stating the observer
was never added in the first place. Clear out ivars in the early return to avoid
doing work in invalidate() which (in addition to being unnecessary) will trigger
the exception.
Canonical link: https://commits.webkit.org/251092@main