⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Mar 1, 2020:

8:29 PM Changeset in webkit [257701] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Unreviewed build fix for non-unified builds after r257507.

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginValue const):
(WebCore::Layout::marginValue): Deleted.

7:20 PM Changeset in webkit [257700] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

[GTK] Fix the build when Wayland target is disabled
https://bugs.webkit.org/show_bug.cgi?id=208407

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2020-03-01
Reviewed by Darin Adler.

Values in the enum WebCore::PlatformDisplay::Type are only defined when
their corresponding platform targets are enabled, so we need #if checks
around uses of them.

  • UIProcess/API/glib/WebKitProtocolHandler.cpp:

(WebKit::WebKitProtocolHandler::handleGPU):

  • UIProcess/API/glib/WebKitUIClient.cpp:

(UIClient::windowConfigureEventCallback):

5:25 PM Changeset in webkit [257699] by Diego Pino Garcia
  • 66 edits
    21 adds in trunk/LayoutTests

[WPE] Gardening, update TestExpectations and baselines
https://bugs.webkit.org/show_bug.cgi?id=208433

Unreviewed gardening.

  • platform/wpe/TestExpectations:
  • platform/wpe/accessibility/media-emits-object-replacement-expected.txt:
  • platform/wpe/css3/flexbox/button-expected.txt:
  • platform/wpe/fast/block/float/float-avoidance-expected.txt:
  • platform/wpe/fast/canvas/fallback-content-expected.txt: Added.
  • platform/wpe/fast/canvas/webgl/copy-tex-image-and-sub-image-2d-bad-input-expected.txt: Added.
  • platform/wpe/fast/canvas/webgl/draw-elements-out-of-bounds-uint-index-expected.txt: Added.
  • platform/wpe/fast/canvas/webgl/drawElements-empty-vertex-data-expected.txt: Added.
  • platform/wpe/fast/canvas/webgl/vertexAttribPointer-with-bad-offset-expected.txt: Added.
  • platform/wpe/fast/canvas/webgl/webgl-drawarrays-crash-2-expected.txt: Added.
  • platform/wpe/fast/canvas/webgl/webgl-drawarrays-crash-expected.txt: Added.
  • platform/wpe/fast/css/continuationCrash-expected.txt:
  • platform/wpe/fast/css/focus-ring-exists-for-search-field-expected.txt:
  • platform/wpe/fast/css/margin-top-bottom-dynamic-expected.txt:
  • platform/wpe/fast/css/non-standard-checkbox-size-expected.txt:
  • platform/wpe/fast/css/rtl-ordering-expected.txt:
  • platform/wpe/fast/css/text-input-with-webkit-border-radius-expected.txt:
  • platform/wpe/fast/css/text-overflow-input-expected.txt:
  • platform/wpe/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/wpe/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt:
  • platform/wpe/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
  • platform/wpe/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
  • platform/wpe/fast/dom/HTMLProgressElement/progress-element-expected.txt:
  • platform/wpe/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/wpe/fast/dom/Range/getBoundingClientRect-expected.txt:
  • platform/wpe/fast/html/details-replace-summary-child-expected.txt:
  • platform/wpe/fast/html/details-replace-text-expected.txt:
  • platform/wpe/fast/layers/video-layer-expected.txt:
  • platform/wpe/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:
  • platform/wpe/fast/overflow/scrollRevealButton-expected.txt:
  • platform/wpe/fast/replaced/replaced-breaking-expected.txt:
  • platform/wpe/fast/replaced/table-percent-height-expected.txt:
  • platform/wpe/fast/replaced/width100percent-button-expected.txt:
  • platform/wpe/fast/replaced/width100percent-checkbox-expected.txt:
  • platform/wpe/fast/replaced/width100percent-radio-expected.txt:
  • platform/wpe/fast/replaced/width100percent-searchfield-expected.txt:
  • platform/wpe/fast/xmlhttprequest/xmlhttprequest-nonexistent-file-expected.txt: Added.
  • platform/wpe/fetch/fetch-url-serialization-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-animations/Element-getAnimations.tentative-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-sizing/button-min-width-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/css-transitions/before-load-001-expected.txt:
  • platform/wpe/storage/domstorage/sessionstorage/blocked-file-access-expected.txt: Added.
  • platform/wpe/svg/custom/foreign-object-skew-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1318-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug138725-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug18359-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2479-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2479-3-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2479-4-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug26178-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug28928-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug33855-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug39209-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug4429-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46368-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug51037-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug51727-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug52505-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug52506-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug60749-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug7342-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug92647-2-expected.txt:
  • platform/wpe/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
  • platform/wpe/tables/mozilla/dom/tableDom-expected.txt:
  • platform/wpe/tables/mozilla/other/move_row-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
  • platform/wpe/webanimations/partly-accelerated-transition-by-removing-property-expected.txt:
  • platform/wpe/webgl/1.0.3/conformance/context/context-lost-restored-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/buffers/bound-buffer-size-change-test-expected.txt:
  • platform/wpe/webgl/2.0.0/conformance2/buffers/buffer-copying-contents-expected.txt:
  • platform/wpe/webgl/2.0.0/conformance2/misc/object-deletion-behaviour-2-expected.txt:
  • platform/wpe/webgl/2.0.0/conformance2/transform_feedback/unwritten-output-defaults-to-zero-expected.txt:
4:43 PM Changeset in webkit [257698] by Darin Adler
  • 9 edits in trunk/Source/WebCore

Slim down some CSS parsing code
https://bugs.webkit.org/show_bug.cgi?id=208418

Reviewed by Anders Carlsson.

  • css/CSSPrimitiveValue.h: Remove unused createAllowingMarginQuirk function

and the FIXME-NEWPARSER that said we wouldn't need it any more and the
no-longer-needed isQuirkValue function.

  • css/CSSValue.h: Remove m_isQuirkValue.
  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseSelector): Call parseCSSSelector instead of
CSSSelectorParser::parseSelector, because that's the public function now.

  • css/parser/CSSParserImpl.cpp:

(WebCore::CSSParserImpl::consumeStyleRule): Ditto.

  • css/parser/CSSPropertyParserHelpers.h: Removed a FIXME-NEWPARSER that is

now obsolete.

  • css/parser/CSSSelectorParser.cpp: Moved the entire CSSSelectorParser class here from

the header, because the only thing used outside this file is the entry point, the
now renamed parseCSSSelector function.
(WebCore::CSSSelectorParser::DisallowPseudoElementsScope::DisallowPseudoElementsScope):
Changed this class to use a reference instead of a pointer.
(WebCore::parseCSSSelector): Renamed CSSSelectorParser::parseSelector to this.
(WebCore::CSSSelectorParser::consumeComplexSelectorList): Use auto to make some
unique_ptr code less verbose.
(WebCore::CSSSelectorParser::consumeCompoundSelectorList): Ditto. Removed the check of
m_failed. Only the parser entry point function needs that check, and that is the
consumeComplexSelectorList function above.
(WebCore::extractCompoundFlags): Use static instead of anonymous namespace. Use enum
class instead of enum, and use OptionSet instead of unsigned.
(WebCore::CSSSelectorParser::consumeComplexSelector): Updated for the above. This
refactoring exposed a strangeness in the simple selector loop; for now maintained
behavior rather than changing it to do something more logical.
(WebCore::isScrollbarPseudoClass): Use static instead of anonymous namespace.
(WebCore::isUserActionPseudoClass): Ditto.
(WebCore::isPseudoClassValidAfterPseudoElement): Ditto.
(WebCore::isSimpleSelectorValidAfterPseudoElement): Ditto.
(WebCore::CSSSelectorParser::consumeCompoundSelector): Use auto to make unique_ptr
code less verbose. Also inlined the one line applySimpleSelectorToCompound function,
because that name didn't document much thus having a function obscured rather than
clarifying what was going on. Also use makeUnique instead of new.
(WebCore::CSSSelectorParser::consumeId): Use makeUnique instead of new.
(WebCore::CSSSelectorParser::consumeClass): Ditto.
(WebCore::CSSSelectorParser::consumeAttribute): Ditto.
(WebCore::isOnlyPseudoElementFunction): Tweaked a comment.
(WebCore::CSSSelectorParser::consumePseudo): Update use of DisallowPseudoElementsScope
to use a reference, use auto to make unique_ptr code less verbose, use makeUnique
instead of new.
(WebCore::consumeANPlusB): Converted to a file-level static function rather than
a static member function.
(WebCore::CSSSelectorParser::prependTypeSelectorIfNeeded): Changed type from
pointer to reference
(WebCore::CSSSelectorParser::addSimpleSelectorToCompound): Deleted.

  • css/parser/CSSSelectorParser.h: Removed most of the contents of this file, leaving

only the function that is the parser entry point.

  • style/StyleBuilderConverter.h:

(WebCore::Style::BuilderConverter::convertLength): This si the one place that sets
the quirk on a Length value. It now checks for CSS_QUIRKY_EMS directly rather than
using a helper function.

4:42 PM Changeset in webkit [257697] by Darin Adler
  • 8 edits
    1 delete in trunk/Source/WebCore

Tighten up CSSPendingSubstitutionValue
https://bugs.webkit.org/show_bug.cgi?id=208421

Reviewed by Anders Carlsson.

  • Sources.txt: Removed CSSPendingSubstitutionValue.cpp.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • css/CSSPendingSubstitutionValue.cpp: Removed.
  • css/CSSPendingSubstitutionValue.h:

(WebCore::CSSPendingSubstitutionValue::shorthandValue const): Return a reference
instead of a pointer.
(WebCore::CSSPendingSubstitutionValue::equals const): Updated since m_shorthandValue
is now a Ref instead of RefPtr.
(WebCore::CSSPendingSubstitutionValue::customCSSText): Made this a static member
function that always returns an empty string.

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue const): Use auto, scoped variables
so they don't live until the end of the function. Simplified the code and the
comments while retaining as much clarity as possible. Also call getPropertyCSSValue
directly instead of calling getPropertyCSSValueInternal.
(WebCore::StyleProperties::asText const): Use is<> to make the code simpler.
Also updated to use reference instead of pointer from CSSPendingSubstitutionValue.

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::borderSpacingValue const): Call getPropertyCSSValue
instead of getPropertyCSSValueInternal.
(WebCore::StyleProperties::getLayeredShorthandValue const): Ditto.
(WebCore::StyleProperties::getShorthandValue const): Ditto.
(WebCore::StyleProperties::getCommonValue const): Ditto.
(WebCore::StyleProperties::pageBreakPropertyValue const): Ditto. Also added a
missing null check.
(WebCore::StyleProperties::getPropertyCSSValue const): Merged with the function
below since all this did was call getPropertyCSSValueInternal.
(WebCore::StyleProperties::getPropertyCSSValueInternal const): Renamed to take
away the word internal and merged with the function above.
(WebCore::ImmutableStyleProperties::findCustomPropertyIndex const): Removed
incorrectly copied and pasted comment.
(WebCore::MutableStyleProperties::findCustomPropertyIndex const): Ditto.
(WebCore::StyleProperties::copyPropertiesInSet const): Call getPropertyCSSValue
instead of getPropertyCSSValueInternal.

  • css/StyleProperties.h: Removed getPropertyCSSValueInternal.
  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseValueWithVariableReferences): Use is<> and fewer locals.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseValueStart): Removed a local and made this use
more Ref and less RefPtr.

4:40 PM Changeset in webkit [257696] by Darin Adler
  • 14 edits in trunk/Source/WebCore

Move some vectors around instead of heap-allocating them and moving the pointers
https://bugs.webkit.org/show_bug.cgi?id=208422

Reviewed by Sam Weinig.

  • css/CSSKeyframeRule.cpp:

(WebCore::StyleRuleKeyframe::StyleRuleKeyframe): Take Vector&& instead of
unique_ptr<Vector>.
(WebCore::StyleRuleKeyframe::create): Moved these here from the header.
Take Vector&& instead of unique_ptr<Vector>.
(WebCore::StyleRuleKeyframe::setKeyText): Update since the result is a
Vector rather than a unique_ptr<Vector>.

  • css/CSSKeyframeRule.h: Updated for the above.
  • css/CSSKeyframesRule.cpp:

(WebCore::StyleRuleKeyframes::findKeyframeIndex const): Return Optional<size_t>
so we don't depend on notFound. This is our better modern pattern, since
notFound can work wrong if we mix size_t and unsigned, for example. Also
updatd since result of parseKeyFrameKeyList is now a Vector rather than
a unique_ptr<Vector>.
(WebCore::CSSKeyframesRule::deleteRule): Updated for the above.
(WebCore::CSSKeyframesRule::findRule): Ditto.

  • css/CSSKeyframesRule.h: Updated for the above.
  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseKeyframeKeyList): Return Vector instead of
unique_ptr<Vector>.

  • css/parser/CSSParser.h: Updated for the above.
  • css/parser/CSSParserImpl.cpp:

(WebCore::CSSParserImpl::parseKeyframeKeyList): Return Vector instead of
unique_ptr<Vector>.
(WebCore::CSSParserImpl::consumeKeyframeStyleRule): Updated for the
above change.
(WebCore::CSSParserImpl::consumeKeyframeKeyList): Return Vector instead
of unique_ptr<Vector>.

  • css/parser/CSSParserImpl.h: Updated for the above.
  • platform/graphics/FloatPolygon.cpp:

(WebCore::FloatPolygon::FloatPolygon): Take Vector&& instead of
unique_ptr<Vector>.

  • platform/graphics/FloatPolygon.h: Take Vector&& instead of unique_ptr<Vector>.

Also changed m_vertices to a Vector instead of a unique_ptr<Vector>.

  • rendering/shapes/PolygonShape.h: Take Vector&& instead of unique_ptr<Vector>.
  • rendering/shapes/Shape.cpp:

(WebCore::createPolygonShape): Take Vector&& instead of unique_ptr<Vector>.
(WebCore::Shape::createShape): Use a Vector instead of a unique_ptr<Vector>.

4:06 PM Changeset in webkit [257695] by cturner@igalia.com
  • 2 edits in trunk/Source/JavaScriptCore

undefined reference to `JSC::ExecutableBase::hasJITCodeForCall() const'
https://bugs.webkit.org/show_bug.cgi?id=207890

Reviewed by Yusuke Suzuki.

Encountered on arm-buildroot-linux-gnueabihf with GCC 9.2.0.

  • runtime/NativeExecutable.cpp: Inclusion of

ExecutableBaseInlines.h resolves the issue for me.

3:36 PM Changeset in webkit [257694] by Wenson Hsieh
  • 4 edits in trunk

Unreviewed, rolling out r257618.

This allegedly causes Safari to crash when closing a window
(see rdar://problem/59922725).

Reverted changeset:

"UIProcess crash after using _prepareForMoveToWindow, then
deallocating the WKWebView before moving to the window"
https://bugs.webkit.org/show_bug.cgi?id=208365
https://trac.webkit.org/changeset/257618

3:13 PM Changeset in webkit [257693] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

Many tests in canvas and fast/canvas are asserting after r257677
https://bugs.webkit.org/show_bug.cgi?id=208431
<rdar://problem/59911910>

Reviewed by Tim Horton.

RemoteRenderingBackend asserts that it should never be created with a RenderingMode that isn't either
RemoteAccelerated or RemoteUnaccelerated. This was previously the case before r257677, because
ImageBuffer::create() would only call into the host window (i.e. the chrome and, in turn, chrome client) to
create the remote image buffer if the rendering mode is RemoteAccelerated or RemoteUnaccelerated. However, since
we want to move away from any references to RemoteAccelerated or RemoteUnaccelerated rendering modes in WebCore,
we should instead fix this by adding a similar check in the client (WebKit) layer.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createImageBuffer const):

Don't bother creating a RemoteRenderingBackend and telling it to create an image buffer, if the given
RenderingMode isn't one of RemoteAccelerated or RemoteUnaccelerated.

12:46 PM Changeset in webkit [257692] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Gardening, update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=208430

Unreviewed gardening.

  • platform/gtk/TestExpectations:
10:24 AM Changeset in webkit [257691] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/Source/ThirdParty

Re-add the patch used to work around gtest linking failure on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=208409

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2020-03-01
Reviewed by Michael Catanzaro.

The patch was added in https://bugs.webkit.org/show_bug.cgi?id=138420 to
fix gtest linking error on FreeBSD. However, it was accidentally dropped
in r235613, the commit updating gtest, causing the error to happen
again. Re-add it to fix the build on FreeBSD.

  • gtest/src/gtest-death-test.cc:
9:55 AM Changeset in webkit [257690] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC][MarginCollapsing] Do not re-compute PositiveAndNegativeVerticalMargin values
https://bugs.webkit.org/show_bug.cgi?id=208419
<rdar://problem/59923666>

Reviewed by Antti Koivisto.

MarginCollapse::collapsedVerticalValues() already computes the positive/negative before/after pairs.

  • layout/MarginTypes.h:
  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForBoxAndAncestors):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/blockformatting/BlockFormattingContextQuirks.cpp:

(WebCore::Layout::BlockFormattingContext::Quirks::stretchedInFlowHeight):

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::positiveNegativeValues const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedVerticalValues):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::resolvedPositiveNegativeMarginValues): Deleted.

9:19 AM Changeset in webkit [257689] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Convert m_scrollingNodeToLayerMap to use WeakPtr<RenderLayer>
https://bugs.webkit.org/show_bug.cgi?id=208403

Reviewed by Zalan Bujtas.

Use WeakPtr<> in m_scrollingNodeToLayerMap.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::attachScrollingNode):
(WebCore::RenderLayerCompositor::detachScrollCoordinatedLayerWithRole):
(WebCore::RenderLayerCompositor::scrollableAreaForScrollLayerID const):

  • rendering/RenderLayerCompositor.h:

Feb 29, 2020:

9:01 PM Changeset in webkit [257688] by ysuzuki@apple.com
  • 61 edits in trunk

Remove std::lock_guard
https://bugs.webkit.org/show_bug.cgi?id=206451

Reviewed by Anders Carlsson.

Source/bmalloc:

  • bmalloc/Mutex.h:

Source/JavaScriptCore:

  • API/JSVirtualMachine.mm:

(+[JSVMWrapperCache addWrapper:forJSContextGroupRef:]):
(+[JSVMWrapperCache wrapperForJSContextGroupRef:]):

  • API/glib/JSCVirtualMachine.cpp:

(addWrapper):
(removeWrapper):

  • heap/HeapSnapshotBuilder.cpp:

(JSC::HeapSnapshotBuilder::analyzeNode):
(JSC::HeapSnapshotBuilder::analyzeEdge):
(JSC::HeapSnapshotBuilder::analyzePropertyNameEdge):
(JSC::HeapSnapshotBuilder::analyzeVariableNameEdge):
(JSC::HeapSnapshotBuilder::analyzeIndexEdge):
(JSC::HeapSnapshotBuilder::setOpaqueRootReachabilityReasonForCell):

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::tryCopyOtherThreadStacks):

  • runtime/JSRunLoopTimer.cpp:

(JSC::JSRunLoopTimer::timerDidFire):

Source/WebCore:

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::setBuffer):

  • Modules/webaudio/AudioParamTimeline.cpp:

(WebCore::AudioParamTimeline::insertEvent):
(WebCore::AudioParamTimeline::cancelScheduledValues):

  • Modules/webaudio/ConvolverNode.cpp:

(WebCore::ConvolverNode::reset):
(WebCore::ConvolverNode::setBuffer):

  • Modules/webaudio/MediaElementAudioSourceNode.cpp:

(WebCore::MediaElementAudioSourceNode::setFormat):

  • Modules/webaudio/MediaStreamAudioSourceNode.cpp:

(WebCore::MediaStreamAudioSourceNode::setFormat):

  • Modules/webaudio/OscillatorNode.cpp:

(WebCore::OscillatorNode::setPeriodicWave):

  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNode::setPanningModel):

  • Modules/webaudio/WaveShaperProcessor.cpp:

(WebCore::WaveShaperProcessor::setCurve):
(WebCore::WaveShaperProcessor::setOversample):

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::Database):
(WebCore::Database::performOpenAndVerify):
(WebCore::Database::closeDatabase):
(WebCore::Database::getCachedVersion const):
(WebCore::Database::setCachedVersion):

  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::addProposedDatabase):
(WebCore::DatabaseManager::removeProposedDatabase):
(WebCore::DatabaseManager::fullPathForDatabase):
(WebCore::DatabaseManager::detailsForNameAndOrigin):

  • crypto/CryptoAlgorithmRegistry.cpp:

(WebCore::CryptoAlgorithmRegistry::identifier):
(WebCore::CryptoAlgorithmRegistry::name):
(WebCore::CryptoAlgorithmRegistry::create):
(WebCore::CryptoAlgorithmRegistry::registerAlgorithm):

  • inspector/agents/WebHeapAgent.cpp:

(WebCore::SendGarbageCollectionEventsTask::addGarbageCollection):
(WebCore::SendGarbageCollectionEventsTask::reset):
(WebCore::SendGarbageCollectionEventsTask::timerFired):

  • page/scrolling/ScrollingThread.cpp:

(WebCore::ScrollingThread::dispatch):
(WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):

  • page/scrolling/generic/ScrollingThreadGeneric.cpp:

(WebCore::ScrollingThread::initializeRunLoop):

  • page/scrolling/mac/ScrollingThreadMac.mm:

(WebCore::ScrollingThread::initializeRunLoop):

  • platform/audio/ReverbConvolver.cpp:

(WebCore::ReverbConvolver::~ReverbConvolver):

  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:

(WebCore::AudioSourceProviderAVFObjC::~AudioSourceProviderAVFObjC):
(WebCore::AudioSourceProviderAVFObjC::finalizeCallback):
(WebCore::AudioSourceProviderAVFObjC::prepareCallback):
(WebCore::AudioSourceProviderAVFObjC::unprepareCallback):
(WebCore::AudioSourceProviderAVFObjC::processCallback):

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::FontDatabase::collectionForFamily):
(WebCore::FontDatabase::clear):

  • platform/ios/wak/WebCoreThreadRun.cpp:
  • platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm:

(WebCore::WebAudioSourceProviderAVFObjC::~WebAudioSourceProviderAVFObjC):
(WebCore::WebAudioSourceProviderAVFObjC::prepare):
(WebCore::WebAudioSourceProviderAVFObjC::unprepare):

  • platform/network/cf/LoaderRunLoopCF.cpp:

(WebCore::loaderRunLoop):

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::setIsDatabaseOpeningForbidden):
(WebCore::SQLiteDatabase::open):

  • platform/sql/SQLiteDatabaseTracker.cpp:

(WebCore::SQLiteDatabaseTracker::setClient):
(WebCore::SQLiteDatabaseTracker::incrementTransactionInProgressCount):
(WebCore::SQLiteDatabaseTracker::decrementTransactionInProgressCount):
(WebCore::SQLiteDatabaseTracker::hasTransactionInProgress):

  • platform/text/TextEncodingRegistry.cpp:

(WebCore::buildBaseTextCodecMaps):
(WebCore::newTextCodec):
(WebCore::atomCanonicalTextEncodingName):

Source/WebKit:

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::traverse):

  • Platform/IPC/Connection.cpp:

(IPC::Connection::SyncMessageState::processIncomingMessage):
(IPC::Connection::SyncMessageState::dispatchMessages):
(IPC::Connection::SyncMessageState::dispatchMessagesAndResetDidScheduleDispatchMessagesForConnection):
(IPC::Connection::addWorkQueueMessageReceiver):
(IPC::Connection::removeWorkQueueMessageReceiver):
(IPC::Connection::addThreadMessageReceiver):
(IPC::Connection::removeThreadMessageReceiver):
(IPC::Connection::sendMessage):
(IPC::Connection::waitForMessage):
(IPC::Connection::processIncomingMessage):
(IPC::Connection::installIncomingSyncMessageCallback):
(IPC::Connection::uninstallIncomingSyncMessageCallback):
(IPC::Connection::hasIncomingSyncMessage):
(IPC::Connection::connectionDidClose):
(IPC::Connection::sendOutgoingMessages):
(IPC::Connection::enqueueIncomingMessage):
(IPC::Connection::dispatchMessageToWorkQueueReceiver):
(IPC::Connection::dispatchMessageToThreadReceiver):
(IPC::Connection::dispatchOneIncomingMessage):
(IPC::Connection::dispatchIncomingMessages):

  • Shared/BlockingResponseMap.h:

(BlockingResponseMap::didReceiveResponse):

  • UIProcess/mac/WKPrintingView.mm:

(-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):
(prepareDataForPrintingOnSecondaryThread):

Source/WebKitLegacy/mac:

  • DOM/DOMInternal.mm:

(getDOMWrapper):
(addDOMWrapper):
(removeDOMWrapper):

Source/WTF:

Remove use of std::lock_guard. This is deprecated in C++17.

  1. For particularly low-level usage (like, bmalloc, std::mutex), use std::scoped_lock.
  2. For the other purpose, use holdLock.
  • benchmarks/ConditionSpeedTest.cpp:
  • wtf/CryptographicallyRandomNumber.cpp:
  • wtf/HashTable.cpp:

(WTF::HashTableStats::recordCollisionAtCount):
(WTF::HashTableStats::dumpStats):

  • wtf/HashTable.h:

(WTF::KeyTraits>::invalidateIterators):
(WTF::addIterator):
(WTF::removeIterator):

  • wtf/Language.cpp:

(WTF::userPreferredLanguages):

  • wtf/MainThread.cpp:

(WTF::dispatchFunctionsFromMainThread):
(WTF::callOnMainThread):
(WTF::callOnMainAndWait):

  • wtf/StackStats.cpp:

(WTF::StackStats::CheckPoint::CheckPoint):
(WTF::StackStats::CheckPoint::~CheckPoint):
(WTF::StackStats::probe):
(WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):
(WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint):

  • wtf/WordLock.cpp:

(WTF::WordLock::unlockSlow):

  • wtf/cf/LanguageCF.cpp:

(WTF::languagePreferencesDidChange):
(WTF::platformUserPreferredLanguages):

  • wtf/text/StringView.cpp:

(WTF::StringView::invalidate):
(WTF::StringView::adoptUnderlyingString):
(WTF::StringView::setUnderlyingString):

  • wtf/unicode/icu/CollatorICU.cpp:

(WTF::Collator::Collator):
(WTF::Collator::~Collator):

  • wtf/win/LanguageWin.cpp:

(WTF::platformLanguage):

Tools:

Add std::lock_guard lint rule to prevent from using it.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_lock_guard):
(check_style):
(CppChecker):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(WebKitStyleTest.test_lock_guard):

  • TestWebKitAPI/Tests/WTF/Condition.cpp:
  • TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
  • TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp:

(assertHasObjects):
(assertHasOnlyObjects):

  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:

(WTR::AXThread::dispatch):
(WTR::AXThread::dispatchFunctionsFromAXThread):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:

(WTR::AXThread::initializeRunLoop):

7:32 PM Changeset in webkit [257687] by pvollan@apple.com
  • 14 edits
    1 add in trunk

[Cocoa] Mapping from MIME type to UTI type should be done in the UI process
https://bugs.webkit.org/show_bug.cgi?id=208415

Reviewed by Brent Fulgham.

Source/WebCore:

This is currently done in the WebContent process, but since this is using a system service which will be closed,
this mapping should be moved to the UI process. The UI process will create this mapping for a set of mime types,
and send it to the WebContent process.

API test: WebKit.UTIFromMIMEType

  • platform/network/mac/UTIUtilities.h:
  • platform/network/mac/UTIUtilities.mm:

(WebCore::mapUTIFromMIMEType):
(WebCore::UTIFromMIMETypeCachePolicy::createValueForKey):
(WebCore::cacheUTIFromMimeType):
(WebCore::UTIFromMIMEType):
(WebCore::mimeTypes):
(WebCore::createUTIFromMIMETypeMap):
(WebCore::setUTIFromMIMETypeMap):

  • testing/Internals.cpp:

(WebCore::Internals::getUTIFromMIMEType):

  • testing/Internals.mm:

(WebCore::Internals::getUTIFromMIMEType):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

Send the mapping between MIME types and UTI types to the WebContent process as part of the Web
process creation parameters.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/UTIFromMIMEType.mm: Added.

(TEST):

5:36 PM Changeset in webkit [257686] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit

Unreviewed unified build fix; add include macro for LayerHostingContext.

  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:
10:12 AM Changeset in webkit [257685] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][BFC] Consolidate precomputeVerticalPositionForAncestors and precomputeVerticalPosition
https://bugs.webkit.org/show_bug.cgi?id=208414
<rdar://problem/59919467>

Reviewed by Antti Koivisto.

BlockFormattingContext::precomputeVerticalPositionForBoxAndAncestors takes care of both the box and its ancestors now.
This is also in preparation for making precompute logic a bit simpler.

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::usedAvailableWidthForFloatAvoider):
(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForAncestors):
(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForBoxAndAncestors):
(WebCore::Layout::BlockFormattingContext::precomputeVerticalPosition): Deleted.
(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForFormattingRoot): Deleted.

  • layout/blockformatting/BlockFormattingContext.h:
10:05 AM Changeset in webkit [257684] by Simon Fraser
  • 2 edits in trunk/Source/WebKitLegacy/win

Fix the Windows build after r257645.

  • WebView.cpp:

(WebView::setAcceleratedCompositing):

8:24 AM Changeset in webkit [257683] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][Floats] FloatingState::top should return topmost logical vertical position
https://bugs.webkit.org/show_bug.cgi?id=208412
<rdar://problem/59918798>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/layoutformattingcontext/block-only/block-root-top-should-start-from-float-top.html

When computing the used height for an auto: height formatting root block level container, we have to take both the non-floating and floating
in-flow boxes into account. This patch ensures that in case of multiple floats, we use the topmost float's logical top position.

  • layout/floats/FloatingState.cpp:

(WebCore::Layout::FloatingState::top const):

LayoutTests:

  • fast/layoutformattingcontext/block-only/block-root-top-should-start-from-float-top-expected.html: Added.
  • fast/layoutformattingcontext/block-only/block-root-top-should-start-from-float-top.html: Added.
7:20 AM Changeset in webkit [257682] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][Floats] The used available width for float avoider with clear always matches the containing block's constraint
https://bugs.webkit.org/show_bug.cgi?id=208411
<rdar://problem/59918356>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/layoutformattingcontext/block-only/float-clear-with-auto-width.html

Float clear pushes the block level box either below the floats, or just one side below but the other side could overlap.
What it means is that the used available width always matches the containing block's constraint.

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::usedAvailableWidthForFloatAvoider):
(WebCore::Layout::BlockFormattingContext::computeVerticalPositionForFloatClear):

LayoutTests:

  • fast/layoutformattingcontext/block-only/float-clear-with-auto-width-expected.html: Added.
  • fast/layoutformattingcontext/block-only/float-clear-with-auto-width.html: Added.
2:00 AM WebKitGTK/2.28.x edited by Philippe Normand
(diff)
12:04 AM Changeset in webkit [257681] by ysuzuki@apple.com
  • 19 edits in trunk/Source

[JSC] BuiltinNames' HashMap should be small
https://bugs.webkit.org/show_bug.cgi?id=208404

Reviewed by Mark Lam.

Source/JavaScriptCore:

This patch converts public-to-private-name-map from HashMap<RefPtr<UniquedStringImpl>, SymbolImpl*> to HashSet<String> to save half of memory.
The key is that private names have the same string content to the public names. We can just query with string content to the HashSet of
private names, and we can get private names.

The problem is that we also have a hack inserting string <-> non-private well-known Symbol mappings into this table. These symbols do not have
the same content to the public string. So the above assumption is broken.

To make the above assumption valid, we have a separate small HashMap which holds string <-> non-private well-known Symbol mappings. Since # of
well-known Symbols are only 13, this new HashMap is taking at most 512B for entries, which is much smaller compared to the saved memory by
converting HashMap to HashSet for private names (32KB).

To allow it, we introduce new well-known Symbol identifier syntax to builtin JS, which is "@@iterator" format. If there is two "@", we parse this
identifier as a well-known Symbol.

  • builtins/ArrayConstructor.js:

(from.wrapper.iterator):
(from):
(from.wrapper.iteratorSymbol): Deleted.

  • builtins/ArrayPrototype.js:

(globalPrivate.concatSlowPath):
(concat):

  • builtins/BuiltinNames.cpp:

(JSC::BuiltinNames::BuiltinNames):
(JSC::CharBufferSeacher::hash):
(JSC::CharBufferSeacher::equal):
(JSC::lookUpPrivateNameImpl):
(JSC::lookUpWellKnownSymbolImpl):
(JSC::BuiltinNames::lookUpPrivateName const):
(JSC::BuiltinNames::lookUpWellKnownSymbol const):

  • builtins/BuiltinNames.h:

(JSC::BuiltinNames::lookUpPrivateName const):
(JSC::BuiltinNames::lookUpWellKnownSymbol const):
(JSC::BuiltinNames::checkPublicToPrivateMapConsistency):
(JSC::BuiltinNames::appendExternalName):
(JSC::BuiltinNames::getPublicName const): Deleted.

  • builtins/GlobalOperations.js:

(globalPrivate.speciesConstructor):

  • builtins/IteratorHelpers.js:

(performIteration):

  • builtins/StringPrototype.js:

(match):
(matchAll):
(intrinsic.StringPrototypeReplaceIntrinsic.replace):
(replaceAll):
(search):
(split):

  • builtins/TypedArrayConstructor.js:

(from.wrapper.iterator):
(from):
(from.wrapper.iteratorSymbol): Deleted.

  • builtins/TypedArrayPrototype.js:

(globalPrivate.typedArraySpeciesConstructor):
(map):
(filter):

  • bytecompiler/NodesCodegen.cpp:

(JSC::BytecodeIntrinsicNode::emit_intrinsic_getByIdDirectPrivate):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_putByIdDirectPrivate):

  • parser/Lexer.cpp:

(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):

  • runtime/CachedTypes.cpp:

(JSC::CachedUniquedStringImplBase::encode):
(JSC::CachedUniquedStringImplBase::decode const):

  • runtime/CommonIdentifiers.cpp:

(JSC::CommonIdentifiers::CommonIdentifiers):
(JSC::CommonIdentifiers::lookUpPrivateName const): Deleted.
(JSC::CommonIdentifiers::getPublicName const): Deleted.

  • runtime/CommonIdentifiers.h:
  • tools/JSDollarVM.cpp:

(JSC::functionGetPrivateProperty):

Source/WTF:

  • wtf/text/AtomStringImpl.cpp:

(WTF::HashTranslatorCharBuffer::HashTranslatorCharBuffer): Deleted.

  • wtf/text/StringImpl.h:

(WTF::HashTranslatorCharBuffer::HashTranslatorCharBuffer):

Note: See TracTimeline for information about the timeline view.