Timeline



May 25, 2021:

11:29 PM Changeset in webkit [278078] by Fujii Hironori
  • 8 edits in trunk/Source/WebCore

Rename ImageBuffer::transformColorSpace to transformToColorSpace, and it should take a single argument
https://bugs.webkit.org/show_bug.cgi?id=226108

Reviewed by Said Abou-Hallawa.

The 'srcColorSpace' argument of ImageBuffer::transformColorSpace()
should be removed because it is redundant and it is the same as
ImageBuffer::colorSpace().

RenderSVGResourceMasker::applyResource creates a image buffer for
a mask image. In Cairo, rendering happens in sRGB color space. So,
create a image buffer in sRGB, then renders the content and
transforms to linear sRGB.

  • platform/graphics/ConcreteImageBuffer.h:
  • platform/graphics/ImageBuffer.h:
  • platform/graphics/ImageBufferBackend.h:

(WebCore::ImageBufferBackend::transformToColorSpace): Take a single argument 'newColorSpace'.
(WebCore::ImageBufferBackend::transformColorSpace): Renamed to transformToColorSpace.

  • platform/graphics/cairo/ImageBufferCairoBackend.cpp:

(WebCore::ImageBufferCairoBackend::transformToColorSpace):
(WebCore::ImageBufferCairoBackend::transformColorSpace): Renamed to transformToColorSpace.

  • platform/graphics/cairo/ImageBufferCairoBackend.h:
  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::transformResultColorSpace):

  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::applyResource):
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):

10:00 PM Changeset in webkit [278077] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Stop using UncheckedLock in MediaElementAudioSourceNode
https://bugs.webkit.org/show_bug.cgi?id=226250

Reviewed by Darin Adler.

Stop using UncheckedLock in MediaElementAudioSourceNode as it is being phased out in favor of
Lock, which supports clang thread safety analysis.

  • Modules/webaudio/MediaElementAudioSourceNode.h:
  • html/HTMLMediaElement.cpp:
9:59 PM Changeset in webkit [278076] by Lauro Moura
  • 2 edits in trunk/Source/WebKit

Unreviewed, another GCC8 build fix after r278035
https://bugs.webkit.org/show_bug.cgi?id=211674

Missed from previous patch.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<WebCore::SerializedPlatformDataCueValue>::decode):

9:58 PM Changeset in webkit [278075] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[GStreamer] Stop using UncheckedLock in WebKitCommonEncryptionDecryptorGStreamer
https://bugs.webkit.org/show_bug.cgi?id=226249

Reviewed by Darin Adler.

Stop using UncheckedLock in WebKitCommonEncryptionDecryptorGStreamer as it is being phased out
in favor of WTF::Lock, which supports Clang thread safety analysis.

  • platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:

(transformInPlace):
(isCDMProxyAvailable):
(attachCDMProxy):
(sinkEventHandler):
(webKitMediaCommonEncryptionDecryptIsFlushing):
(setContext):

8:50 PM Changeset in webkit [278074] by Lauro Moura
  • 2 edits in trunk/Source/WebKit

Unreviewed, fix GCC8 build after r278035
https://bugs.webkit.org/show_bug.cgi?id=211674

Avoid "...from initializer list would use explicit constructor ..." errors
in GCC8 when initializing std::optional.

  • Shared/SandboxExtension.h:

(WebKit::SandboxExtension::HandleArray::decode):

8:31 PM Changeset in webkit [278073] by Fujii Hironori
  • 2 edits in trunk/Source/JavaScriptCore

Clang can't compile Optional<GPRTemporary> since r278035 because GPRTemporary has non-const copy constructor
https://bugs.webkit.org/show_bug.cgi?id=226251

Reviewed by Chris Dumez.

WinCairo clang-cl builds reported a compilation error since r278035.

include\optional(95,5): error: the parameter for this explicitly-defaulted copy constructor is const, but a member or base requires it to be non-const

  • dfg/DFGSpeculativeJIT.h: Deleted the const copy ctor instead of the non-const copy ctor.
6:23 PM Changeset in webkit [278072] by Dewei Zhu
  • 40 edits
    2 deletes in trunk/Websites/perf.webkit.org

[perf dashboard] Add sequential mode for perf dashboard A/B testing.
https://bugs.webkit.org/show_bug.cgi?id=223886

Reviewed by Ryosuke Niwa.

Add 'testgroup_repetition_type' to 'analysis_test_groups' table to store repetition type which defaults to 'alternating'.
Add support to schedule 'sequential' A/B testing which schedules all iterations for the first configuration (A)
before the iterations for the second configuration (B).
Before this patch, all A/B testing alternated between two different configurations for each iteration.
Add retry logic for 'sequential' A/B testing.

Update syncing script to not proceed with next configuration the current configuration successfully completed
more iterations than the initially requested or retries exceeded the list.

Fix a potential race in syncing script that 'Promise.all' may cause test group not scheduled in order.

  • browser-tests/test-group-form-tests.js: Updated and added unit tests.
  • init-database.sql: Added 'testgroup_repetition_type' field to 'analysis_test_groups' table.
  • migrate-database.sql: Updated migration script to conditionally add 'testgroup_repetition_type' field.
  • public/api/test-groups.php: Added 'repetitionType' field in api return value.
  • public/include/build-requests-fetcher.php: Fetching build requests under a triggerable should include test

group with all test groups finished but still need retry. This will allow syncing script to resolve the build
request by ID and block other request to be scheduled on the builder.

  • public/include/commit-sets-helpers.php: Added code to create build requests based on test mode.
  • public/privileged-api/add-build-requests.php: Added support to only add build requests to one commit set.
  • public/privileged-api/create-analysis-task.php: Added 'repetitionType' support.
  • public/privileged-api/create-test-group.php: Added 'repetitionType' support.
  • public/privileged-api/update-test-group.php:
  • public/shared/common-component-base.js:
  • public/v3/components/custom-configuration-test-group-form.js: Added 'repetitionType' support.

(CustomConfigurationTestGroupForm.prototype.startTesting):

  • public/v3/components/customizable-test-group-form.js:

(CustomizableTestGroupForm.prototype.startTesting):

  • public/v3/components/test-group-form.js:

(TestGroupForm.prototype.startTesting):

  • public/v3/models/analysis-task.js:

(AnalysisTask.async create):
(AnalysisTask):

  • public/v3/models/build-request.js:

(BuildRequest):
(BuildRequest.prototype.updateSingleton): Allow build request order to be updated.

  • public/v3/models/test-group.js:

(TestGroup):
(TestGroup.prototype.updateSingleton):
(TestGroup.prototype.repetitionType):
(TestGroup.prototype.repetitionCountForCommitSet): Refactored repetitionCount since repetition may be different
between configurations.
(TestGroup.prototype.hasRetries): A helper function to tell if a test group has retry runs.
(TestGroup.prototype.additionalRepetitionNeededToReachInitialRepetitionCount):
(TestGroup.prototype.successfulTestCount):
(TestGroup.prototype.isFirstTestRequest):
(TestGroup.prototype.precedingBuildRequest):
(TestGroup.prototype.retryCountForCommitSet):
(TestGroup.prototype.retryCountsAreSameForAllCommitSets):
(TestGroup.prototype.async _createAlternatingRetriesForTestGroup): Moved from 'retry-failed-build-requests' module.
(TestGroup.async _createSequentialRetriesForTestGroup): Moved from 'retry-failed-build-requests' module.
(TestGroup.prototype.async cancelPendingRequests):
(TestGroup.prototype.async didSendNotification):
(TestGroup.prototype.async addMoreBuildRequests):
(TestGroup.async createWithTask):
(TestGroup.async createWithCustomConfiguration):
(TestGroup.async createAndRefetchTestGroups):
(TestGroup.prototype.async scheduleMoreRequestsOrClearFlag): Moved from 'retry-failed-build-requests' module.
(TestGroup.async fetchById): Added support to fetch test group by ID.

  • public/v3/pages/analysis-task-page.js:

(AnalysisTaskChartPane.prototype.didConstructShadowTree):
(AnalysisTaskResultsPane.prototype.didConstructShadowTree):
(AnalysisTaskConfiguratorPane.prototype.setTestGroups):
(AnalysisTaskConfiguratorPane):
(AnalysisTaskTestGroupPane.prototype.didConstructShadowTree):
(AnalysisTaskTestGroupPane.prototype._renderCurrentTestGroup):
(AnalysisTaskTestGroupPane.prototype._retrySummary):
(AnalysisTaskPage.prototype.didConstructShadowTree):
(AnalysisTaskPage.prototype.async _retryCurrentTestGroup):
(AnalysisTaskPage.prototype.async _bisectCurrentTestGroup):
(AnalysisTaskPage.set const):
(AnalysisTaskPage.prototype.async _createTestGroupAfterVerifyingCommitSetList):
(AnalysisTaskPage.prototype.async _createCustomTestGroup):

  • public/v3/pages/chart-pane.js:

(ChartPane.prototype.didConstructShadowTree):
(ChartPane.prototype.async _analyzeRange):

  • public/v3/pages/create-analysis-task-page.js:

(CreateAnalysisTaskPage.prototype.async _createAnalysisTaskWithGroup):

  • server-tests/api-build-requests-tests.js: Added a unit test.
  • server-tests/api-upload-root-tests.js: Updated unit tests.
  • server-tests/privileged-api-add-build-requests-tests.js: Updated and added unit tests.
  • server-tests/privileged-api-create-analysis-task-tests.js: Added unit tests.
  • server-tests/privileged-api-create-test-group-tests.js: Updated and added unit tests.
  • server-tests/privileged-api-update-test-group-tests.js: Updated and added unit tests.
  • server-tests/resources/common-operations.js:

(async assertThrows):

  • server-tests/resources/mock-data.js:

(MockData.addMockData):
(MockData.set addMockBuildRequestsWithRoots):
(MockData.set addAnotherMockTestGroup):
(MockData.set mockTestSyncConfigWithSingleBuilder):
(MockData.sampleBuildData):

  • server-tests/tools-buildbot-triggerable-tests.js: Updated and added unit tests.
  • server-tests/tools-sync-buildbot-integration-tests.js: Updated unit tests.

(async createTestGroupWithPatch):
(createTestGroupWihOwnedCommit):

  • tools/js/buildbot-syncer.js:

(BuildbotSyncer.prototype.scheduleRequestInGroupIfAvailable):
(BuildbotSyncer.prototype.pullBuildbot):

  • tools/js/buildbot-triggerable.js:

(BuildbotTriggerable):
(BuildbotTriggerable.prototype.async syncOnce):
(BuildbotTriggerable.prototype.async _scheduleRequest):
(BuildbotTriggerable.prototype._shouldDeferSequentialTestingRequestWithNewCommitSet):

  • tools/js/measurement-set-analyzer.js:

(MeasurementSetAnalyzer.prototype.async _analyzeMeasurementSet):
(MeasurementSetAnalyzer):

  • tools/js/retry-failed-build-requests.js: Removed.
  • tools/run-analysis.js: Use updated API to retry.

(async analysisLoop):
(async processTestGroupMayNeedMoreRequests):

  • tools/sync-buildbot.js: Added command line option '--max-retry-factor'.
  • unit-tests/analysis-task-tests.js: Updated unit tests.
  • unit-tests/buildbot-syncer-tests.js: Updated unit tests.

(createSampleBuildRequest):

  • unit-tests/measurement-set-analyzer-tests.js:
  • unit-tests/retry-failed-build-requests-tests.js: Moved unit tests to test-group-tests.js.
  • unit-tests/test-groups-tests.js: Added unit tests from 'retry-failed-build-requests-tests.js'.
6:19 PM Changeset in webkit [278071] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

_WKRemoteObjectRegistry should not call completion handlers if block signatures don't match or can't be found
https://bugs.webkit.org/show_bug.cgi?id=226189

Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2021-05-25
Reviewed by Chris Dumez.

_WKRemoteObjectRegistry already enforces completion handlers to not be nil,
so complete that enforcement by dropping invocations where block signatures aren't available
or don't match. This has not reproduced but completes our hardening efforts.

  • Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:

(-[_WKRemoteObjectRegistry _invokeMethod:]):

6:10 PM Changeset in webkit [278070] by weinig@apple.com
  • 4 edits in trunk/Source/WebCore

Support byte components for all bounded RGB color types, not just SRGBA
https://bugs.webkit.org/show_bug.cgi?id=226222

Reviewed by Darin Adler.

We currently arbitrarily restrict byte components (e.g. SRGBA<uint8_t>)
to just SRGBA by only supporting conversion for that one color type. Support
for any bounded (e.g. [0..1]) RGB type would have the same semantics and
be useful now that we can get pixel buffers that are not SRGBA only out
of ImageBuffer.

To do this, we replace the ColorConversion specializations for this type
of conversion, and inline it directly in the main conversion convert function,
allowing for a more complex conditional without SFINAE complexity.

To make things a bit simpler, this also simplifies the RGB color type descriptors
to no longer be templates, as the description of the types is always float
based, regardless of the component used. This allows for a simpler new helper,
SelfWithReplacementComponent, to convert to and from ColorType<float>/ColorType<uint8_t>.

  • platform/graphics/ColorConversion.cpp:

(WebCore::SRGBA<uint8_t>>::convert): Deleted.

  • platform/graphics/ColorConversion.h:

(WebCore::ColorConversion::convert):
(WebCore::ColorConversion::handleToFloatConversion):
(WebCore::ColorConversion::handleToByteConversion):

  • platform/graphics/ColorTypes.h:
5:37 PM Changeset in webkit [278069] by Chris Dumez
  • 12 edits in trunk/Source

Use UncheckedLock less in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=226212

Reviewed by Saam Barati.

Source/JavaScriptCore:

Use UncheckedLock less in JavaScriptCore as it is being phased out in favor of Lock, which
enables Clang thread safety analysis.

  • assembler/testmasm.cpp:
  • dfg/DFGCommon.cpp:
  • dynbench.cpp:
  • heap/Heap.cpp:
  • heap/Heap.h:
  • inspector/remote/socket/RemoteInspectorSocketEndpoint.h:
  • runtime/JSLock.cpp:
  • runtime/JSLock.h:
  • runtime/VM.h:

Source/WTF:

Add support for unlockEarly() to Locker<Lock> specialization, for consistency
with the generic Locker.

  • wtf/Lock.h:
5:29 PM Changeset in webkit [278068] by Chris Dumez
  • 5 edits
    5 adds in trunk

CSP does not apply to AudioWorklets
https://bugs.webkit.org/show_bug.cgi?id=225862
<rdar://problem/78098440>

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

Rebaseline WPT test that is now passing.

  • web-platform-tests/worklets/audio-worklet-csp.https-expected.txt:

Source/WebCore:

Make sure Worklet::addModule() checks with CSP before attempting to load the script.

Tests: http/tests/security/contentSecurityPolicy/audioworklet-script-src-allowed.html

http/tests/security/contentSecurityPolicy/audioworklet-script-src-blocked.html

  • worklets/Worklet.cpp:

(WebCore::Worklet::addModule):

LayoutTests:

Add layout test coverage since the upstream WPT tests for this are unable to run with our infrastructure.

  • http/tests/security/contentSecurityPolicy/audioworklet-script-src-allowed-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/audioworklet-script-src-allowed.html: Added.
  • http/tests/security/contentSecurityPolicy/audioworklet-script-src-blocked-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/audioworklet-script-src-blocked.html: Added.
  • http/tests/security/contentSecurityPolicy/resources/audioworklet-processor.js: Added.

(DummyProcessor):
(DummyProcessor.prototype.process):

5:21 PM Changeset in webkit [278067] by Russell Epstein
  • 1 copy in tags/Safari-612.1.15.1.13

Tag Safari-612.1.15.1.13.

5:19 PM Changeset in webkit [278066] by Russell Epstein
  • 1 delete in tags/Safari-612.1.15.1.13

Delete tag.

5:15 PM Changeset in webkit [278065] by Chris Fleizach
  • 3 edits
    1 add in trunk/Tools

AX: Improve string conversion in AccessibilityController::injectAccessibilityPreference
https://bugs.webkit.org/show_bug.cgi?id=226239

Reviewed by Darin Adler.

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:

(WTR::AccessibilityController::injectAccessibilityPreference):

  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
  • WebKitTestRunner/cocoa/StringFunctionsCocoa.h: Added.

(WTR::toWK):

5:15 PM Changeset in webkit [278064] by Devin Rousso
  • 20 edits
    3 adds in trunk

[Modern Media Controls] REGRESSION(r254389) media controls needs the full list of language preferences for ordering tracks
https://bugs.webkit.org/show_bug.cgi?id=226038

Reviewed by Myles C. Maxfield and Eric Carlson.

Source/JavaScriptCore:

Media controls need access to the full list of language preferences in order to properly
sort/order the list of tracks in the controls UI. For example, if a <video> has subtitles
for English, Spanish, and French, and the user has English (default) and French (alternate)
configured in the Language & Region view of System Preferences on macOS, WebKit should order
the subtitles list English, French, and then Spanish.

  • shell/playstation/TestShell.cpp:

(preTest):
Instead of propagating the override, just clear it out.

Source/WebCore:

Media controls need access to the full list of language preferences in order to properly
sort/order the list of tracks in the controls UI. For example, if a <video> has subtitles
for English, Spanish, and French, and the user has English (default) and French (alternate)
configured in the Language & Region view of System Preferences on macOS, WebKit should order
the subtitles list English, French, and then Spanish.

Test: media/modern-media-controls/tracks-support/sorted-by-user-preferred-languages.html

  • page/CaptionUserPreferences.cpp:

(WebCore::CaptionUserPreferences::preferredLanguages const):
(WebCore::CaptionUserPreferences::textTrackSelectionScore const):
(WebCore::CaptionUserPreferences::primaryAudioTrackLanguageOverride const):

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::preferredLanguages const):
(WebCore::buildDisplayStringForTrackBase):
(WebCore::trackDisplayName):
(WebCore::textTrackCompare):

  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:

(WebCore::MediaSelectionGroupAVFObjC::updateOptions):

  • bindings/js/JSDOMWindowBase.cpp:
  • bindings/js/JSWorkerGlobalScopeBase.cpp:
  • bindings/js/JSWorkletGlobalScopeBase.cpp:

Wrap defaultLanguage in a lambda since it now has a parameter.

  • platform/LocalizedStrings.h:
  • platform/LocalizedStrings.cpp:

(WebCore::captionsTextTrackKindDisplayName): Added.
(WebCore::descriptionsTextTrackKindDisplayName): Added.
(WebCore::chaptersTextTrackKindDisplayName): Added.
(WebCore::metadataTextTrackKindDisplayName): Added.
(WebCore::closedCaptionKindTrackDisplayName): Added.
(WebCore::sdhTrackKindDisplayName): Added.
(WebCore::easyReaderKindDisplayName): Added.
(WebCore::forcedTrackKindDisplayName): Added.
Move the logic added in r277797 from buildDisplayStringForTrackBase to trackDisplayName
and only perform it if the text track display name doesn't already contain the display name
for the text track kind (e.g. if the label is "English Captions" don't add "Captions", but
do if the label is only "English").

Source/WTF:

Media controls need access to the full list of language preferences in order to properly
sort/order the list of tracks in the controls UI. For example, if a <video> has subtitles
for English, Spanish, and French, and the user has English (default) and French (alternate)
configured in the Language & Region view of System Preferences on macOS, WebKit should order
the subtitles list English, French, and then Spanish.

  • wtf/Language.h:
  • wtf/Language.cpp:

(WTF::cachedFullPlatformPreferredLanguages): Added.
(WTF::cachedMinimizedPlatformPreferredLanguages): Added.
(WTF::languageDidChange):
(WTF::defaultLanguage):
(WTF::userPreferredLanguages):
(WTF::platformLanguageDidChange): Deleted.
Move the caching in wtf/cf/LanguageCF.cpp to wtf/Language.cpp so that all platforms can
benefit from caching the result of platformUserPreferredLanguages.

  • wtf/cf/LanguageCF.cpp:

(WTF::platformUserPreferredLanguages):
(WTF::platformLanguageDidChange): Deleted.

  • wtf/playstation/LanguagePlayStation.cpp:

(WTF::platformUserPreferredLanguages):

  • wtf/spi/cocoa/NSLocaleSPI.h:
  • wtf/unix/LanguageUnix.cpp:

(WTF::platformUserPreferredLanguages):

  • wtf/win/LanguageWin.cpp:

(WTF::platformUserPreferredLanguages):
Add WTF::ShouldMinimizeLanguages that controls whether WTF::minimizedPreferredLanguages
is called. Since the result is cached, create separate Vector<String> for each enum value.

LayoutTests:

  • media/modern-media-controls/tracks-support/sorted-by-user-preferred-languages.html: Added.
  • media/modern-media-controls/tracks-support/sorted-by-user-preferred-languages-expected.txt: Added.
  • media/content/lorem-ipsum.vtt: Added.
5:05 PM Changeset in webkit [278063] by Russell Epstein
  • 1 copy in tags/Safari-612.1.15.1.13

Tag Safari-612.1.15.1.13.

5:01 PM Changeset in webkit [278062] by timothy_horton@apple.com
  • 90 edits
    1 move
    2 adds
    5 deletes in trunk

Virtualize GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=226170

Reviewed by Simon Fraser.

Source/WebCore:

No new tests, just a refactoring.

In preparation for future patches which introduce new kinds of GraphicsContexts,
virtualize GraphicsContext, moving platform implementations into subclasses
GraphicsContext{CG,Cairo,Direct2D}, NullGraphicsContext, DisplayList::Recorder,
and Nicosia::CairoOperationRecorder.

GraphicsContextImpl dissolves away; platform contexts that were
unnecessarily implemented both as GraphicsContext and as a subclass
of GraphicsContextImpl (GraphicsContextImplCairo and GraphicsContextImplDirect2D)
are folded into their GraphicsContext subclass.

paintingDisabled() is no longer relevant in GraphicsContext implementations,
so we no longer have to check it everywhere; NullGraphicsContext overrides
everything with an empty implementation. We keep paintingDisabled() for
use in code outside of GraphicsContext, where it just distinguishes between
NullGraphicsContext and the others.

Also, a few bits of cleanup to make this easier:

  • Legacy shadow radius behavior becomes a parameter to setShadow instead of a separate method.
  • canvasClip(), which hasn't done anything different than clip() since Skia, is removed.
  • GraphicsContext gains renderingMode() in place of isAcceleratedContext().
  • Subclasses override updateState() to respond to GraphicsContext state changes, as was already done for GraphicsContextImpl, to keep subclassing simple.
  • builderState(), which was unused, is removed.
  • drawPath() is introduced on all platforms, with a default implementation that just fills and strokes.
  • Headers.cmake:
  • PlatformFTW.cmake:
  • PlatformWin.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • display/css/DisplayBoxDecorationPainter.cpp:

(WebCore::Display::BoxDecorationPainter::paintBoxShadow const):

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::isAccelerated const):
(WebCore::CanvasRenderingContext2DBase::clipInternal):
(WebCore::CanvasRenderingContext2DBase::clearRect):
(WebCore::CanvasRenderingContext2DBase::applyShadow):
(WebCore::CanvasRenderingContext2DBase::createPattern):
(WebCore::CanvasRenderingContext2DBase::drawTextUnchecked):

  • page/FrameView.cpp:

(WebCore::FrameView::traverseForPaintInvalidation):
(WebCore::FrameView::adjustPageHeightDeprecated):

  • page/FrameView.h:
  • page/win/FrameCGWin.cpp:

(WebCore::imageFromRect):

  • page/win/FrameGdiWin.cpp:

(WebCore::imageFromRect):

  • platform/Cairo.cmake:
  • platform/SourcesCairo.txt:
  • platform/cocoa/DragImageCocoa.mm:

(WebCore::createDragImageForLink):

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::displayListForTextRun const):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContextState::GraphicsContextState):
(WebCore::GraphicsContextStateChange::accumulate):
(WebCore::GraphicsContextStateChange::apply const):
(WebCore::GraphicsContextStateChange::dump const):
(WebCore::GraphicsContext::~GraphicsContext):
(WebCore::GraphicsContext::save):
(WebCore::GraphicsContext::restore):
(WebCore::GraphicsContext::drawRaisedEllipse):
(WebCore::GraphicsContext::setStrokeColor):
(WebCore::GraphicsContext::setShadow):
(WebCore::GraphicsContext::clearShadow):
(WebCore::GraphicsContext::setFillColor):
(WebCore::GraphicsContext::setStrokePattern):
(WebCore::GraphicsContext::setFillPattern):
(WebCore::GraphicsContext::setStrokeGradient):
(WebCore::GraphicsContext::setFillGradient):
(WebCore::GraphicsContext::beginTransparencyLayer):
(WebCore::GraphicsContext::endTransparencyLayer):
(WebCore::GraphicsContext::drawText):
(WebCore::GraphicsContext::drawGlyphs):
(WebCore::GraphicsContext::drawEmphasisMarks):
(WebCore::GraphicsContext::drawBidiText):
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawImageBuffer):
(WebCore::GraphicsContext::drawConsumingImageBuffer):
(WebCore::GraphicsContext::clipRoundedRect):
(WebCore::GraphicsContext::clipOutRoundedRect):
(WebCore::GraphicsContext::clipToDrawingCommands):
(WebCore::GraphicsContext::clipToImageBuffer):
(WebCore::GraphicsContext::clipBounds const):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):
(WebCore::GraphicsContext::setCompositeOperation):
(WebCore::GraphicsContext::drawPath):
(WebCore::GraphicsContext::drawLineForText):
(WebCore::GraphicsContext::paintFrameForMedia):
(WebCore::NullGraphicsContext::drawConsumingImageBuffer):
(WebCore::GraphicsContext::GraphicsContext): Deleted.
(WebCore::GraphicsContext::hasPlatformContext const): Deleted.
(WebCore::GraphicsContext::setStrokeThickness): Deleted.
(WebCore::GraphicsContext::setStrokeStyle): Deleted.
(WebCore::GraphicsContext::setLegacyShadow): Deleted.
(WebCore::GraphicsContext::setShadowsIgnoreTransforms): Deleted.
(WebCore::GraphicsContext::setShouldAntialias): Deleted.
(WebCore::GraphicsContext::setShouldSmoothFonts): Deleted.
(WebCore::GraphicsContext::setShouldSubpixelQuantizeFonts): Deleted.
(WebCore::GraphicsContext::setImageInterpolationQuality): Deleted.
(WebCore::GraphicsContext::setFillRule): Deleted.
(WebCore::GraphicsContext::drawNativeImage): Deleted.
(WebCore::GraphicsContext::drawPattern): Deleted.
(WebCore::GraphicsContext::setTextDrawingMode): Deleted.
(WebCore::GraphicsContext::setAlpha): Deleted.
(WebCore::GraphicsContext::setDrawLuminanceMask): Deleted.
(WebCore::GraphicsContext::setUseDarkAppearance): Deleted.
(WebCore::GraphicsContext::setPlatformTextDrawingMode): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeStyle): Deleted.
(WebCore::GraphicsContext::setPlatformShouldSmoothFonts): Deleted.
(WebCore::GraphicsContext::isAcceleratedContext const): Deleted.
(WebCore::GraphicsContext::platformApplyDeviceScaleFactor): Deleted.
(WebCore::GraphicsContext::applyDeviceScaleFactor): Deleted.
(WebCore::GraphicsContext::fillEllipse): Deleted.
(WebCore::GraphicsContext::strokeEllipse): Deleted.
(WebCore::GraphicsContext::platformFillEllipse): Deleted.
(WebCore::GraphicsContext::platformStrokeEllipse): Deleted.
(WebCore::GraphicsContext::builderState): Deleted.
(WebCore::GraphicsContext::supportsInternalLinks const): Deleted.
(WebCore::GraphicsContext::setDestinationForRect): Deleted.
(WebCore::GraphicsContext::addDestinationAtPoint): Deleted.

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::hasPlatformContext const):
(WebCore::GraphicsContext::platformContext const):
(WebCore::GraphicsContext::paintingDisabled const):
(WebCore::GraphicsContext::performingPaintInvalidation const):
(WebCore::GraphicsContext::invalidatingControlTints const):
(WebCore::GraphicsContext::invalidatingImagesWithAsyncDecodes const):
(WebCore::GraphicsContext::detectingContentfulPaint const):
(WebCore::GraphicsContext::setStrokeThickness):
(WebCore::GraphicsContext::setStrokeStyle):
(WebCore::GraphicsContext::setStrokeGradient):
(WebCore::GraphicsContext::setFillRule):
(WebCore::GraphicsContext::setShadowsIgnoreTransforms):
(WebCore::GraphicsContext::setShouldAntialias):
(WebCore::GraphicsContext::setShouldSmoothFonts):
(WebCore::GraphicsContext::setShouldSubpixelQuantizeFonts):
(WebCore::GraphicsContext::setImageInterpolationQuality):
(WebCore::GraphicsContext::imageInterpolationQuality const):
(WebCore::GraphicsContext::setAlpha):
(WebCore::GraphicsContext::alpha const):
(WebCore::GraphicsContext::compositeOperation const):
(WebCore::GraphicsContext::blendModeOperation const):
(WebCore::GraphicsContext::setDrawLuminanceMask):
(WebCore::GraphicsContext::drawLuminanceMask const):
(WebCore::GraphicsContext::setTextDrawingMode):
(WebCore::GraphicsContext::textDrawingMode const):
(WebCore::GraphicsContext::hasVisibleShadow const):
(WebCore::GraphicsContext::hasShadow const):
(WebCore::GraphicsContext::hasBlurredShadow const):
(WebCore::GraphicsContext::setUseDarkAppearance):
(WebCore::GraphicsContext::useDarkAppearance const):
(WebCore::GraphicsContext::state const):
(WebCore::GraphicsContext::renderingMode const):
(WebCore::GraphicsContext::fillEllipse):
(WebCore::GraphicsContext::strokeEllipse):
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawImageBuffer):
(WebCore::GraphicsContext::drawConsumingImageBuffer):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::isInTransparencyLayer const):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::applyDeviceScaleFactor):
(WebCore::GraphicsContext::setURLForRect):
(WebCore::GraphicsContext::setDestinationForRect):
(WebCore::GraphicsContext::addDestinationAtPoint):
(WebCore::GraphicsContext::supportsInternalLinks const):
(WebCore::GraphicsContext::setContentfulPaintDetected):
(WebCore::GraphicsContext::contenfulPaintDetected const):
(WebCore::GraphicsContext::deprecatedPrivateContext const):
(WebCore::GraphicsContext::supportsTransparencyLayers const):
(WebCore::GraphicsContext::impl): Deleted.

  • platform/graphics/GraphicsContextImpl.cpp: Removed.
  • platform/graphics/GraphicsContextImpl.h: Removed.
  • platform/graphics/Image.cpp:

(WebCore::Image::drawTiled):

  • platform/graphics/Image.h:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ShadowBlur::ShadowBlur):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::recursiveCommitChanges):

  • platform/graphics/ca/win/PlatformCALayerWin.cpp:

(PlatformCALayerWin::drawTextAtPoint const):

  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

(PlatformCALayerWinInternal::displayCallback):
(PlatformCALayerWinInternal::drawRepaintCounters):

  • platform/graphics/ca/win/WebTiledBackingLayerWin.cpp:

(WebTiledBackingLayerWin::displayCallback):

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContextCairo::GraphicsContextCairo):
(WebCore::GraphicsContextCairo::~GraphicsContextCairo):
(WebCore::GraphicsContextCairo::hasPlatformContext const):
(WebCore::GraphicsContextCairo::getCTM const):
(WebCore::GraphicsContextCairo::platformContext const):
(WebCore::GraphicsContextCairo::save):
(WebCore::GraphicsContextCairo::restore):
(WebCore::GraphicsContextCairo::drawRect):
(WebCore::GraphicsContextCairo::drawNativeImage):
(WebCore::GraphicsContextCairo::drawLine):
(WebCore::GraphicsContextCairo::drawEllipse):
(WebCore::GraphicsContextCairo::fillPath):
(WebCore::GraphicsContextCairo::strokePath):
(WebCore::GraphicsContextCairo::fillRect):
(WebCore::GraphicsContextCairo::clip):
(WebCore::GraphicsContextCairo::clipPath):
(WebCore::GraphicsContextCairo::clipBounds const):
(WebCore::GraphicsContextCairo::clipToImageBuffer):
(WebCore::GraphicsContextCairo::drawFocusRing):
(WebCore::GraphicsContextCairo::drawLinesForText):
(WebCore::GraphicsContextCairo::drawDotsForDocumentMarker):
(WebCore::GraphicsContextCairo::roundToDevicePixels):
(WebCore::GraphicsContextCairo::translate):
(WebCore::GraphicsContextCairo::updateState):
(WebCore::GraphicsContextCairo::concatCTM):
(WebCore::GraphicsContextCairo::setCTM):
(WebCore::GraphicsContextCairo::beginTransparencyLayer):
(WebCore::GraphicsContextCairo::endTransparencyLayer):
(WebCore::GraphicsContextCairo::clearRect):
(WebCore::GraphicsContextCairo::strokeRect):
(WebCore::GraphicsContextCairo::setLineCap):
(WebCore::GraphicsContextCairo::setLineDash):
(WebCore::GraphicsContextCairo::setLineJoin):
(WebCore::GraphicsContextCairo::setMiterLimit):
(WebCore::GraphicsContextCairo::clipOut):
(WebCore::GraphicsContextCairo::rotate):
(WebCore::GraphicsContextCairo::scale):
(WebCore::GraphicsContextCairo::fillRoundedRectImpl):
(WebCore::GraphicsContextCairo::fillRectWithRoundedHole):
(WebCore::GraphicsContextCairo::drawPattern):
(WebCore::GraphicsContextCairo::renderingMode const):
(WebCore::GraphicsContextCairo::drawGlyphs):
(WebCore::GraphicsContext::platformInit): Deleted.
(WebCore::GraphicsContext::platformDestroy): Deleted.
(WebCore::GraphicsContext::getCTM const): Deleted.
(WebCore::GraphicsContext::platformContext const): Deleted.
(WebCore::GraphicsContext::savePlatformState): Deleted.
(WebCore::GraphicsContext::restorePlatformState): Deleted.
(WebCore::GraphicsContext::drawRect): Deleted.
(WebCore::GraphicsContext::drawPlatformImage): Deleted.
(WebCore::GraphicsContext::drawLine): Deleted.
(WebCore::GraphicsContext::drawEllipse): Deleted.
(WebCore::GraphicsContext::fillPath): Deleted.
(WebCore::GraphicsContext::strokePath): Deleted.
(WebCore::GraphicsContext::fillRect): Deleted.
(WebCore::GraphicsContext::clip): Deleted.
(WebCore::GraphicsContext::clipPath): Deleted.
(WebCore::GraphicsContext::clipBounds const): Deleted.
(WebCore::GraphicsContext::drawFocusRing): Deleted.
(WebCore::GraphicsContext::drawLineForText): Deleted.
(WebCore::GraphicsContext::drawLinesForText): Deleted.
(WebCore::GraphicsContext::drawDotsForDocumentMarker): Deleted.
(WebCore::GraphicsContext::roundToDevicePixels): Deleted.
(WebCore::GraphicsContext::translate): Deleted.
(WebCore::GraphicsContext::setPlatformFillColor): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeColor): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeThickness): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeStyle): Deleted.
(WebCore::GraphicsContext::setURLForRect): Deleted.
(WebCore::GraphicsContext::concatCTM): Deleted.
(WebCore::GraphicsContext::setCTM): Deleted.
(WebCore::GraphicsContext::setPlatformShadow): Deleted.
(WebCore::GraphicsContext::clearPlatformShadow): Deleted.
(WebCore::GraphicsContext::beginPlatformTransparencyLayer): Deleted.
(WebCore::GraphicsContext::endPlatformTransparencyLayer): Deleted.
(WebCore::GraphicsContext::supportsTransparencyLayers): Deleted.
(WebCore::GraphicsContext::clearRect): Deleted.
(WebCore::GraphicsContext::strokeRect): Deleted.
(WebCore::GraphicsContext::setLineCap): Deleted.
(WebCore::GraphicsContext::setLineDash): Deleted.
(WebCore::GraphicsContext::setLineJoin): Deleted.
(WebCore::GraphicsContext::setMiterLimit): Deleted.
(WebCore::GraphicsContext::setPlatformAlpha): Deleted.
(WebCore::GraphicsContext::setPlatformCompositeOperation): Deleted.
(WebCore::GraphicsContext::canvasClip): Deleted.
(WebCore::GraphicsContext::clipOut): Deleted.
(WebCore::GraphicsContext::rotate): Deleted.
(WebCore::GraphicsContext::scale): Deleted.
(WebCore::GraphicsContext::platformFillRoundedRect): Deleted.
(WebCore::GraphicsContext::fillRectWithRoundedHole): Deleted.
(WebCore::GraphicsContext::drawPlatformPattern): Deleted.
(WebCore::GraphicsContext::setPlatformShouldAntialias): Deleted.
(WebCore::GraphicsContext::setPlatformImageInterpolationQuality): Deleted.
(WebCore::GraphicsContext::isAcceleratedContext const): Deleted.

  • platform/graphics/cairo/GraphicsContextImplCairo.cpp: Removed.
  • platform/graphics/cairo/GraphicsContextImplCairo.h: Removed.
  • platform/graphics/cairo/ImageBufferCairoBackend.cpp:
  • platform/graphics/cairo/ImageBufferCairoSurfaceBackend.cpp:

(WebCore::ImageBufferCairoSurfaceBackend::ImageBufferCairoSurfaceBackend):

  • platform/graphics/cairo/PathCairo.cpp:

(WebCore::Path::strokeBoundingRect const):
(WebCore::Path::strokeContains const):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::coreInterpolationQuality):
(WebCore::cgInterpolationQuality):
(WebCore::cgTextDrawingMode):
(WebCore::GraphicsContextCG::GraphicsContextCG):
(WebCore::GraphicsContextCG::~GraphicsContextCG):
(WebCore::GraphicsContextCG::hasPlatformContext const):
(WebCore::GraphicsContextCG::platformContext const):
(WebCore::GraphicsContextCG::save):
(WebCore::GraphicsContextCG::restore):
(WebCore::GraphicsContextCG::drawNativeImage):
(WebCore::drawPatternCallback):
(WebCore::GraphicsContextCG::drawPattern):
(WebCore::GraphicsContextCG::drawRect):
(WebCore::GraphicsContextCG::drawLine):
(WebCore::GraphicsContextCG::drawEllipse):
(WebCore::GraphicsContextCG::applyStrokePattern):
(WebCore::GraphicsContextCG::applyFillPattern):
(WebCore::GraphicsContextCG::drawPath):
(WebCore::GraphicsContextCG::fillPath):
(WebCore::GraphicsContextCG::strokePath):
(WebCore::GraphicsContextCG::fillRect):
(WebCore::GraphicsContextCG::fillRoundedRectImpl):
(WebCore::GraphicsContextCG::fillRectWithRoundedHole):
(WebCore::GraphicsContextCG::clip):
(WebCore::GraphicsContextCG::clipOut):
(WebCore::GraphicsContextCG::clipPath):
(WebCore::GraphicsContextCG::clipBounds const):
(WebCore::GraphicsContextCG::beginTransparencyLayer):
(WebCore::GraphicsContextCG::endTransparencyLayer):
(WebCore::applyShadowOffsetWorkaroundIfNeeded):
(WebCore::setCGShadow):
(WebCore::GraphicsContextCG::updateState):
(WebCore::GraphicsContextCG::setMiterLimit):
(WebCore::GraphicsContextCG::clearRect):
(WebCore::GraphicsContextCG::strokeRect):
(WebCore::GraphicsContextCG::setLineCap):
(WebCore::GraphicsContextCG::setLineDash):
(WebCore::GraphicsContextCG::setLineJoin):
(WebCore::GraphicsContextCG::scale):
(WebCore::GraphicsContextCG::rotate):
(WebCore::GraphicsContextCG::translate):
(WebCore::GraphicsContextCG::concatCTM):
(WebCore::GraphicsContextCG::setCTM):
(WebCore::GraphicsContextCG::getCTM const):
(WebCore::GraphicsContextCG::roundToDevicePixels):
(WebCore::GraphicsContextCG::drawLinesForText):
(WebCore::GraphicsContextCG::setURLForRect):
(WebCore::GraphicsContextCG::setIsCALayerContext):
(WebCore::GraphicsContextCG::isCALayerContext const):
(WebCore::GraphicsContextCG::setIsAcceleratedContext):
(WebCore::GraphicsContextCG::renderingMode const):
(WebCore::GraphicsContextCG::applyDeviceScaleFactor):
(WebCore::GraphicsContextCG::fillEllipse):
(WebCore::GraphicsContextCG::strokeEllipse):
(WebCore::GraphicsContextCG::supportsInternalLinks const):
(WebCore::GraphicsContextCG::setDestinationForRect):
(WebCore::GraphicsContextCG::addDestinationAtPoint):
(WebCore::setCGStrokeColor): Deleted.
(WebCore::convertInterpolationQuality): Deleted.
(WebCore::GraphicsContext::platformInit): Deleted.
(WebCore::GraphicsContext::platformDestroy): Deleted.
(WebCore::GraphicsContext::platformContext const): Deleted.
(WebCore::GraphicsContext::savePlatformState): Deleted.
(WebCore::GraphicsContext::restorePlatformState): Deleted.
(WebCore::GraphicsContext::drawPlatformImage): Deleted.
(WebCore::GraphicsContext::drawPlatformPattern): Deleted.
(WebCore::GraphicsContext::drawRect): Deleted.
(WebCore::GraphicsContext::drawLine): Deleted.
(WebCore::GraphicsContext::drawEllipse): Deleted.
(WebCore::GraphicsContext::applyStrokePattern): Deleted.
(WebCore::GraphicsContext::applyFillPattern): Deleted.
(WebCore::GraphicsContext::drawPath): Deleted.
(WebCore::GraphicsContext::fillPath): Deleted.
(WebCore::GraphicsContext::strokePath): Deleted.
(WebCore::GraphicsContext::fillRect): Deleted.
(WebCore::GraphicsContext::platformFillRoundedRect): Deleted.
(WebCore::GraphicsContext::fillRectWithRoundedHole): Deleted.
(WebCore::GraphicsContext::clip): Deleted.
(WebCore::GraphicsContext::clipOut): Deleted.
(WebCore::GraphicsContext::clipPath): Deleted.
(WebCore::GraphicsContext::clipBounds const): Deleted.
(WebCore::GraphicsContext::beginPlatformTransparencyLayer): Deleted.
(WebCore::GraphicsContext::endPlatformTransparencyLayer): Deleted.
(WebCore::GraphicsContext::supportsTransparencyLayers): Deleted.
(WebCore::GraphicsContext::setPlatformShadow): Deleted.
(WebCore::GraphicsContext::clearPlatformShadow): Deleted.
(WebCore::GraphicsContext::setMiterLimit): Deleted.
(WebCore::GraphicsContext::clearRect): Deleted.
(WebCore::GraphicsContext::strokeRect): Deleted.
(WebCore::GraphicsContext::setLineCap): Deleted.
(WebCore::GraphicsContext::setLineDash): Deleted.
(WebCore::GraphicsContext::setLineJoin): Deleted.
(WebCore::GraphicsContext::canvasClip): Deleted.
(WebCore::GraphicsContext::scale): Deleted.
(WebCore::GraphicsContext::rotate): Deleted.
(WebCore::GraphicsContext::translate): Deleted.
(WebCore::GraphicsContext::concatCTM): Deleted.
(WebCore::GraphicsContext::setCTM): Deleted.
(WebCore::GraphicsContext::getCTM const): Deleted.
(WebCore::GraphicsContext::roundToDevicePixels): Deleted.
(WebCore::GraphicsContext::drawLineForText): Deleted.
(WebCore::GraphicsContext::drawLinesForText): Deleted.
(WebCore::GraphicsContext::setURLForRect): Deleted.
(WebCore::GraphicsContext::setPlatformImageInterpolationQuality): Deleted.
(WebCore::GraphicsContext::setIsCALayerContext): Deleted.
(WebCore::GraphicsContext::isCALayerContext const): Deleted.
(WebCore::GraphicsContext::setIsAcceleratedContext): Deleted.
(WebCore::GraphicsContext::isAcceleratedContext const): Deleted.
(WebCore::GraphicsContext::setPlatformTextDrawingMode): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeColor): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeThickness): Deleted.
(WebCore::GraphicsContext::setPlatformFillColor): Deleted.
(WebCore::GraphicsContext::setPlatformShouldAntialias): Deleted.
(WebCore::GraphicsContext::setPlatformShouldSmoothFonts): Deleted.
(WebCore::GraphicsContext::setPlatformAlpha): Deleted.
(WebCore::GraphicsContext::setPlatformCompositeOperation): Deleted.
(WebCore::GraphicsContext::platformApplyDeviceScaleFactor): Deleted.
(WebCore::GraphicsContext::platformFillEllipse): Deleted.
(WebCore::GraphicsContext::platformStrokeEllipse): Deleted.
(WebCore::GraphicsContext::supportsInternalLinks const): Deleted.
(WebCore::GraphicsContext::setDestinationForRect): Deleted.
(WebCore::GraphicsContext::addDestinationAtPoint): Deleted.

  • platform/graphics/cg/GraphicsContextCG.h:
  • platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:

(WebCore::ImageBufferCGBitmapBackend::create):

  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::strokeContains const):
(WebCore::Path::strokeBoundingRect const):

  • platform/graphics/cg/PatternCG.cpp:

(WebCore::patternCallback):

  • platform/graphics/cocoa/FontCascadeCocoa.mm:
  • platform/graphics/cocoa/GraphicsContextCocoa.mm:

(WebCore::GraphicsContextCG::drawFocusRing):
(WebCore::drawFocusRingToContextAtTime):
(WebCore::GraphicsContextCG::drawDotsForDocumentMarker):
(WebCore::GraphicsContext::drawFocusRing): Deleted.
(WebCore::GraphicsContext::drawDotsForDocumentMarker): Deleted.

  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::ensureGraphicsContext):

  • platform/graphics/displaylists/DisplayListDrawGlyphsRecorder.h:
  • platform/graphics/displaylists/DisplayListDrawGlyphsRecorderCoreText.cpp:

(WebCore::DisplayList::DrawGlyphsRecorder::createInternalContext):
(WebCore::DisplayList::DrawGlyphsRecorder::populateInternalContext):
(WebCore::DisplayList::DrawGlyphsRecorder::recordDrawGlyphs):

  • platform/graphics/displaylists/DisplayListDrawingContext.cpp:

(WebCore::DisplayList::DrawingContext::DrawingContext):
(WebCore::DisplayList::DrawingContext::recorder): Deleted.

  • platform/graphics/displaylists/DisplayListDrawingContext.h:

(WebCore::DisplayList::DrawingContext::recorder):

  • platform/graphics/displaylists/DisplayListItems.cpp:

(WebCore::DisplayList::DrawPath::apply const):

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::SetState::encode const):
(WebCore::DisplayList::SetState::decode):

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::Recorder):
(WebCore::DisplayList::Recorder::drawImageBuffer):
(WebCore::DisplayList::Recorder::getCTM const):
(WebCore::DisplayList::Recorder::drawLinesForText):
(WebCore::DisplayList::Recorder::drawFocusRing):
(WebCore::DisplayList::Recorder::clipBounds const):
(WebCore::DisplayList::Recorder::clipToDrawingCommands):
(WebCore::DisplayList::Recorder::paintFrameForMedia):
(WebCore::DisplayList::Recorder::extentFromLocalBounds const):
(WebCore::DisplayList::Recorder::clearShadow): Deleted.
(WebCore::DisplayList::Recorder::getCTM): Deleted.
(WebCore::DisplayList::Recorder::clipBounds): Deleted.
(WebCore::DisplayList::Recorder::canPaintFrameForMedia const): Deleted.

  • platform/graphics/displaylists/DisplayListRecorder.h:

(WebCore::DisplayList::Recorder::append):

  • platform/graphics/mac/ColorMac.mm:

(WebCore::makeSimpleColorFromNSColor):

  • platform/graphics/mac/WebLayer.mm:

(-[WebLayer drawInContext:]):
(-[WebSimpleLayer drawInContext:]):

  • platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:

(Nicosia::CairoOperationRecorder::CairoOperationRecorder):
(Nicosia::CairoOperationRecorder::fillRect):
(Nicosia::CairoOperationRecorder::fillRoundedRect):
(Nicosia::CairoOperationRecorder::fillRectWithRoundedHole):
(Nicosia::CairoOperationRecorder::fillPath):
(Nicosia::CairoOperationRecorder::fillEllipse):
(Nicosia::CairoOperationRecorder::strokeRect):
(Nicosia::CairoOperationRecorder::strokePath):
(Nicosia::CairoOperationRecorder::strokeEllipse):
(Nicosia::CairoOperationRecorder::drawGlyphs):
(Nicosia::CairoOperationRecorder::drawNativeImage):
(Nicosia::CairoOperationRecorder::drawRect):
(Nicosia::CairoOperationRecorder::drawLine):
(Nicosia::CairoOperationRecorder::drawLinesForText):
(Nicosia::CairoOperationRecorder::drawEllipse):
(Nicosia::CairoOperationRecorder::getCTM const):
(Nicosia::CairoOperationRecorder::clipBounds const):
(Nicosia::CairoOperationRecorder::clipToDrawingCommands):
(Nicosia::CairoOperationRecorder::paintFrameForMedia):
(Nicosia::CairoOperationRecorder::clearShadow): Deleted.
(Nicosia::CairoOperationRecorder::drawPath): Deleted.
(Nicosia::CairoOperationRecorder::getCTM): Deleted.
(Nicosia::CairoOperationRecorder::clipBounds): Deleted.

  • platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
  • platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.cpp:

(Nicosia::PaintingContextCairo::ForPainting::ForPainting):
(Nicosia::PaintingContextCairo::ForRecording::ForRecording):

  • platform/graphics/win/GraphicsContextCGWin.cpp:

(WebCore::GraphicsContextCG::GraphicsContextCG):
(WebCore::GraphicsContext::releaseWindowsContext):
(WebCore::GraphicsContext::drawWindowsBitmap):
(WebCore::GraphicsContextCG::drawFocusRing):
(WebCore::GraphicsContextCG::drawDotsForDocumentMarker):
(WebCore::GraphicsContextCG::deprecatedPrivateContext const):
(WebCore::GraphicsContext::GraphicsContext): Deleted.
(WebCore::GraphicsContext::platformInit): Deleted.
(WebCore::GraphicsContext::drawFocusRing): Deleted.
(WebCore::GraphicsContext::drawDotsForDocumentMarker): Deleted.

  • platform/graphics/win/GraphicsContextCairoWin.cpp:

(WebCore::GraphicsContextCairo::GraphicsContextCairo):
(WebCore::GraphicsContext::releaseWindowsContext):
(WebCore::GraphicsContextCairo::deprecatedPrivateContext const):
(WebCore::GraphicsContext::GraphicsContext): Deleted.
(WebCore::GraphicsContext::platformInit): Deleted.

  • platform/graphics/win/GraphicsContextDirect2D.cpp:

(WebCore::GraphicsContextDirect2D::GraphicsContextDirect2D):
(WebCore::GraphicsContextDirect2D::systemFactory):
(WebCore::GraphicsContextDirect2D::defaultRenderTarget):
(WebCore::GraphicsContextDirect2D::platformInit):
(WebCore::GraphicsContextDirect2D::~GraphicsContextDirect2D):
(WebCore::GraphicsContextDirect2D::platformContext const):
(WebCore::GraphicsContextDirect2D::save):
(WebCore::GraphicsContextDirect2D::restore):
(WebCore::GraphicsContextDirect2D::drawNativeImage):
(WebCore::GraphicsContextDirect2D::releaseWindowsContext):
(WebCore::GraphicsContextDirect2D::drawWindowsBitmap):
(WebCore::GraphicsContextDirect2D::drawFocusRing):
(WebCore::GraphicsContextDirect2D::drawDotsForDocumentMarker):
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContextDirect2D::brushWithColor):
(WebCore::GraphicsContextDirect2D::colorWithGlobalAlpha const):
(WebCore::GraphicsContextDirect2D::solidStrokeBrush const):
(WebCore::GraphicsContextDirect2D::solidFillBrush const):
(WebCore::GraphicsContextDirect2D::patternStrokeBrush const):
(WebCore::GraphicsContextDirect2D::patternFillBrush const):
(WebCore::GraphicsContextDirect2D::beginDraw):
(WebCore::GraphicsContextDirect2D::endDraw):
(WebCore::GraphicsContextDirect2D::flush):
(WebCore::GraphicsContextDirect2D::drawPattern):
(WebCore::GraphicsContextDirect2D::drawRect):
(WebCore::GraphicsContextDirect2D::strokeStyle const):
(WebCore::GraphicsContextDirect2D::drawLine):
(WebCore::GraphicsContextDirect2D::drawEllipse):
(WebCore::GraphicsContextDirect2D::applyStrokePattern):
(WebCore::GraphicsContextDirect2D::applyFillPattern):
(WebCore::GraphicsContextDirect2D::drawPath):
(WebCore::GraphicsContextDirect2D::fillPath):
(WebCore::GraphicsContextDirect2D::strokePath):
(WebCore::GraphicsContextDirect2D::fillRect):
(WebCore::GraphicsContextDirect2D::fillRoundedRectImpl):
(WebCore::GraphicsContextDirect2D::fillRectWithRoundedHole):
(WebCore::GraphicsContextDirect2D::clip):
(WebCore::GraphicsContextDirect2D::clipOut):
(WebCore::GraphicsContextDirect2D::clipPath):
(WebCore::GraphicsContextDirect2D::clipBounds const):
(WebCore::GraphicsContextDirect2D::beginTransparencyLayer):
(WebCore::GraphicsContextDirect2D::endTransparencyLayer):
(WebCore::GraphicsContextDirect2D::supportsTransparencyLayers):
(WebCore::GraphicsContextDirect2D::updateState):
(WebCore::GraphicsContextDirect2D::setMiterLimit):
(WebCore::GraphicsContextDirect2D::clearRect):
(WebCore::GraphicsContextDirect2D::strokeRect):
(WebCore::GraphicsContextDirect2D::setLineCap):
(WebCore::GraphicsContextDirect2D::setLineDash):
(WebCore::GraphicsContextDirect2D::setLineJoin):
(WebCore::GraphicsContextDirect2D::scale):
(WebCore::GraphicsContextDirect2D::rotate):
(WebCore::GraphicsContextDirect2D::translate):
(WebCore::GraphicsContextDirect2D::concatCTM):
(WebCore::GraphicsContextDirect2D::setCTM):
(WebCore::GraphicsContextDirect2D::getCTM const):
(WebCore::GraphicsContextDirect2D::roundToDevicePixels):
(WebCore::GraphicsContextDirect2D::drawLinesForText):
(WebCore::GraphicsContextDirect2D::setURLForRect):
(WebCore::GraphicsContextDirect2D::setIsCALayerContext):
(WebCore::GraphicsContextDirect2D::isCALayerContext const):
(WebCore::GraphicsContextDirect2D::setIsAcceleratedContext):
(WebCore::GraphicsContextDirect2D::isAcceleratedContext const):
(WebCore::GraphicsContextDirect2D::applyDeviceScaleFactor):
(WebCore::GraphicsContextDirect2D::fillEllipse):
(WebCore::GraphicsContextDirect2D::strokeEllipse):
(WebCore::GraphicsContextDirect2D::drawGlyphs):
(WebCore::GraphicsContextDirect2D::clipToDrawingCommands):
(WebCore::GraphicsContextDirect2D::clipToImageBuffer):
(WebCore::GraphicsContextDirect2D::paintFrameForMedia):
(WebCore::GraphicsContext::GraphicsContext): Deleted.
(WebCore::GraphicsContext::systemFactory): Deleted.
(WebCore::GraphicsContext::defaultRenderTarget): Deleted.
(WebCore::GraphicsContext::platformInit): Deleted.
(WebCore::GraphicsContext::platformDestroy): Deleted.
(WebCore::GraphicsContext::platformContext const): Deleted.
(WebCore::GraphicsContext::savePlatformState): Deleted.
(WebCore::GraphicsContext::restorePlatformState): Deleted.
(WebCore::GraphicsContext::drawPlatformImage): Deleted.
(WebCore::GraphicsContext::releaseWindowsContext): Deleted.
(WebCore::GraphicsContext::drawWindowsBitmap): Deleted.
(WebCore::GraphicsContext::drawFocusRing): Deleted.
(WebCore::GraphicsContext::drawDotsForDocumentMarker): Deleted.
(WebCore::GraphicsContext::brushWithColor): Deleted.
(WebCore::GraphicsContext::colorWithGlobalAlpha const): Deleted.
(WebCore::GraphicsContext::solidStrokeBrush const): Deleted.
(WebCore::GraphicsContext::solidFillBrush const): Deleted.
(WebCore::GraphicsContext::patternStrokeBrush const): Deleted.
(WebCore::GraphicsContext::patternFillBrush const): Deleted.
(WebCore::GraphicsContext::beginDraw): Deleted.
(WebCore::GraphicsContext::endDraw): Deleted.
(WebCore::GraphicsContext::flush): Deleted.
(WebCore::GraphicsContext::drawPlatformPattern): Deleted.
(WebCore::GraphicsContext::drawRect): Deleted.
(WebCore::GraphicsContext::platformStrokeStyle const): Deleted.
(WebCore::GraphicsContext::drawLine): Deleted.
(WebCore::GraphicsContext::drawEllipse): Deleted.
(WebCore::GraphicsContext::applyStrokePattern): Deleted.
(WebCore::GraphicsContext::applyFillPattern): Deleted.
(WebCore::GraphicsContext::drawPath): Deleted.
(WebCore::GraphicsContext::fillPath): Deleted.
(WebCore::GraphicsContext::strokePath): Deleted.
(WebCore::GraphicsContext::fillRect): Deleted.
(WebCore::GraphicsContext::platformFillRoundedRect): Deleted.
(WebCore::GraphicsContext::fillRectWithRoundedHole): Deleted.
(WebCore::GraphicsContext::clip): Deleted.
(WebCore::GraphicsContext::clipOut): Deleted.
(WebCore::GraphicsContext::clipPath): Deleted.
(WebCore::GraphicsContext::clipBounds const): Deleted.
(WebCore::GraphicsContext::beginPlatformTransparencyLayer): Deleted.
(WebCore::GraphicsContext::endPlatformTransparencyLayer): Deleted.
(WebCore::GraphicsContext::supportsTransparencyLayers): Deleted.
(WebCore::GraphicsContext::setPlatformShadow): Deleted.
(WebCore::GraphicsContext::clearPlatformShadow): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeStyle): Deleted.
(WebCore::GraphicsContext::setMiterLimit): Deleted.
(WebCore::GraphicsContext::clearRect): Deleted.
(WebCore::GraphicsContext::strokeRect): Deleted.
(WebCore::GraphicsContext::setLineCap): Deleted.
(WebCore::GraphicsContext::setLineDash): Deleted.
(WebCore::GraphicsContext::setLineJoin): Deleted.
(WebCore::GraphicsContext::canvasClip): Deleted.
(WebCore::GraphicsContext::scale): Deleted.
(WebCore::GraphicsContext::rotate): Deleted.
(WebCore::GraphicsContext::translate): Deleted.
(WebCore::GraphicsContext::concatCTM): Deleted.
(WebCore::GraphicsContext::setCTM): Deleted.
(WebCore::GraphicsContext::getCTM const): Deleted.
(WebCore::GraphicsContext::roundToDevicePixels): Deleted.
(WebCore::GraphicsContext::drawLineForText): Deleted.
(WebCore::GraphicsContext::drawLinesForText): Deleted.
(WebCore::GraphicsContext::setURLForRect): Deleted.
(WebCore::GraphicsContext::setPlatformImageInterpolationQuality): Deleted.
(WebCore::GraphicsContext::setIsCALayerContext): Deleted.
(WebCore::GraphicsContext::isCALayerContext const): Deleted.
(WebCore::GraphicsContext::setIsAcceleratedContext): Deleted.
(WebCore::GraphicsContext::isAcceleratedContext const): Deleted.
(WebCore::GraphicsContext::setPlatformTextDrawingMode): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeColor): Deleted.
(WebCore::GraphicsContext::setPlatformStrokeThickness): Deleted.
(WebCore::GraphicsContext::setPlatformFillColor): Deleted.
(WebCore::GraphicsContext::setPlatformShouldAntialias): Deleted.
(WebCore::GraphicsContext::setPlatformShouldSmoothFonts): Deleted.
(WebCore::GraphicsContext::setPlatformAlpha): Deleted.
(WebCore::GraphicsContext::setPlatformCompositeOperation): Deleted.
(WebCore::GraphicsContext::platformApplyDeviceScaleFactor): Deleted.
(WebCore::GraphicsContext::platformFillEllipse): Deleted.
(WebCore::GraphicsContext::platformStrokeEllipse): Deleted.

  • platform/graphics/win/GraphicsContextImplDirect2D.cpp: Removed.
  • platform/graphics/win/GraphicsContextImplDirect2D.h: Removed.
  • platform/graphics/win/GraphicsContextWin.cpp:

(WebCore::GraphicsContext::setShouldIncludeChildWindows):
(WebCore::GraphicsContext::shouldIncludeChildWindows const):
(WebCore::GraphicsContext::createWindowsBitmap):
(WebCore::GraphicsContext::getWindowsContext):
(WebCore::GraphicsContext::hdc const):

  • platform/graphics/win/ImageBufferDirect2DBackend.cpp:

(WebCore::ImageBufferDirect2DBackend::create):

  • platform/graphics/win/ImageCGWin.cpp:

(WebCore::BitmapImage::getHBITMAPOfSize):

  • platform/graphics/win/ImageCairoWin.cpp:

(WebCore::BitmapImage::getHBITMAPOfSize):

  • platform/graphics/win/PathDirect2D.cpp:

(WebCore::Path::strokeContains const):
(WebCore::Path::strokeBoundingRect const):

  • platform/ios/DragImageIOS.mm:

(WebCore::createDragImageFromImage):
(WebCore::createDragImageForLink):
(WebCore::createDragImageForSelection):
(WebCore::createDragImageForRange):
(WebCore::createDragImageForColor):

  • platform/mediastream/cocoa/AudioMediaStreamTrackRendererCocoa.cpp:
  • platform/win/DragImageWin.cpp:

(WebCore::createDragImageForLink):

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::paint):

  • rendering/ContentfulPaintChecker.cpp:

(WebCore::ContentfulPaintChecker::qualifiesForContentfulPaint):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::applyBoxShadowForBackground):
(WebCore::RenderBoxModelObject::paintBoxShadow):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateEventRegion):

Source/WebKit:

  • Shared/cairo/ShareableBitmapCairo.cpp:

(WebKit::ShareableBitmap::createGraphicsContext):

  • Shared/cg/ShareableBitmapCG.cpp:

(WebKit::ShareableBitmap::createGraphicsContext):

  • Shared/win/ShareableBitmapDirect2D.cpp:

(WebKit::ShareableBitmap::createGraphicsContext):

  • UIProcess/cairo/BackingStoreCairo.cpp:

(WebKit::BackingStore::incorporateUpdate):

  • UIProcess/mac/WKPrintingView.mm:

(-[WKPrintingView _drawPreview:]):

  • UIProcess/win/BackingStoreDirect2D.cpp:
  • UIProcess/win/WebPopupMenuProxyWin.cpp:

(WebKit::WebPopupMenuProxyWin::paint):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::paintControlForLayerInContext):

  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::pdfSnapshotAtSize):

  • WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::drawPagesToPDFImpl):

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:

(WebKit::WebPrintOperationGtk::renderPage):

Source/WebKitLegacy/mac:

  • Misc/WebCoreStatistics.mm:

(-[WebFrame printToCGContext:pageWidth:pageHeight:]):

  • Misc/WebKitNSStringExtras.mm:

(-[NSString _web_drawAtPoint:font:textColor:]):

  • WebInspector/WebNodeHighlightView.mm:

(-[WebNodeHighlightView drawRect:]):

  • WebView/WebFrame.mm:

(-[WebFrame _drawRect:contentsOnly:]):

Source/WebKitLegacy/win:

  • FullscreenVideoController.cpp:

(FullscreenVideoController::draw):

  • WebFrame.cpp:

(WebFrame::paintDocumentRectToContext):
(WebFrame::paintScrollViewRectToContextAtPoint):
(WebFrame::spoolPages):

  • WebNodeHighlight.cpp:

(WebNodeHighlight::update):

  • WebView.cpp:

(WebView::paintWithDirect2D):
(WebView::paintIntoBackingStore):

Tools:

  • TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:

(TestWebKitAPI::TEST):

4:52 PM Changeset in webkit [278061] by mark.lam@apple.com
  • 2 edits in trunk/Tools

Raise jitMemoryReservationSize for ftl-no-cjit-small-pool* tests.
https://bugs.webkit.org/show_bug.cgi?id=226205

Rubber-stamped by Saam Barati.

The bump to 75K didn't relieve the jsc EWS bot. Trying a bump to 100K this time.

  • Scripts/run-jsc-stress-tests:
4:35 PM Changeset in webkit [278060] by Russell Epstein
  • 1 copy in tags/Safari-611.3.6.0.2

Tag Safari-611.3.6.0.2.

4:33 PM Changeset in webkit [278059] by Russell Epstein
  • 1 copy in tags/Safari-611.3.6.1.2

Tag Safari-611.3.6.1.2.

4:19 PM Changeset in webkit [278058] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Stop using UncheckedLock in Node's s_eventTargetDataMapLock
https://bugs.webkit.org/show_bug.cgi?id=226191

Reviewed by Geoffrey Garen.

Stop using UncheckedLock in Node's s_eventTargetDataMapLock. This is a step towards phasing
out UncheckedLock in favor of Lock which supports Clang Thread Safety Analysis.

Note that I had to factor the code a little differently because Clang Thread Safety Analysis
doesn't support conditional locking.

  • dom/Node.cpp:

(WebCore::Node::eventTargetDataConcurrently):

4:19 PM Changeset in webkit [278057] by Chris Dumez
  • 13 edits in trunk/Source

Stop using UncheckedLock in html/canvas
https://bugs.webkit.org/show_bug.cgi?id=226186

Reviewed by Darin Adler.

Source/WebCore:

Stop using UncheckedLock in html/canvas. This is a step towards phasing out
UncheckedLock, in favor of the checked Lock. Technically, the code still
doesn't do much thread-safety analysis after this change. It is very difficult
to adopt thread-safety analysis here because the call sites don't always lock
(there are cases where no locking is needed). It is also hard to get a reference
to the various locks to make WTF_REQUIRES_LOCK() work.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::deleteVertexArray):

  • html/canvas/WebGLContextGroup.cpp:

(WebCore::WebGLContextGroup::objectGraphLockForAContext):

  • html/canvas/WebGLContextGroup.h:
  • html/canvas/WebGLContextObject.cpp:

(WebCore::WebGLContextObject::objectGraphLockForContext):

  • html/canvas/WebGLContextObject.h:
  • html/canvas/WebGLObject.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::objectGraphLock):

  • html/canvas/WebGLRenderingContextBase.h:
  • html/canvas/WebGLSharedObject.cpp:

(WebCore::WebGLSharedObject::objectGraphLockForContext):

  • html/canvas/WebGLSharedObject.h:

Source/WTF:

Allow converting a Locker<Lock> to an AbstractLocker type. This allows porting
code from UncheckedLock to Lock even if said code is passing the Locker<Lock>
as parameter around as an AbstractLocker. This is very common in JSC and in
html/canvas.

Also make DropLockForScope work with Locker<Lock> to help port code over.

  • wtf/Lock.h:
4:17 PM Changeset in webkit [278056] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

[iOS] ASSERTION FAILED: !isMainThread() in WebCore::SpeechRecognitionCaptureSourceImpl::audioSamplesAvailable
https://bugs.webkit.org/show_bug.cgi?id=226247
<rdar://problem/78481513>

Unreviewed, drop threading assertions I added in r277921 as my understanding was wrong
about which thread the functions run on and they are hitting on the bots.

  • Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp:

(WebCore::SpeechRecognitionCaptureSourceImpl::updateDataSource):

  • Modules/speech/SpeechRecognitionCaptureSourceImpl.h:
4:14 PM Changeset in webkit [278055] by Chris Dumez
  • 3 edits in trunk/Source/JavaScriptCore

Stop using UncheckedLock in JSC::PerfLog
https://bugs.webkit.org/show_bug.cgi?id=226209

Reviewed by Saam Barati.

Stop using UncheckedLock in JSC::PerfLog and use Lock instead to benefit from Clang thread
safety analysis.

  • assembler/PerfLog.cpp:

(JSC::PerfLog::PerfLog):
(JSC::PerfLog::write):
(JSC::PerfLog::flush):
(JSC::PerfLog::log):

  • assembler/PerfLog.h:
4:07 PM Changeset in webkit [278054] by Russell Epstein
  • 1 copy in tags/Safari-612.1.15.0.7

Tag Safari-612.1.15.0.7.

3:34 PM Changeset in webkit [278053] by sihui_liu@apple.com
  • 6 edits in trunk/Source/WebCore

Make error returned by SQLiteIDBBackingStore::getOrEstablishDatabaseInfo more detailed
https://bugs.webkit.org/show_bug.cgi?id=226124

Reviewed by Chris Dumez.

Convert some error loggings to error info to help debug rdar://77532291.

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::createOrMigrateRecordsTableIfNecessary):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidBlobTables):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidRecordsTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsRecordIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidObjectStoreInfoTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):

  • Modules/indexeddb/server/SQLiteIDBBackingStore.h:
  • platform/sql/SQLiteDatabase.cpp: add two helper funtions that are used in many places.

(WebCore::SQLiteDatabase::tableExists):
(WebCore::SQLiteDatabase::tableSQL):
(WebCore::SQLiteDatabase::indexSQL):

  • platform/sql/SQLiteDatabase.h:
2:34 PM Changeset in webkit [278052] by Russell Epstein
  • 2 edits in branches/safari-612.1.15.1-branch/Source/WebKit

Cherry-pick r278009. rdar://problem/78463104

Ensure app highlight visibility observer is initialized before adding a new highlight
https://bugs.webkit.org/show_bug.cgi?id=226214
rdar://78173370

Patch by Matt Mokary <mmokary@apple.com> on 2021-05-25
Reviewed by Wenson Hsieh.

The app highlight visibility observer is initialized before restoring highlights, but was not initialized
before adding a new one. It must be initialized before adding a highlight so a change in visibility resulting
from a new highlight is handled correct.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::createAppHighlightInSelectedRange):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278009 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2:11 PM Changeset in webkit [278051] by Amir Mark Jr.
  • 2 edits in trunk/LayoutTests

[ Catalina E Wk1 ] imported/w3c/web-platform-tests/css/css-backgrounds/hidpi/simple-bg-color.html is flaky failure
https://bugs.webkit.org/show_bug.cgi?id=226229

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
2:05 PM Changeset in webkit [278050] by Russell Epstein
  • 5 edits in branches/safari-611.3.6.1-branch/Source

Cherry-pick r277881. rdar://problem/78467211

[Cocoa] Unable to upload files that are stored in the cloud (without a local copy)
https://bugs.webkit.org/show_bug.cgi?id=226090
<rdar://77775887>

Reviewed by Darin Adler.

Source/WebKit:

Allow the network process to load / read dataless files stored in the cloud by allowing
the process to materialize such files. I initially only allowed the AsyncFileStream
thread to materialize the dataless files and this was enough to make the file upload
use cases work. However, I noticed that drag and dropping such file in the Safari URL
bar would fail loading, which I think is bad user experience. As a result, I have
decided to allow the materializing at network process level.

I have verified manually that I can now upload such dataless files via either file
picker or drag and drop (used https://blueimp.github.io/jQuery-File-Upload/). I have
also verified that drag and dropping such a file in the Safari URL bar successfuly
loads that file.

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

Source/WTF:

Add FileSystem API to allow/disallow the materializing of dataless files stored
in the cloud, at process or thread level.

  • wtf/FileSystem.h:
  • wtf/cocoa/FileSystemCocoa.mm: (WTF::FileSystemImpl::toIOPolicyScope): (WTF::FileSystemImpl::setAllowsMaterializingDatalessFiles): (WTF::FileSystemImpl::allowsMaterializingDatalessFiles):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277881 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2:01 PM Changeset in webkit [278049] by don.olmstead@sony.com
  • 2 edits in trunk/Source/WebKit

[PlayStation] Update usage of libWPE API
https://bugs.webkit.org/show_bug.cgi?id=226231

Reviewed by Ross Kirsling.

Update to use 1.6.0+ API version.

  • UIProcess/API/C/playstation/WKPagePrivatePlayStation.cpp:

(WKPageHandleWheelEvent):

1:47 PM Changeset in webkit [278048] by Russell Epstein
  • 1 edit in branches/safari-611.3.6.0-branch/Source/WTF/wtf/cocoa/FileSystemCocoa.mm

Unreviewed build fix, rdar://problem/78467190

1:37 PM Changeset in webkit [278047] by don.olmstead@sony.com
  • 2 edits in trunk/Source/WebCore

[PlayStation] Build failure in UserAgentPlayStation
https://bugs.webkit.org/show_bug.cgi?id=226232

Unreviewed build fix after r277967.

  • platform/playstation/UserAgentPlayStation.cpp:

(WebCore::standardUserAgentStatic):

1:37 PM Changeset in webkit [278046] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.1-branch/Source

Versioning.

WebKit-7612.1.15.1.13

1:36 PM Changeset in webkit [278045] by Russell Epstein
  • 1 copy in tags/Safari-612.1.15.1.12

Tag Safari-612.1.15.1.12.

1:35 PM Changeset in webkit [278044] by Russell Epstein
  • 1 delete in tags/Safari-612.1.15.1.12

Delete tag.

1:35 PM Changeset in webkit [278043] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.1-branch/Source

Revert "Versioning."

This reverts commit r278039.

1:31 PM Changeset in webkit [278042] by Chris Dumez
  • 10 edits in trunk

SecurityPolicyViolationEvent.constructor do not throw any exception as expected when eventInitDict param do not include all the members required
https://bugs.webkit.org/show_bug.cgi?id=226215

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT tests that are now passing.

  • web-platform-tests/content-security-policy/securitypolicyviolation/constructor-required-fields-expected.txt:
  • web-platform-tests/content-security-policy/securitypolicyviolation/idlharness.window-expected.txt:

Source/WebCore:

Update our SecurityPolicyViolationEvent & SecurityPolicyViolationEventInit IDL to match
Blink more closely, which gets us much closer to the specification:

I added comments in the IDL for cases where we intentionally don't match the specification
because it would not be compatible with Blink.

The following changes were made:

  • Mark documentURI, violatedDirective, effectiveDirective, originalPolicy, disposition and statusCode dictionary members as required.
  • Use 'unsigned long' type for lineNumber & columNumber dictionary members instead of 'long'.
  • Add disposition and sample dictionary members.
  • Use USVString type for referrer dictionary member instead of DOMString
  • Allow workers to construct a SecurityPolicyViolationEvent.
  • Add documentURL, blockedURL, sample, disposition, lineno, colno attributes to SecurityPolicyViolationEvent.
  • dom/SecurityPolicyViolationEvent.h:

(WebCore::SecurityPolicyViolationEvent::Init::encode const):
(WebCore::SecurityPolicyViolationEvent::Init::decode):

  • dom/SecurityPolicyViolationEvent.idl:
  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::reportViolation const):

LayoutTests:

Update existing test so that it keeps passing with the new SecurityPolicyViolationEvent constructor
changes.

  • http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-basics-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-basics.html:
1:29 PM Changeset in webkit [278041] by keith_miller@apple.com
  • 2 edits in trunk/Tools

Wasm low memory tests should have a larger executable pool
https://bugs.webkit.org/show_bug.cgi?id=226233

Reviewed by Saam Barati.

With some other recent JSC changes we can sometimes go over the allocation pool we set aside. Let's bump the number.

  • Scripts/run-jsc-stress-tests:
1:27 PM Changeset in webkit [278040] by Sam Sneddon
  • 9 edits in trunk/Tools

Run webkitpy integration tests under pytest by default
https://bugs.webkit.org/show_bug.cgi?id=226017

Reviewed by Jonathan Bedard.

This involves adding a variety of new xfail annotations and moving some tests to
be serial to avoid flakiness.

  • Scripts/webkitpy/common/config/committers_unittest.py:

(CommittersTest):

  • Scripts/webkitpy/conftest.py:

(pytest_addoption): Remove --run-integration
(pytest_collection_modifyitems): Remove --run-integration

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(RunTest.serial_test_basic):
(RunTest.serial_test_batch_size):
(RunTest.serial_test_dryrun):
(RunTest.serial_test_full_results_html):
(RunTest.serial_test_no_order_with_directory_entries_in_natural_order):
(RunTest.serial_test_gc_between_tests):
(RunTest.serial_test_check_for_world_leaks):
(RunTest.serial_test_complex_text):
(RunTest.serial_test_threaded):
(RunTest.serial_test_run_force):
(RunTest.serial_test_run_singly):
(RunTest.serial_test_skip_failing_tests):
(RunTest.serial_test_run_singly_actually_runs_tests):
(RunTest.serial_test_stderr_is_saved):
(RunTest.serial_test_results_directory_absolute):
(RunTest.serial_test_results_directory_default):
(RunTest.serial_test_results_directory_relative):
(RunTest.serial_test_run_orderinline):
(RunTest.serial_test_additional_platform_directory):
(RunTest.serial_test_no_http_and_force):
(RunTest.serial_test_no_http_tests):
(RunTest.serial_test_platform_tests_are_found):

  • Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py:

(BaseTest):
(HTTPServerTest):
(HTTPServerTest.integration_test_servernormal):
(HTTPServerTest.integration_test_server
fails):
(HTTPServerTest.integration_test_port_and_root):
(WebsocketserverTest):
(WebsocketserverTest.integration_test_servernormal):
(WebsocketserverTest.integration_test_server
fails):
(WebsocketserverTest.integration_test_port_and_root):

  • Scripts/webkitpy/port/port_testcase.py:

(PortTestCase):

  • Scripts/webkitpy/test/main_unittest.py:

(TesterTest):

  • Scripts/webkitpy/test/markers.py:

(skip): Add skip

  • Scripts/webkitpy/tool/steps/haslanded_unittest.py:

(HasLandedTest): Always skip this, as it seems to fail always

1:25 PM Changeset in webkit [278039] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.1-branch/Source

Versioning.

WebKit-7612.1.15.1.13

1:24 PM Changeset in webkit [278038] by Russell Epstein
  • 1 copy in tags/Safari-612.1.15.1.12

Tag Safari-612.1.15.1.12.

1:06 PM Changeset in webkit [278037] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.1-branch/Source

Versioning.

WebKit-7612.1.15.1.12

12:41 PM Changeset in webkit [278036] by Russell Epstein
  • 5 edits in branches/safari-611.3.6.0-branch/Source

Cherry-pick r277881. rdar://problem/78467190

[Cocoa] Unable to upload files that are stored in the cloud (without a local copy)
https://bugs.webkit.org/show_bug.cgi?id=226090
<rdar://77775887>

Reviewed by Darin Adler.

Source/WebKit:

Allow the network process to load / read dataless files stored in the cloud by allowing
the process to materialize such files. I initially only allowed the AsyncFileStream
thread to materialize the dataless files and this was enough to make the file upload
use cases work. However, I noticed that drag and dropping such file in the Safari URL
bar would fail loading, which I think is bad user experience. As a result, I have
decided to allow the materializing at network process level.

I have verified manually that I can now upload such dataless files via either file
picker or drag and drop (used https://blueimp.github.io/jQuery-File-Upload/). I have
also verified that drag and dropping such a file in the Safari URL bar successfuly
loads that file.

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

Source/WTF:

Add FileSystem API to allow/disallow the materializing of dataless files stored
in the cloud, at process or thread level.

  • wtf/FileSystem.h:
  • wtf/cocoa/FileSystemCocoa.mm: (WTF::FileSystemImpl::toIOPolicyScope): (WTF::FileSystemImpl::setAllowsMaterializingDatalessFiles): (WTF::FileSystemImpl::allowsMaterializingDatalessFiles):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277881 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:35 PM Changeset in webkit [278035] by Darin Adler
  • 38 edits
    1 delete in trunk

Switch from WTF::Optional to std::optional
https://bugs.webkit.org/show_bug.cgi?id=211674

Reviewed by Chris Dumez.

Source/JavaScriptCore:

  • runtime/IntlCollator.cpp:

(JSC::IntlCollator::initializeCollator): Use JSObject* instead of
Optional<JSObject&>.

  • runtime/IntlDateTimeFormat.cpp:

(JSC::toDateTimeOptionsAnyDate): Ditto.
(JSC::IntlDateTimeFormat::initializeDateTimeFormat): Ditto.

  • runtime/IntlDisplayNames.cpp:

(JSC::IntlDisplayNames::initializeDisplayNames): Ditto.

  • runtime/IntlListFormat.cpp:

(JSC::IntlListFormat::initializeListFormat): Ditto.

  • runtime/IntlLocale.cpp:

(JSC::IntlLocale::initializeLocale): Ditto.

  • runtime/IntlNumberFormat.cpp:

(JSC::IntlNumberFormat::initializeNumberFormat): Ditto.

  • runtime/IntlNumberFormat.h: Ditto.
  • runtime/IntlNumberFormatInlines.h:

(JSC::setNumberFormatDigitOptions): Ditto.

  • runtime/IntlObject.cpp:

(JSC::intlBooleanOption): Ditto.
(JSC::intlStringOption): Ditto.
(JSC::intlNumberOption): Ditto.
(JSC::supportedLocales): Ditto.

  • runtime/IntlObject.h: Ditto.
  • runtime/IntlObjectInlines.h:

(JSC::intlOption): Ditto.
(JSC::intlGetOptionsObject): Ditto.
(JSC::intlCoerceOptionsToObject): Ditto.

  • runtime/IntlPluralRules.cpp:

(JSC::IntlPluralRules::initializePluralRules): Ditto.

  • runtime/IntlPluralRules.h: Ditto.
  • runtime/IntlRelativeTimeFormat.cpp:

(JSC::IntlRelativeTimeFormat::initializeRelativeTimeFormat): Ditto.

  • runtime/IntlSegmenter.cpp:

(JSC::IntlSegmenter::initializeSegmenter): Ditto.

Source/WebCore:

  • platform/graphics/VP9Utilities.h: Tweaked coding style a bit.

Added missing operator!= because std::optional's operator!= relies
on that, while WTF::Optional's operator!= relied on operator==.

  • platform/mediastream/libwebrtc/GStreamerVideoEncoder.cpp:

(Encoders::definition): Use a pointer instead of Optional<&>.

  • testing/Internals.cpp:

(WebCore::Internals::setVP9ScreenSizeAndScaleForTesting): Use a
form of construction for ScreenDataOverrides that works with both
WTF::Optional and std::optional. Something about way the old code
used WTF::makeOptional was not compatible with std::make_optional,
but it was easy to make it more straightforward and not even have
to use a "make" function.

Source/WebKit:

  • Platform/IPC/ArgumentCoder.h:

(IPC::ArgumentCoder::decode): Add a WTFMove. Turns out this was not needed
to get compiling with std::optional, but it's a good idea for performance.
This is one of those cases where it looks like the return value optimization
would work, but it doesn't because the return value doesn't exactly match
the local variable's type.

  • Shared/TouchBarMenuData.h: Remove some overzealous use of explicit that

was preventing some files from compiling with the stricter std::optional
constructor rules, while it did not prevent compiling with WTF::Optional.

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::switchToBrowsingContext): Removed an unused
lambda capture and local variable. Not clear how this is related to
std::optional, but showed up as a compiler warning.

Source/WTF:

  • wtf/Forward.h: Remove Optional forward declaration.

Also include Optional.h, just for now. Need to remove this once
we do the global rename.

  • wtf/Optional.h: Replaced the entire WTF::Optional implementation

with a WTF::Optional "using" that makes it a synonym for std::optional.
WTF::nullopt being a synonym for std::nullopt and WTF::nullopt_t
being a synonym for std::nullopt_t. Also included functions so
that WTF::makeOptional calls std::make_optional and kept the
WTF extension named valueOrCompute. Need to remove these once we
do the global rename, and likely just get rid of valueOrCompute, and
then delete this entire header.

  • wtf/Seconds.h: Added an include of FastMalloc.h, since it's no

longer pulled in because of including Optional.h.

  • wtf/persistence/PersistentCoder.h: Use Forward.h for now instead of

forward-declaring WTF::optional.

Tools:

  • Scripts/webkitpy/style/checker.py: Removed exceptions from the WTF::Optional

style rule for WebRTC.

  • Scripts/webkitpy/style/checkers/cpp.py: Removed check_wtf_optional.
  • Scripts/webkitpy/style/checkers/cpp_unittest.py: Removed test_wtf_optional.
  • TestWebKitAPI/CMakeLists.txt: Removed Optional.cpp.
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
  • TestWebKitAPI/Tests/WTF/Optional.cpp: Removed.
  • TestWebKitAPI/Tests/WTF/cf/RetainPtr.cpp: Updated test to not rely on non-standard

aspects of moving from an optional. Instead check the retain count to make sure we
have moved successfully.

  • TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm: Ditto.
12:33 PM Changeset in webkit [278034] by Russell Epstein
  • 1 copy in tags/Safari-612.1.15.1.11

Tag Safari-612.1.15.1.11.

12:32 PM Changeset in webkit [278033] by Jonathan Bedard
  • 1 edit
    32 deletes in trunk/LayoutTests

[LayoutTess] Delete unused LayoutTests/fast resources
https://bugs.webkit.org/show_bug.cgi?id=226064
<rdar://problem/78289833>

Reviewed by Dewei Zhu.

  • fast/box-shadow/resources/box-shadow-overflow-scroll.js: Removed.
  • fast/canvas/resources/empty.svg: Removed.
  • fast/canvas/resources/orientation-rotate-0.jpg: Removed.
  • fast/canvas/resources/orientation-rotate-180.jpg: Removed.
  • fast/canvas/resources/orientation-rotate-90-ccw.jpg: Removed.
  • fast/canvas/resources/orientation-rotate-90-cw.jpg: Removed.
  • fast/canvas/webgl/resources/out-of-bounds-test.js: Removed.
  • fast/css-grid-layout/resources/blue-100x50.png: Removed.
  • fast/css/resources/alignment-parsing-utils.js: Removed.
  • fast/css/resources/purple-noprofile.png: Removed.
  • fast/custom-elements/resources/document-types.js: Removed.
  • fast/dom/HTMLScriptElement/resources/script-set-src-p4pass.js: Removed.
  • fast/dom/resources/event-sender-util.js: Removed.
  • fast/forms/resources/common-clearbutton-change-and-input-events.js: Removed.
  • fast/forms/resources/multiple-fields-ax-aria-attributes.js: Removed.
  • fast/forms/resources/multiple-fields-blur-and-focus-events.js: Removed.
  • fast/forms/resources/multiple-fields-validity-badinput.js: Removed.
  • fast/forms/resources/multiple-fields-value-set-empty.js: Removed.
  • fast/history/resources/clicked-link-is-visited-2.html: Removed.
  • fast/history/resources/page-cache-helper-10000ms.html: Removed.
  • fast/history/resources/page-cache-helper-100ms.html: Removed.
  • fast/images/resources/animated-red-green-blue-repeat-infinite.webp: Removed.
  • fast/images/resources/large.webp: Removed.
  • fast/images/resources/lenna.jpg: Removed.
  • fast/images/resources/lenna.png: Removed.
  • fast/reflections/resources/reflection-overflow-scroll.js: Removed.
  • fast/shadow-dom/resources/red-div.css: Removed.
  • fast/text/resources/gw432047-license.txt: Removed.
  • fast/text/resources/unicode-range-download-Ahem.otf: Removed.
  • fast/text/resources/unicode-range-download-Ahem.ttf: Removed.
  • fast/text/resources/unicode-range-download-Ahem.woff: Removed.
  • fast/workers/resources/messageevent-source.js: Removed.
  • fast/xmlhttprequest/resources/1251.html: Removed.
12:12 PM Changeset in webkit [278032] by pvollan@apple.com
  • 2 edits in trunk/Source/WTF

[AppleWin] JSC fails to build
https://bugs.webkit.org/show_bug.cgi?id=226225
<rdar://78330435>

Reviewed by Brent Fulgham.

Speculative build fix for missing script to generate unified sources. Make sure the WTF scripts directory exists before
copying the script there, and add a CMake log message to help further debugging if this is not the correct fix.

  • wtf/CMakeLists.txt:
11:26 AM Changeset in webkit [278031] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Divide by zero in DisplayUpdate::relevantForUpdateFrequency()
https://bugs.webkit.org/show_bug.cgi?id=226224
<rdar://76894675>

Reviewed by Wenson Hsieh.

Check for non-zero preferredFramesPerSecond before using it as a denominator
to avoid divide by zero.

  • platform/graphics/DisplayUpdate.cpp:

(WebCore::DisplayUpdate::relevantForUpdateFrequency const):

11:16 AM Changeset in webkit [278030] by sbarati@apple.com
  • 22 edits in trunk/Source/JavaScriptCore

Finalize DFG/FTL code refs on the compiler threads
https://bugs.webkit.org/show_bug.cgi?id=226096

Reviewed by Mark Lam.

Previously, link tasks that ran via the addLinkTask API were guaranteed to be
called on the main thread. This is no longer the case. Most link tasks are
happy running on a background thread, since all they're really doing is
linking branches/calls or grabbing labels. However, a few users of addLinkTask were
relying on it running on the main thread. For those users, there is a new
addMainThreadFinalizationTask API, which is now used instead.

  • assembler/LinkBuffer.cpp:

(JSC::LinkBuffer::~LinkBuffer):
(JSC::LinkBuffer::runMainThreadFinalizationTasks):

  • assembler/LinkBuffer.h:

(JSC::LinkBuffer::cancel):
(JSC::LinkBuffer::addMainThreadFinalizationTask):
(JSC::LinkBuffer::~LinkBuffer): Deleted.

  • dfg/DFGFailedFinalizer.cpp:

(JSC::DFG::FailedFinalizer::finalizeFunction): Deleted.

  • dfg/DFGFailedFinalizer.h:
  • dfg/DFGFinalizer.h:

(JSC::DFG::Finalizer::cancel):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):

  • dfg/DFGJITFinalizer.cpp:

(JSC::DFG::JITFinalizer::cancel):
(JSC::DFG::JITFinalizer::finalize):
(JSC::DFG::JITFinalizer::finalizeFunction): Deleted.
(JSC::DFG::JITFinalizer::finalizeCommon): Deleted.

  • dfg/DFGJITFinalizer.h:
  • dfg/DFGLazyJSValue.cpp:

(JSC::DFG::LazyJSValue::emit const):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::finalizeWithoutNotifyingCallback):
(JSC::DFG::Plan::cancel):

  • ftl/FTLJITFinalizer.cpp:

(JSC::FTL::JITFinalizer::finalize):
(JSC::FTL::JITFinalizer::cancel):
(JSC::FTL::JITFinalizer::finalizeFunction): Deleted.
(JSC::FTL::JITFinalizer::finalizeCommon): Deleted.

  • ftl/FTLJITFinalizer.h:
  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLPatchpointExceptionHandle.cpp:

(JSC::FTL::PatchpointExceptionHandle::scheduleExitCreationForUnwind):

  • ftl/FTLThunks.h:

(JSC::FTL::Thunks::getSlowPathCallThunk):
Add a lock to FTLThunks since we now may be calling into it from more than
one thread at a time.

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitVirtualCall):
(JSC::AssemblyHelpers::emitUnlinkedVirtualCall): Deleted.

  • jit/AssemblyHelpers.h:
  • jit/JIT.cpp:

(JSC::JIT::finalizeOnMainThread):

  • jit/JIT.h:
  • jit/JITCall.cpp:

(JSC::JIT::compileCallEvalSlowCase):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileCallEvalSlowCase):

11:03 AM Changeset in webkit [278029] by mark.lam@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

Reduce Baseline JIT emitted code size for op_jfalse, op_jtrue, op_get_from_scope, op_resolve_scope.
https://bugs.webkit.org/show_bug.cgi?id=226107

Reviewed by Saam Barati.

Benchmarking with JetStream2 and Speedometer2 on M1 Mac shows that performance is
neutral.

This patch reduces Baseline JIT emitted code side on a run of JetStream2 CLI by
another ~6.6M:

Base New Diff

BaselineJIT: 64955116 (61.946026 MB) 57991704 (55.305199 MB) 0.89x (reduction)

DFG: 36382012 (34.696590 MB) 36540652 (34.847881 MB) 1.00x

Thunk: 23217692 (22.142117 MB) 23115852 (22.044994 MB) 1.00x

InlineCache: 22228140 (21.198406 MB) 22262572 (21.231243 MB) 1.00x

FTL: 6025320 (5.746193 MB) 6164332 (5.878765 MB) 1.02x

Wasm: 2327604 (2.219776 MB) 2297036 (2.190624 MB) 0.99x

YarrJIT: 1547172 (1.475498 MB) 1522584 (1.452049 MB) 0.98x

CSSJIT: 0 0

Uncategorized: 0 0

Cumulative diff since the start of this effort to reduce Baseline JIT code size:

Base New Diff

BaselineJIT: 89089964 (84.962811 MB) 57991704 (55.305199 MB) 0.65x (reduction)

DFG: 39117360 (37.305222 MB) 36540652 (34.847881 MB) 0.93x (reduction)

Thunk: 23230968 (22.154778 MB) 23115852 (22.044994 MB) 1.00x

InlineCache: 22027416 (21.006981 MB) 22262572 (21.231243 MB) 1.01x

FTL: 6575772 (6.271145 MB) 6164332 (5.878765 MB) 0.94x (reduction)

Wasm: 2302724 (2.196049 MB) 2297036 (2.190624 MB) 1.00x

YarrJIT: 1538956 (1.467663 MB) 1522584 (1.452049 MB) 0.99x

CSSJIT: 0 0

Uncategorized: 0 0

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::offsetInMetadataTable):
(JSC::CodeBlock::offsetOfMetadataTable):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::branchIfValue):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::branchIfTruthy):
(JSC::AssemblyHelpers::branchIfFalsey):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_jfalse):
(JSC::JIT::valueIsFalseyGenerator):
(JSC::JIT::emit_op_jtrue):
(JSC::JIT::valueIsTruthyGenerator):

  • jit/JITOperations.cpp:

(JSC::JSC_DEFINE_JIT_OPERATION):

  • jit/JITOperations.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::generateOpResolveScopeThunk):
(JSC::JIT::slow_op_resolve_scopeGenerator):
(JSC::JIT::emitSlow_op_get_from_scope):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::generateOpGetFromScopeThunk):
(JSC::JIT::slow_op_get_from_scopeGenerator):

  • jit/ThunkGenerators.cpp:

(JSC::popThunkStackPreservesAndHandleExceptionGenerator):

  • runtime/GetPutInfo.h:
  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::offsetOfGlobalLexicalEnvironment):
(JSC::JSGlobalObject::offsetOfGlobalLexicalBindingEpoch):

10:34 AM Changeset in webkit [278028] by Alan Bujtas
  • 3 edits
    2 adds in trunk

CrashOnOverflow in WebCore::RenderTable::cellBefore(WebCore::RenderTableCell const*)
https://bugs.webkit.org/show_bug.cgi?id=225949

Reviewed by Sergio Villar Senin.

Source/WebCore:

The table section maintains a grid of rows and columns. This grid is used to jump to cells directly during layout (as opposed to tree walking).
It needs to be re-populated on tree mutations e.g when a new row is added to the table.
RenderTableSection::willInsertTableRow assumes that rows and cells are inserted subsequently, after each other and
it's ok to ignore the grid invalidation on the first row insertion (beforeChild is nullptr).
However in case of continuation split (e.g <table> is inside of an inline element and this inline element
needs to be split due to a block level box insertion), the row and all of its cells are cloned and inserted under the table section at once.

Test: fast/table/table-split-on-insert-with-section-crash.html

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::willInsertTableRow): fun fact: this code dates back to r3351 "The new table code from Lars.".

LayoutTests:

  • fast/table/table-split-on-insert-with-section-crash-expected.txt: Added.
  • fast/table/table-split-on-insert-with-section-crash.html: Added.
10:34 AM Changeset in webkit [278027] by don.olmstead@sony.com
  • 7 edits
    1 add in trunk

[PlayStation] Implement FileSystem without std::filesystem
https://bugs.webkit.org/show_bug.cgi?id=226197

Reviewed by Chris Dumez.

.:

Expose the result of the check for <filesystem> support as HAVE_STD_FILESYSTEM.

  • Source/cmake/OptionsCommon.cmake:

Source/WTF:

The PlayStation 4 doesn't have support in its SDK for std::filesystem so backport the
functions jettisoned from FileSystemPOSIX and add them to a FileSystemPlayStation.cpp.
The ordering matches the contents of FileSystem.cpp.

Most of the functions ported to std::filesystem were just moved over as is from the commit
prior to r276879. Minor changes to the function signatures made when required.

The fileTypePotentiallyFollowingSymLinks function was created from the previous behavior
of fileMetadataUsingFunction and toFileMetataType.

The hardLinkCount was created from looking at the behavior hardLinkCount replaced in
r277446.

  • wtf/FileSystem.cpp:
  • wtf/PlatformHave.h:
  • wtf/PlatformPlayStation.cmake:
  • wtf/StdFilesystem.h:
  • wtf/playstation/FileSystemPlayStation.cpp: Added.

(WTF::FileSystemImpl::fileTypePotentiallyFollowingSymLinks):
(WTF::FileSystemImpl::fileExists):
(WTF::FileSystemImpl::deleteFile):
(WTF::FileSystemImpl::deleteEmptyDirectory):
(WTF::FileSystemImpl::moveFile):
(WTF::FileSystemImpl::fileSize):
(WTF::FileSystemImpl::makeAllDirectories):
(WTF::FileSystemImpl::volumeFreeSpace):
(WTF::FileSystemImpl::createSymbolicLink):
(WTF::FileSystemImpl::hardLink):
(WTF::FileSystemImpl::hardLinkOrCopyFile):
(WTF::FileSystemImpl::hardLinkCount):
(WTF::FileSystemImpl::deleteNonEmptyDirectory):
(WTF::FileSystemImpl::fileModificationTime):
(WTF::FileSystemImpl::updateFileModificationTime):
(WTF::FileSystemImpl::isHiddenFile):
(WTF::FileSystemImpl::fileType):
(WTF::FileSystemImpl::fileTypeFollowingSymlinks):
(WTF::FileSystemImpl::pathFileName):
(WTF::FileSystemImpl::parentPath):
(WTF::FileSystemImpl::realPath):
(WTF::FileSystemImpl::pathByAppendingComponent):
(WTF::FileSystemImpl::pathByAppendingComponents):
(WTF::FileSystemImpl::listDirectory):

10:25 AM Changeset in webkit [278026] by Russell Epstein
  • 3 edits
    2 adds in branches/safari-612.1.15.0-branch

Cherry-pick r277990. rdar://problem/78463670

[iOS] Adjust meaningful click heuristic to detect focus changes and editable content
https://bugs.webkit.org/show_bug.cgi?id=226199
rdar://78368624

Reviewed by Tim Horton.

Source/WebKit:

Fine tune the "meaningful click" heuristic by not dispatching a non-meaningful click message to the UI process
in the cases where the tap:

  • Causes the focused element to change.
  • Is over a form control or editable element.

Test: fast/events/ios/meaningful-click-when-focusing-body.html

  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::completeSyntheticClick):

LayoutTests:

Add a layout test to exercise the change.

  • fast/events/ios/meaningful-click-when-focusing-body-expected.txt: Added.
  • fast/events/ios/meaningful-click-when-focusing-body.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277990 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:24 AM Changeset in webkit [278025] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.0-branch/Source

Versioning.

WebKit-7612.1.15.0.7

10:13 AM Changeset in webkit [278024] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.1-branch/Source

Versioning.

WebKit-7612.1.15.1.11

9:47 AM Changeset in webkit [278023] by Russell Epstein
  • 1 copy in tags/Safari-611.2.7.1.7

Tag Safari-611.2.7.1.7.

9:46 AM Changeset in webkit [278022] by Russell Epstein
  • 1 copy in tags/Safari-611.2.7.0.5

Tag Safari-611.2.7.0.5.

9:46 AM Changeset in webkit [278021] by Russell Epstein
  • 1 copy in tags/Safari-611.2.6.2.1

Tag Safari-611.2.6.2.1.

9:43 AM Changeset in webkit [278020] by Russell Epstein
  • 2 edits in branches/safari-611.2.6.2-branch/Source/WebCore

Cherry-pick r277177. rdar://problem/78431521

AudioWorkletProcessor which does not extend base class crashes Safari
https://bugs.webkit.org/show_bug.cgi?id=225449
<rdar://problem/77624792>

Reviewed by Sam Weinig.

Update AudioWorkletGlobalScope::createProcessor() to validate the type of the processor
after constructing it.

  • Modules/webaudio/AudioWorkletGlobalScope.cpp: (WebCore::AudioWorkletGlobalScope::createProcessor):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277177 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:41 AM Changeset in webkit [278019] by Russell Epstein
  • 8 edits in branches/safari-611.2.6.2-branch/Source

Versioning.

WebKit-7611.2.6.2.1

9:18 AM Changeset in webkit [278018] by Russell Epstein
  • 8 edits in branches/safari-611-branch/Source

Versioning.

WebKit-7611.2.6.2.1

9:15 AM Changeset in webkit [278017] by Russell Epstein
  • 1 copy in branches/safari-611.2.6.2-branch

New branch.

9:06 AM Changeset in webkit [278016] by Russell Epstein
  • 2 edits in branches/safari-611.2.7.0-branch/Source/WebCore

Cherry-pick r277177. rdar://problem/78427537

AudioWorkletProcessor which does not extend base class crashes Safari
https://bugs.webkit.org/show_bug.cgi?id=225449
<rdar://problem/77624792>

Reviewed by Sam Weinig.

Update AudioWorkletGlobalScope::createProcessor() to validate the type of the processor
after constructing it.

  • Modules/webaudio/AudioWorkletGlobalScope.cpp: (WebCore::AudioWorkletGlobalScope::createProcessor):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277177 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:06 AM Changeset in webkit [278015] by Russell Epstein
  • 2 edits in branches/safari-611.2.7.1-branch/Source/WebCore

Cherry-pick r277177. rdar://problem/78427582

AudioWorkletProcessor which does not extend base class crashes Safari
https://bugs.webkit.org/show_bug.cgi?id=225449
<rdar://problem/77624792>

Reviewed by Sam Weinig.

Update AudioWorkletGlobalScope::createProcessor() to validate the type of the processor
after constructing it.

  • Modules/webaudio/AudioWorkletGlobalScope.cpp: (WebCore::AudioWorkletGlobalScope::createProcessor):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277177 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:04 AM Changeset in webkit [278014] by Russell Epstein
  • 8 edits in branches/safari-611.2.7.0-branch/Source

Versioning.

WebKit-7611.2.7.0.5

9:03 AM Changeset in webkit [278013] by Russell Epstein
  • 8 edits in branches/safari-611.2.7.1-branch/Source

Versioning.

WebKit-7611.2.7.1.7

9:00 AM Changeset in webkit [278012] by Russell Epstein
  • 8 edits in branches/safari-611.3.6.1-branch/Source

Versioning.

WebKit-7611.3.6.1.2

8:58 AM Changeset in webkit [278011] by Russell Epstein
  • 8 edits in branches/safari-611.3.6.0-branch/Source

Versioning.

WebKit-7611.3.6.0.2

8:35 AM Changeset in webkit [278010] by Alan Bujtas
  • 5 edits
    2 adds in trunk

[LFC][TFC] Percent height resolving quirk should stop at the table formatting context root
https://bugs.webkit.org/show_bug.cgi?id=226156

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/layoutformattingcontext/table-with-percent-height-descendant.html

  • layout/formattingContexts/FormattingQuirks.h:
  • layout/formattingContexts/table/TableFormattingQuirks.cpp:

(WebCore::Layout::TableFormattingQuirks::heightValueOfNearestContainingBlockWithFixedHeight const):

  • layout/formattingContexts/table/TableFormattingQuirks.h:

LayoutTests:

  • fast/layoutformattingcontext/table-with-percent-height-descendant-expected.html: Added.
  • fast/layoutformattingcontext/table-with-percent-height-descendant.html: Added.
8:31 AM Changeset in webkit [278009] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Ensure app highlight visibility observer is initialized before adding a new highlight
https://bugs.webkit.org/show_bug.cgi?id=226214
rdar://78173370

Patch by Matt Mokary <mmokary@apple.com> on 2021-05-25
Reviewed by Wenson Hsieh.

The app highlight visibility observer is initialized before restoring highlights, but was not initialized
before adding a new one. It must be initialized before adding a highlight so a change in visibility resulting
from a new highlight is handled correct.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::createAppHighlightInSelectedRange):

8:26 AM Changeset in webkit [278008] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Stop using UncheckedLock in DatabaseTracker
https://bugs.webkit.org/show_bug.cgi?id=226208

Reviewed by Sam Weinig.

Stop using UncheckedLock in DatabaseTracker. This is a step towards phasing out the
UncheckedLock in favor of the regular Lock which support Clang thread safety analysis.

In this particular instance, I have opted to annotate the functions that gave out
warning with WTF_IGNORES_THREAD_SAFETY_ANALYSIS. I initially tried to use proper
annotations (WTF_ACQUIRES_LOCK() / WTF_RELEASES_LOCK()). However, the call sites are
Objective C functions and I am unable to annotate those.

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::openDatabaseMutex):

  • Modules/webdatabase/DatabaseTracker.h:
8:11 AM Changeset in webkit [278007] by Simon Fraser
  • 10 edits in trunk/Source

Initialize WebCore and WebKit logging channels in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=226210

Reviewed by Andy Estes.
Source/WebCore:

Send the strings representing the enabled WebCore and WebKit logging channels to the
GPU Process, and use them to initialize log channels there, as we do for the WebContent
process.

  • platform/LogInitialization.h: Export logLevelString().
  • platform/Logging.h: Remove functions that are declared in LogInitialization.h.
  • platform/mac/LoggingMac.mm:

Source/WebKit:

Send the strings representing the enabled WebCore and WebKit logging channels to the
GPU Process, and use them to initialize log channels there, as we do for the WebContent
process.

  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::initializeGPUProcess):

  • GPUProcess/GPUProcessCreationParameters.cpp:

(WebKit::GPUProcessCreationParameters::encode const):
(WebKit::GPUProcessCreationParameters::decode):

  • GPUProcess/GPUProcessCreationParameters.h:
  • Shared/mac/MediaFormatReader/MediaSampleCursor.cpp:
  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::GPUProcessProxy):

7:45 AM Changeset in webkit [278006] by Lauro Moura
  • 3 edits in trunk/Tools

[WebDriver][WPE] Support running w3c webdriver tests with Cog
https://bugs.webkit.org/show_bug.cgi?id=226203

Reviewed by Adrian Perez de Castro.

Using the same infrastructure as the MiniBrowser, through ENABLE_COG.

Selenium not yet supported, as the browserName capability is hardcoded
as MiniBrowser in selenium's test codebase.

  • Scripts/webkitpy/port/wpe.py:

(WPEPort.browser_env): Factored out of run_minibrowser to be used in the WebDriver driver module.
(WPEPort.run_minibrowser):

  • Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:

(WebDriverWPE.browser_args):
(WebDriverWPE.browser_env):

7:00 AM Changeset in webkit [278005] by commit-queue@webkit.org
  • 2 edits
    2 moves
    1 add
    3 deletes in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Update some SVG test baselines.
https://bugs.webkit.org/show_bug.cgi?id=226111

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-05-25

  • platform/glib/svg/transforms/svg-css-transforms-clip-path-expected.txt: Renamed from LayoutTests/platform/wpe/svg/transforms/svg-css-transforms-clip-path-expected.txt.
  • platform/glib/svg/transforms/svg-css-transforms-expected.txt: Renamed from LayoutTests/platform/wpe/svg/transforms/svg-css-transforms-expected.txt.
  • platform/glib/transforms/svg-vs-css-expected.txt:
  • platform/gtk/svg/transforms/svg-css-transforms-clip-path-expected.txt: Removed.
  • platform/gtk/svg/transforms/svg-css-transforms-expected.txt: Removed.
  • platform/wpe/transforms/svg-vs-css-expected.txt: Removed.
5:52 AM Changeset in webkit [278004] by eocanha@igalia.com
  • 5 edits in trunk

[GTK] Layout test media/track/track-cue-missing.html is failing
https://bugs.webkit.org/show_bug.cgi?id=191004

Reviewed by Alicia Boya Garcia.

Source/WebCore:

Implemented the missing performTaskAtMediaTime() method, needed by HTMLMediaElement::updateActiveTextTrackCues()
to trigger custom updates at times that don't fit in the regular updates statically scheduled every 250 ms.
The implementation uses triggerRepaint() for synchronization instead of timers, computing the current stream time
of the last video frame to be painted as an heuristic, instead of asking the position to the pipeline (more
expensive and risky from a non-main thread). If the stream time is beyond the task target time, the task is run
on the main thread.

Still, that is not enough. The task scheduled by HTMLMediaElement requires currentTime() to return an accurate
value, not one cached every 200ms. m_cachedTime needs to be updated more frequently (at least once every main
loop iteration), but still remain consistent along the whole iteration. This is achieved by enqueing an
invalidation task (to be run at the end of the current iteration) each time the cached value is set with a value
coming from a position query.

The changes in the m_cachedTime management add an overhead between 173% (track-cue-missing test) and 426%
(regular video playback without subtitles) in the run time spent querying the position to the pipeline. As an
optimization, the position is now directly queried to the audio and video sink and the highest value (according
to the current playback direction) is returned. This reduces the overhead to just 63% in the regular playback
without subtitles case.

The inner TaskAtMediaTimeScheduler class is used for task target time evaluation. As it can be used from the
main thread and from a secondary one in triggerRepaint(), it's wrapped in a DataMutex to manage concurrent
access. The original task is returned to the caller of checkTaskForScheduling() when the currentTime is beyond
the target time. The caller is then responsible of running the task externally in the main thread, out of the
influence of the DataMutex lock (the task can be expensive and the lock is only needed to evaluate the triggering
conditions).

Covered by existing tests.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(WebCore::MediaPlayerPrivateGStreamer::TaskAtMediaTimeScheduler::setTask): Configure the object with the right task, targetTime, and current playback direction.
(WebCore::MediaPlayerPrivateGStreamer::TaskAtMediaTimeScheduler::checkTaskForScheduling): Check if the task must run. In that case, return the task as result so the caller can run it externally on the main thread after the DataMutex lock has been released.
(WebCore::MediaPlayerPrivateGStreamer::invalidateCachedPosition): Implementation moved to the cpp file.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): Don't initialize m_cachedPosition, as it's now an Optional that will be initialized as no-value.
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition const): Change the time based caching mechanism to a mainloop iteration based one. Directly query the sinks instead of the pipeline for position.
(WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone): Invalidate the Optional, instead of setting an invalid MediaTime.
(WebCore::MediaPlayerPrivateGStreamer::updateStates): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::didEnd): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::performTaskAtMediaTime): Set the task on the TaskAtMediaTimeScheduler when the media is currently playing. That task will run at the target time. The HTMLMediaElement periodic update will already take care if the media isn't currently playing.
(WebCore::MediaPlayerPrivateGStreamer::invalidateCachedPosition const): Reset Optional<MediaTime> m_cachedTime.
(WebCore::MediaPlayerPrivateGStreamer::invalidateCachedPositionOnNextIteration const): Enqueue an invalidation on the next mainloop iteration.
(WebCore::MediaPlayerPrivateGStreamer::triggerRepaint): Check if the PendingTask needs to be run, using the streaming time of the last rendered sample as an approximate way to get the position, and run it if that's the case.

LayoutTests:

  • platform/glib/TestExpectations: Unskipped test.
1:33 AM Changeset in webkit [278003] by ntim@apple.com
  • 15 edits in trunk

Add basic <dialog> element UA styles
https://bugs.webkit.org/show_bug.cgi?id=226169

Reviewed by Antti Koivisto.

Basic styles from https://html.spec.whatwg.org/#flow-content-3

LayoutTests/imported/w3c:

  • web-platform-tests/html/rendering/non-replaced-elements/flow-content-0/dialog-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/abspos-dialog-layout-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-autofocus-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-autofocus-multiple-times-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-node-is-unfocusable-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/remove-dialog-should-unblock-document-expected.txt:

Source/WebCore:

  • css/dialog.css:

(dialog):

LayoutTests:

  • TestExpectations: marked relevant tests as failing until a proper modal dialog implementation makes them pass
  • fast/box-shadow/box-shadow-huge-area-crash.html: changed it to use a <div> to match the behaviour before this patch
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/abspos-dialog-layout-expected.txt:
1:32 AM Changeset in webkit [278002] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Crash in CompositeEditCommand::splitTreeToNode via InsertParagraphSeparatorCommand::doApply
https://bugs.webkit.org/show_bug.cgi?id=225267

Patch by Frederic Wang <fwang@igalia.com> on 2021-05-25
Reviewed by Ryosuke Niwa.

Source/WebCore:

WebCore::Position::upstream behaves specially for table renderer, which may confuse the
execution of WebCore::InsertParagraphSeparatorCommand::doApply() when the visible position
is within a table, leading to a debug assertion failure and a nullptr dereference in release
build. In r273375, this was fixed for DOM elements with the table tag, but this does not work
for display: table. This patch instead directly calls isRenderedTable, for consistency with
WebCore::Position::upstream.

Test: fast/editing/paste-and-match-style-with-table-2-crash.html

  • editing/markup.cpp:

(WebCore::createFragmentFromText): Use isRenderedTable instead of checking the tag name.

LayoutTests:

Add regression test.

  • fast/editing/paste-and-match-style-with-table-2-crash-expected.txt: Added.
  • fast/editing/paste-and-match-style-with-table-2-crash.html: Added.
12:40 AM Changeset in webkit [278001] by Fujii Hironori
  • 2 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening

  • platform/wincairo/TestExpectations:
12:08 AM Changeset in webkit [278000] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Only create MediaElementSession when necessary
https://bugs.webkit.org/show_bug.cgi?id=226132

Patch by Ian Gilbert <iang@apple.com> on 2021-05-25
Reviewed by Eric Carlson.

Some methods had an unexpected side effect of creating a MediaElementSession.
Modified these to not create one if one does not already exist.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent):
(WebCore::HTMLMediaElement::mediaState const):

May 24, 2021:

11:22 PM Changeset in webkit [277999] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

GLContextEGL::swapBuffers() shouldn't do anything for Surfaceless contexts
https://bugs.webkit.org/show_bug.cgi?id=226164

Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-05-24
Reviewed by Philippe Normand.

In case of a surfaceless GLContextEGL, the swapBuffers() method should
return early, avoiding an assert expecting a non-null EGLSurface (not
viable for surfaceless context) and a call to eglSwapBuffers(), which
on some drivers could still fail even when the surfaceless context
support is present and active.

  • platform/graphics/egl/GLContextEGL.cpp:

(WebCore::GLContextEGL::swapBuffers):

11:14 PM Changeset in webkit [277998] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[CoordinatedGraphics] Handle null native surface handle for surfaceless rendering
https://bugs.webkit.org/show_bug.cgi?id=226165

Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-05-24
Reviewed by Philippe Normand.

During ThreadedCompositor initialization, a null native surface handle
would represent a surfaceless rendering target. Assuming corresponding
driver support for this behavior, the GL context creation would still
succeed and composition could be performed.

To support this behavior, the GL context is now spawned first, and if
successful, the scene is set as active. But in case of a null native
surface (i.e. surfaceless rendering), the painting has to be mirrored
by default because of the OpenGL coordinate system being the immediate
coordinate system inside which we end up working.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::m_displayRefreshMonitor):
(WebKit::ThreadedCompositor::createGLContext):

10:39 PM Changeset in webkit [277997] by cathiechen
  • 13 edits in trunk

Use the parsed width and height attributes as a presentational hint for aspect-ratio CSS property
https://bugs.webkit.org/show_bug.cgi?id=217529

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Update the expected results of test_computed_style which are passed now.

  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio-expected.txt:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/video-aspect-ratio-expected.txt:

Source/WebCore:

The feature "mapping attributes width and height to aspect ratio" currently is handled by RenderReplaced::computeIntrinsicRatioInformation.
However, per [1], the non-negative width and height attributes are expected to be used as a presentational hint for the aspect-ratio property.
This patch addes HTMLElement::applyAspectRatioFromWidthAndHeightAttributesToStyle to apply the attributes to m_presentationAttributeStyle.
Also this patch supports the feature for <video> and <input> with type="image".

[1] https://html.spec.whatwg.org/#map-to-the-aspect-ratio-property-(using-dimension-rules)

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::applyAspectRatioFromWidthAndHeightAttributesToStyle): Apply attributes width / height to aspectRatio of style if they aren't negative.

  • html/HTMLElement.h:
  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::collectStyleForPresentationAttribute): Use attributes width and height as a presentational hint for aspect-ratio.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::collectStyleForPresentationAttribute): If isImageButton(), collect attributes width and height as aspect-ratio of m_presentationAttributeStyle.

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::collectStyleForPresentationAttribute): Ditto.

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::computeIntrinsicRatioInformation const): The intrinsicRatio is logicalAspectRatio()
if error image is not showing alt text.
(WebCore::RenderImage::canMapWidthHeightToAspectRatio const): Deleted. Remove the legacy code.

  • rendering/RenderImage.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::computeIntrinsicRatioInformation const): Ditto.
(WebCore::RenderReplaced::intrinsicAspectRatioFromWidthHeight const): Deleted. Ditto.

  • rendering/RenderReplaced.h:

(WebCore::RenderReplaced::canMapWidthHeightToAspectRatio const): Deleted. Ditto.

9:13 PM Changeset in webkit [277996] by commit-queue@webkit.org
  • 3 edits
    4 deletes in trunk

Unreviewed, reverting r277867.
https://bugs.webkit.org/show_bug.cgi?id=226211

Causes problems playing YouTube videos

Reverted changeset:

"[Cocoa] Last few seconds of 'audio/webm; codecs=vorbis'
appended to a SampleBuffer are not played"
https://bugs.webkit.org/show_bug.cgi?id=226069
https://trac.webkit.org/changeset/277867

8:59 PM Changeset in webkit [277995] by Chris Dumez
  • 2 edits in trunk/Source/WTF

Stop using UncheckedLock in WTF::RecursiveLock
https://bugs.webkit.org/show_bug.cgi?id=226206

Reviewed by Sam Weinig.

Stop using UncheckedLock in WTF::RecursiveLock and use a regular Lock instead.
This is a step towards phasing out UncheckedLock.

Note that despite this change, RecursiveLock still doesn't benefit from
Clang thread safety analysis. Its functions do conditional locking / unlocking
which are not currently supported by analysis. Even if they were, we'd need
a template specialization for RecursiveLockAdapter<Lock> since
RecursiveLockAdapter may wrap other types of Lock which do not support analysis.

  • wtf/RecursiveLockAdapter.h:
8:36 PM Changeset in webkit [277994] by weinig@apple.com
  • 3 edits in trunk/Source/WebCore

DestinationColorSpace's well known color space accessors cause unnecessary retain count churn
https://bugs.webkit.org/show_bug.cgi?id=226160

Reviewed by Darin Adler.

While unlikely to be hot, we can avoid unnecessary retain count churn of
the well known color spaces on DestinationColorSpace by switching their
signature to return a const-reference and storing/returning a static instance.

  • platform/graphics/DestinationColorSpace.cpp:

(WebCore::knownColorSpace):
(WebCore::DestinationColorSpace::SRGB):
(WebCore::DestinationColorSpace::LinearSRGB):
(WebCore::DestinationColorSpace::DisplayP3):

  • platform/graphics/DestinationColorSpace.h:
8:23 PM Changeset in webkit [277993] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[GStreamer] Stop using UncheckedLock in VideoRenderRequestScheduler
https://bugs.webkit.org/show_bug.cgi?id=226192

Reviewed by Sam Weinig.

Stop using UncheckedLock in VideoRenderRequestScheduler to benefit from Clang thread safety
analysis.

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(VideoRenderRequestScheduler::start):
(VideoRenderRequestScheduler::stop):
(VideoRenderRequestScheduler::drain):
(VideoRenderRequestScheduler::requestRender):

8:16 PM Changeset in webkit [277992] by Chris Dumez
  • 2 edits in trunk/Tools

Stop using UncheckedLock in Condition API tests
https://bugs.webkit.org/show_bug.cgi?id=226198

Reviewed by Sam Weinig.

Stop using UncheckedLock in Condition API tests. This is a step towards phasing out UncheckedLock
in favor the Lock so that we can benefit from Clang Thread Safety Analysis.

  • TestWebKitAPI/Tests/WTF/Condition.cpp:
8:13 PM Changeset in webkit [277991] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

[GLIB] Stop using UncheckedLock in IconDatabase
https://bugs.webkit.org/show_bug.cgi?id=226190

Reviewed by Sam Weinig.

Stop using UncheckedLock in IconDatabase to benefit from Clang thread-safety analysis.

  • UIProcess/API/glib/IconDatabase.h:
8:04 PM Changeset in webkit [277990] by Wenson Hsieh
  • 3 edits
    2 adds in trunk

[iOS] Adjust meaningful click heuristic to detect focus changes and editable content
https://bugs.webkit.org/show_bug.cgi?id=226199
rdar://78368624

Reviewed by Tim Horton.

Source/WebKit:

Fine tune the "meaningful click" heuristic by not dispatching a non-meaningful click message to the UI process
in the cases where the tap:

  • Causes the focused element to change.
  • Is over a form control or editable element.

Test: fast/events/ios/meaningful-click-when-focusing-body.html

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::completeSyntheticClick):

LayoutTests:

Add a layout test to exercise the change.

  • fast/events/ios/meaningful-click-when-focusing-body-expected.txt: Added.
  • fast/events/ios/meaningful-click-when-focusing-body.html: Added.
8:00 PM Changeset in webkit [277989] by mark.lam@apple.com
  • 2 edits in trunk/Tools

Raise jitMemoryReservationSize for ftl-no-cjit-small-pool* tests.
https://bugs.webkit.org/show_bug.cgi?id=226205

Reviewed by Saam Barati.

Raise jitMemoryReservationSize for ftl-no-cjit-small-pool* tests from 50000 to

  1. The 50000 number was picked years ago to be a size that is small, but is

still large enough for JSC tests to pass. 50000 appears to not be sufficient
anymore. This has caused some JSC tests to fail intermittently on the EWS bots.

Raising the size to 75000 to give the tests a little more room to work in.

  • Scripts/run-jsc-stress-tests:
7:52 PM Changeset in webkit [277988] by Devin Rousso
  • 2 edits in trunk/Source/WebKit

[iOS DnD] [WK2] don't cancel the long-press gesture until we know we have UIDragItem
https://bugs.webkit.org/show_bug.cgi?id=226188
<rdar://problem/77448503>

Reviewed by Wenson Hsieh.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _dragInteraction:prepareForSession:completion:]):
(-[WKContentView dragInteraction:itemsForBeginningSession:]):
Instead of _cancelLongPressGestureRecognizer when first asked to get UIDragItem, only
call it once we actually have UIDragItem. This shouldn't change the behavior of r218812
as we're still _cancelLongPressGestureRecognizer before generating UITargetedDragPreview
or animating them (i.e. before the drag starts). This allows a synthetic click from a
long-press gesture to be dispatched in the case that drag gesture has no items.

7:33 PM Changeset in webkit [277987] by Chris Fleizach
  • 5 edits in trunk

AX: Fix build failure for WK API WTF::String usage
https://bugs.webkit.org/show_bug.cgi?id=226204
Source/WebKit:

Reviewed by Tim Horton.

Build fix for WTF string usage.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKAccessibilityTestingInjectPreference):

  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:

Tools:

<rdar://problem/78428840>

Reviewed by Tim Horton.

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:

(WTR::AccessibilityController::injectAccessibilityPreference):

6:26 PM Changeset in webkit [277986] by weinig@apple.com
  • 173 edits
    2 copies
    1 add
    2 deletes in trunk

Convert DestinationColorSpace from an enum to class wrapping a platform color space (CGColorSpaceRef for CG ports, etc.)
https://bugs.webkit.org/show_bug.cgi?id=226143

Reviewed by Darin Adler.

Source/WebCore:

Replace enumeration based DestinationColorSpace with a struct wrapping
a platform color space (CGColorSpaceRef for CG ports, etc.). For ports
that don't have a platform level color space type, a builtin PlatformColorSpace
type is provided that is just the old enum renamed to PlatformColorSpace::Name.

The goal of this change is to unify the currently bifurcated concept of an
ImageBuffer's color space, which previosly could either be based on the
DestinationColorSpace (and reflected in the colorSpace() member function),
or (for CG ports) based on a CGColorSpaceRef, with the colorSpace() function
returning sRGB even if the ImageBuffer was not.

  • Headers.cmake:
  • Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:

(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded):

  • Modules/mediasession/MediaMetadata.cpp:

(WebCore::ArtworkImageLoader::notifyFinished):

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::dumpImageBitmap):
(WebCore::CloneDeserializer::readImageBitmap):

  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::image):

  • html/CustomPaintCanvas.cpp:

(WebCore::CustomPaintCanvas::copiedImage const):

  • html/CustomPaintImage.cpp:

(WebCore::CustomPaintImage::drawPattern):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::toMediaSample):
(WebCore::HTMLCanvasElement::createImageBuffer const):

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::createBufferForPainting const):

  • html/HTMLVideoElement.h:
  • html/ImageBitmap.cpp:

(WebCore::ImageBitmap::createImageBuffer):
(WebCore::ImageBitmap::createPromise):

  • html/OffscreenCanvas.cpp:

(WebCore::OffscreenCanvas::commitToPlaceholderCanvas):

  • html/canvas/CanvasRenderingContext.cpp:

(WebCore::CanvasRenderingContext::colorSpace const):

  • html/canvas/CanvasRenderingContext.h:
  • html/canvas/CanvasRenderingContext2D.cpp:
  • html/canvas/ImageBitmapRenderingContext.cpp:

(WebCore::ImageBitmapRenderingContext::setOutputBitmap):

  • html/canvas/PredefinedColorSpace.cpp:

(WebCore::toDestinationColorSpace):
(WebCore::toPredefinedColorSpace):

  • html/canvas/PredefinedColorSpace.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::LRUImageBufferCache::imageBuffer):

  • html/shadow/MediaControlTextTrackContainerElement.cpp:

(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::indexForData):
(WebCore::InspectorCanvas::buildArrayForCanvasPattern):

  • page/Chrome.cpp:

(WebCore::Chrome::createImageBuffer const):

  • page/Chrome.h:
  • page/ChromeClient.h:

(WebCore::ChromeClient::createImageBuffer const):

  • page/FrameSnapshotting.cpp:

(WebCore::snapshotFrameRectWithClip):

  • page/PageColorSampler.cpp:

(WebCore::sampleColor):

  • page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::screenshot):

  • platform/HostWindow.h:
  • platform/PlatformColorSpace.h: Added.

(WebCore::PlatformColorSpace::get const):

  • platform/PlatformScreen.h:
  • platform/ScreenProperties.h:

(WebCore::ScreenProperties::encode const):
(WebCore::ScreenData::encode const):
(WebCore::ScreenData::decode):

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::preTransformedNativeImageForCurrentFrame):
(WebCore::BitmapImage::drawPattern):

  • platform/graphics/Color.cpp:

(WebCore::Color::toColorComponentsInColorSpace const):

  • platform/graphics/Color.h:
  • platform/graphics/ColorConversion.cpp:

(WebCore::converColorComponents):

  • platform/graphics/ColorConversion.h:
  • platform/graphics/ColorSpace.cpp:
  • platform/graphics/ColorSpace.h:
  • platform/graphics/ConcreteImageBuffer.h:

(WebCore::ConcreteImageBuffer::create):

  • platform/graphics/CrossfadeGeneratedImage.cpp:

(WebCore::CrossfadeGeneratedImage::drawPattern):

  • platform/graphics/DestinationColorSpace.cpp: Added.

(WebCore::DestinationColorSpace::SRGB):
(WebCore::DestinationColorSpace::LinearSRGB):
(WebCore::DestinationColorSpace::DisplayP3):
(WebCore::DestinationColorSpace::DestinationColorSpace):
(WebCore::operator==):
(WebCore::operator!=):
(WebCore::operator<<):

  • platform/graphics/DestinationColorSpace.h: Added.

(WebCore::DestinationColorSpace::platformColorSpace const):
(WebCore::DestinationColorSpace::encode const):
(WebCore::DestinationColorSpace::decode):

  • platform/graphics/GradientImage.cpp:

(WebCore::GradientImage::drawPattern):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::clipToDrawingCommands):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContextImpl.h:
  • platform/graphics/ImageBuffer.cpp:

(WebCore::ImageBuffer::create):
(WebCore::ImageBuffer::createCompatibleBuffer):
(WebCore::ImageBuffer::copyRectToBuffer):

  • platform/graphics/ImageBuffer.h:
  • platform/graphics/ImageBufferBackend.cpp:

(WebCore::ImageBufferBackend::getPixelBuffer const):
(WebCore::ImageBufferBackend::putPixelBuffer):

  • platform/graphics/ImageBufferBackend.h:

(WebCore::ImageBufferBackend::transformColorSpace):
(WebCore::ImageBufferBackend::colorSpace const):

  • platform/graphics/PixelBuffer.h:

(WebCore::PixelBuffer::decode):

  • platform/graphics/PixelBufferConversion.cpp:

(WebCore::makeVImageCGImageFormat):

  • platform/graphics/PixelBufferFormat.h:

(WebCore::PixelBufferFormat::decode):

  • platform/graphics/RemoteVideoSample.cpp:

(WebCore::transferBGRAPixelBufferToIOSurface):
(WebCore::RemoteVideoSample::create):
(WebCore::RemoteVideoSample::RemoteVideoSample):
(WebCore::RemoteVideoSample::surface const):

  • platform/graphics/RemoteVideoSample.h:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::getScratchBuffer):
(WebCore::ShadowBlur::drawRectShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):
(WebCore::ShadowBlur::blurShadowBuffer):
(WebCore::ShadowBlur::drawShadowLayer):

  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:

(WebCore::GraphicsContextGLOpenGL::readPixelsForPaintResults):

  • platform/graphics/cairo/ImageBufferCairoBackend.cpp:

(WebCore::ImageBufferCairoBackend::transformColorSpace):

  • platform/graphics/cairo/ImageBufferCairoBackend.h:
  • platform/graphics/cg/ColorCG.cpp:

(WebCore::convertToCGCompatibleComponents):
(WebCore::createCGColor):
(WebCore::platformConvertColorComponents):

  • platform/graphics/cg/ColorSpaceCG.h:

(WebCore::cachedCGColorSpace): Deleted.

  • platform/graphics/cg/GraphicsContextGLCG.cpp:

(WebCore::GraphicsContextGLOpenGL::paintToCanvas):

  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::surfaceMatchesParameters):
(WebCore::IOSurfacePool::takeSurface):

  • platform/graphics/cg/IOSurfacePool.h:
  • platform/graphics/cg/ImageBufferCGBackend.cpp:

(WebCore::createBitmapImageAfterScalingIfNeeded):
(WebCore::ImageBufferCGBackend::copyCGImageForEncoding const):

  • platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:

(WebCore::ImageBufferCGBitmapBackend::create):
(WebCore::ImageBufferCGBitmapBackend::copyNativeImage const):

  • platform/graphics/cg/ImageBufferCGBitmapBackend.h:
  • platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:

(WebCore::ImageBufferIOSurfaceBackend::create):

  • platform/graphics/cg/ImageBufferIOSurfaceBackend.h:
  • platform/graphics/cg/ImageBufferUtilitiesCG.cpp:

(WebCore::encode):

  • platform/graphics/cg/NativeImageCG.cpp:

(WebCore::NativeImage::singlePixelSolidColor const):

  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:

(WebCore::GraphicsContextGLOpenGL::allocateAndBindDisplayBufferBacking):

  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::surfaceFromPool):
(WebCore::IOSurface::create):
(WebCore::IOSurface::createFromSendRight):
(WebCore::IOSurface::createFromSurface):
(WebCore::IOSurface::createFromImage):
(WebCore::IOSurface::createFromPixelBuffer):
(WebCore::IOSurface::IOSurface):
(WebCore::IOSurface::ensurePlatformContext):
(WebCore::IOSurface::migrateColorSpaceToProperties):

  • platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:

(WebCore::FilterEffectRendererCoreImage::renderToImageBuffer):

  • platform/graphics/cv/ImageTransferSessionVT.mm:

(WebCore::ImageTransferSessionVT::createPixelBuffer):

  • platform/graphics/cv/PixelBufferConformerCV.cpp:

(WebCore::PixelBufferConformerCV::createImageFromPixelBuffer):

  • platform/graphics/displaylists/DisplayListImageBuffer.h:

(WebCore::DisplayList::ImageBuffer::create):

  • platform/graphics/displaylists/DisplayListItemBuffer.cpp:

(WebCore::DisplayList::ItemHandle::destroy):

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::BeginClipToDrawingCommands::BeginClipToDrawingCommands):
(WebCore::DisplayList::BeginClipToDrawingCommands::colorSpace const):
(WebCore::DisplayList::BeginClipToDrawingCommands::encode const):
(WebCore::DisplayList::BeginClipToDrawingCommands::decode):
(WebCore::DisplayList::GetPixelBuffer::GetPixelBuffer):
(WebCore::DisplayList::GetPixelBuffer::outputFormat const):
(WebCore::DisplayList::GetPixelBuffer::encode const):
(WebCore::DisplayList::GetPixelBuffer::decode):

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::clipToDrawingCommands):

  • platform/graphics/displaylists/DisplayListRecorder.h:
  • platform/graphics/filters/FEDisplacementMap.cpp:

(WebCore::FEDisplacementMap::setResultColorSpace):

  • platform/graphics/filters/FEDisplacementMap.h:
  • platform/graphics/filters/FEFlood.h:
  • platform/graphics/filters/FETile.cpp:

(WebCore::FETile::platformApplySoftware):

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::convertPixelBufferToColorSpace):
(WebCore::FilterEffect::convertImageBufferToColorSpace):
(WebCore::FilterEffect::copyConvertedImageBufferToDestination):
(WebCore::FilterEffect::copyConvertedPixelBufferToDestination):
(WebCore::FilterEffect::requiresPixelBufferColorSpaceConversion):
(WebCore::FilterEffect::transformResultColorSpace):

  • platform/graphics/filters/FilterEffect.h:

(WebCore::FilterEffect::operatingColorSpace const):
(WebCore::FilterEffect::setOperatingColorSpace):
(WebCore::FilterEffect::resultColorSpace const):
(WebCore::FilterEffect::setResultColorSpace):

  • platform/graphics/filters/SourceGraphic.h:

(WebCore::SourceGraphic::SourceGraphic):

  • platform/gtk/PlatformScreenGtk.cpp:

(WebCore::screenColorSpace):

  • platform/ios/PlatformScreenIOS.mm:

(WebCore::screenColorSpace):
(WebCore::collectScreenProperties):

  • platform/mac/PlatformScreenMac.mm:

(WebCore::collectScreenProperties):
(WebCore::screenColorSpace):

  • platform/mac/ThemeMac.mm:

(WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext):

  • platform/mediastream/mac/ScreenDisplayCapturerMac.mm:

(WebCore::ScreenDisplayCapturerMac::createDisplayStream):

  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::imageBuffer const):

  • platform/playstation/PlatformScreenPlayStation.cpp:

(WebCore::screenColorSpace):

  • platform/win/PlatformScreenWin.cpp:

(WebCore::screenColorSpace):

  • platform/wpe/PlatformScreenWPE.cpp:

(WebCore::screenColorSpace):

  • platform/xr/PlatformXR.h:

(PlatformXR::Device::FrameData::LayerData::decode):

  • rendering/CSSFilter.cpp:

(WebCore::CSSFilter::buildReferenceFilter):
(WebCore::CSSFilter::build):
(WebCore::CSSFilter::allocateBackingStoreIfNeeded):
(WebCore::CSSFilter::apply):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderLayerBacking.cpp:

(WebCore::patternForDescription):

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintSystemPreviewBadge):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintProgressBar):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createRasterShape):

  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::applyClippingToContext):

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::buildPrimitives const):
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::postApplyResource):

  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::createMaskAndSwapContextForTextGradient):

  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::applyResource):
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):

  • rendering/svg/RenderSVGResourceMasker.h:
  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::createTileImage const):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::createImageBuffer):
(WebCore::SVGRenderingContext::bufferForeground):

  • rendering/svg/SVGRenderingContext.h:
  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::nativeImage):
(WebCore::SVGImage::drawPatternForContainer):

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::platformApplySoftware):

Source/WebCore/PAL:

  • pal/spi/cg/CoreGraphicsSPI.h:

Add addional SPI for working with CGColorSpaceRefs.

Source/WebKit:

  • Update ImageBuffer subclass signatures to use "const DestinationColorSpace&" to conform to the base class.
  • Replace ColorSpaceData with Optional<DestinationColorSpace>. No reason to have two types that are the same.
  • Give all ports a color space configuration for ShareableBitmap now that there is a common class for representing color space.
  • Update DisplayList decoding to account for BeginClipToDrawingCommands and GetPixelBuffer no longer being inlineable due to now having non-trivial destructors due to DestinationColorSpace member.
  • GPUProcess/graphics/RemoteImageBuffer.h:

(WebKit::RemoteImageBuffer::create):

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::createImageBuffer):

  • GPUProcess/graphics/RemoteRenderingBackend.h:
  • GPUProcess/media/RemoteImageDecoderAVFProxy.cpp:

(WebKit::RemoteImageDecoderAVFProxy::createFrameImageAtIndex):

  • GPUProcess/media/RemoteImageDecoderAVFProxy.h:
  • GPUProcess/media/RemoteImageDecoderAVFProxy.messages.in:
  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):

  • Shared/ShareableBitmap.cpp:

(WebKit::ShareableBitmap::Configuration::encode const):
(WebKit::ShareableBitmap::Configuration::decode):

  • Shared/ShareableBitmap.h:
  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • Shared/cg/ShareableBitmapCG.cpp:

(WebKit::colorSpace):

  • Shared/mac/ColorSpaceData.h: Removed.
  • Shared/mac/ColorSpaceData.mm: Removed.
  • SourcesCocoa.txt:
  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _takeViewSnapshot]):
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::colorSpace):

  • UIProcess/PageClient.h:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:

(WebKit::recursivelyMapIOSurfaceBackingStore):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/PageClientImplMac.h:
  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::colorSpace):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::colorSpace):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:

(WebKit::ImageBufferShareableBitmapBackend::configuration):

  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:

(WebKit::RemoteGraphicsContextGLProxy::prepareForDisplay):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

(WebKit::RemoteImageBufferProxy::create):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::createImageBuffer):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp:

(WebKit::ImageBufferShareableMappedIOSurfaceBackend::create):

  • WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:

(WebKit::RemoteImageDecoderAVF::createFrameImageAtIndex):

  • WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:

(WebKit::MediaPlayerPrivateRemote::nativeImageForCurrentTime):
(WebKit::MediaPlayerPrivateRemote::pixelBufferForCurrentTime):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::PDFPlugin):

  • WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp:

(WebKit::createShareableBitmap):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createImageBuffer const):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::convertDragImageToBitmap):

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::setColorSpace):

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::snapshotOptionsToBitmapConfiguration):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::setColorSpace):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::imageForCurrentSharingServicePickerItem):
Update for new DestinationColorSpace class.

Tools:

  • TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:

(TestWebKitAPI::TEST):
Upate test to use new DestinationColorSpace type.

5:07 PM Changeset in webkit [277985] by stephan.szabo@sony.com
  • 2 edits in trunk/Tools

[PlayStation] Update scripts for JSC test changes
https://bugs.webkit.org/show_bug.cgi?id=226181

Reviewed by Ross Kirsling.

Update the scripts to pass the status file location and
unique test id into the runner for handling some crash
cases, and update the status command because the status
is written as a number in our case rather than being
the return type from executing the program directly.

  • Scripts/webkitruby/jsc-stress-test-writer-playstation.rb:
5:03 PM Changeset in webkit [277984] by rmorisset@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

When running with --reportTotalPhaseTimes=1, we should also log the max time in a phase
https://bugs.webkit.org/show_bug.cgi?id=226196

Reviewed by Saam Barati.

It is especially useful when looking at DFG phases, since the GC may have to wait for them to finish.

  • tools/CompilerTimingScope.cpp:
4:47 PM Changeset in webkit [277983] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Remove deprecated API usage in PageClientImplMac
https://bugs.webkit.org/show_bug.cgi?id=226184

Patch by Dana Estra <destra@apple.com> on 2021-05-24
Reviewed by Devin Rousso.

Covered by existing tests.

  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::screenToRootView):
(WebKit::PageClientImpl::rootViewToScreen):

4:44 PM Changeset in webkit [277982] by Ruben Turcios
  • 1 copy in tags/Safari-612.1.15.1.10

Tag Safari-612.1.15.1.10.

4:43 PM Changeset in webkit [277981] by Ruben Turcios
  • 1 copy in tags/Safari-612.1.15.0.6

Tag Safari-612.1.15.0.6.

4:43 PM Changeset in webkit [277980] by Alan Coon
  • 1 copy in tags/Safari-611.3.6.0.1

Tag Safari-611.3.6.0.1.

4:42 PM Changeset in webkit [277979] by Alan Coon
  • 1 copy in tags/Safari-611.3.6.1.1

Tag Safari-611.3.6.1.1.

4:36 PM Changeset in webkit [277978] by Alan Coon
  • 13 edits in branches/safari-611.3.6.1-branch/Source/bmalloc

Cherry-pick r277898. rdar://problem/78411705

[bmalloc] Rollout r276266 because WebKit processes are spending much more time in madvise
https://bugs.webkit.org/show_bug.cgi?id=226122

Unreviewed rollout.

Rolling out r276266 to do some automated testing. At the same time, we'll work on changing the madvise() decommitting to be more precise.

  • bmalloc/BPlatform.h:
  • bmalloc/Heap.cpp: (bmalloc::Heap::scavenge): (bmalloc::Heap::scavengeToHighWatermark): (bmalloc::Heap::allocateSmallChunk): (bmalloc::Heap::allocateSmallPage): (bmalloc::Heap::allocateLarge):
  • bmalloc/Heap.h:
  • bmalloc/IsoDirectory.h:
  • bmalloc/IsoDirectoryInlines.h: (bmalloc::passedNumPages>::takeFirstEligible): (bmalloc::passedNumPages>::scavenge): (bmalloc::passedNumPages>::scavengeToHighWatermark):
  • bmalloc/IsoHeapImpl.h:
  • bmalloc/IsoHeapImplInlines.h: (bmalloc::IsoHeapImpl<Config>::scavengeToHighWatermark):
  • bmalloc/LargeMap.cpp: (bmalloc::LargeMap::add):
  • bmalloc/LargeRange.h: (bmalloc::LargeRange::LargeRange): (bmalloc::merge):
  • bmalloc/Scavenger.cpp: (bmalloc::Scavenger::Scavenger): (bmalloc::Scavenger::timeSinceLastPartialScavenge): (bmalloc::Scavenger::scavenge): (bmalloc::Scavenger::partialScavenge): (bmalloc::Scavenger::threadRunLoop):
  • bmalloc/Scavenger.h:
  • bmalloc/SmallPage.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277898 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:18 PM Changeset in webkit [277977] by Alan Coon
  • 13 edits in branches/safari-611.3.6.0-branch/Source

Cherry-pick r274746. rdar://78422238

Cannot login to microsoftonline.com without allowing storage access
https://bugs.webkit.org/show_bug.cgi?id=223510
<rdar://problem/75619058>

Reviewed by John Wilander.

Source/WebCore:

This patch introduces two changes:

  1. Activate the storage access quirks for default browsers only. This is the main place we test them, and can lead to unexpected behavior in apps otherwise.
  1. Doesn't cancel the click even if the user denies storage access. Previously we we were not allowing the click because it produces unexpected behavior. But, sites like login.microsoftonline.com are used by multiple Microsoft login flows. Since only a subset require storage access, canceling the click across the board could be considered regressing behavior.

Since storage access data is stored in the network process, we
currently cancel the user's click on quirked sites while we wait
asyncronously for the IPC response. If the user grants storage access,
we store this in the web content process and dispatch a synthetic
click. In this case, when the click triggers another storage access
check, we can allow the click because we no longer need to wait for
information from the network process.

We need some heuristic in the web content process to handle the case
of the user denying storage access to know whether to allow a
synthetic click to happen. This patch introduces
hasDeniedCrossPageStorageAccess which stores domains in the web
content process which have been denied storage access via quirk. If
a user has previously denied storage access in that web content
process, we don't prompt again. A new web content process will give them
another opportunity to allow/deny storage access.

  • dom/Element.cpp: (WebCore::Element::dispatchMouseEvent):
  • loader/FrameLoaderClient.h: Add a client function to check if the parent process is a full web browser, and pass this to the place we apply the quirks.
  • loader/ResourceLoadObserver.h: (WebCore::ResourceLoadObserver::setHasDeniedCrossPageStorageAccess): (WebCore::ResourceLoadObserver::hasDeniedCrossPageStorageAccess const):
  • page/Quirks.cpp: (WebCore::hasDeniedCrossPageStorageAccess): (WebCore::Quirks::requestStorageAccessAndHandleClick const): (WebCore::Quirks::triggerOptionalStorageAccessQuirk const):
  • page/Quirks.h:

Source/WebKit:

Disable the storage access quirk for non-default web browsers and
don't cancel the login click on sites even if the user denies storage
access. See WebCore changelog for more details.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::isParentProcessAFullWebBrowser const):
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebCoreSupport/WebResourceLoadObserver.cpp: (WebKit::WebResourceLoadObserver::hasDeniedCrossPageStorageAccess const): (WebKit::WebResourceLoadObserver::setHasDeniedCrossPageStorageAccess):
  • WebProcess/WebCoreSupport/WebResourceLoadObserver.h:
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::pageIsParentProcessAFullWebBrowser): (WebKit::WebPage::updatePreferences):
  • WebProcess/WebPage/WebPage.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@274746 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:14 PM Changeset in webkit [277976] by Alan Coon
  • 8 edits in branches/safari-611.3.6.0-branch/Source

Versioning.

WebKit-7611.3.6.0.1

3:39 PM Changeset in webkit [277975] by Alan Coon
  • 1 copy in branches/safari-611.3.6.0-branch

New branch.

3:34 PM Changeset in webkit [277974] by sbarati@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Allow CTI stubs to be generated off the main thread
https://bugs.webkit.org/show_bug.cgi?id=226180

Reviewed by Mark Lam.

We make this work by tracking if we're a compiler thread when generating
the CTI stub. If so, it means that the main thread needs to issue a
crossModifyingCodeFence when it's going to run the CTI stub for the first
time.

This patch also does away with pre-generating thunks. Thunks can now generate
other thunks while they're running. To do this, we make JITThunks lock a
recursive lock. The reason this is ok is that we don't have any recursive
thunks in the thunk graph. It's a DAG.

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • jit/JITOpcodes.cpp:

(JSC::JIT::op_check_traps_handlerGenerator):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::slow_op_get_from_scopeGenerator):
(JSC::JIT::slow_op_put_to_scopeGenerator):

  • jit/JITThunks.cpp:

(JSC::JITThunks::ctiInternalFunctionCall):
(JSC::JITThunks::ctiInternalFunctionConstruct):
(JSC::JITThunks::ctiStubImpl):
(JSC::JITThunks::ctiStub):
(JSC::JITThunks::ctiSlowPathFunctionStub):
(JSC::JITThunks::existingCTIStub): Deleted.
(JSC::JITThunks::preinitializeCTIThunks): Deleted.

  • jit/JITThunks.h:
  • jit/SlowPathCall.cpp:

(JSC::JITSlowPathCall::generateThunk):

  • jit/ThunkGenerators.cpp:

(JSC::popThunkStackPreservesAndHandleExceptionGenerator):
(JSC::checkExceptionGenerator):
(JSC::virtualThunkFor):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::getCTIInternalFunctionTrampolineFor):

  • runtime/VM.h:
3:31 PM Changeset in webkit [277973] by Alan Coon
  • 8 edits in branches/safari-611.3.6.1-branch/Source

Versioning.

WebKit-7611.3.6.1.1

3:30 PM Changeset in webkit [277972] by Alan Bujtas
  • 34 edits in trunk/Source/WebCore

[LFC] Add support for geometry/quirks virtual functions
https://bugs.webkit.org/show_bug.cgi?id=226150

Reviewed by Antti Koivisto.

This enables us to override quirks/geometry functionality at the subclasses.

  • layout/formattingContexts/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry):
(WebCore::Layout::FormattingContext::computeBorderAndPadding):
(WebCore::Layout::FormattingContext::layoutOutOfFlowContent):
(WebCore::Layout::FormattingContext::geometry const): Deleted.
(WebCore::Layout::FormattingContext::quirks const): Deleted.

  • layout/formattingContexts/FormattingContext.h:
  • layout/formattingContexts/FormattingGeometry.cpp:

(WebCore::Layout::FormattingGeometry::computedHeightValue const):

  • layout/formattingContexts/FormattingGeometry.h:

(WebCore::Layout::FormattingGeometry::isBlockFormattingGeometry const):
(WebCore::Layout::FormattingGeometry::isInlineFormattingGeometry const):
(WebCore::Layout::FormattingGeometry::isFlexFormattingGeometry const):
(WebCore::Layout::FormattingGeometry::isTableFormattingGeometry const):

  • layout/formattingContexts/FormattingQuirks.cpp:

(WebCore::Layout::FormattingQuirks::heightValueOfNearestContainingBlockWithFixedHeight const):

  • layout/formattingContexts/FormattingQuirks.h:

(WebCore::Layout::FormattingQuirks::isBlockFormattingQuirks const):
(WebCore::Layout::FormattingQuirks::isInlineFormattingQuirks const):
(WebCore::Layout::FormattingQuirks::isTableFormattingQuirks const):

  • layout/formattingContexts/block/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::BlockFormattingContext):
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::placeInFlowPositionedChildren):
(WebCore::Layout::BlockFormattingContext::computeStaticVerticalPosition):
(WebCore::Layout::BlockFormattingContext::computeStaticHorizontalPosition):
(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForBoxAndAncestors):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::BlockFormattingContext::geometry const): Deleted.

  • layout/formattingContexts/block/BlockFormattingContext.h:

(WebCore::Layout::BlockFormattingContext::formattingState):
(WebCore::Layout::BlockFormattingContext::blockFormattingGeometry const):
(WebCore::Layout::BlockFormattingContext::blockFormattingQuirks const):

  • layout/formattingContexts/block/BlockFormattingGeometry.cpp:

(WebCore::Layout::BlockFormattingGeometry::inFlowContentHeightAndMargin const):

  • layout/formattingContexts/block/BlockFormattingGeometry.h:
  • layout/formattingContexts/block/BlockFormattingQuirks.cpp:

(WebCore::Layout::BlockFormattingQuirks::stretchedInFlowHeightIfApplicable const):

  • layout/formattingContexts/block/BlockFormattingQuirks.h:
  • layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::TableWrapperBlockFormattingContext):
(WebCore::Layout::TableWrapperBlockFormattingContext::layoutTableBox):
(WebCore::Layout::TableWrapperBlockFormattingContext::computeBorderAndPaddingForTableBox):
(WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox):
(WebCore::Layout::TableWrapperBlockFormattingContext::computeHeightAndMarginForTableBox):

  • layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingContext.h:
  • layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingQuirks.cpp:

(WebCore::Layout::TableWrapperQuirks::overriddenTableHeight const):

  • layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingQuirks.h:
  • layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::FlexFormattingContext):
(WebCore::Layout::FlexFormattingContext::sizeAndPlaceFlexItems):
(WebCore::Layout::FlexFormattingContext::computeIntrinsicWidthConstraintsForFlexItems):
(WebCore::Layout::FlexFormattingContext::geometry const): Deleted.

  • layout/formattingContexts/flex/FlexFormattingContext.h:
  • layout/formattingContexts/flex/FlexFormattingGeometry.h:
  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::InlineFormattingContext):
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthForFormattingRoot):
(WebCore::Layout::InlineFormattingContext::computeHorizontalMargin):
(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):
(WebCore::Layout::InlineFormattingContext::computeHeightAndMargin):
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
(WebCore::Layout::InlineFormattingContext::geometry const): Deleted.

  • layout/formattingContexts/inline/InlineFormattingContext.h:
  • layout/formattingContexts/inline/InlineFormattingGeometry.cpp:

(WebCore::Layout::LineBoxBuilder::computeLineBoxHeightAndAlignInlineLevelBoxesVertically):
(WebCore::Layout::InlineFormattingGeometry::lineBoxForLineContent const):
(WebCore::Layout::InlineFormattingGeometry::inlineLevelBoxAffectsLineBox const):
(WebCore::Layout::InlineFormattingGeometry::lineBoxForLineContent): Deleted.

  • layout/formattingContexts/inline/InlineFormattingGeometry.h:
  • layout/formattingContexts/inline/InlineFormattingQuirks.h:
  • layout/formattingContexts/inline/InlineLineBuilder.cpp:

(WebCore::Layout::isAtSoftWrapOpportunity):

  • layout/formattingContexts/table/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::TableFormattingContext):
(WebCore::Layout::TableFormattingContext::setUsedGeometryForRows):
(WebCore::Layout::TableFormattingContext::layoutCell):
(WebCore::Layout::TableFormattingContext::computedPreferredWidthForColumns):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraSpace):
(WebCore::Layout::TableFormattingContext::geometry const): Deleted.

  • layout/formattingContexts/table/TableFormattingContext.h:
  • layout/formattingContexts/table/TableFormattingGeometry.h:
  • layout/formattingContexts/table/TableFormattingQuirks.h:
  • layout/formattingContexts/table/TableLayout.cpp:

(WebCore::Layout::TableFormattingContext::TableLayout::distributedVerticalSpace):

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayNonRootInlineBoxes const):

3:27 PM Changeset in webkit [277971] by Chris Fleizach
  • 16 edits
    3 adds in trunk

AX: Settings: Increase contrast isn't detected in browser until an additional setting is applied
https://bugs.webkit.org/show_bug.cgi?id=225909

Reviewed by Per Arne Vollan.

Source/WebCore/PAL:

  • pal/spi/mac/HIServicesSPI.h:

Source/WebKit:

Tests: accessibility/mac/media-query-values-change.html

1) WebContent blocks access to distributed notification center, so we can't rely on that to re-post notifications
2) AppKit caches the values of these AX settings, so we need to invalidate that cache directly

  • Platform/spi/mac/AppKitSPI.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKAccessibilityTestingInjectPreference):

  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::invertColorsPreferenceKey):
(WebKit::dispatchSimulatedNotificationsForPreferenceChange):
(WebKit::setPreferenceValue):
(WebKit::reduceMotionPreferenceKey): Deleted.

Tools:

  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:

(WTR::AccessibilityController::injectAccessibilityPreference):

  • WebKitTestRunner/InjectedBundle/AccessibilityController.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:

(WTR::AccessibilityController::injectAccessibilityPreference):

LayoutTests:

  • accessibility/mac/media-query-values-change-expected.txt: Added.
  • accessibility/mac/media-query-values-change.html: Added.
3:24 PM Changeset in webkit [277970] by Cameron McCormack
  • 21 edits
    13 copies
    13 adds
    1 delete in trunk/LayoutTests

Add missing operators.woff that a few WPTs reference.
https://bugs.webkit.org/show_bug.cgi?id=225586
<rdar://77527890>

Reviewed by Frédéric Wang.

LayoutTests/imported/w3c:

  • web-platform-tests/fonts/math/operators.woff: Added.
  • web-platform-tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001-expected.txt:
  • web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt:
  • web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt:
  • web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt: Added.
  • web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt:
  • web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt:
  • web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt:
  • web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt:
  • web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt:
  • web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt:

LayoutTests:

  • platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt:
  • platform/mac-catalina-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt: Added.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Copied from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt: Copied from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Added.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt: Copied from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt: Removed.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Copied from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt: Copied from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Added.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt: Copied from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt.
  • platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt:
  • platform/mac/TestExpectations:
3:15 PM Changeset in webkit [277969] by Alan Coon
  • 1 copy in branches/safari-611.3.6.1-branch

New branch.

3:11 PM Changeset in webkit [277968] by Alan Coon
  • 1 copy in tags/Safari-611.3.6

Tag Safari-611.3.6.

2:51 PM Changeset in webkit [277967] by Darin Adler
  • 163 edits in trunk

Remove StringBuilder::appendLiteral
https://bugs.webkit.org/show_bug.cgi?id=226137

Reviewed by Chris Dumez.

Source/JavaScriptCore:

  • API/tests/PingPongStackOverflowTest.cpp:

(PingPongStackOverflowObject_hasInstance): Use append instead of appendLiteral.

  • bindings/ScriptFunctionCall.cpp:

(Deprecated::ScriptCallArgumentHandler::appendArgument): Remove unnecessary cast
from const char* to String, which defeats optimization and has no benefit.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ArrayPatternNode::toString const): Use append instead of appendLiteral.
(JSC::RestParameterNode::toString const): Ditto.

  • heap/HeapSnapshotBuilder.cpp:

(JSC::HeapSnapshotBuilder::json): Use append instead of appendLiteral.
Removed unnecesary use of appendQuotedJSONString to append the result of
snapshotTypeToString and edgeTypeToString, which return a const char* that
never contains characters that require special quoting consideration, so
can be appended efficiently with the normal append function.

  • inspector/agents/InspectorAuditAgent.cpp:

(Inspector::InspectorAuditAgent::run): Use makeString instead of StringBuilder.

  • inspector/agents/InspectorConsoleAgent.cpp: Use auto for the result of makeString.
  • jsc.cpp: Use appned instead of appendLiteral.
  • parser/ParserArena.cpp:

(JSC::IdentifierArena::makePrivateIdentifier): Use auto for the result of makeString.

  • runtime/ConsoleClient.cpp:

(JSC::ConsoleClient::printConsoleMessage): Use append instead of appendLiteral.
Also use variadic append when practical for better efficiency.
(JSC::ConsoleClient::printConsoleMessageWithArguments): Ditto.

  • runtime/DateConversion.cpp:

(JSC::formatDateTime): Ditto.

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::sanitizedToString): Use makeString instead of StringBuilder.

  • runtime/ExceptionHelpers.cpp:

(JSC::notAFunctionSourceAppender): Use append instead of appendLiteral.

  • runtime/IntlDateTimeFormat.cpp:

(JSC::IntlDateTimeFormat::initializeDateTimeFormat): Ditto.

  • runtime/IntlNumberFormat.cpp:

(JSC::IntlNumberFormat::initializeNumberFormat): Ditto.

  • runtime/JSCustomGetterFunction.cpp:

(JSC::JSCustomGetterFunction::create): Use auto and cut down on reference count
churn by using passing the StringImpl to makeString.

  • runtime/JSCustomSetterFunction.cpp:

(JSC::JSCustomSetterFunction::create): Ditto.

  • runtime/JSGlobalObjectFunctions.cpp: Use more const and use variadic

append for better efficiency.

  • runtime/JSONObject.cpp:

(JSC::Stringifier::appendStringifiedValue): Use append instead of appendLiteral.
(JSC::Stringifier::Holder::appendNextProperty): Ditto.

  • runtime/JSStringJoiner.h: Deleted unused appendLiteral function.

Unrelated to StringBuilder::appendLiteral, but dead code.

  • runtime/Options.cpp:

(JSC::Options::dumpOption): Use append instead of appendLiteral.

  • runtime/RegExpPrototype.cpp:

(JSC::appendLineTerminatorEscape<UChar>): Ditto.

  • runtime/SamplingProfiler.cpp:

(JSC::SamplingProfiler::reportTopFunctions): Use auto for the result of makeString.
(JSC::SamplingProfiler::reportTopBytecodes): Ditto.

  • runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::typeInformationForExpressionAtOffset): Use append instead of
appendLiteral.

  • runtime/TypeSet.cpp:

(JSC::TypeSet::dumpTypes const): Use append instead of appendLiteral.
(JSC::TypeSet::toJSONString const): Ditto.
(JSC::StructureShape::propertyHash): Ditto.
(JSC::StructureShape::toJSONString const): Ditto.

Source/WebCore:

  • Modules/fetch/FetchBodyConsumer.cpp:

(WebCore::packageFormData): Use auto for the result of makeString.

  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::loggingString const): Use append instead
of appendLiteral.

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::addRecord): Use auto
for the result of makeString.

  • Modules/indexeddb/server/SQLiteIDBCursor.cpp:

(WebCore::IDBServer::buildPreIndexStatement): Use makeString
instead of StringBuilder.
(WebCore::IDBServer::buildIndexStatement): Ditto.
(WebCore::IDBServer::buildObjectStoreStatement): Ditto.

  • Modules/websockets/WebSocket.cpp:

(WebCore::encodeProtocolString): Use append instead of appendLiteral.

  • Modules/websockets/WebSocketExtensionDispatcher.cpp:

(WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension): Ditto.

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::clientHandshakeMessage const): Use
makeString instead of StringBuilder.
(WebCore::WebSocketHandshake::clientHandshakeRequest const): Tweak
to match the function above more closely, and use ASCIILiteral.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(formatForDebugger): Use makeString instead of StringBuilder.

  • contentextensions/CombinedURLFilters.cpp:

(WebCore::ContentExtensions::prefixTreeVertexToString): Use
append instead of appendLiteral.

  • css/CSSBasicShapes.cpp:

(WebCore::buildCircleString): Ditto.
(WebCore::buildEllipseString): Ditto.
(WebCore::buildPathString): Ditto.
(WebCore::buildPolygonString): Ditto.
(WebCore::buildInsetString): Ditto.

  • css/CSSGradientValue.cpp:

(WebCore::CSSLinearGradientValue::customCSSText const): Ditto.
(WebCore::CSSRadialGradientValue::customCSSText const): Ditto.
(WebCore::CSSConicGradientValue::customCSSText const): Ditto.

  • css/CSSGridIntegerRepeatValue.cpp:

(WebCore::CSSGridIntegerRepeatValue::customCSSText const):
Use makeString instead of StringBuilder.

  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::customCSSText const): Use append
instead of appendLiteral.

  • css/CSSImportRule.cpp:

(WebCore::CSSImportRule::cssText const): Use makeString instead
of StringBuilder.

  • css/CSSKeyframeRule.cpp:

(WebCore::StyleRuleKeyframe::cssText const): Ditto.

  • css/CSSKeyframesRule.cpp:

(WebCore::CSSKeyframesRule::cssText const): Use variadic append.

  • css/CSSLineBoxContainValue.cpp:

(WebCore::CSSLineBoxContainValue::customCSSText const): Use
append instead of appendLiteral.

  • css/CSSNamespaceRule.cpp:

(WebCore::CSSNamespaceRule::cssText const): Ditto.

  • css/CSSPageRule.cpp:

(WebCore::CSSPageRule::cssText const): Use makeString instead of
StringBuilder.

  • css/CSSPaintImageValue.cpp:

(WebCore::CSSPaintImageValue::customCSSText const): Ditto.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const):
Use append instead of appendLiteral.

  • css/CSSSelector.cpp:

(WebCore::appendLangArgumentList): Use variadic append.
(WebCore::CSSSelector::selectorText const): Ditto. Also use
append instead of appendLiteral and make some improvements to
cut down on allocations a little.

  • css/CSSSelectorList.cpp:

(WebCore::CSSSelectorList::buildSelectorsText const): Use
append instead of appendLiteral.

  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::CSSStyleSheet): Moved more of the
data member initialization to the class definition.
(WebCore::CSSStyleSheet::addRule): Use makeString instead of
StringBuilder.

  • css/CSSStyleSheet.h: Moved initialization here.
  • css/CSSTimingFunctionValue.cpp:

(WebCore::CSSStepsTimingFunctionValue::customCSSText const):
Use makeString instead of StringBuilder.
(WebCore::CSSSpringTimingFunctionValue::customCSSText const):
Ditto.

  • css/MediaList.cpp:

(WebCore::MediaQuerySet::mediaText const): Use append instead
of appendLiteral.

  • css/MediaQuery.cpp:

(WebCore::MediaQuery::serialize const): Ditto.

  • css/MediaQueryExpression.cpp:

(WebCore::MediaQueryExpression::serialize const): Use makeString
instead of StringBuilder.

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getLayeredShorthandValue const):
Use append instead of appendLiteral.

  • css/parser/CSSParserToken.cpp:

(WebCore::CSSParserToken::serialize const): Removed a lot of
unnecessary braces. Use variadic append and append instead of appendLiteral.

  • dom/Document.cpp:

(WebCore::Document::initSecurityContext): Use auto for the result
of makeString.

  • dom/Element.cpp:

(WebCore::appendAttributes): Use variadic append and append
instead of appendLiteral.

  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::parseSandboxPolicy): Ditto.

  • editing/HTMLInterchange.cpp:

(WebCore::convertHTMLTextToInterchangeFormat): Ditto.

  • editing/TextIterator.cpp:

(WebCore::createSearcher): Use auto for the result of makeString.

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
Use append instead of appendLiteral.
(WebCore::StyledMarkupAccumulator::appendStartTag): Ditto.
(WebCore::urlToMarkup): Ditto.

  • html/FormController.cpp:

(WebCore::recordFormStructure): Ditto.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::reportValidity): Use auto for
the result of makeString.

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::validateInteractively): Ditto.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::completeURLsInAttributeValue const):
Use append insteaed of appendLiteral.

  • html/MediaElementSession.cpp:

(WebCore::restrictionNames): Use auto for the result of makeString.

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::getUniformLocation): Ditto.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining): Ditto.

  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::buildConsoleError): Use makeString instead of StringBuilder.

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::rebuildDisplayTree): Ditto.

  • inspector/InspectorFrontendAPIDispatcher.cpp:

(WebCore::expressionForEvaluatingCommand): Use append instead of appendLiteral.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::drawElementTitle): Use auto for the result of makeString.

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::addRule): Use append instead of appendLiteral.

  • inspector/agents/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
Use makeString instead of StringBuilder.

  • inspector/agents/WebConsoleAgent.cpp:

(WebCore::WebConsoleAgent::didReceiveResponse): Use auto for the result of makeString.
(WebCore::WebConsoleAgent::didFailLoading): Ditto.

  • loader/MixedContentChecker.cpp:

(WebCore::logWarning): Ditto
(WebCore::MixedContentChecker::checkFormForMixedContent): Ditto

  • loader/PrivateClickMeasurement.cpp:

(WebCore::makeValidURL): Added. Used for various cases below that all construct
URLs in the same way with the same kinds of checks. Use makeString here instead
of StringBuilder.
(WebCore::attributionReportURL): Call makeValidURL.
(WebCore::PrivateClickMeasurement::tokenSignatureURL const): Ditto.
(WebCore::PrivateClickMeasurement::tokenPublicKeyURL const): Ditto.

  • loader/ResourceLoadStatistics.cpp:

(WebCore::appendBoolean): Use append instead of appendLiteral.
(WebCore::appendHashSet): Ditto.
(WebCore::appendNavigatorAPIOptionSet): Ditto.
(WebCore::appendScreenAPIOptionSet): Ditto.
(WebCore::ResourceLoadStatistics::toString const): Ditto.

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::loadResourceSynchronously): Use auto for
the result of makeString.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::postMessage): Ditto.

  • page/Frame.cpp:

(WebCore::createRegExpForLabels): Use append instead of appendLiteral.
Also tweak coding style a bit.

  • page/FrameView.cpp:

(WebCore::FrameView::logMockScrollAnimatorMessage const): Use makeString
instead of StringBuilder.

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::SerializerMarkupAccumulator::appendStartTag):
Use append instead of appendLiteral.
(WebCore::PageSerializer::serializeCSSStyleSheet): Ditto.
(WebCore::PageSerializer::urlForBlankFrame): Use auto for the result of
makeString.

  • page/PerformanceLoggingClient.cpp:

(WebCore::PerformanceLoggingClient::synchronousScrollingReasonsAsString):
Use makeString instead of StringBuilder.

  • page/cocoa/ResourceUsageOverlayCocoa.mm:

(WebCore::ResourceUsageOverlay::platformDraw): Use auto for the result of
makeString.

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::consoleMessageForViolation): Use makeString instsead of StringBuilder.
(WebCore::ContentSecurityPolicy::allowRunningOrDisplayingInsecureContent): Ditto.
(WebCore::ContentSecurityPolicy::reportInvalidDirectiveValueCharacter const):
Get rid of local variable for result of makeString.
(WebCore::ContentSecurityPolicy::reportInvalidPathCharacter const): Ditto.
(WebCore::ContentSecurityPolicy::reportInvalidSourceExpression const): Ditto.

  • page/csp/ContentSecurityPolicyDirectiveList.cpp:

(WebCore::ContentSecurityPolicyDirectiveList::create): Get rid of local
variable for result of makeString.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::synchronousScrollingReasonsAsText):
Use makeString instead of StringBulder.

  • platform/Decimal.cpp:

(WebCore::Decimal::toString const): Use append instead of appendLiteral.

  • platform/animation/TimingFunction.cpp:

(WebCore::TimingFunction::createFromCSSText): Use makeString instead
of StringBuilder.

  • platform/audio/HRTFElevation.cpp:

(WebCore::HRTFElevation::calculateKernelsForAzimuthElevation): Use auto
for the result of makeString.

  • platform/glib/UserAgentGLib.cpp:

(WebCore::buildUserAgentString): Use append instead of appendLiteral.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Use
append instead of appendLiteral.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::recursiveCommitChanges): Got rid of local
variable for result of makeString.
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Use auto
for result of makeString.

  • platform/graphics/ca/TileController.cpp:

(WebCore::TileController::tileRevalidationTimerFired): Update to
use OptionSet.

  • platform/graphics/ca/TileGrid.cpp:

(WebCore::validationPolicyAsString): Use OptionSet.
(WebCore::TileGrid::setNeedsDisplayInRect): Use auto for iterator
and range-based for loop.
(WebCore::TileGrid::updateTileLayerProperties): Ditto.
(WebCore::TileGrid::blankPixelCount const): Ditto.
(WebCore::TileGrid::removeTiles): Use HashCountedSet.
(WebCore::TileGrid::revalidateTiles): Use OptionSet.
(WebCore::TileGrid::retainedTileBackingStoreMemory const): Use
ranged-based for loop.
(WebCore::TileGrid::drawTileMapContents const): Use range-based
for loop and use writeIntegerToBuffer instead of String::number.
(WebCore::TileGrid::platformCALayerRepaintCount const): Use
HashCountedSet.
(WebCore::TileGrid::platformCALayerIncrementRepaintCount): Ditto.
This cuts us down from 3 hash table lookups to 1.
(WebCore::TileGrid::removeUnparentedTilesNow): Removed local
variable to make code a little tighter.

  • platform/graphics/ca/TileGrid.h: Use OptionSet and HashCountedSet.

Removed some type names.

  • platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm:

(WebCore::PlatformCAFilters::setFiltersOnLayer): Use auto for
reuslt of makeString.

  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::drawText): Ditto.

  • platform/mock/ScrollAnimatorMock.cpp:

(WebCore::ScrollAnimatorMock::scrollbarPrefix const): Added
helper function for use below.
(WebCore::ScrollAnimatorMock::mouseEnteredScrollbar const): Use
makeString instead of StringBuilder.
(WebCore::ScrollAnimatorMock::mouseExitedScrollbar const): Ditto.
(WebCore::ScrollAnimatorMock::mouseIsDownInScrollbar const): Ditto.

  • platform/mock/ScrollAnimatorMock.h: Ditto.
  • platform/network/ProxyServer.cpp:

(WebCore::appendProxyServerString): Use append instead of appendLiteral.
(WebCore::toString): Ditto.

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::sanitizeSuggestedFilename): Get rid
of local variable with result of maekString in it.

  • platform/playstation/UserAgentPlayStation.cpp:

(WebCore::platformForUAString): Deleted. No need for a global variable
to hold the result of something called only once.
(WebCore::platformVersionForUAString): Ditto.
(WebCore::buildUserAgentString): Deleted.
(WebCore::standardUserAgentStatic): Moved the logic from buildUserAgentString
here, using makeString instead of StringBuilder.

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::open): Use auto for result of makeString.

  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::deleteDatabaseFile): Ditto.

  • platform/text/DateTimeFormat.cpp:

(WebCore::DateTimeFormat::quoteAndAppendLiteral): Use append instead
of appendLiteral and StringView::substring instead of String::substring.

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::replaceNewlinesWithWindowsStyleNewlines): Use append
instead of appendLiteral.

  • platform/win/UserAgentWin.cpp:

(WebCore::standardUserAgent): Use makeString instead of StringBuildeer.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::name const): Ditto.
(WebCore::RenderLayer::debugDescription const): Ditto.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::logLayerInfo): Use append instead of
appendLiteral.

  • rendering/RenderTreeAsText.cpp:

(WebCore::quoteAndEscapeNonPrintables): Ditto.
(WebCore::nodePosition): Ditto.

  • svg/SVGPathStringBuilder.cpp:

(WebCore::SVGPathStringBuilder::moveTo): Ditto.
(WebCore::SVGPathStringBuilder::lineTo): Ditto.
(WebCore::SVGPathStringBuilder::lineToHorizontal): Ditto.
(WebCore::SVGPathStringBuilder::lineToVertical): Ditto.
(WebCore::SVGPathStringBuilder::curveToCubic): Ditto.
(WebCore::SVGPathStringBuilder::curveToCubicSmooth): Ditto.
(WebCore::SVGPathStringBuilder::curveToQuadratic): Ditto.
(WebCore::SVGPathStringBuilder::curveToQuadraticSmooth): Ditto.
(WebCore::SVGPathStringBuilder::arcTo): Ditto.
(WebCore::SVGPathStringBuilder::closePath): Ditto.

  • testing/Internals.cpp:

(WebCore::Internals::dumpMarkerRects): Ditto.
(WebCore::appendOffsets):
(WebCore::Internals::scrollSnapOffsets): Ditto.

  • workers/WorkerScriptLoader.cpp:

(WebCore::WorkerScriptLoader::validateWorkerResponse): Use auto
for reuslt of makeString.

Source/WebKit:

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::ensureAndMakeDomainList): Use append
instead of appendLiteral.
(WebKit::domainsToString): Ditto.
(WebKit::buildList): Ditto.
(WebKit::ResourceLoadStatisticsDatabaseStore::findNotVeryPrevalentResources): Ditto.
(WebKit::ResourceLoadStatisticsDatabaseStore::dumpResourceLoadStatistics): Ditto.
(WebKit::appendBoolean): Ditto.
(WebKit::appendNextEntry): Ditto.
(WebKit::ResourceLoadStatisticsDatabaseStore::appendSubStatisticList const): Ditto.
(WebKit::ResourceLoadStatisticsDatabaseStore::resourceToString const): Ditto.
(WebKit::ResourceLoadStatisticsDatabaseStore::attributionToString): Ditto.
(WebKit::ResourceLoadStatisticsDatabaseStore::privateClickMeasurementToString): Ditto.

  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:

(WebKit::ResourceLoadStatisticsMemoryStore::dumpResourceLoadStatistics): Ditto.

  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp: Ditto.

(WebKit::domainsToString): Ditto.

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::create): Moved this here from the header.
(WebKit::WebResourceLoadStatisticsStore::ThirdPartyDataForSpecificFirstParty::toString const): Ditto.
(WebKit::WebResourceLoadStatisticsStore::ThirdPartyDataForSpecificFirstParty::encode const): Ditto.
(WebKit::WebResourceLoadStatisticsStore::ThirdPartyDataForSpecificFirstParty::decode): Ditto.
(WebKit::WebResourceLoadStatisticsStore::ThirdPartyDataForSpecificFirstParty::operator== const): Ditto.
(WebKit::WebResourceLoadStatisticsStore::ThirdPartyData::toString const): Ditto.
(WebKit::WebResourceLoadStatisticsStore::ThirdPartyData::encode const): Ditto.
(WebKit::WebResourceLoadStatisticsStore::ThirdPartyData::decode): Ditto.
(WebKit::WebResourceLoadStatisticsStore::ThirdPartyData::operator< const): Ditto.

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h: Moved member

functions of the nested structures into the implementation file and fixed
the indentation of the structures to indicate the nesting.

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::continueCheckingRequest): Do not use a local
variable for the reuslt of makeString.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::newTestingSession): Ditto.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::dumpContentsToFile): Use append instead of appendLiteral

  • NetworkProcess/cache/NetworkCacheEntry.cpp:

(WebKit::NetworkCache::Entry::asJSON const): Ditto.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::makeVersionedDirectoryPath): Do not use a local variable for
the result of makeString.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::buildAcceptLanguages): Use append instead of appendLiteral.

  • NetworkProcess/soup/WebSocketTaskSoup.cpp:

(WebKit::WebSocketTask::acceptedExtensions const): Ditto.

  • NetworkProcess/webrtc/NetworkMDNSRegister.cpp:

(WebKit::NetworkMDNSRegister::registerMDNSName): Use auto for the result of makeString.

  • Shared/WebMemorySampler.cpp:

(WebKit::WebMemorySampler::writeHeaders): Ditto.

  • Shared/mac/AuxiliaryProcessMac.mm:

(WebKit::initializeSandboxParameters): Do not use a local variable for the result of
makeString. Also, take advantage of the support for concatenating an NSString instead
of converting it to a WTF::String.

  • Shared/mac/WebMemorySampler.mac.mm:

(WebKit::WebMemorySampler::sampleWebKit const): Use ASCIILiteral and remove explicit
conversion to String.

  • UIProcess/API/glib/WebKitWebView.cpp:

(webkitWebViewRunJavaScriptCallback): Use append instead of appendLiteral.

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::fileCanBeAcceptedForUpload): Use auto for result of makeString.

  • WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp: Use makeString instead of

StringBuilder.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::requestStorageSpace): Use auto for result of makeString.

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::loggingString): Use append instead of appendLiteral.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processDidFinishLaunching): Use auto for result of makeString.
(WebKit::WebProcessPool::startMemorySampler): Ditto.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::dumpHistoryItem): Use append instead of appendLiteral.
(WebKit::WebPage::getContentsAsString): Ditto.

Source/WebKitLegacy:

  • WebCoreSupport/NetworkStorageSessionMap.cpp:

(NetworkStorageSessionMap::switchToNewTestingSession): Do not use local
for return value of makeString.

Source/WebKitLegacy/mac:

  • WebView/WebHTMLRepresentation.mm:

(regExpForLabels): Use append instead of appendLiteral.
Also imrpove local variable names a bit.

Source/WebKitLegacy/win:

  • AccessibleBase.cpp:

(AccessibleBase::get_accKeyboardShortcut): Use append instead of appnedLiteral.

  • WebView.cpp: Ditto.

Source/WTF:

The optimization done by appendLiteral has minimal value and is something we
can do without. It does not cut down the number of allocations, which is the
main cost of the StringBuilder class. Getting rid of the differently named
appendLiteral improves the design of the StringBuilder class for callers.
Our goal is to get as close as possible to a single append function.

If we decide we need an optimization for literals, we can come up with a
different way that is compatible with append. For example, we could assume
that any char array is a literal and check that at compile time in
StringConcatenate; that optimization would work for both makeString and
StringBuilder. Or we could use a strategy like ASCIILiteral.

  • wtf/FileSystem.cpp:

(WTF::FileSystemImpl::encodeForFileName): Streamline logic,
and use variadic append to make this more efficient.

  • wtf/JSONValues.cpp:

(WTF::JSONImpl::Value::escapeString): Use append instead
of appendLiteral.
(WTF::JSONImpl::Value::writeJSON const): Ditto.

  • wtf/Logger.h:

(WTF::Logger::log): Use auto for result of makeString.
(WTF::Logger::logVerbose): Ditto.

  • wtf/MediaTime.cpp:

(WTF::MediaTime::toString const): Use makeString instead of StringBuilder.

  • wtf/text/IntegerToStringConversion.h:

Made lengthOfIntegerAsString a constexpr function so we can use it to
compute the required size of arrays for conversion. Added using for both
lengthOfIntegerAsString and writeIntegerToBuffer so we can use them without
the WTF prefix as is customary for functions in WTF.

  • wtf/text/StringBuilder.h:

(WTF::StringBuilder::appendLiteral): Deleted.

  • wtf/text/StringConcatenate.h: Added support for appending StringImpl&,

StringImpl*, AtomStringImpl&, and AtomStringImpl*.

Tools:

  • TestWebKitAPI/Tests/WTF/StringBuilder.cpp:

Use append instead of appendLiteral.

  • TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:

(TestWebKitAPI::createCommand): Use makeString instead of StringBuilder.

  • TestWebKitAPI/Tests/WebCore/Logging.cpp:

(TestWebKitAPI::TEST_F): Made lots of fixes to code inside #if TEST_OUTPUT,
which hasn't compiled in a long time. Still not 100% there, but closer.

  • TestWebKitAPI/Tests/WebCore/TextCodec.cpp:

(TestWebKitAPI::testDecode): Use append instead of appendLiteral.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::helpText const): Ditto.

2:44 PM Changeset in webkit [277966] by Jonathan Bedard
  • 1 edit
    12 deletes in trunk/LayoutTests

[LayoutTests] Delete unused jquery resources
https://bugs.webkit.org/show_bug.cgi?id=226043
<rdar://problem/78277881>

Reviewed by Dewei Zhu.

  • jquery/resources/src/intro.js: Removed.
  • jquery/resources/src/outro.js: Removed.
  • jquery/resources/src/selector.js: Removed.
  • jquery/resources/test/csp.php: Removed.
  • jquery/resources/test/data/readywaitasset.js: Removed.
  • jquery/resources/test/data/readywaitloader.js: Removed.
  • jquery/resources/test/delegatetest.html: Removed.
  • jquery/resources/test/localfile.html: Removed.
  • jquery/resources/test/networkerror.html: Removed.
  • jquery/resources/test/polluted.php: Removed.
  • jquery/resources/test/readywait.html: Removed.
  • jquery/resources/test/xhtml.php: Removed.
2:05 PM Changeset in webkit [277965] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Stop using UncheckedLock in ShadowBlur's ScratchBuffer
https://bugs.webkit.org/show_bug.cgi?id=226183

Reviewed by Simon Fraser.

Stop using UncheckedLock in ShadowBlur's ScratchBuffer to benefit from Clang
Thread Safety Analysis. Note that I had to factor the code a bit differently
because analysis doesn't support conditionally held locks. I could have also
used WTF_IGNORES_THREAD_SAFETY_ANALYSIS but I think it is better to factor
the code so that we do get the validation.

  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::WTF_REQUIRES_LOCK):
(WebCore::ScratchBuffer::WTF_RETURNS_LOCK):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawRectShadowWithTilingWithLayerImageBuffer):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTilingWithLayerImageBuffer):

  • platform/graphics/ShadowBlur.h:
1:11 PM Changeset in webkit [277964] by Chris Gambrell
  • 17 edits in trunk/LayoutTests

[LayoutTests] Remove straggling PHP references
https://bugs.webkit.org/show_bug.cgi?id=226179
<rdar://problem/78407224>

Reviewed by Jonathan Bedard.

  • http/tests/blink/sendbeacon/beacon-cross-origin-redirect-blob-expected.txt:
  • http/tests/blink/sendbeacon/beacon-cross-origin-redirect-blob.html:
  • http/tests/blink/sendbeacon/beacon-cross-origin-redirect-expected.txt:
  • http/tests/blink/sendbeacon/beacon-cross-origin-redirect.html:
  • http/tests/eventsource/eventsource-events-after-close.html:
  • http/tests/images/avif-partial-load-crash.html:
  • http/tests/inspector/css/bad-mime-type-expected.txt:
  • http/tests/inspector/css/bad-mime-type.html:
  • http/tests/loading/resources/post-in-iframe-with-back-navigation-page-2.py:
  • http/tests/media/resources/serve_video.py:
  • http/tests/navigation/redirect-to-fragment2-expected.txt:
  • http/tests/navigation/slow-loading-page-with-slow-script.py:
  • http/tests/security/contentSecurityPolicy/resources/worker.py:
  • http/tests/security/xssAuditor/resources/echo-intertag.pl:
  • http/tests/workers/service/basic-register-exceptions-expected.txt:
  • http/tests/workers/service/resources/basic-register-exceptions.js:
12:29 PM Changeset in webkit [277963] by keith_miller@apple.com
  • 6 edits in trunk/Source

Unreviewed, revert r276610 because it causes a 1% PLT regression.

Source/JavaScriptCore:

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::visitChildren):
(JSC::CodeBlock::JITData::size const): Deleted.

  • bytecode/CodeBlock.h:
  • jit/JITCodeMap.h:

(JSC::JITCodeMap::memorySize const): Deleted.

Source/WTF:

  • wtf/Bag.h:
11:58 AM Changeset in webkit [277962] by Ruben Turcios
  • 13 edits in branches/safari-612.1.15.1-branch/Source/bmalloc

Cherry-pick r277898. rdar://problem/78411755

[bmalloc] Rollout r276266 because WebKit processes are spending much more time in madvise
https://bugs.webkit.org/show_bug.cgi?id=226122

Unreviewed rollout.

Rolling out r276266 to do some automated testing. At the same time, we'll work on changing the madvise() decommitting to be more precise.

  • bmalloc/BPlatform.h:
  • bmalloc/Heap.cpp: (bmalloc::Heap::scavenge): (bmalloc::Heap::scavengeToHighWatermark): (bmalloc::Heap::allocateSmallChunk): (bmalloc::Heap::allocateSmallPage): (bmalloc::Heap::allocateLarge):
  • bmalloc/Heap.h:
  • bmalloc/IsoDirectory.h:
  • bmalloc/IsoDirectoryInlines.h: (bmalloc::passedNumPages>::takeFirstEligible): (bmalloc::passedNumPages>::scavenge): (bmalloc::passedNumPages>::scavengeToHighWatermark):
  • bmalloc/IsoHeapImpl.h:
  • bmalloc/IsoHeapImplInlines.h: (bmalloc::IsoHeapImpl<Config>::scavengeToHighWatermark):
  • bmalloc/LargeMap.cpp: (bmalloc::LargeMap::add):
  • bmalloc/LargeRange.h: (bmalloc::LargeRange::LargeRange): (bmalloc::merge):
  • bmalloc/Scavenger.cpp: (bmalloc::Scavenger::Scavenger): (bmalloc::Scavenger::timeSinceLastPartialScavenge): (bmalloc::Scavenger::scavenge): (bmalloc::Scavenger::partialScavenge): (bmalloc::Scavenger::threadRunLoop):
  • bmalloc/Scavenger.h:
  • bmalloc/SmallPage.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277898 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:54 AM Changeset in webkit [277961] by commit-queue@webkit.org
  • 173 edits
    2 copies
    3 deletes in trunk

Unreviewed, reverting r277940.
https://bugs.webkit.org/show_bug.cgi?id=226182

Caused Safari crash under IPC::typeFromCFTypeRef

Reverted changeset:

"Convert DestinationColorSpace from an enum to class wrapping
a platform color space (CGColorSpaceRef for CG ports, etc.)"
https://bugs.webkit.org/show_bug.cgi?id=226143
https://trac.webkit.org/changeset/277940

11:52 AM Changeset in webkit [277960] by Alan Coon
  • 2 edits in branches/safari-611-branch/Source/WebCore

Cherry-pick r277177. rdar://problem/78411433

AudioWorkletProcessor which does not extend base class crashes Safari
https://bugs.webkit.org/show_bug.cgi?id=225449
<rdar://problem/77624792>

Reviewed by Sam Weinig.

Update AudioWorkletGlobalScope::createProcessor() to validate the type of the processor
after constructing it.

  • Modules/webaudio/AudioWorkletGlobalScope.cpp: (WebCore::AudioWorkletGlobalScope::createProcessor):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277177 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:50 AM Changeset in webkit [277959] by Alan Coon
  • 8 edits in branches/safari-611-branch/Source

Versioning.

WebKit-7611.3.6

11:29 AM Changeset in webkit [277958] by Chris Dumez
  • 167 edits
    4 deletes in trunk

Drop CheckedLock / CheckedCondition aliases
https://bugs.webkit.org/show_bug.cgi?id=226176

Reviewed by Kate Cheney.

Drop CheckedLock / CheckedCondition aliases now that they are the default.

Source/JavaScriptCore:

  • API/JSVirtualMachine.mm:
  • API/glib/JSCVirtualMachine.cpp:
  • assembler/PerfLog.h:
  • assembler/testmasm.cpp:
  • bytecode/StructureStubInfo.h:
  • bytecode/SuperSampler.cpp:
  • dfg/DFGCommon.cpp:
  • dfg/DFGCommonData.cpp:
  • dfg/DFGPlan.h:
  • dfg/DFGThreadData.h:
  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::Worklist):

  • dfg/DFGWorklist.h:
  • disassembler/Disassembler.cpp:
  • dynbench.cpp:
  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::parallelNotEmptyBlockSource):

  • heap/BlockDirectory.h:

(JSC::BlockDirectory::bitvectorLock):

  • heap/CodeBlockSet.h:

(JSC::CodeBlockSet::getLock):

  • heap/Heap.cpp:

(JSC::Heap::Heap):

  • heap/Heap.h:
  • heap/IsoSubspacePerVM.h:
  • heap/MarkedSpace.h:

(JSC::MarkedSpace::directoryLock):

  • heap/MarkingConstraintSolver.h:
  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::donateKnownParallel):

  • heap/SlotVisitor.h:
  • inspector/remote/socket/RemoteInspectorConnectionClient.h:
  • inspector/remote/socket/RemoteInspectorSocketEndpoint.h:
  • jit/ExecutableAllocator.cpp:

(JSC::ExecutableAllocator::getLock const):
(JSC::dumpJITMemory):

  • jit/ExecutableAllocator.h:

(JSC::ExecutableAllocatorBase::getLock const):

  • jit/JITWorklist.cpp:

(JSC::JITWorklist::JITWorklist):

  • jit/JITWorklist.h:
  • jsc.cpp:
  • profiler/ProfilerDatabase.h:
  • runtime/ConcurrentJSLock.h:
  • runtime/DeferredWorkTimer.h:
  • runtime/JSLock.h:
  • runtime/SamplingProfiler.cpp:

(JSC::FrameWalker::FrameWalker):
(JSC::CFrameWalker::CFrameWalker):
(JSC::SamplingProfiler::takeSample):

  • runtime/SamplingProfiler.h:

(JSC::SamplingProfiler::getLock):

  • runtime/VM.h:
  • runtime/VMTraps.cpp:

(JSC::VMTraps::invalidateCodeBlocksOnStack):
(JSC::VMTraps::VMTraps):

  • runtime/VMTraps.h:
  • tools/FunctionOverrides.h:
  • tools/VMInspector.cpp:

(JSC::ensureIsSafeToLock):

  • tools/VMInspector.h:

(JSC::VMInspector::getLock):

  • wasm/WasmCalleeRegistry.h:

(JSC::Wasm::CalleeRegistry::getLock):

  • wasm/WasmPlan.h:
  • wasm/WasmStreamingCompiler.h:
  • wasm/WasmThunks.h:
  • wasm/WasmWorklist.cpp:

(JSC::Wasm::Worklist::Worklist):

  • wasm/WasmWorklist.h:

Source/WebCore:

  • Modules/indexeddb/IDBObjectStore.h:
  • Modules/indexeddb/IDBTransaction.h:
  • Modules/indexeddb/client/IDBConnectionProxy.h:
  • Modules/indexeddb/server/IDBSerializationContext.cpp:
  • Modules/indexeddb/server/IDBServer.cpp:
  • Modules/mediastream/RTCDataChannel.cpp:
  • Modules/mediastream/RTCRtpSFrameTransformer.h:
  • Modules/mediastream/RTCRtpScriptTransform.h:
  • Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpTransformBackend.h:
  • Modules/speech/SpeechRecognitionCaptureSourceImpl.h:
  • Modules/webaudio/AudioParamTimeline.h:
  • Modules/webaudio/MediaElementAudioSourceNode.h:
  • Modules/webdatabase/Database.cpp:
  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/DatabaseManager.h:
  • Modules/webdatabase/DatabaseTask.h:
  • Modules/webdatabase/DatabaseThread.h:
  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::openDatabaseMutex):

  • Modules/webdatabase/DatabaseTracker.h:
  • Modules/webdatabase/OriginLock.cpp:
  • Modules/webdatabase/SQLCallbackWrapper.h:
  • Modules/webdatabase/SQLTransaction.h:
  • Modules/webgpu/WebGPUDevice.cpp:

(WebCore::WebGPUDevice::instancesLock):

  • Modules/webgpu/WebGPUDevice.h:
  • Modules/webgpu/WebGPUPipeline.cpp:

(WebCore::WebGPUPipeline::instancesLock):

  • Modules/webgpu/WebGPUPipeline.h:
  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::allActiveWebSocketsLock):

  • Modules/websockets/WebSocket.h:
  • accessibility/isolatedtree/AXIsolatedTree.cpp:
  • accessibility/isolatedtree/AXIsolatedTree.h:
  • bindings/js/JSDOMGlobalObject.h:
  • bridge/objc/WebScriptObject.mm:
  • crypto/CryptoAlgorithmRegistry.h:
  • dom/MessagePort.cpp:
  • dom/Node.cpp:
  • dom/ScriptExecutionContext.cpp:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::createMediaPlayer):

  • html/canvas/CanvasRenderingContext.cpp:

(WebCore::CanvasRenderingContext::instancesLock):

  • html/canvas/CanvasRenderingContext.h:
  • html/canvas/WebGLContextGroup.cpp:

(WebCore::WebGLContextGroup::objectGraphLockForAContext):

  • html/canvas/WebGLContextGroup.h:
  • html/canvas/WebGLContextObject.cpp:

(WebCore::WebGLContextObject::objectGraphLockForContext):

  • html/canvas/WebGLContextObject.h:
  • html/canvas/WebGLObject.h:
  • html/canvas/WebGLProgram.cpp:

(WebCore::WebGLProgram::instancesLock):

  • html/canvas/WebGLProgram.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::objectGraphLock):

  • html/canvas/WebGLRenderingContextBase.h:
  • html/canvas/WebGLSharedObject.cpp:

(WebCore::WebGLSharedObject::objectGraphLockForContext):

  • html/canvas/WebGLSharedObject.h:
  • inspector/agents/WebHeapAgent.cpp:
  • page/ResourceUsageThread.h:
  • page/SecurityPolicy.cpp:
  • page/WheelEventTestMonitor.h:
  • page/scrolling/ScrollingTree.h:

(WebCore::ScrollingTree::WTF_RETURNS_LOCK):

  • page/scrolling/ScrollingTreeLatchingController.h:
  • page/scrolling/ThreadedScrollingTree.h:

(WebCore::ThreadedScrollingTree::WTF_RETURNS_LOCK):

  • page/scrolling/mac/ScrollingTreeMac.h:
  • platform/AbortableTaskQueue.h:
  • platform/GenericTaskQueue.cpp:
  • platform/GenericTaskQueue.h:
  • platform/LegacySchemeRegistry.cpp:
  • platform/audio/AudioDestination.h:
  • platform/audio/HRTFDatabaseLoader.h:
  • platform/audio/ReverbConvolver.cpp:

(WebCore::ReverbConvolver::backgroundThreadEntry):

  • platform/audio/cocoa/AudioDestinationCocoa.h:
  • platform/audio/gstreamer/AudioSourceProviderGStreamer.h:
  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
  • platform/audio/mac/FFTFrameMac.cpp:
  • platform/encryptedmedia/CDMProxy.h:
  • platform/graphics/MediaPlayer.cpp:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::lock):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
  • platform/graphics/cg/IOSurfacePool.h:
  • platform/graphics/cg/SubimageCacheWithTimer.h:
  • platform/graphics/cocoa/FontCacheCoreText.cpp:
  • platform/graphics/gstreamer/ImageDecoderGStreamer.h:
  • platform/graphics/gstreamer/MainThreadNotifier.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
  • platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
  • platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
  • platform/graphics/texmap/TextureMapperPlatformLayerProxy.h:

(WebCore::TextureMapperPlatformLayerProxy::WTF_RETURNS_LOCK):

  • platform/image-decoders/ScalableImageDecoder.h:
  • platform/ios/QuickLook.mm:
  • platform/ios/WebSQLiteDatabaseTrackerClient.mm:
  • platform/ios/wak/WebCoreThreadRun.cpp:
  • platform/mediarecorder/MediaRecorderPrivateMock.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/RealtimeOutgoingAudioSource.h:
  • platform/mediastream/RealtimeOutgoingVideoSource.h:
  • platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.h:
  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.h:
  • platform/network/cf/LoaderRunLoopCF.cpp:

(WebCore::loaderRunLoop):

  • platform/network/cocoa/WebCoreNSURLSession.mm:
  • platform/network/mac/UTIUtilities.mm:
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
  • platform/sql/SQLiteDatabase.cpp:
  • platform/sql/SQLiteDatabase.h:
  • platform/sql/SQLiteDatabaseTracker.cpp:
  • platform/text/TextEncodingRegistry.cpp:
  • storage/StorageQuotaManager.h:
  • workers/WorkerGlobalScope.cpp:
  • workers/WorkerOrWorkletScriptController.h:
  • workers/WorkerOrWorkletThread.cpp:

(WebCore::WorkerOrWorkletThread::workerOrWorkletThreadsLock):

  • workers/WorkerOrWorkletThread.h:
  • worklets/PaintWorkletGlobalScope.h:

Source/WebKit:

  • GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer):

  • GPUProcess/webrtc/LibWebRTCCodecsProxy.h:
  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
  • NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h:
  • NetworkProcess/IndexedDB/WebIDBServer.cpp:
  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/WebStorage/StorageManagerSet.h:
  • NetworkProcess/cache/NetworkCacheStorage.cpp:
  • NetworkProcess/cocoa/LaunchServicesDatabaseObserver.h:
  • NetworkProcess/glib/DNSCache.h:
  • Platform/IPC/Connection.cpp:
  • Platform/IPC/Connection.h:
  • Platform/IPC/StreamConnectionWorkQueue.h:
  • Platform/IPC/StreamServerConnection.h:
  • Shared/BlockingResponseMap.h:
  • Shared/Cocoa/XPCEndpointClient.h:
  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h:
  • Shared/mac/MediaFormatReader/MediaFormatReader.h:
  • Shared/mac/MediaFormatReader/MediaSampleCursor.h:
  • Shared/mac/MediaFormatReader/MediaTrackReader.h:
  • UIProcess/API/glib/IconDatabase.h:
  • UIProcess/WebURLSchemeTask.h:
  • UIProcess/mac/DisplayLink.h:
  • UIProcess/mac/WKPrintingView.mm:

(-[WKPrintingView knowsPageRange:]):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
  • WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
  • WebProcess/Network/WebSocketStream.cpp:
  • WebProcess/Plugins/PluginProcessConnectionManager.h:
  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/ViewUpdateDispatcher.h:

Source/WebKitLegacy:

  • Storage/StorageAreaSync.h:

Source/WebKitLegacy/mac:

  • DOM/DOMInternal.mm:

Source/WTF:

  • WTF.xcodeproj/project.pbxproj:
  • wtf/Assertions.cpp:
  • wtf/AutomaticThread.cpp:

(WTF::AutomaticThreadCondition::wait):
(WTF::AutomaticThreadCondition::waitFor):
(WTF::AutomaticThread::AutomaticThread):

  • wtf/AutomaticThread.h:
  • wtf/CMakeLists.txt:
  • wtf/CheckedCondition.h: Removed.
  • wtf/CheckedLock.h: Removed.
  • wtf/Condition.h:
  • wtf/CrossThreadQueue.h:
  • wtf/CrossThreadTaskHandler.h:
  • wtf/CryptographicallyRandomNumber.cpp:
  • wtf/FastMalloc.cpp:
  • wtf/Forward.h:
  • wtf/Language.cpp:
  • wtf/Lock.cpp:

(WTF::UncheckedLock::lockSlow):
(WTF::UncheckedLock::unlockSlow):
(WTF::UncheckedLock::unlockFairlySlow):
(WTF::UncheckedLock::safepointSlow):

  • wtf/Lock.h:

(WTF::WTF_ASSERTS_ACQUIRED_LOCK):

  • wtf/Logger.cpp:
  • wtf/Logger.h:

(WTF::Logger::WTF_RETURNS_LOCK):

  • wtf/MessageQueue.h:
  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocator::release):
(WTF::MetaAllocator::MetaAllocator):
(WTF::MetaAllocator::allocate):
(WTF::MetaAllocator::currentStatistics):

  • wtf/MetaAllocator.h:
  • wtf/OSLogPrintStream.h:
  • wtf/ParallelHelperPool.cpp:

(WTF::ParallelHelperPool::ParallelHelperPool):

  • wtf/ParallelHelperPool.h:
  • wtf/ParallelJobsGeneric.h:
  • wtf/ParallelVectorIterator.h:
  • wtf/ReadWriteLock.h:
  • wtf/RecursiveLockAdapter.h:
  • wtf/RunLoop.h:
  • wtf/SynchronizedFixedQueue.h:
  • wtf/Threading.cpp:

(WTF::Thread::allThreadsLock):

  • wtf/Threading.h:
  • wtf/TimingScope.cpp:
  • wtf/URL.cpp:
  • wtf/WTFSemaphore.h:
  • wtf/WorkQueue.cpp:

(WTF::WorkQueue::concurrentApply):

  • wtf/WorkerPool.cpp:

(WTF::WorkerPool::WorkerPool):

  • wtf/WorkerPool.h:
  • wtf/cf/LanguageCF.cpp:
  • wtf/text/AtomStringImpl.cpp:

(WTF::AtomStringTableLocker::AtomStringTableLocker):

  • wtf/text/StringView.cpp:
  • wtf/threads/BinarySemaphore.h:
  • wtf/unicode/icu/CollatorICU.cpp:

Tools:

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/CheckedConditionTest.cpp: Removed.
  • TestWebKitAPI/Tests/WTF/CheckedLockTest.cpp: Removed.
  • TestWebKitAPI/Tests/WTF/Condition.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/Lock.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:
  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:

(WTR::AXThread::createThreadIfNeeded):

11:08 AM Changeset in webkit [277957] by Alan Bujtas
  • 14 edits in trunk/Source/WebCore

[LFC] Rename the geometry() helpers to formattingGeometry()
https://bugs.webkit.org/show_bug.cgi?id=226153

Reviewed by Antti Koivisto.

  • layout/formattingContexts/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry):
(WebCore::Layout::FormattingContext::computeBorderAndPadding):
(WebCore::Layout::FormattingContext::layoutOutOfFlowContent):
(WebCore::Layout::FormattingContext::formattingGeometry const):
(WebCore::Layout::FormattingContext::geometry const): Deleted.

  • layout/formattingContexts/FormattingContext.h:
  • layout/formattingContexts/FormattingQuirks.cpp:

(WebCore::Layout::FormattingQuirks::heightValueOfNearestContainingBlockWithFixedHeight const):

  • layout/formattingContexts/block/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::placeInFlowPositionedChildren):
(WebCore::Layout::BlockFormattingContext::computeStaticVerticalPosition):
(WebCore::Layout::BlockFormattingContext::computeStaticHorizontalPosition):
(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForBoxAndAncestors):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::BlockFormattingContext::formattingGeometry const):
(WebCore::Layout::BlockFormattingContext::geometry const): Deleted.

  • layout/formattingContexts/block/BlockFormattingContext.h:
  • layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::layoutTableBox):
(WebCore::Layout::TableWrapperBlockFormattingContext::computeBorderAndPaddingForTableBox):
(WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox):
(WebCore::Layout::TableWrapperBlockFormattingContext::computeHeightAndMarginForTableBox):

  • layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::sizeAndPlaceFlexItems):
(WebCore::Layout::FlexFormattingContext::computeIntrinsicWidthConstraintsForFlexItems):
(WebCore::Layout::FlexFormattingContext::formattingGeometry const):
(WebCore::Layout::FlexFormattingContext::geometry const): Deleted.

  • layout/formattingContexts/flex/FlexFormattingContext.h:
  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthForFormattingRoot):
(WebCore::Layout::InlineFormattingContext::computeHorizontalMargin):
(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):
(WebCore::Layout::InlineFormattingContext::computeHeightAndMargin):
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
(WebCore::Layout::InlineFormattingContext::formattingGeometry const):
(WebCore::Layout::InlineFormattingContext::geometry const): Deleted.

  • layout/formattingContexts/inline/InlineFormattingContext.h:
  • layout/formattingContexts/table/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::setUsedGeometryForRows):
(WebCore::Layout::TableFormattingContext::layoutCell):
(WebCore::Layout::TableFormattingContext::computedPreferredWidthForColumns):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraSpace):
(WebCore::Layout::TableFormattingContext::formattingGeometry const):
(WebCore::Layout::TableFormattingContext::geometry const): Deleted.

  • layout/formattingContexts/table/TableFormattingContext.h:
  • layout/formattingContexts/table/TableLayout.cpp:

(WebCore::Layout::TableFormattingContext::TableLayout::distributedVerticalSpace):

10:11 AM Changeset in webkit [277956] by Alan Bujtas
  • 13 edits in trunk/Source/WebCore

[LFC] FormattingGeometry functions should all be const
https://bugs.webkit.org/show_bug.cgi?id=226147

Reviewed by Simon Fraser.

While the const_cast is unfortunate, those functions do not mutate *this*.

  • layout/LayoutState.cpp:

(WebCore::Layout::LayoutState::hasFormattingState const):

  • layout/LayoutState.h:
  • layout/formattingContexts/FormattingGeometry.cpp:

(WebCore::Layout::FormattingGeometry::computedWidthValue const):
(WebCore::Layout::FormattingGeometry::computedWidth const):
(WebCore::Layout::FormattingGeometry::computedMinWidth const):
(WebCore::Layout::FormattingGeometry::computedMaxWidth const):
(WebCore::Layout::FormattingGeometry::shrinkToFitWidth const):
(WebCore::Layout::FormattingGeometry::outOfFlowNonReplacedHorizontalGeometry const):
(WebCore::Layout::FormattingGeometry::outOfFlowReplacedHorizontalGeometry const):
(WebCore::Layout::FormattingGeometry::floatingNonReplacedContentWidthAndMargin const):
(WebCore::Layout::FormattingGeometry::floatingReplacedContentWidthAndMargin const):
(WebCore::Layout::FormattingGeometry::outOfFlowHorizontalGeometry const):
(WebCore::Layout::FormattingGeometry::floatingContentWidthAndMargin const):
(WebCore::Layout::FormattingGeometry::inlineReplacedContentWidthAndMargin const):
(WebCore::Layout::FormattingGeometry::constraintsForOutOfFlowContent const):
(WebCore::Layout::FormattingGeometry::computedWidthValue): Deleted.
(WebCore::Layout::FormattingGeometry::computedWidth): Deleted.
(WebCore::Layout::FormattingGeometry::computedMinWidth): Deleted.
(WebCore::Layout::FormattingGeometry::computedMaxWidth): Deleted.
(WebCore::Layout::FormattingGeometry::shrinkToFitWidth): Deleted.
(WebCore::Layout::FormattingGeometry::outOfFlowNonReplacedHorizontalGeometry): Deleted.
(WebCore::Layout::FormattingGeometry::outOfFlowReplacedHorizontalGeometry): Deleted.
(WebCore::Layout::FormattingGeometry::floatingNonReplacedContentWidthAndMargin): Deleted.
(WebCore::Layout::FormattingGeometry::floatingReplacedContentWidthAndMargin): Deleted.
(WebCore::Layout::FormattingGeometry::outOfFlowHorizontalGeometry): Deleted.
(WebCore::Layout::FormattingGeometry::floatingContentWidthAndMargin): Deleted.
(WebCore::Layout::FormattingGeometry::inlineReplacedContentWidthAndMargin): Deleted.
(WebCore::Layout::FormattingGeometry::constraintsForOutOfFlowContent): Deleted.

  • layout/formattingContexts/FormattingGeometry.h:

(WebCore::Layout::FormattingGeometry::layoutState const):
(WebCore::Layout::FormattingGeometry::layoutState): Deleted.

  • layout/formattingContexts/block/BlockFormattingGeometry.cpp:

(WebCore::Layout::BlockFormattingGeometry::inFlowNonReplacedContentHeightAndMargin const):
(WebCore::Layout::BlockFormattingGeometry::inFlowNonReplacedContentWidthAndMargin const):
(WebCore::Layout::BlockFormattingGeometry::inFlowReplacedContentWidthAndMargin const):
(WebCore::Layout::BlockFormattingGeometry::inFlowContentHeightAndMargin const):
(WebCore::Layout::BlockFormattingGeometry::inFlowContentWidthAndMargin const):
(WebCore::Layout::BlockFormattingGeometry::computedContentWidthAndMargin const):
(WebCore::Layout::BlockFormattingGeometry::intrinsicWidthConstraints const):
(WebCore::Layout::BlockFormattingGeometry::inFlowNonReplacedContentHeightAndMargin): Deleted.
(WebCore::Layout::BlockFormattingGeometry::inFlowNonReplacedContentWidthAndMargin): Deleted.
(WebCore::Layout::BlockFormattingGeometry::inFlowReplacedContentWidthAndMargin): Deleted.
(WebCore::Layout::BlockFormattingGeometry::inFlowContentHeightAndMargin): Deleted.
(WebCore::Layout::BlockFormattingGeometry::inFlowContentWidthAndMargin): Deleted.
(WebCore::Layout::BlockFormattingGeometry::computedContentWidthAndMargin): Deleted.
(WebCore::Layout::BlockFormattingGeometry::intrinsicWidthConstraints): Deleted.

  • layout/formattingContexts/block/BlockFormattingGeometry.h:
  • layout/formattingContexts/flex/FlexFormattingGeometry.cpp:

(WebCore::Layout::FlexFormattingGeometry::intrinsicWidthConstraints const):
(WebCore::Layout::FlexFormattingGeometry::intrinsicWidthConstraints): Deleted.

  • layout/formattingContexts/flex/FlexFormattingGeometry.h:
  • layout/formattingContexts/inline/InlineFormattingGeometry.cpp:

(WebCore::Layout::InlineFormattingGeometry::inlineBlockContentWidthAndMargin const):
(WebCore::Layout::InlineFormattingGeometry::inlineBlockContentWidthAndMargin): Deleted.

  • layout/formattingContexts/inline/InlineFormattingGeometry.h:
  • layout/formattingContexts/table/TableFormattingGeometry.cpp:

(WebCore::Layout::TableFormattingGeometry::computedColumnWidth const):
(WebCore::Layout::TableFormattingGeometry::intrinsicWidthConstraintsForCell const):
(WebCore::Layout::TableFormattingGeometry::usedBaselineForCell const):
(WebCore::Layout::TableFormattingGeometry::computedColumnWidth): Deleted.
(WebCore::Layout::TableFormattingGeometry::intrinsicWidthConstraintsForCell): Deleted.
(WebCore::Layout::TableFormattingGeometry::usedBaselineForCell): Deleted.

  • layout/formattingContexts/table/TableFormattingGeometry.h:
10:04 AM Changeset in webkit [277955] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][TFC] Add a helper function to compute the intrinsic vertical paddings for the cell
https://bugs.webkit.org/show_bug.cgi?id=226130

Reviewed by Antti Koivisto.

Add a comment explaining what the intrinsic vertical padding is.

  • layout/formattingContexts/table/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::setUsedGeometryForCells):
(WebCore::Layout::TableFormattingContext::layoutCell):

  • layout/formattingContexts/table/TableFormattingContext.h:
9:07 AM Changeset in webkit [277954] by imanol
  • 6 edits
    5 adds in trunk/Source/WebCore

Implement OpenXR input sources
https://bugs.webkit.org/show_bug.cgi?id=224931

Reviewed by Sergio Villar Senin.

  • Sources.txt: Add OpenXRInput and OpenXRInputSource files
  • platform/xr/openxr/OpenXRInput.cpp: Entry point to query and sync input in OpenXR.

(PlatformXR::OpenXRInput::create):
(PlatformXR::OpenXRInput::OpenXRInput):
(PlatformXR::OpenXRInput::initialize):
(PlatformXR::OpenXRInput::getInputSources const):
(PlatformXR::OpenXRInput::updateInteractionProfile):

  • platform/xr/openxr/OpenXRInput.h: Added.
  • platform/xr/openxr/OpenXRInputMappings.h: Mapping definition for supported input profiles.

(PlatformXR::buttonTypeToString):
(PlatformXR::axisTypetoString):

  • platform/xr/openxr/OpenXRInputSource.cpp: Handles tracking and status of a specific input source.

(PlatformXR::OpenXRInputSource::create):
(PlatformXR::OpenXRInputSource::~OpenXRInputSource):
(PlatformXR::OpenXRInputSource::initialize):
(PlatformXR::OpenXRInputSource::suggestBindings const):
(PlatformXR::OpenXRInputSource::getInputSource const):
(PlatformXR::OpenXRInputSource::updateInteractionProfile):
(PlatformXR::OpenXRInputSource::createSpaceAction const):
(PlatformXR::OpenXRInputSource::createAction const):
(PlatformXR::OpenXRInputSource::createButtonActions const):
(PlatformXR::OpenXRInputSource::createBinding const):
(PlatformXR::OpenXRInputSource::getPose const):
(PlatformXR::OpenXRInputSource::getButton const):
(PlatformXR::OpenXRInputSource::getAxis const):
(PlatformXR::OpenXRInputSource::getActionState const):

  • platform/xr/openxr/OpenXRInputSource.h: Added.

(PlatformXR::OpenXRInputSource::OpenXRInputSource):
(PlatformXR::OpenXRInputSource::actionSet const):

  • platform/xr/openxr/OpenXRUtils.h:

(PlatformXR::XrPoseIdentity): Creates a identity pose.
(PlatformXR::handenessToString): Convert from handeness enum to string.

  • platform/xr/openxr/PlatformXROpenXR.cpp: Handle input sources in the OpenXR render loop.

(PlatformXR::OpenXRDevice::initializeTrackingAndRendering):
(PlatformXR::OpenXRDevice::requestFrame):
(PlatformXR::OpenXRDevice::pollEvents):
(PlatformXR::OpenXRDevice::resetSession):
(PlatformXR::OpenXRDevice::updateInteractionProfile):

  • platform/xr/openxr/PlatformXROpenXR.h:
8:30 AM Changeset in webkit [277953] by imanol
  • 148 edits
    5 copies
    44 adds in trunk/LayoutTests/imported/w3c

Update WebXR WPT tests
https://bugs.webkit.org/show_bug.cgi?id=224935
<rdar://problem/77323099>

Reviewed by Sergio Villar Senin.

  • resources/import-expectations.json:
  • web-platform-tests/webxr/META.yml:
  • web-platform-tests/webxr/anchors/META.yml: Added.
  • web-platform-tests/webxr/anchors/ar_anchor_freefloating_create_move.https.html:
  • web-platform-tests/webxr/anchors/ar_anchor_freefloating_delay_creation.https.html:
  • web-platform-tests/webxr/anchors/ar_anchor_freefloating_failure.https.html:
  • web-platform-tests/webxr/anchors/ar_anchor_freefloating_pause_resume_stop.https.html:
  • web-platform-tests/webxr/anchors/ar_anchor_states.https.html:
  • web-platform-tests/webxr/anchors/w3c-import.log:
  • web-platform-tests/webxr/ar-module/META.yml: Added.
  • web-platform-tests/webxr/ar-module/w3c-import.log:
  • web-platform-tests/webxr/ar-module/xrDevice_requestSession_immersive-ar.https-expected.txt:
  • web-platform-tests/webxr/ar-module/xrDevice_requestSession_immersive-ar.https.html:
  • web-platform-tests/webxr/ar-module/xrSession_environmentBlendMode.https.html:
  • web-platform-tests/webxr/ar-module/xrSession_interactionMode.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/cpu/depth_sensing_cpu_dataUnavailable.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/cpu/depth_sensing_cpu_inactiveFrame.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/cpu/depth_sensing_cpu_incorrectUsage.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/cpu/depth_sensing_cpu_luminance_alpha_dataValid.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/cpu/depth_sensing_cpu_staleView.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/cpu/w3c-import.log: Added.
  • web-platform-tests/webxr/depth-sensing/dataUnavailableTests.js: Added.

(return.session.requestReferenceSpace.then):
(const.dataUnavailableTestFunctionGenerator):

  • web-platform-tests/webxr/depth-sensing/depth_sensing_notEnabled.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/gpu/depth_sensing_gpu_dataUnavailable.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/gpu/depth_sensing_gpu_inactiveFrame.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/gpu/depth_sensing_gpu_incorrectUsage.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/gpu/depth_sensing_gpu_staleView.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/gpu/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/webxr/ar-module/w3c-import.log.
  • web-platform-tests/webxr/depth-sensing/inactiveFrameTests.js: Added.

(return.session.requestReferenceSpace.then):
(const.inactiveFrameTestFunctionGenerator):

  • web-platform-tests/webxr/depth-sensing/staleViewsTests.js: Added.

(return.session.requestReferenceSpace.then):
(const.staleViewsTestFunctionGenerator):

  • web-platform-tests/webxr/depth-sensing/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/webxr/dom-overlay/w3c-import.log.
  • web-platform-tests/webxr/dom-overlay/META.yml: Added.
  • web-platform-tests/webxr/dom-overlay/ar_dom_overlay.https.html:
  • web-platform-tests/webxr/dom-overlay/idlharness.https.window.js:

(async idl_array):

  • web-platform-tests/webxr/dom-overlay/nested_fullscreen.https.html: Added.
  • web-platform-tests/webxr/dom-overlay/w3c-import.log:
  • web-platform-tests/webxr/events_input_source_recreation.https-expected.txt:
  • web-platform-tests/webxr/events_input_source_recreation.https.html:
  • web-platform-tests/webxr/events_input_sources_change.https-expected.txt:
  • web-platform-tests/webxr/events_input_sources_change.https.html:
  • web-platform-tests/webxr/events_referenceSpace_reset_immersive.https.html:
  • web-platform-tests/webxr/events_referenceSpace_reset_inline.https.html:
  • web-platform-tests/webxr/events_session_select.https-expected.txt:
  • web-platform-tests/webxr/events_session_select.https.html:
  • web-platform-tests/webxr/events_session_select_subframe.https-expected.txt:
  • web-platform-tests/webxr/events_session_select_subframe.https.html:
  • web-platform-tests/webxr/events_session_squeeze.https-expected.txt:
  • web-platform-tests/webxr/events_session_squeeze.https.html:
  • web-platform-tests/webxr/exclusive_requestFrame_nolayer.https.html:
  • web-platform-tests/webxr/gamepads-module/META.yml: Added.
  • web-platform-tests/webxr/gamepads-module/w3c-import.log:
  • web-platform-tests/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html:
  • web-platform-tests/webxr/gamepads-module/xrInputSource_gamepad_input_registered.https.html:
  • web-platform-tests/webxr/getInputPose_handedness.https-expected.txt:
  • web-platform-tests/webxr/getInputPose_handedness.https.html:
  • web-platform-tests/webxr/getInputPose_pointer.https.html:
  • web-platform-tests/webxr/getViewerPose_emulatedPosition.https-expected.txt:
  • web-platform-tests/webxr/getViewerPose_emulatedPosition.https.html:
  • web-platform-tests/webxr/hand-input/META.yml: Added.
  • web-platform-tests/webxr/hand-input/idlharness.https.window.html: Added.
  • web-platform-tests/webxr/hand-input/idlharness.https.window.js: Copied from LayoutTests/imported/w3c/web-platform-tests/webxr/dom-overlay/idlharness.https.window.js.

(async idl_array):

  • web-platform-tests/webxr/hand-input/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/webxr/dom-overlay/w3c-import.log.
  • web-platform-tests/webxr/hit-test/META.yml: Added.
  • web-platform-tests/webxr/hit-test/ar_hittest_source_cancel.https.html: Added.
  • web-platform-tests/webxr/hit-test/ar_hittest_subscription_inputSources.https.html:
  • web-platform-tests/webxr/hit-test/ar_hittest_subscription_refSpaces.https.html:
  • web-platform-tests/webxr/hit-test/ar_hittest_subscription_states_regular.https.html:
  • web-platform-tests/webxr/hit-test/ar_hittest_subscription_states_transient.https.html:
  • web-platform-tests/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html:
  • web-platform-tests/webxr/hit-test/w3c-import.log:
  • web-platform-tests/webxr/layers/META.yml: Added.
  • web-platform-tests/webxr/layers/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/webxr/dom-overlay/w3c-import.log.
  • web-platform-tests/webxr/layers/xrWebGLBinding_constructor.https.html: Added.
  • web-platform-tests/webxr/light-estimation/w3c-import.log: Added.
  • web-platform-tests/webxr/light-estimation/xrFrame_getLightEstimate_oldSession.https.html: Added.
  • web-platform-tests/webxr/light-estimation/xrFrame_getLightEstimate_staleFrame.https.html: Added.
  • web-platform-tests/webxr/light-estimation/xrFrame_getLightEstimate_valid.https.html: Added.
  • web-platform-tests/webxr/light-estimation/xrSession_getLightProbe_ended.https.html: Added.
  • web-platform-tests/webxr/light-estimation/xrSession_getLightProbe_notEnabled.https.html: Added.
  • web-platform-tests/webxr/light-estimation/xrSession_getLightProbe_valid.https.html: Added.
  • web-platform-tests/webxr/light-estimation/xrWebGLBinding_getReflectionCubeMap.https.html: Added.
  • web-platform-tests/webxr/navigator_xr_sameObject.https-expected.txt:
  • web-platform-tests/webxr/navigator_xr_sameObject.https.html:
  • web-platform-tests/webxr/render_state_update.https-expected.txt:
  • web-platform-tests/webxr/render_state_update.https.html:
  • web-platform-tests/webxr/render_state_vertical_fov_immersive.https-expected.txt:
  • web-platform-tests/webxr/render_state_vertical_fov_immersive.https.html:
  • web-platform-tests/webxr/render_state_vertical_fov_inline.https.html:
  • web-platform-tests/webxr/resources/w3c-import.log:
  • web-platform-tests/webxr/resources/webxr_math_utils.js:

(let.flip_quaternion):

  • web-platform-tests/webxr/resources/webxr_test_asserts.js:

(const.get_mismatched_component):
(const.assert_point_approx_equals):
(const.assert_orientation_approx_equals):
(const.assert_point_significantly_not_equals):
(const.assert_transform_approx_equals):

  • web-platform-tests/webxr/resources/webxr_test_constants.js:
  • web-platform-tests/webxr/resources/webxr_test_constants_fake_depth.js: Added.

(const.convertDepthBufferToArrayBuffer):
(const.createDepthSensingData):
(const.getExpectedValueAt):

  • web-platform-tests/webxr/resources/webxr_util.js:

(async return):
(async loadChromiumResources):

  • web-platform-tests/webxr/w3c-import.log:
  • web-platform-tests/webxr/webGLCanvasContext_create_xrcompatible.https-expected.txt:
  • web-platform-tests/webxr/webGLCanvasContext_create_xrcompatible.https.html:
  • web-platform-tests/webxr/webGLCanvasContext_makecompatible_contextlost.https-expected.txt:
  • web-platform-tests/webxr/webGLCanvasContext_makecompatible_contextlost.https.html:
  • web-platform-tests/webxr/webGLCanvasContext_makecompatible_reentrant.https-expected.txt:
  • web-platform-tests/webxr/webGLCanvasContext_makecompatible_reentrant.https.html:
  • web-platform-tests/webxr/webxr_feature_policy.https.html:
  • web-platform-tests/webxr/xrBoundedReferenceSpace_updates.https-expected.txt:
  • web-platform-tests/webxr/xrBoundedReferenceSpace_updates.https.html:
  • web-platform-tests/webxr/xrDevice_disconnect_ends.https.html:
  • web-platform-tests/webxr/xrDevice_requestSession_immersive.https-expected.txt:
  • web-platform-tests/webxr/xrDevice_requestSession_immersive.https.html:
  • web-platform-tests/webxr/xrDevice_requestSession_optionalFeatures.https-expected.txt:
  • web-platform-tests/webxr/xrDevice_requestSession_optionalFeatures.https.html:
  • web-platform-tests/webxr/xrDevice_requestSession_requiredFeatures_unknown.https-expected.txt:
  • web-platform-tests/webxr/xrFrame_getPose.https-expected.txt:
  • web-platform-tests/webxr/xrFrame_getPose.https.html:
  • web-platform-tests/webxr/xrFrame_getViewerPose_getPose.https-expected.txt:
  • web-platform-tests/webxr/xrFrame_getViewerPose_getPose.https.html:
  • web-platform-tests/webxr/xrFrame_getViewerPose_getPose_identities.https.html: Added.
  • web-platform-tests/webxr/xrFrame_lifetime.https.html:
  • web-platform-tests/webxr/xrFrame_session_sameObject.https-expected.txt:
  • web-platform-tests/webxr/xrFrame_session_sameObject.https.html:
  • web-platform-tests/webxr/xrInputSource_add_remove.https-expected.txt:
  • web-platform-tests/webxr/xrInputSource_add_remove.https.html:
  • web-platform-tests/webxr/xrInputSource_emulatedPosition.https-expected.txt:
  • web-platform-tests/webxr/xrInputSource_emulatedPosition.https.html:
  • web-platform-tests/webxr/xrInputSource_profiles.https-expected.txt:
  • web-platform-tests/webxr/xrInputSource_profiles.https.html:
  • web-platform-tests/webxr/xrInputSource_sameObject.https-expected.txt:
  • web-platform-tests/webxr/xrInputSource_sameObject.https.html:
  • web-platform-tests/webxr/xrPose_transform_sameObject.https.html:
  • web-platform-tests/webxr/xrReferenceSpace_originOffset.https-expected.txt:
  • web-platform-tests/webxr/xrReferenceSpace_originOffset.https.html:
  • web-platform-tests/webxr/xrReferenceSpace_originOffsetBounded.https.html:
  • web-platform-tests/webxr/xrReferenceSpace_originOffset_viewer.https-expected.txt:
  • web-platform-tests/webxr/xrReferenceSpace_originOffset_viewer.https.html:
  • web-platform-tests/webxr/xrReferenceSpace_relationships.https-expected.txt:
  • web-platform-tests/webxr/xrReferenceSpace_relationships.https.html:
  • web-platform-tests/webxr/xrRigidTransform_constructor.https-expected.txt:
  • web-platform-tests/webxr/xrRigidTransform_constructor.https.html:
  • web-platform-tests/webxr/xrRigidTransform_inverse.https-expected.txt:
  • web-platform-tests/webxr/xrRigidTransform_inverse.https.html:
  • web-platform-tests/webxr/xrRigidTransform_sameObject.https-expected.txt:
  • web-platform-tests/webxr/xrRigidTransform_sameObject.https.html:
  • web-platform-tests/webxr/xrSession_cancelAnimationFrame.https-expected.txt:
  • web-platform-tests/webxr/xrSession_cancelAnimationFrame.https.html:
  • web-platform-tests/webxr/xrSession_cancelAnimationFrame_invalidhandle.https-expected.txt:
  • web-platform-tests/webxr/xrSession_cancelAnimationFrame_invalidhandle.https.html:
  • web-platform-tests/webxr/xrSession_end.https-expected.txt:
  • web-platform-tests/webxr/xrSession_end.https.html:
  • web-platform-tests/webxr/xrSession_input_events_end.https.html:
  • web-platform-tests/webxr/xrSession_requestAnimationFrame_callback_calls.https-expected.txt:
  • web-platform-tests/webxr/xrSession_requestAnimationFrame_callback_calls.https.html:
  • web-platform-tests/webxr/xrSession_requestAnimationFrame_data_valid.https-expected.txt:
  • web-platform-tests/webxr/xrSession_requestAnimationFrame_data_valid.https.html:
  • web-platform-tests/webxr/xrSession_requestAnimationFrame_getViewerPose.https-expected.txt:
  • web-platform-tests/webxr/xrSession_requestAnimationFrame_getViewerPose.https.html:
  • web-platform-tests/webxr/xrSession_requestAnimationFrame_timestamp.https-expected.txt:
  • web-platform-tests/webxr/xrSession_requestAnimationFrame_timestamp.https.html:
  • web-platform-tests/webxr/xrSession_requestReferenceSpace.https-expected.txt:
  • web-platform-tests/webxr/xrSession_requestReferenceSpace.https.html:
  • web-platform-tests/webxr/xrSession_requestReferenceSpace_features.https-expected.txt:
  • web-platform-tests/webxr/xrSession_requestReferenceSpace_features.https.html:
  • web-platform-tests/webxr/xrSession_requestSessionDuringEnd.https.html: Added.
  • web-platform-tests/webxr/xrSession_sameObject.https-expected.txt:
  • web-platform-tests/webxr/xrSession_sameObject.https.html:
  • web-platform-tests/webxr/xrSession_viewer_referenceSpace.https-expected.txt:
  • web-platform-tests/webxr/xrSession_viewer_referenceSpace.https.html:
  • web-platform-tests/webxr/xrSession_visibilityState.https.html:
  • web-platform-tests/webxr/xrStationaryReferenceSpace_floorlevel_updates.https.html:
  • web-platform-tests/webxr/xrView_eyes.https-expected.txt:
  • web-platform-tests/webxr/xrView_eyes.https.html:
  • web-platform-tests/webxr/xrView_match.https-expected.txt:
  • web-platform-tests/webxr/xrView_match.https.html:
  • web-platform-tests/webxr/xrView_oneframeupdate.https-expected.txt:
  • web-platform-tests/webxr/xrView_oneframeupdate.https.html:
  • web-platform-tests/webxr/xrView_sameObject.https-expected.txt:
  • web-platform-tests/webxr/xrView_sameObject.https.html:
  • web-platform-tests/webxr/xrViewerPose_views_sameObject.https-expected.txt:
  • web-platform-tests/webxr/xrViewerPose_views_sameObject.https.html:
  • web-platform-tests/webxr/xrViewport_valid.https-expected.txt:
  • web-platform-tests/webxr/xrViewport_valid.https.html:
  • web-platform-tests/webxr/xrWebGLLayer_constructor.https-expected.txt:
  • web-platform-tests/webxr/xrWebGLLayer_constructor.https.html:
  • web-platform-tests/webxr/xrWebGLLayer_framebuffer_draw.https-expected.txt:
  • web-platform-tests/webxr/xrWebGLLayer_framebuffer_draw.https.html:
  • web-platform-tests/webxr/xrWebGLLayer_framebuffer_sameObject.https-expected.txt:
  • web-platform-tests/webxr/xrWebGLLayer_framebuffer_sameObject.https.html:
  • web-platform-tests/webxr/xrWebGLLayer_framebuffer_scale.https.html:
  • web-platform-tests/webxr/xrWebGLLayer_opaque_framebuffer.https-expected.txt:
  • web-platform-tests/webxr/xrWebGLLayer_opaque_framebuffer.https.html:
  • web-platform-tests/webxr/xrWebGLLayer_opaque_framebuffer_stencil.https.html:
  • web-platform-tests/webxr/xrWebGLLayer_viewports.https-expected.txt:
  • web-platform-tests/webxr/xrWebGLLayer_viewports.https.html:
  • web-platform-tests/webxr/xr_viewport_scale.https.html: Added.
8:30 AM Changeset in webkit [277952] by Kate Cheney
  • 4 edits in trunk/LayoutTests

[ wk2 ] http/tests/security/contentSecurityPolicy/report-only-connect-src-xmlhttprequest-redirect-to-blocked.py is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=224626
<rdar://problem/76729427>

http/tests/security/contentSecurityPolicy/report-only-connect-src-beacon-redirect-blocked.py
initiates a redirect that generates a CSP violation, but does not wait
for the console logging. This results in flakiness of other test that
occasionally pick up this console logging in their output. To fix this,
we should wait to end the test until we get the CSP violation report.

Reviewed by Sam Weinig.

  • http/tests/security/contentSecurityPolicy/report-only-connect-src-beacon-redirect-blocked-expected.txt:

Update expectations now that we consistently expect to get report
violation console logging for this test.

  • http/tests/security/contentSecurityPolicy/report-only-connect-src-beacon-redirect-blocked.py:
  • platform/wk2/TestExpectations:
8:26 AM Changeset in webkit [277951] by sihui_liu@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION(r256715): XSLTProcessor does not parse script when transforming to document
https://bugs.webkit.org/show_bug.cgi?id=226087

Reviewed by Darin Adler.

Source/WebCore:

Allow JavaScript if context document is null to match old behavior before r256715.

Test: fast/xsl/xslt-transform-script.html

  • dom/Document.cpp:

(WebCore::Document::allowsContentJavaScript const):

LayoutTests:

  • fast/xsl/xslt-transform-script.html: Added.
  • fast/xsl/xslt-transform-script-expected.txt: Added.
7:56 AM Changeset in webkit [277950] by Jonathan Bedard
  • 1 edit
    63 deletes in trunk/LayoutTests

[LayoutTests] Delete unused LayoutTests/http resources
https://bugs.webkit.org/show_bug.cgi?id=226065
<rdar://problem/78289889>

Reviewed by Darin Adler.

  • http/tests/appcache/resources/abort-cache-onprogress-4.text: Removed.
  • http/tests/cookies/resources/post-cookies-onmessage.py: Removed.
  • http/tests/cookies/resources/setArraycookies-expected.txt: Removed.
  • http/tests/cookies/resources/setUtf8Cookies-expected.txt: Removed.
  • http/tests/inspector/network/resources/stylesheet-with-sourcemap.scss: Removed.
  • http/tests/media/media-stream/resources/getUserMedia-helper.js: Removed.
  • http/tests/media/resources/hls/metadata/fileSequence0.ts: Removed.
  • http/tests/media/resources/hls/metadata/fileSequence1.ts: Removed.
  • http/tests/media/resources/media-source: Removed.
  • http/tests/mime/resources/accept-all-text-types.cgi: Removed.
  • http/tests/misc/resources/acid3/support-a.png.404: Removed.
  • http/tests/misc/resources/animated-gif-with-offsets.gif: Removed.
  • http/tests/misc/resources/chromium-selectionAsMarkup.html: Removed.
  • http/tests/misc/resources/generatedimage.bat: Removed.
  • http/tests/misc/resources/referrer-main-resource-expected.txt: Removed.
  • http/tests/misc/resources/referrer-main-resource.py: Removed.
  • http/tests/misc/resources/script-write-slow-stylesheet.js: Removed.
  • http/tests/navigation/resources/redirect-to-cookie.py: Removed.
  • http/tests/quicklook/resources/http-equiv-blocked.docx: Removed.
  • http/tests/security/XFrameOptions/resources/x-frame-options-parent-same-origin-deny.cgi: Removed.
  • http/tests/security/contentSecurityPolicy/block-all-mixed-content/resources/frame-with-insecure-image-and-without-policy.html: Removed.
  • http/tests/security/contentSecurityPolicy/resources/worker-eval.js: Removed.
  • http/tests/security/contentSecurityPolicy/resources/worker-function-function.js: Removed.
  • http/tests/security/contentSecurityPolicy/resources/worker-make-xhr.js: Removed.
  • http/tests/security/contentSecurityPolicy/resources/worker-set-timeout.js: Removed.
  • http/tests/security/mixedContent/resources/frame-with-programmatically-added-insecure-image-redirects-to-basic-auth-secure-image.html: Removed.
  • http/tests/security/postMessage/resources/middle-frame-for-lexical.html: Removed.
  • http/tests/security/postMessage/resources/post-message-listener-with-ready.html: Removed.
  • http/tests/security/resources/create-filesystem-file.html: Removed.
  • http/tests/security/resources/cross-origin-iframe-for-worker-websql.html: Removed.
  • http/tests/security/resources/document-for-cross-origin-worker-websql.html: Removed.
  • http/tests/security/resources/drag-drop-allowed-expected.txt: Removed.
  • http/tests/security/resources/image-wrapper.svg: Removed.
  • http/tests/security/resources/pass-if-no-referrer.py: Removed.
  • http/tests/security/resources/worker-for-websql.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/context: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/conformance: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/boolUniformShader.vert: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/glsl-conformance-test.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/glsl-feature-tests.css: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/glsl-generator.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/intArrayUniformShader.vert: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/intUniformShader.vert: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/matUniformShader.vert: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/noopUniformShader.vert: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/ogles-tests.css: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/samplerUniformShader.frag: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/structUniformShader.vert: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/resources/test-eval.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/resources/webgl-logo.png: Removed.
  • http/tests/workers/resources/sync-operations.js: Removed.
  • http/tests/xmlhttprequest/resources/access-control-basic-allow-print-headers.cgi: Removed.
  • http/tests/xmlhttprequest/resources/print-headers.py: Removed.
  • http/tests/xmlhttprequest/resources/reply2.txt: Removed.
  • http/tests/xmlhttprequest/resources/reply2.xml: Removed.
  • http/tests/xmlhttprequest/resources/reply3.txt: Removed.
  • http/tests/xmlhttprequest/resources/reply3.xml: Removed.
  • http/tests/xmlhttprequest/resources/reply4.txt: Removed.
  • http/tests/xmlhttprequest/resources/reply4.xml: Removed.
  • http/tests/xmlhttprequest/resources/reply5.txt: Removed.
  • http/tests/xmlhttprequest/resources/svgtest.svg: Removed.
  • http/tests/xmlhttprequest/resources/utf-8-no-charset.html: Removed.
6:59 AM Changeset in webkit [277949] by ntim@apple.com
  • 9 edits in trunk/Source/WebCore

Clean up handling of -webkit-inline-flex/-webkit-flex CSS display values
https://bugs.webkit.org/show_bug.cgi?id=224807

Reviewed by Antti Koivisto.

These are now aliased at parse-time, like the two-value CSS display syntax is.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • css/CSSValueKeywords.in:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeDisplay):

  • layout/layouttree/LayoutBox.cpp:

(WebCore::Layout::Box::isInlineLevelBox const):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::createFor):

  • rendering/style/RenderStyleConstants.cpp:

(WebCore::operator<<):

  • rendering/style/RenderStyleConstants.h:
  • style/StyleAdjuster.cpp:

(WebCore::Style::equivalentBlockDisplay):

6:48 AM Changeset in webkit [277948] by Lauro Moura
  • 2 edits in trunk/Source/WebCore

[GStreamer] WebProcess crashes when certain elements are missing
https://bugs.webkit.org/show_bug.cgi?id=226081
<rdar://problem/78394687>

Unreviewed LTS build fix.

  • platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
4:22 AM Changeset in webkit [277947] by commit-queue@webkit.org
  • 22 edits in trunk/Source/WebCore

[GStreamer] WebProcess crashes when certain elements are missing
https://bugs.webkit.org/show_bug.cgi?id=226081

Patch by Philippe Normand <pnormand@igalia.com> on 2021-05-24
Reviewed by Xabier Rodriguez-Calvar.

Introducing makeGStreamerElement() and makeGStreamerBin() that should be used when
requesting non-WebKit and non-core GStreamer elements/bins to be created at runtime. The
goal is to prevent NULL pointers to be used in case the runtime host has an incomplete
GStreamer plugins installation.

  • platform/audio/gstreamer/AudioDestinationGStreamer.cpp:

(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::AudioFileReader::handleNewDeinterleavePad):
(WebCore::AudioFileReader::plugDeinterleave):
(WebCore::AudioFileReader::decodeAudioForBusCreation):

  • platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:

(WebCore::AudioSourceProviderGStreamer::configureAudioBin):
(WebCore::AudioSourceProviderGStreamer::setClient):
(WebCore::AudioSourceProviderGStreamer::handleNewDeinterleavePad):

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webKitWebAudioSrcConstructed):

  • platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp:

(webKitGLVideoSinkConstructed):

  • platform/graphics/gstreamer/GStreamerAudioMixer.cpp:

(WebCore::GStreamerAudioMixer::GStreamerAudioMixer):
(WebCore::GStreamerAudioMixer::registerProducer):

  • platform/graphics/gstreamer/GStreamerCommon.cpp:

(WebCore::createPlatformAudioSink):
(WebCore::makeGStreamerElement):
(WebCore::makeGStreamerBin):

  • platform/graphics/gstreamer/GStreamerCommon.h:
  • platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:

(WebCore::ImageDecoderGStreamer::InnerDecoder::connectDecoderPad):
(WebCore::ImageDecoderGStreamer::InnerDecoder::preparePipeline):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
(WebCore::MediaPlayerPrivateGStreamer::createHolePunchVideoSink):
(WebCore::MediaPlayerPrivateGStreamer::createVideoSink):

  • platform/graphics/gstreamer/TextCombinerGStreamer.cpp:

(webKitTextCombinerHandleCapsEvent):

  • platform/graphics/gstreamer/TextSinkGStreamer.cpp:

(webkitTextSinkConstructed):

  • platform/graphics/gstreamer/WebKitAudioSinkGStreamer.cpp:

(webKitAudioSinkConfigure):

  • platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::AppendPipeline):
(WebCore::createOptionalParserForFormat):

  • platform/mediastream/gstreamer/GStreamerAudioCapturer.cpp:

(WebCore::GStreamerAudioCapturer::createConverter):

  • platform/mediastream/gstreamer/GStreamerCapturer.cpp:

(WebCore::GStreamerCapturer::makeElement):

  • platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
  • platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:

(WebCore::GStreamerVideoCapturer::createConverter):

  • platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp:

(WebCore::GStreamerVideoDecoder::makeElement):

  • platform/mediastream/libwebrtc/GStreamerVideoEncoder.cpp:

(webrtcVideoEncoderSetEncoder):
(webrtcVideoEncoderSetFormat):

  • platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:

(WebCore::GStreamerVideoEncoder::makeElement):

1:55 AM Changeset in webkit [277946] by commit-queue@webkit.org
  • 2 edits in trunk/Tools/buildstream

[Flatpak SDK] Update to libsoup3 2.99.6
https://bugs.webkit.org/show_bug.cgi?id=226166

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-05-24
Reviewed by Philippe Normand.

  • elements/sdk/libsoup3.bst:
1:13 AM Changeset in webkit [277945] by Angelos Oikonomopoulos
  • 3 edits in trunk/Tools

Be resilient against remote failure when determining the native architecture
https://bugs.webkit.org/show_bug.cgi?id=226009

Reviewed by Jonathan Bedard.

Change determineNativeArchitecture to not return an empty string if the
first remote host happens to be down. Instead, check every remote host in turn
until one responds.

Returning an empty string ended up passing an empty parameter to --arch when
invoking run-jsc-stress-tests, which resulted in an inappropriate set of tests
being selected, leading to occasional partial but massive test failures.

  • Scripts/run-javascriptcore-tests:

(runTest):
(runJSCStressTests):

  • Scripts/webkitdirs.pm:

(determineNativeArchitecture):
(determineArchitecture):
(nativeArchitecture):

12:19 AM Changeset in webkit [277944] by Fujii Hironori
  • 2 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening

  • platform/wincairo/TestExpectations:

May 23, 2021:

10:37 PM Changeset in webkit [277943] by Chris Dumez
  • 94 edits in trunk

Make CheckedLock the default Lock
https://bugs.webkit.org/show_bug.cgi?id=226157

Reviewed by Darin Adler.

Make CheckedLock the default Lock so that we get more benefits from Clang
Thread Safety Analysis. Note that CheckedLock 100% relies on the existing
Source/JavaScriptCore:

Lock implementation and merely adds the clang anotations for thread
safety.

That this patch does is:

  1. Rename the Lock class to UncheckedLock
  2. Rename the CheckedLock class to Lock
  3. Rename the Condition class to UncheckedCondition
  4. Rename the CheckedCondition class to Condition
  5. Update the types of certain variables from Lock / Condition to UncheckedLock / UncheckedCondition if I got a build failure. Build failures are usually caused by the following facts:
    • Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of JSC code passes as argument
    • Locker<CheckedLock> has no move constructor
    • Locker<CheckedLock> cannot be constructed from a lock pointer, only a reference

For now, CheckedLock and CheckedCondition remain as aliases to Lock and
Condition, in their respective CheckedLock.h / CheckedCondition.h headers.
I will drop them in a follow-up to reduce patch size.

I will also follow-up to try and get rid of as much usage of UncheckedLock
and UncheckedCondition as possible. I did not try very hard in this patch
to reduce patch size.

  • assembler/testmasm.cpp:
  • dfg/DFGCommon.cpp:
  • dfg/DFGThreadData.h:
  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::Worklist):

  • dfg/DFGWorklist.h:
  • dynbench.cpp:
  • heap/BlockDirectory.h:

(JSC::BlockDirectory::bitvectorLock):

  • heap/CodeBlockSet.h:

(JSC::CodeBlockSet::getLock):

  • heap/Heap.cpp:

(JSC::Heap::Heap):

  • heap/Heap.h:
  • heap/MarkedSpace.h:

(JSC::MarkedSpace::directoryLock):

  • heap/MarkingConstraintSolver.h:
  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::donateKnownParallel):

  • heap/SlotVisitor.h:
  • jit/ExecutableAllocator.cpp:

(JSC::ExecutableAllocator::getLock const):
(JSC::dumpJITMemory):

  • jit/ExecutableAllocator.h:

(JSC::ExecutableAllocatorBase::getLock const):

  • jit/JITWorklist.cpp:

(JSC::JITWorklist::JITWorklist):

  • jit/JITWorklist.h:
  • jsc.cpp:
  • profiler/ProfilerDatabase.h:
  • runtime/ConcurrentJSLock.h:
  • runtime/DeferredWorkTimer.h:
  • runtime/JSLock.h:
  • runtime/SamplingProfiler.cpp:

(JSC::FrameWalker::FrameWalker):
(JSC::CFrameWalker::CFrameWalker):
(JSC::SamplingProfiler::takeSample):

  • runtime/SamplingProfiler.h:

(JSC::SamplingProfiler::getLock):

  • runtime/VM.h:
  • runtime/VMTraps.cpp:

(JSC::VMTraps::invalidateCodeBlocksOnStack):
(JSC::VMTraps::VMTraps):

  • runtime/VMTraps.h:
  • tools/FunctionOverrides.h:
  • tools/VMInspector.cpp:

(JSC::ensureIsSafeToLock):

  • tools/VMInspector.h:

(JSC::VMInspector::getLock):

  • wasm/WasmCalleeRegistry.h:

(JSC::Wasm::CalleeRegistry::getLock):

  • wasm/WasmPlan.h:
  • wasm/WasmStreamingCompiler.h:
  • wasm/WasmThunks.h:
  • wasm/WasmWorklist.cpp:

(JSC::Wasm::Worklist::Worklist):

  • wasm/WasmWorklist.h:

Source/WebCore:

Lock implementation and merely adds the clang anotations for thread
safety.

That this patch does is:

  1. Rename the Lock class to UncheckedLock
  2. Rename the CheckedLock class to Lock
  3. Rename the Condition class to UncheckedCondition
  4. Rename the CheckedCondition class to Condition
  5. Update the types of certain variables from Lock / Condition to UncheckedLock / UncheckedCondition if I got a build failure. Build failures are usually caused by the following facts:
    • Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of JSC code passes as argument
    • Locker<CheckedLock> has no move constructor
    • Locker<CheckedLock> cannot be constructed from a lock pointer, only a reference

For now, CheckedLock and CheckedCondition remain as aliases to Lock and
Condition, in their respective CheckedLock.h / CheckedCondition.h headers.
I will drop them in a follow-up to reduce patch size.

I will also follow-up to try and get rid of as much usage of UncheckedLock
and UncheckedCondition as possible. I did not try very hard in this patch
to reduce patch size.

  • Modules/indexeddb/server/IDBServer.cpp:
  • Modules/webaudio/MediaElementAudioSourceNode.h:
  • Modules/webdatabase/OriginLock.cpp:
  • bindings/js/JSDOMGlobalObject.h:
  • dom/Node.cpp:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::createMediaPlayer):

  • html/canvas/WebGLContextGroup.cpp:

(WebCore::WebGLContextGroup::objectGraphLockForAContext):

  • html/canvas/WebGLContextGroup.h:
  • html/canvas/WebGLContextObject.cpp:

(WebCore::WebGLContextObject::objectGraphLockForContext):

  • html/canvas/WebGLContextObject.h:
  • html/canvas/WebGLObject.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::objectGraphLock):

  • html/canvas/WebGLRenderingContextBase.h:
  • html/canvas/WebGLSharedObject.cpp:

(WebCore::WebGLSharedObject::objectGraphLockForContext):

  • html/canvas/WebGLSharedObject.h:
  • page/scrolling/mac/ScrollingTreeMac.h:
  • platform/audio/ReverbConvolver.cpp:

(WebCore::ReverbConvolver::backgroundThreadEntry):

  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::lock):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
  • platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:

Source/WebKit:

Lock implementation and merely adds the clang anotations for thread
safety.

That this patch does is:

  1. Rename the Lock class to UncheckedLock
  2. Rename the CheckedLock class to Lock
  3. Rename the Condition class to UncheckedCondition
  4. Rename the CheckedCondition class to Condition
  5. Update the types of certain variables from Lock / Condition to UncheckedLock / UncheckedCondition if I got a build failure. Build failures are usually caused by the following facts:
    • Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of JSC code passes as argument
    • Locker<CheckedLock> has no move constructor
    • Locker<CheckedLock> cannot be constructed from a lock pointer, only a reference

For now, CheckedLock and CheckedCondition remain as aliases to Lock and
Condition, in their respective CheckedLock.h / CheckedCondition.h headers.
I will drop them in a follow-up to reduce patch size.

I will also follow-up to try and get rid of as much usage of UncheckedLock
and UncheckedCondition as possible. I did not try very hard in this patch
to reduce patch size.

  • GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer):

  • NetworkProcess/IndexedDB/WebIDBServer.cpp:
  • UIProcess/API/glib/IconDatabase.h:
  • UIProcess/mac/WKPrintingView.mm:

(-[WKPrintingView knowsPageRange:]):

Source/WTF:

Lock implementation and merely adds the clang anotations for thread
safety.

That this patch does is:

  1. Rename the Lock class to UncheckedLock
  2. Rename the CheckedLock class to Lock
  3. Rename the Condition class to UncheckedCondition
  4. Rename the CheckedCondition class to Condition
  5. Update the types of certain variables from Lock / Condition to UncheckedLock / UncheckedCondition if I got a build failure. Build failures are usually caused by the following facts:
    • Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of JSC code passes as argument
    • Locker<CheckedLock> has no move constructor
    • Locker<CheckedLock> cannot be constructed from a lock pointer, only a reference

For now, CheckedLock and CheckedCondition remain as aliases to Lock and
Condition, in their respective CheckedLock.h / CheckedCondition.h headers.
I will drop them in a follow-up to reduce patch size.

I will also follow-up to try and get rid of as much usage of UncheckedLock
and UncheckedCondition as possible. I did not try very hard in this patch
to reduce patch size.

  • wtf/AutomaticThread.cpp:

(WTF::AutomaticThreadCondition::wait):
(WTF::AutomaticThreadCondition::waitFor):
(WTF::AutomaticThread::AutomaticThread):

  • wtf/AutomaticThread.h:
  • wtf/CheckedCondition.h:
  • wtf/CheckedLock.h:
  • wtf/Condition.h:
  • wtf/Lock.cpp:

(WTF::UncheckedLock::lockSlow):
(WTF::UncheckedLock::unlockSlow):
(WTF::UncheckedLock::unlockFairlySlow):
(WTF::UncheckedLock::safepointSlow):

  • wtf/Lock.h:

(WTF::WTF_ASSERTS_ACQUIRED_LOCK):

  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocator::release):
(WTF::MetaAllocator::MetaAllocator):
(WTF::MetaAllocator::allocate):
(WTF::MetaAllocator::currentStatistics):

  • wtf/MetaAllocator.h:
  • wtf/ParallelHelperPool.cpp:

(WTF::ParallelHelperPool::ParallelHelperPool):

  • wtf/ParallelHelperPool.h:
  • wtf/RecursiveLockAdapter.h:
  • wtf/WorkerPool.cpp:

(WTF::WorkerPool::WorkerPool):

  • wtf/WorkerPool.h:

Tools:

Lock implementation and merely adds the clang anotations for thread
safety.

That this patch does is:

  1. Rename the Lock class to UncheckedLock
  2. Rename the CheckedLock class to Lock
  3. Rename the Condition class to UncheckedCondition
  4. Rename the CheckedCondition class to Condition
  5. Update the types of certain variables from Lock / Condition to UncheckedLock / UncheckedCondition if I got a build failure. Build failures are usually caused by the following facts:
    • Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of JSC code passes as argument
    • Locker<CheckedLock> has no move constructor
    • Locker<CheckedLock> cannot be constructed from a lock pointer, only a reference

For now, CheckedLock and CheckedCondition remain as aliases to Lock and
Condition, in their respective CheckedLock.h / CheckedCondition.h headers.
I will drop them in a follow-up to reduce patch size.

I will also follow-up to try and get rid of as much usage of UncheckedLock
and UncheckedCondition as possible. I did not try very hard in this patch
to reduce patch size.

  • TestWebKitAPI/Tests/WTF/CheckedConditionTest.cpp:
  • TestWebKitAPI/Tests/WTF/Condition.cpp:
  • TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:
  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:

(WTR::AXThread::createThreadIfNeeded):

9:59 PM Changeset in webkit [277942] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove some now invalid tests in testmasm.
https://bugs.webkit.org/show_bug.cgi?id=226155

Reviewed by Yusuke Suzuki.

The ARM64E tests were checking that cageConditionallyAndUntag() would fail to
produce a caged pointer if fed invalid values. These tests are no longer feasible
because on ARM64E, feeding cageConditionallyAndUntag() invalid values will now
result in a crash. This patch removes these tests.

  • assembler/testmasm.cpp:

(JSC::testCagePreservesPACFailureBit):

8:42 PM Changeset in webkit [277941] by Lauro Moura
  • 2 edits in trunk/WebDriverTests

[WebDriver] Gardening local GTK and WPE failures

Unreviewed test gardening.

With these, no failures should happen running locally. Still a few
bits on the bots to check.

5:31 PM Changeset in webkit [277940] by weinig@apple.com
  • 173 edits
    2 copies
    1 add
    2 deletes in trunk

Convert DestinationColorSpace from an enum to class wrapping a platform color space (CGColorSpaceRef for CG ports, etc.)
https://bugs.webkit.org/show_bug.cgi?id=226143

Reviewed by Darin Adler.

Source/WebCore:

Replace enumeration based DestinationColorSpace with a struct wrapping
a platform color space (CGColorSpaceRef for CG ports, etc.). For ports
that don't have a platform level color space type, a builtin PlatformColorSpace
type is provided that is just the old enum renamed to PlatformColorSpace::Name.

The goal of this change is to unify the currently bifurcated concept of an
ImageBuffer's color space, which previosly could either be based on the
DestinationColorSpace (and reflected in the colorSpace() member function),
or (for CG ports) based on a CGColorSpaceRef, with the colorSpace() function
returning sRGB even if the ImageBuffer was not.

  • Headers.cmake:
  • Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:

(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded):

  • Modules/mediasession/MediaMetadata.cpp:

(WebCore::ArtworkImageLoader::notifyFinished):

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::dumpImageBitmap):
(WebCore::CloneDeserializer::readImageBitmap):

  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::image):

  • html/CustomPaintCanvas.cpp:

(WebCore::CustomPaintCanvas::copiedImage const):

  • html/CustomPaintImage.cpp:

(WebCore::CustomPaintImage::drawPattern):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::toMediaSample):
(WebCore::HTMLCanvasElement::createImageBuffer const):

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::createBufferForPainting const):

  • html/HTMLVideoElement.h:
  • html/ImageBitmap.cpp:

(WebCore::ImageBitmap::createImageBuffer):
(WebCore::ImageBitmap::createPromise):

  • html/OffscreenCanvas.cpp:

(WebCore::OffscreenCanvas::commitToPlaceholderCanvas):

  • html/canvas/CanvasRenderingContext.cpp:

(WebCore::CanvasRenderingContext::colorSpace const):

  • html/canvas/CanvasRenderingContext.h:
  • html/canvas/CanvasRenderingContext2D.cpp:
  • html/canvas/ImageBitmapRenderingContext.cpp:

(WebCore::ImageBitmapRenderingContext::setOutputBitmap):

  • html/canvas/PredefinedColorSpace.cpp:

(WebCore::toDestinationColorSpace):
(WebCore::toPredefinedColorSpace):

  • html/canvas/PredefinedColorSpace.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::LRUImageBufferCache::imageBuffer):

  • html/shadow/MediaControlTextTrackContainerElement.cpp:

(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::indexForData):
(WebCore::InspectorCanvas::buildArrayForCanvasPattern):

  • page/Chrome.cpp:

(WebCore::Chrome::createImageBuffer const):

  • page/Chrome.h:
  • page/ChromeClient.h:

(WebCore::ChromeClient::createImageBuffer const):

  • page/FrameSnapshotting.cpp:

(WebCore::snapshotFrameRectWithClip):

  • page/PageColorSampler.cpp:

(WebCore::sampleColor):

  • page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::screenshot):

  • platform/HostWindow.h:
  • platform/PlatformColorSpace.h: Added.

(WebCore::PlatformColorSpace::get const):

  • platform/PlatformScreen.h:
  • platform/ScreenProperties.h:

(WebCore::ScreenProperties::encode const):
(WebCore::ScreenData::encode const):
(WebCore::ScreenData::decode):

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::preTransformedNativeImageForCurrentFrame):
(WebCore::BitmapImage::drawPattern):

  • platform/graphics/Color.cpp:

(WebCore::Color::toColorComponentsInColorSpace const):

  • platform/graphics/Color.h:
  • platform/graphics/ColorConversion.cpp:

(WebCore::converColorComponents):

  • platform/graphics/ColorConversion.h:
  • platform/graphics/ColorSpace.cpp:
  • platform/graphics/ColorSpace.h:
  • platform/graphics/ConcreteImageBuffer.h:

(WebCore::ConcreteImageBuffer::create):

  • platform/graphics/CrossfadeGeneratedImage.cpp:

(WebCore::CrossfadeGeneratedImage::drawPattern):

  • platform/graphics/DestinationColorSpace.cpp: Added.

(WebCore::DestinationColorSpace::SRGB):
(WebCore::DestinationColorSpace::LinearSRGB):
(WebCore::DestinationColorSpace::DisplayP3):
(WebCore::DestinationColorSpace::DestinationColorSpace):
(WebCore::operator==):
(WebCore::operator!=):
(WebCore::operator<<):

  • platform/graphics/DestinationColorSpace.h: Added.

(WebCore::DestinationColorSpace::platformColorSpace const):
(WebCore::DestinationColorSpace::encode const):
(WebCore::DestinationColorSpace::decode):

  • platform/graphics/GradientImage.cpp:

(WebCore::GradientImage::drawPattern):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::clipToDrawingCommands):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContextImpl.h:
  • platform/graphics/ImageBuffer.cpp:

(WebCore::ImageBuffer::create):
(WebCore::ImageBuffer::createCompatibleBuffer):
(WebCore::ImageBuffer::copyRectToBuffer):

  • platform/graphics/ImageBuffer.h:
  • platform/graphics/ImageBufferBackend.cpp:

(WebCore::ImageBufferBackend::getPixelBuffer const):
(WebCore::ImageBufferBackend::putPixelBuffer):

  • platform/graphics/ImageBufferBackend.h:

(WebCore::ImageBufferBackend::transformColorSpace):
(WebCore::ImageBufferBackend::colorSpace const):

  • platform/graphics/PixelBuffer.h:

(WebCore::PixelBuffer::decode):

  • platform/graphics/PixelBufferConversion.cpp:

(WebCore::makeVImageCGImageFormat):

  • platform/graphics/PixelBufferFormat.h:

(WebCore::PixelBufferFormat::decode):

  • platform/graphics/RemoteVideoSample.cpp:

(WebCore::transferBGRAPixelBufferToIOSurface):
(WebCore::RemoteVideoSample::create):
(WebCore::RemoteVideoSample::RemoteVideoSample):
(WebCore::RemoteVideoSample::surface const):

  • platform/graphics/RemoteVideoSample.h:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::getScratchBuffer):
(WebCore::ShadowBlur::drawRectShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):
(WebCore::ShadowBlur::blurShadowBuffer):
(WebCore::ShadowBlur::drawShadowLayer):

  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:

(WebCore::GraphicsContextGLOpenGL::readPixelsForPaintResults):

  • platform/graphics/cairo/ImageBufferCairoBackend.cpp:

(WebCore::ImageBufferCairoBackend::transformColorSpace):

  • platform/graphics/cairo/ImageBufferCairoBackend.h:
  • platform/graphics/cg/ColorCG.cpp:

(WebCore::convertToCGCompatibleComponents):
(WebCore::createCGColor):
(WebCore::platformConvertColorComponents):

  • platform/graphics/cg/ColorSpaceCG.h:

(WebCore::cachedCGColorSpace): Deleted.

  • platform/graphics/cg/GraphicsContextGLCG.cpp:

(WebCore::GraphicsContextGLOpenGL::paintToCanvas):

  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::surfaceMatchesParameters):
(WebCore::IOSurfacePool::takeSurface):

  • platform/graphics/cg/IOSurfacePool.h:
  • platform/graphics/cg/ImageBufferCGBackend.cpp:

(WebCore::createBitmapImageAfterScalingIfNeeded):
(WebCore::ImageBufferCGBackend::copyCGImageForEncoding const):

  • platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:

(WebCore::ImageBufferCGBitmapBackend::create):
(WebCore::ImageBufferCGBitmapBackend::copyNativeImage const):

  • platform/graphics/cg/ImageBufferCGBitmapBackend.h:
  • platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:

(WebCore::ImageBufferIOSurfaceBackend::create):

  • platform/graphics/cg/ImageBufferIOSurfaceBackend.h:
  • platform/graphics/cg/ImageBufferUtilitiesCG.cpp:

(WebCore::encode):

  • platform/graphics/cg/NativeImageCG.cpp:

(WebCore::NativeImage::singlePixelSolidColor const):

  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:

(WebCore::GraphicsContextGLOpenGL::allocateAndBindDisplayBufferBacking):

  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::surfaceFromPool):
(WebCore::IOSurface::create):
(WebCore::IOSurface::createFromSendRight):
(WebCore::IOSurface::createFromSurface):
(WebCore::IOSurface::createFromImage):
(WebCore::IOSurface::createFromPixelBuffer):
(WebCore::IOSurface::IOSurface):
(WebCore::IOSurface::ensurePlatformContext):
(WebCore::IOSurface::migrateColorSpaceToProperties):

  • platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:

(WebCore::FilterEffectRendererCoreImage::renderToImageBuffer):

  • platform/graphics/cv/ImageTransferSessionVT.mm:

(WebCore::ImageTransferSessionVT::createPixelBuffer):

  • platform/graphics/cv/PixelBufferConformerCV.cpp:

(WebCore::PixelBufferConformerCV::createImageFromPixelBuffer):

  • platform/graphics/displaylists/DisplayListImageBuffer.h:

(WebCore::DisplayList::ImageBuffer::create):

  • platform/graphics/displaylists/DisplayListItemBuffer.cpp:

(WebCore::DisplayList::ItemHandle::destroy):

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::BeginClipToDrawingCommands::BeginClipToDrawingCommands):
(WebCore::DisplayList::BeginClipToDrawingCommands::colorSpace const):
(WebCore::DisplayList::BeginClipToDrawingCommands::encode const):
(WebCore::DisplayList::BeginClipToDrawingCommands::decode):
(WebCore::DisplayList::GetPixelBuffer::GetPixelBuffer):
(WebCore::DisplayList::GetPixelBuffer::outputFormat const):
(WebCore::DisplayList::GetPixelBuffer::encode const):
(WebCore::DisplayList::GetPixelBuffer::decode):

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::clipToDrawingCommands):

  • platform/graphics/displaylists/DisplayListRecorder.h:
  • platform/graphics/filters/FEDisplacementMap.cpp:

(WebCore::FEDisplacementMap::setResultColorSpace):

  • platform/graphics/filters/FEDisplacementMap.h:
  • platform/graphics/filters/FEFlood.h:
  • platform/graphics/filters/FETile.cpp:

(WebCore::FETile::platformApplySoftware):

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::convertPixelBufferToColorSpace):
(WebCore::FilterEffect::convertImageBufferToColorSpace):
(WebCore::FilterEffect::copyConvertedImageBufferToDestination):
(WebCore::FilterEffect::copyConvertedPixelBufferToDestination):
(WebCore::FilterEffect::requiresPixelBufferColorSpaceConversion):
(WebCore::FilterEffect::transformResultColorSpace):

  • platform/graphics/filters/FilterEffect.h:

(WebCore::FilterEffect::operatingColorSpace const):
(WebCore::FilterEffect::setOperatingColorSpace):
(WebCore::FilterEffect::resultColorSpace const):
(WebCore::FilterEffect::setResultColorSpace):

  • platform/graphics/filters/SourceGraphic.h:

(WebCore::SourceGraphic::SourceGraphic):

  • platform/gtk/PlatformScreenGtk.cpp:

(WebCore::screenColorSpace):

  • platform/ios/PlatformScreenIOS.mm:

(WebCore::screenColorSpace):
(WebCore::collectScreenProperties):

  • platform/mac/PlatformScreenMac.mm:

(WebCore::collectScreenProperties):
(WebCore::screenColorSpace):

  • platform/mac/ThemeMac.mm:

(WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext):

  • platform/mediastream/mac/ScreenDisplayCapturerMac.mm:

(WebCore::ScreenDisplayCapturerMac::createDisplayStream):

  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::imageBuffer const):

  • platform/playstation/PlatformScreenPlayStation.cpp:

(WebCore::screenColorSpace):

  • platform/win/PlatformScreenWin.cpp:

(WebCore::screenColorSpace):

  • platform/wpe/PlatformScreenWPE.cpp:

(WebCore::screenColorSpace):

  • platform/xr/PlatformXR.h:

(PlatformXR::Device::FrameData::LayerData::decode):

  • rendering/CSSFilter.cpp:

(WebCore::CSSFilter::buildReferenceFilter):
(WebCore::CSSFilter::build):
(WebCore::CSSFilter::allocateBackingStoreIfNeeded):
(WebCore::CSSFilter::apply):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderLayerBacking.cpp:

(WebCore::patternForDescription):

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintSystemPreviewBadge):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintProgressBar):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createRasterShape):

  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::applyClippingToContext):

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::buildPrimitives const):
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::postApplyResource):

  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::createMaskAndSwapContextForTextGradient):

  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::applyResource):
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):

  • rendering/svg/RenderSVGResourceMasker.h:
  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::createTileImage const):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::createImageBuffer):
(WebCore::SVGRenderingContext::bufferForeground):

  • rendering/svg/SVGRenderingContext.h:
  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::nativeImage):
(WebCore::SVGImage::drawPatternForContainer):

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::platformApplySoftware):

Source/WebCore/PAL:

  • pal/spi/cg/CoreGraphicsSPI.h:

Add addional SPI for working with CGColorSpaceRefs.

Source/WebKit:

  • Update ImageBuffer subclass signatures to use "const DestinationColorSpace&" to conform to the base class.
  • Replace ColorSpaceData with Optional<DestinationColorSpace>. No reason to have two types that are the same.
  • Give all ports a color space configuration for ShareableBitmap now that there is a common class for representing color space.
  • Update DisplayList decoding to account for BeginClipToDrawingCommands and GetPixelBuffer no longer being inlineable due to now having non-trivial destructors due to DestinationColorSpace member.
  • GPUProcess/graphics/RemoteImageBuffer.h:

(WebKit::RemoteImageBuffer::create):

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::createImageBuffer):

  • GPUProcess/graphics/RemoteRenderingBackend.h:
  • GPUProcess/media/RemoteImageDecoderAVFProxy.cpp:

(WebKit::RemoteImageDecoderAVFProxy::createFrameImageAtIndex):

  • GPUProcess/media/RemoteImageDecoderAVFProxy.h:
  • GPUProcess/media/RemoteImageDecoderAVFProxy.messages.in:
  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):

  • Shared/ShareableBitmap.cpp:

(WebKit::ShareableBitmap::Configuration::encode const):
(WebKit::ShareableBitmap::Configuration::decode):

  • Shared/ShareableBitmap.h:
  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • Shared/cg/ShareableBitmapCG.cpp:

(WebKit::colorSpace):

  • Shared/mac/ColorSpaceData.h: Removed.
  • Shared/mac/ColorSpaceData.mm: Removed.
  • SourcesCocoa.txt:
  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _takeViewSnapshot]):
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::colorSpace):

  • UIProcess/PageClient.h:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:

(WebKit::recursivelyMapIOSurfaceBackingStore):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/PageClientImplMac.h:
  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::colorSpace):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::colorSpace):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:

(WebKit::ImageBufferShareableBitmapBackend::configuration):

  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:

(WebKit::RemoteGraphicsContextGLProxy::prepareForDisplay):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

(WebKit::RemoteImageBufferProxy::create):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::createImageBuffer):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp:

(WebKit::ImageBufferShareableMappedIOSurfaceBackend::create):

  • WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:

(WebKit::RemoteImageDecoderAVF::createFrameImageAtIndex):

  • WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:

(WebKit::MediaPlayerPrivateRemote::nativeImageForCurrentTime):
(WebKit::MediaPlayerPrivateRemote::pixelBufferForCurrentTime):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::PDFPlugin):

  • WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp:

(WebKit::createShareableBitmap):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createImageBuffer const):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::convertDragImageToBitmap):

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::setColorSpace):

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::snapshotOptionsToBitmapConfiguration):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::setColorSpace):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::imageForCurrentSharingServicePickerItem):
Update for new DestinationColorSpace class.

Tools:

  • TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:

(TestWebKitAPI::TEST):
Upate test to use new DestinationColorSpace type.

3:12 PM Changeset in webkit [277939] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.0-branch/Source

Versioning.

WebKit-7612.1.15.0.6

3:07 PM Changeset in webkit [277938] by Russell Epstein
  • 8 edits in trunk/Source

Versioning.

WebKit-7612.1.16

3:05 PM Changeset in webkit [277937] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.1-branch/Source

Versioning.

WebKit-7612.1.15.1.10

2:46 PM Changeset in webkit [277936] by mark.lam@apple.com
  • 22 edits in trunk/Source

Remove ENABLE(MASM_PROBE) flag.
https://bugs.webkit.org/show_bug.cgi?id=226154

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

  • assembler/MacroAssembler.cpp:
  • assembler/MacroAssembler.h:
  • assembler/MacroAssemblerARM64.cpp:
  • assembler/MacroAssemblerARMv7.cpp:

(JSC::MacroAssembler::probe):

  • assembler/MacroAssemblerMIPS.cpp:

(JSC::MacroAssembler::probe):

  • assembler/MacroAssemblerPrinter.cpp:
  • assembler/MacroAssemblerPrinter.h:
  • assembler/MacroAssemblerX86Common.cpp:

(JSC::MacroAssembler::probe):

  • assembler/ProbeContext.cpp:
  • assembler/ProbeContext.h:
  • assembler/ProbeFrame.h:
  • assembler/ProbeStack.cpp:
  • assembler/ProbeStack.h:
  • assembler/testmasm.cpp:

(JSC::isSpecialGPR):
(JSC::testClearBits64WithMask):
(JSC::testClearBits64WithMaskTernary):
(JSC::testShiftAndAdd):
(JSC::testProbeModifiesStackValues):
(JSC::run):

  • b3/B3LowerToAir.cpp:
  • b3/air/AirPrintSpecial.cpp:
  • b3/air/AirPrintSpecial.h:
  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • tools/JSDollarVM.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION_WITH_ATTRIBUTES):

Source/WTF:

The MacroAssembler::probe() mechanism is now available on all supported platforms.
There's no longer a need for the ENABLE(MASM_PROBE) flag.

  • wtf/PlatformEnable.h:
2:42 PM Changeset in webkit [277935] by Russell Epstein
  • 1 copy in tags/Safari-612.1.15.1.9

Tag Safari-612.1.15.1.9.

1:33 PM Changeset in webkit [277934] by Chris Dumez
  • 33 edits in trunk/Source

Use CheckedLock in even more places
https://bugs.webkit.org/show_bug.cgi?id=226152

Reviewed by Darin Adler.

Use CheckedLock in even more places to benefit from Clang Thread Safety Analysis.

Source/JavaScriptCore:

  • API/JSVirtualMachine.mm:

(WTF_REQUIRES_LOCK):

  • API/glib/JSCVirtualMachine.cpp:
  • bytecode/StructureStubInfo.h:
  • bytecode/SuperSampler.cpp:
  • dfg/DFGCommonData.cpp:

(JSC::DFG::CommonData::invalidate):
(JSC::DFG::CommonData::~CommonData):
(JSC::DFG::CommonData::installVMTrapBreakpoints):
(JSC::DFG::codeBlockForVMTrapPC):

  • dfg/DFGPlan.h:

(JSC::DFG::Plan::WTF_GUARDED_BY_LOCK):

  • disassembler/Disassembler.cpp:
  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::parallelNotEmptyBlockSource):

  • heap/Heap.h:
  • heap/IsoSubspacePerVM.h:
  • inspector/remote/socket/RemoteInspectorConnectionClient.h:

Source/WebCore:

  • platform/image-decoders/ScalableImageDecoder.cpp:

(WebCore::ScalableImageDecoder::frameIsCompleteAtIndex const):
(WebCore::ScalableImageDecoder::frameHasAlphaAtIndex const):
(WebCore::ScalableImageDecoder::frameBytesAtIndex const):
(WebCore::ScalableImageDecoder::frameDurationAtIndex const):
(WebCore::ScalableImageDecoder::createFrameImageAtIndex):

  • platform/image-decoders/ScalableImageDecoder.h:
  • platform/mediarecorder/MediaRecorderPrivateMock.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/RealtimeOutgoingAudioSource.h:
  • platform/mediastream/RealtimeOutgoingVideoSource.h:
  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:

(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::audioSamplesAvailable):
(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::pullAudioData):

  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.h:
  • platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:
  • platform/mediastream/mac/AVVideoCaptureSource.h:
  • platform/sql/SQLiteDatabase.h:
  • worklets/PaintWorkletGlobalScope.h:

Source/WebKit:

  • GPUProcess/webrtc/LibWebRTCCodecsProxy.h:
  • GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
  • NetworkProcess/glib/DNSCache.h:
  • Shared/mac/MediaFormatReader/MediaSampleCursor.cpp:

(WebKit::MediaSampleCursor::locateIterator const):
(WebKit::MediaSampleCursor::locateMediaSample const):
(WebKit::MediaSampleCursor::locateTiming const):
(WebKit::MediaSampleCursor::stepInOrderedMap):
(WebKit::MediaSampleCursor::stepInPresentationTime):
(WebKit::MediaSampleCursor::getMediaSample const):
(WebKit::MediaSampleCursor::getTiming const):
(WebKit::MediaSampleCursor::getPlayableHorizon const):

  • Shared/mac/MediaFormatReader/MediaSampleCursor.h:
1:15 PM Changeset in webkit [277933] by Ross Kirsling
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Fix JSC Debug tests for r277926.

  • jit/JITThunks.cpp:

(JSC::JITThunks::preinitializeCTIThunks):
Address oversight, made visible by the assertion added in r277850.

12:55 PM Changeset in webkit [277932] by Chris Dumez
  • 32 edits in trunk

Drop WTF::tryHoldLock() as it is incompatible with Clang Thread Safety Analysis
https://bugs.webkit.org/show_bug.cgi?id=226145

Reviewed by Darin Adler.

Drop WTF::tryHoldLock() as it is incompatible with Clang Thread Safety Analysis.
Instead, use the following pattern which is supported:
`
if (lock.tryLock()) {

Locker locker { AdoptLock, lock };
...

}
`

Source/JavaScriptCore:

  • heap/Heap.cpp:

(JSC::Heap::resumeThePeriphery):

  • runtime/VMTraps.cpp:

(JSC::VMTraps::tryInstallTrapBreakpoints):

Source/WebCore:

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::process):

  • Modules/webaudio/AudioWorkletNode.cpp:

(WebCore::AudioWorkletNode::process):

  • Modules/webaudio/ConvolverNode.cpp:

(WebCore::ConvolverNode::process):

  • Modules/webaudio/MediaElementAudioSourceNode.cpp:

(WebCore::MediaElementAudioSourceNode::process):

  • Modules/webaudio/MediaStreamAudioSourceNode.cpp:

(WebCore::MediaStreamAudioSourceNode::process):

  • Modules/webaudio/OscillatorNode.cpp:

(WebCore::OscillatorNode::process):

  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNode::process):

  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::process):

  • Modules/webaudio/WaveShaperProcessor.cpp:

(WebCore::WaveShaperProcessor::process):

  • platform/audio/ReverbConvolver.cpp:

(WebCore::ReverbConvolver::process):

  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::purgeTimerFired):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):

  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:

(WebCore::AudioSourceProviderAVFObjC::provideInput):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueVideoSample):

  • platform/mediastream/mac/WebAudioSourceProviderCocoa.mm:

(WebCore::WebAudioSourceProviderCocoa::provideInput):

  • workers/WorkerOrWorkletThread.cpp:

(WebCore::WorkerOrWorkletThread::stop):

Source/WTF:

  • wtf/CheckedLock.h:
  • wtf/Lock.h:
  • wtf/Locker.h:

(WTF::Locker::Locker):

12:52 PM Changeset in webkit [277931] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.1-branch/Source

Versioning.

WebKit-7612.1.15.1.9

6:59 AM Changeset in webkit [277930] by mark.lam@apple.com
  • 2 edits in trunk/Source/WTF

Build fix for JSCOnly-Linux-AArch64 bot.

Not reviewed.

  • wtf/Vector.h:

(WTF::Malloc>::expandCapacity):
(WTF::Malloc>::reserveCapacity):
(WTF::Malloc>::constructAndAppendSlowCase):

May 22, 2021:

11:23 PM Changeset in webkit [277929] by mark.lam@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Use singleton thunks for virtual calls.
https://bugs.webkit.org/show_bug.cgi?id=226149
rdar://problem/78357604

Reviewed by Yusuke Suzuki.

Change virtualThunkFor() to return 1 of 6 possible singleton thunks.
These thunks are cached via vm.jitStubs->ctiStubs().

This change saves us ~16M of executable JIT memory (for the unique thunks) on a
single run of Speedometer2. On an M1 Mac, switching to singleton thunks here also
appears to be a 1.012x speed up on Speedometer2. Performance is neutral on
JetStream2.

  • jit/JITThunks.cpp:

(JSC::JITThunks::ctiInternalFunctionCall):
(JSC::JITThunks::ctiInternalFunctionConstruct):

  • jit/JITThunks.h:
  • jit/ThunkGenerators.cpp:

(JSC::virtualThunkFor):
(JSC::virtualThunkForRegularCall):
(JSC::virtualThunkForRegularConstruct):
(JSC::virtualThunkForTailCall):
(JSC::virtualThunkForTailConstruct):
(JSC::virtualThunkForConstructCall):
(JSC::virtualThunkForConstructConstruct):

  • runtime/VM.cpp:

(JSC::VM::getCTIInternalFunctionTrampolineFor):

  • runtime/VM.h:
11:07 PM Changeset in webkit [277928] by mark.lam@apple.com
  • 18 edits in trunk/Source/JavaScriptCore

Enhance Link Buffer stats to have more fine grain profiles, and to collect count information.
https://bugs.webkit.org/show_bug.cgi?id=226151
rdar://problem/78359436

Reviewed by Yusuke Suzuki.

And also add a total of the sizes.
Also added $vm.clearLinkBufferStats() which resets all the stats to 0.

Here's an example of that the new stats look like:

Cummulative LinkBuffer profile sizes:

BaselineJIT: 61092032 (58.261902 MB) count 11621 avg size 5257

DFG: 35387904 (33.748535 MB) count 11143 avg size 3175

InlineCache: 19639155 (18.729358 MB) count 283890 avg size 69

VirtualThunk: 14256800 (13.596344 MB) count 43900 avg size 324

DFGOSRExit: 7636736 (7.282959 MB) count 5235 avg size 1458

FTL: 4927616 (4.699341 MB) count 5269 avg size 935

Wasm: 2134688 (2.035797 MB) count 847 avg size 2520

YarrJIT: 1320928 (1.259735 MB) count 2075 avg size 636

FTLOSRExit: 1084096 (1.033875 MB) count 417 avg size 2599

WasmThunk: 41408 (40.437500 KB) count 252 avg size 164

FTLThunk: 25088 (24.500000 KB) count 426 avg size 58

ExtraCTIThunk: 5984 (5.843750 KB) count 95 avg size 62

SpecializedThunk: 3456 (3.375000 KB) count 19 avg size 181

Thunk: 1760 (1.718750 KB) count 10 avg size 176

BoundFunctionThunk: 864 count 3 avg size 288

LLIntThunk: 608 count 18 avg size 33

DFGThunk: 608 count 1 avg size 608

DFGOSREntry: 160 count 1 avg size 160

JumpIsland: 0

CSSJIT: 0

Uncategorized: 0

Total: 147559891 (140.724078 MB)

  • assembler/LinkBuffer.cpp:

(JSC::LinkBuffer::performFinalization):
(JSC::LinkBuffer::clearProfileStatistics):
(JSC::LinkBuffer::dumpProfileStatistics):

  • assembler/LinkBuffer.h:
  • dfg/DFGOSRExit.cpp:

(JSC::DFG::JSC_DEFINE_JIT_OPERATION):

  • dfg/DFGThunks.cpp:

(JSC::DFG::osrExitGenerationThunkGenerator):
(JSC::DFG::osrEntryThunkGenerator):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • ftl/FTLThunks.cpp:

(JSC::FTL::genericGenerationThunkGenerator):
(JSC::FTL::slowPathCallThunkGenerator):

  • jit/ExecutableAllocator.cpp:
  • jit/JITOpcodes.cpp:

(JSC::JIT::op_ret_handlerGenerator):
(JSC::JIT::op_throw_handlerGenerator):
(JSC::JIT::op_enter_handlerGenerator):
(JSC::JIT::op_check_traps_handlerGenerator):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::slow_op_get_by_val_prepareCallGenerator):
(JSC::JIT::slow_op_get_private_name_prepareCallGenerator):
(JSC::JIT::slow_op_put_by_val_prepareCallGenerator):
(JSC::JIT::slow_op_put_private_name_prepareCallGenerator):
(JSC::JIT::slow_op_del_by_id_prepareCallGenerator):
(JSC::JIT::slow_op_del_by_val_prepareCallGenerator):
(JSC::JIT::slow_op_get_by_id_prepareCallGenerator):
(JSC::JIT::slow_op_get_by_id_with_this_prepareCallGenerator):
(JSC::JIT::slow_op_put_by_id_prepareCallGenerator):
(JSC::JIT::slow_op_get_from_scopeGenerator):
(JSC::JIT::slow_op_put_to_scopeGenerator):

  • jit/SlowPathCall.cpp:

(JSC::JITSlowPathCall::generateThunk):

  • jit/SpecializedThunkJIT.h:

(JSC::SpecializedThunkJIT::finalize):

  • jit/ThunkGenerators.cpp:

(JSC::handleExceptionGenerator):
(JSC::handleExceptionWithCallFrameRollbackGenerator):
(JSC::popThunkStackPreservesAndHandleExceptionGenerator):
(JSC::checkExceptionGenerator):
(JSC::virtualThunkFor):
(JSC::boundFunctionCallGenerator):

  • llint/LLIntThunks.cpp:

(JSC::LLInt::generateThunkWithJumpTo):
(JSC::LLInt::generateThunkWithJumpToPrologue):
(JSC::LLInt::generateThunkWithJumpToLLIntReturnPoint):
(JSC::LLInt::getHostCallReturnValueThunk):
(JSC::LLInt::createJSGateThunk):
(JSC::LLInt::createWasmGateThunk):
(JSC::LLInt::createTailCallGate):
(JSC::LLInt::loopOSREntryGateThunk):
(JSC::LLInt::entryOSREntryGateThunk):
(JSC::LLInt::wasmOSREntryGateThunk):
(JSC::LLInt::exceptionHandlerGateThunk):
(JSC::LLInt::returnFromLLIntGateThunk):
(JSC::LLInt::tagGateThunk):
(JSC::LLInt::untagGateThunk):
(JSC::LLInt::jitCagePtrThunk):

  • tools/JSDollarVM.cpp:

(JSC::JSDollarVM::finishCreation):

  • wasm/WasmBinding.cpp:

(JSC::Wasm::wasmToWasm):

  • wasm/WasmThunks.cpp:

(JSC::Wasm::throwExceptionFromWasmThunkGenerator):
(JSC::Wasm::throwStackOverflowFromWasmThunkGenerator):
(JSC::Wasm::triggerOMGEntryTierUpThunkGenerator):

  • wasm/js/WasmToJS.cpp:

(JSC::Wasm::wasmToJS):

9:28 PM Changeset in webkit [277927] by Lauro Moura
  • 2 edits in trunk/WebDriverTests

[WebDriver] Gardening more failures

Unreviewed test gardening.

8:50 PM Changeset in webkit [277926] by Ross Kirsling
  • 38 edits
    1 add in trunk

Support Ergonomic Brand Checks proposal (#x in obj)
https://bugs.webkit.org/show_bug.cgi?id=221093

Reviewed by Caio Araujo Neponoceno de Lima.

JSTests:

  • stress/private-in.js: Added.
  • test262/config.yaml: Add feature flag.

Source/JavaScriptCore:

This patch implements the following Stage 3 proposal (behind a runtime option):
https://github.com/tc39/proposal-private-fields-in-in

Specifically, it extends the in keyword to allow the LHS to be a private name,
thereby allowing users to implement Array.isArray-esque brand checks for their own classes
*without* having to wrap a private member get in a try-catch.

For example:
`
class C {

#x;
static isC(obj) { return #x in obj; }

}
`

This is done by adding two new bytecode ops, HasPrivateName and HasPrivateBrand. For the moment,
these are implemented without fast paths, as we should do so for InByVal first and then have these follow suit.

  • bytecode/BytecodeList.rb:
  • bytecode/BytecodeUseDef.cpp:

(JSC::computeUsesForBytecodeIndexImpl):
(JSC::computeDefsForBytecodeIndexImpl):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitHasPrivateName):
(JSC::BytecodeGenerator::emitHasPrivateBrand):
(JSC::BytecodeGenerator::emitCheckPrivateBrand):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::InNode::emitBytecode):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileHasPrivateName):
(JSC::DFG::SpeculativeJIT::compileHasPrivateBrand):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileHasPrivateName):
(JSC::FTL::DFG::LowerDFGToB3::compileHasPrivateBrand):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JITOperations.cpp:

(JSC::JSC_DEFINE_JIT_OPERATION):

  • jit/JITOperations.h:
  • llint/LowLevelInterpreter.asm:
  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createPrivateIdentifierNode):

  • parser/NodeConstructors.h:

(JSC::PrivateIdentifierNode::PrivateIdentifierNode):

  • parser/Nodes.h:

(JSC::ExpressionNode::isPrivateIdentifier const):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseBinaryExpression):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createPrivateIdentifierNode):

  • parser/VariableEnvironment.h:
  • runtime/CommonSlowPaths.cpp:

(JSC::JSC_DEFINE_COMMON_SLOW_PATH):

  • runtime/CommonSlowPaths.h:
  • runtime/JSObject.h:
  • runtime/JSObjectInlines.h:

(JSC::JSObject::hasPrivateField):
(JSC::JSObject::hasPrivateBrand):
(JSC::JSObject::checkPrivateBrand):

  • runtime/OptionsList.h:
4:50 PM Changeset in webkit [277925] by Wenson Hsieh
  • 4 edits in trunk/Source/WebKit

[iOS] Implement page client hook for requesting image extraction results
https://bugs.webkit.org/show_bug.cgi?id=226144
rdar://78355604

Reviewed by Tim Horton.

Add a method stub for PageClientImpl::requestImageExtraction, which currently just invokes the completion
handler with empty results. See bug for more details.

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::requestImageExtraction):

  • UIProcess/ios/WKContentViewInteraction.h:
4:20 PM Changeset in webkit [277924] by Russell Epstein
  • 1 copy in tags/Safari-612.1.15.0.5

Tag Safari-612.1.15.0.5.

4:10 PM Changeset in webkit [277923] by Russell Epstein
  • 8 edits in branches/safari-612.1.12-branch/Source

Versioning.

WebKit-7612.1.12.12

2:40 PM Changeset in webkit [277922] by Chris Dumez
  • 29 edits in trunk/Source

Adopt CheckedLock in more places
https://bugs.webkit.org/show_bug.cgi?id=226138

Reviewed by Darin Adler.

Adopt CheckedLock in more places to benefit from Clang Thread Safety Analysis.

Source/WebCore:

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::performClose):
(WebCore::Database::scheduleTransaction):
(WebCore::Database::inProgressTransactionCompleted):
(WebCore::Database::hasPendingTransaction):
(WebCore::Database::runTransaction):

  • Modules/webdatabase/Database.h:

(WebCore::Database::WTF_GUARDED_BY_LOCK):

  • Modules/webdatabase/DatabaseManager.cpp:

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

  • Modules/webdatabase/DatabaseManager.h:
  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::databaseThread):
(WebCore::DatabaseThread::recordDatabaseOpen):
(WebCore::DatabaseThread::recordDatabaseClosed):
(WebCore::DatabaseThread::hasPendingDatabaseActivity const):

  • Modules/webdatabase/DatabaseThread.h:
  • Modules/webdatabase/SQLCallbackWrapper.h:

(WebCore::SQLCallbackWrapper::clear):
(WebCore::SQLCallbackWrapper::unwrap):

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::enqueueStatement):
(WebCore::SQLTransaction::checkAndHandleClosedDatabase):
(WebCore::SQLTransaction::getNextStatement):

  • Modules/webdatabase/SQLTransaction.h:
  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::doCleanup):

  • accessibility/isolatedtree/AXIsolatedTree.h:

(WebCore::AXIsolatedTree::WTF_GUARDED_BY_LOCK):

  • platform/AbortableTaskQueue.h:
  • platform/audio/cocoa/AudioDestinationCocoa.cpp:

(WebCore::AudioDestinationCocoa::render):

  • platform/audio/cocoa/AudioDestinationCocoa.h:
  • platform/audio/gstreamer/AudioDestinationGStreamer.h:
  • platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:

(WebCore::AudioSourceProviderGStreamer::provideInput):
(WebCore::AudioSourceProviderGStreamer::handleSample):
(WebCore::AudioSourceProviderGStreamer::clearAdapters):

  • platform/audio/gstreamer/AudioSourceProviderGStreamer.h:
  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webKitWebAudioSrcRenderIteration):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::AVFWrapper::addToMap):
(WebCore::AVFWrapper::removeFromMap const):
(WebCore::AVFWrapper::avfWrapperForCallbackContext):
(WebCore::AVFWrapper::periodicTimeObserverCallback):
(WebCore::AVFWrapper::processNotification):
(WebCore::AVFWrapper::loadPlayableCompletionCallback):
(WebCore::AVFWrapper::loadMetadataCompletionCallback):
(WebCore::AVFWrapper::seekCompletedCallback):
(WebCore::AVFWrapper::processCue):
(WebCore::AVFWrapper::legibleOutputCallback):
(WebCore::AVFWrapper::processShouldWaitForLoadingOfResource):
(WebCore::AVFWrapper::resourceLoaderShouldWaitForLoadingOfRequestedResource):

Source/WebKit:

  • Platform/IPC/Connection.cpp:

(IPC::Connection::SyncMessageState::enqueueMatchingMessages):
(IPC::Connection::SyncMessageState::processIncomingMessage):
(IPC::Connection::SyncMessageState::dispatchMessages):
(IPC::Connection::SyncMessageState::dispatchMessagesAndResetDidScheduleDispatchMessagesForConnection):

Source/WTF:

  • wtf/Assertions.cpp:
  • wtf/TimingScope.cpp:
  • wtf/threads/BinarySemaphore.cpp:

(WTF::BinarySemaphore::waitUntil):

  • wtf/threads/BinarySemaphore.h:
1:10 PM Changeset in webkit [277921] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Use CheckedLock in SpeechRecognitionCaptureSourceImpl
https://bugs.webkit.org/show_bug.cgi?id=226131

Reviewed by Darin Adler.

Use CheckedLock in SpeechRecognitionCaptureSourceImpl to benefit from Clang Thread
Safety Analysis. Note that audioSamplesAvailable() does not grab the lock before using
m_dataSource, only when setting the data member. It is unclear why it is safe so I
used WTF_IGNORES_THREAD_SAFETY_ANALYSIS and added a FIXME comment.

  • Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp:

(WebCore::SpeechRecognitionCaptureSourceImpl::updateDataSource):
(WebCore::SpeechRecognitionCaptureSourceImpl::pullSamplesAndCallDataCallback):

  • Modules/speech/SpeechRecognitionCaptureSourceImpl.h:
9:49 AM Changeset in webkit [277920] by Chris Dumez
  • 120 edits in trunk

Replace LockHolder with Locker in local variables
https://bugs.webkit.org/show_bug.cgi?id=226133

Reviewed by Darin Adler.

Replace LockHolder with Locker in local variables. It is shorter and it allows switching the lock
type more easily since the compiler with deduce the lock type T for Locker<T>.

Source/JavaScriptCore:

  • API/JSCallbackObject.h:

(JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
(JSC::JSCallbackObjectData::JSPrivatePropertyMap::deletePrivateProperty):
(JSC::JSCallbackObjectData::JSPrivatePropertyMap::visitChildren):

  • API/JSValue.mm:

(handerForStructTag):

  • API/tests/testapi.cpp:

(testCAPIViaCpp):

  • assembler/testmasm.cpp:

(JSC::run):

  • b3/air/testair.cpp:
  • b3/testb3_1.cpp:

(run):

  • bytecode/DirectEvalCodeCache.cpp:

(JSC::DirectEvalCodeCache::setSlow):
(JSC::DirectEvalCodeCache::clear):
(JSC::DirectEvalCodeCache::visitAggregateImpl):

  • bytecode/SuperSampler.cpp:

(JSC::initializeSuperSampler):
(JSC::resetSuperSamplerState):
(JSC::printSuperSamplerState):
(JSC::enableSuperSampler):
(JSC::disableSuperSampler):

  • dfg/DFGCommonData.cpp:

(JSC::DFG::CommonData::invalidate):
(JSC::DFG::CommonData::~CommonData):
(JSC::DFG::CommonData::installVMTrapBreakpoints):
(JSC::DFG::codeBlockForVMTrapPC):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::cleanMustHandleValuesIfNecessary):

  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::~Worklist):
(JSC::DFG::Worklist::finishCreation):
(JSC::DFG::Worklist::isActiveForVM const):
(JSC::DFG::Worklist::enqueue):
(JSC::DFG::Worklist::compilationState):
(JSC::DFG::Worklist::waitUntilAllPlansForVMAreReady):
(JSC::DFG::Worklist::removeAllReadyPlansForVM):
(JSC::DFG::Worklist::completeAllReadyPlansForVM):
(JSC::DFG::Worklist::visitWeakReferences):
(JSC::DFG::Worklist::removeDeadPlans):
(JSC::DFG::Worklist::removeNonCompilingPlansForVM):
(JSC::DFG::Worklist::queueLength):
(JSC::DFG::Worklist::dump const):
(JSC::DFG::Worklist::setNumberOfThreads):

  • dfg/DFGWorklistInlines.h:

(JSC::DFG::Worklist::iterateCodeBlocksForGC):

  • disassembler/Disassembler.cpp:
  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::addBlock):

  • heap/CodeBlockSetInlines.h:

(JSC::CodeBlockSet::iterateCurrentlyExecuting):

  • heap/ConservativeRoots.cpp:

(JSC::ConservativeRoots::add):

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::lastChanceToFinalize):
(JSC::Heap::collectAsync):
(JSC::Heap::runBeginPhase):
(JSC::Heap::waitForCollector):
(JSC::Heap::requestCollection):
(JSC::Heap::notifyIsSafeToCollect):

  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::didReachTermination):

  • inspector/agents/InspectorScriptProfilerAgent.cpp:

(Inspector::InspectorScriptProfilerAgent::startTracking):
(Inspector::InspectorScriptProfilerAgent::trackingComplete):
(Inspector::InspectorScriptProfilerAgent::stopSamplingWhenDisconnecting):

  • inspector/remote/RemoteConnectionToTarget.cpp:

(Inspector::RemoteConnectionToTarget::setup):
(Inspector::RemoteConnectionToTarget::sendMessageToTarget):
(Inspector::RemoteConnectionToTarget::close):
(Inspector::RemoteConnectionToTarget::targetClosed):

  • inspector/remote/RemoteInspector.cpp:

(Inspector::RemoteInspector::registerTarget):
(Inspector::RemoteInspector::unregisterTarget):
(Inspector::RemoteInspector::updateTarget):
(Inspector::RemoteInspector::updateClientCapabilities):
(Inspector::RemoteInspector::setClient):
(Inspector::RemoteInspector::setupFailed):
(Inspector::RemoteInspector::setupCompleted):
(Inspector::RemoteInspector::stop):

  • inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:

(Inspector::RemoteTargetHandleRunSourceGlobal):
(Inspector::RemoteTargetQueueTaskOnGlobalQueue):
(Inspector::RemoteTargetHandleRunSourceWithInfo):
(Inspector::RemoteConnectionToTarget::setup):
(Inspector::RemoteConnectionToTarget::targetClosed):
(Inspector::RemoteConnectionToTarget::close):
(Inspector::RemoteConnectionToTarget::sendMessageToTarget):
(Inspector::RemoteConnectionToTarget::queueTaskOnPrivateRunLoop):

  • inspector/remote/cocoa/RemoteInspectorCocoa.mm:

(Inspector::RemoteInspector::updateAutomaticInspectionCandidate):
(Inspector::RemoteInspector::sendMessageToRemote):
(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
(Inspector::RemoteInspector::setParentProcessInformation):
(Inspector::RemoteInspector::xpcConnectionReceivedMessage):
(Inspector::RemoteInspector::xpcConnectionFailed):
(Inspector::RemoteInspector::pushListingsSoon):
(Inspector::RemoteInspector::receivedIndicateMessage):
(Inspector::RemoteInspector::receivedProxyApplicationSetupMessage):

  • inspector/remote/cocoa/RemoteInspectorXPCConnection.mm:

(Inspector::RemoteInspectorXPCConnection::close):
(Inspector::RemoteInspectorXPCConnection::closeFromMessage):
(Inspector::RemoteInspectorXPCConnection::deserializeMessage):
(Inspector::RemoteInspectorXPCConnection::handleEvent):

  • inspector/remote/glib/RemoteInspectorGlib.cpp:

(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::setupConnection):
(Inspector::RemoteInspector::pushListingsSoon):
(Inspector::RemoteInspector::sendMessageToRemote):
(Inspector::RemoteInspector::receivedGetTargetListMessage):
(Inspector::RemoteInspector::receivedDataMessage):
(Inspector::RemoteInspector::receivedCloseMessage):
(Inspector::RemoteInspector::setup):

  • inspector/remote/socket/RemoteInspectorConnectionClient.cpp:

(Inspector::RemoteInspectorConnectionClient::didReceive):

  • inspector/remote/socket/RemoteInspectorSocket.cpp:

(Inspector::RemoteInspector::didClose):
(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::pushListingsSoon):
(Inspector::RemoteInspector::setup):
(Inspector::RemoteInspector::setupInspectorClient):
(Inspector::RemoteInspector::frontendDidClose):
(Inspector::RemoteInspector::sendMessageToBackend):
(Inspector::RemoteInspector::startAutomationSession):

  • inspector/remote/socket/RemoteInspectorSocketEndpoint.cpp:

(Inspector::RemoteInspectorSocketEndpoint::listenInet):
(Inspector::RemoteInspectorSocketEndpoint::isListening):
(Inspector::RemoteInspectorSocketEndpoint::workerThread):
(Inspector::RemoteInspectorSocketEndpoint::createClient):
(Inspector::RemoteInspectorSocketEndpoint::disconnect):
(Inspector::RemoteInspectorSocketEndpoint::invalidateClient):
(Inspector::RemoteInspectorSocketEndpoint::invalidateListener):
(Inspector::RemoteInspectorSocketEndpoint::getPort const):
(Inspector::RemoteInspectorSocketEndpoint::recvIfEnabled):
(Inspector::RemoteInspectorSocketEndpoint::sendIfEnabled):
(Inspector::RemoteInspectorSocketEndpoint::send):
(Inspector::RemoteInspectorSocketEndpoint::acceptInetSocketIfEnabled):

  • interpreter/CLoopStack.cpp:

(JSC::CLoopStack::addToCommittedByteCount):
(JSC::CLoopStack::committedByteCount):

  • jit/ExecutableAllocator.cpp:

(JSC::dumpJITMemory):

  • jit/ICStats.cpp:

(JSC::ICStats::ICStats):
(JSC::ICStats::~ICStats):

  • jit/JITThunks.cpp:

(JSC::JITThunks::ctiStub):
(JSC::JITThunks::existingCTIStub):
(JSC::JITThunks::ctiSlowPathFunctionStub):

  • jit/JITWorklist.cpp:

(JSC::JITWorklist::Plan::compileInThread):
(JSC::JITWorklist::Plan::isFinishedCompiling):
(JSC::JITWorklist::JITWorklist):
(JSC::JITWorklist::completeAllForVM):
(JSC::JITWorklist::poll):
(JSC::JITWorklist::compileLater):
(JSC::JITWorklist::finalizePlans):

  • parser/SourceProvider.cpp:

(JSC::SourceProvider::getID):

  • profiler/ProfilerDatabase.cpp:

(JSC::Profiler::Database::ensureBytecodesFor):
(JSC::Profiler::Database::notifyDestruction):
(JSC::Profiler::Database::addCompilation):
(JSC::Profiler::Database::logEvent):
(JSC::Profiler::Database::addDatabaseToAtExit):
(JSC::Profiler::Database::removeDatabaseFromAtExit):
(JSC::Profiler::Database::removeFirstAtExitDatabase):

  • profiler/ProfilerUID.cpp:

(JSC::Profiler::UID::create):

  • runtime/DeferredWorkTimer.cpp:

(JSC::DeferredWorkTimer::scheduleWorkSoon):
(JSC::DeferredWorkTimer::didResumeScriptExecutionOwner):

  • runtime/SamplingProfiler.cpp:

(JSC::SamplingProfiler::timerLoop):
(JSC::SamplingProfiler::shutdown):
(JSC::SamplingProfiler::start):
(JSC::SamplingProfiler::noticeCurrentThreadAsJSCExecutionThread):
(JSC::SamplingProfiler::noticeJSLockAcquisition):
(JSC::SamplingProfiler::noticeVMEntry):
(JSC::SamplingProfiler::registerForReportAtExit):

  • runtime/Watchdog.cpp:

(JSC::Watchdog::startTimer):
(JSC::Watchdog::willDestroyVM):

  • tools/VMInspector.cpp:

(JSC::VMInspector::isValidExecutableMemory):

  • wasm/WasmBBQPlan.cpp:

(JSC::Wasm::BBQPlan::work):

  • wasm/WasmEntryPlan.cpp:

(JSC::Wasm::EntryPlan::ThreadCountHolder::ThreadCountHolder):
(JSC::Wasm::EntryPlan::ThreadCountHolder::~ThreadCountHolder):

  • wasm/WasmOMGPlan.cpp:

(JSC::Wasm::OMGPlan::work):

  • wasm/WasmPlan.cpp:

(JSC::Wasm::Plan::addCompletionTask):
(JSC::Wasm::Plan::waitForCompletion):
(JSC::Wasm::Plan::tryRemoveContextAndCancelIfLast):

  • wasm/WasmSignature.cpp:

(JSC::Wasm::SignatureInformation::signatureFor):
(JSC::Wasm::SignatureInformation::tryCleanup):

  • wasm/WasmWorklist.cpp:

(JSC::Wasm::Worklist::enqueue):
(JSC::Wasm::Worklist::completePlanSynchronously):
(JSC::Wasm::Worklist::stopAllPlansForContext):
(JSC::Wasm::Worklist::Worklist):
(JSC::Wasm::Worklist::~Worklist):

Source/WebCore:

  • Modules/webaudio/AsyncAudioDecoder.cpp:

(WebCore::AsyncAudioDecoder::AsyncAudioDecoder):
(WebCore::AsyncAudioDecoder::runLoop):

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::performClose):
(WebCore::Database::inProgressTransactionCompleted):
(WebCore::Database::hasPendingTransaction):
(WebCore::Database::runTransaction):

  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::start):
(WebCore::DatabaseThread::databaseThread):
(WebCore::DatabaseThread::recordDatabaseOpen):
(WebCore::DatabaseThread::recordDatabaseClosed):
(WebCore::DatabaseThread::hasPendingDatabaseActivity const):

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::canEstablishDatabase):
(WebCore::DatabaseTracker::retryCanEstablishDatabase):
(WebCore::DatabaseTracker::maximumSize):
(WebCore::DatabaseTracker::fullPathForDatabase):
(WebCore::DatabaseTracker::origins):
(WebCore::DatabaseTracker::databaseNames):
(WebCore::DatabaseTracker::detailsForNameAndOrigin):
(WebCore::DatabaseTracker::setDatabaseDetails):
(WebCore::DatabaseTracker::doneCreatingDatabase):
(WebCore::DatabaseTracker::openDatabases):
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::DatabaseTracker::removeOpenDatabase):
(WebCore::DatabaseTracker::originLockFor):
(WebCore::DatabaseTracker::quota):
(WebCore::DatabaseTracker::setQuota):
(WebCore::DatabaseTracker::deleteOrigin):
(WebCore::DatabaseTracker::deleteDatabase):
(WebCore::DatabaseTracker::deleteDatabaseFile):
(WebCore::DatabaseTracker::removeDeletedOpenedDatabases):

  • Modules/webdatabase/SQLCallbackWrapper.h:

(WebCore::SQLCallbackWrapper::clear):
(WebCore::SQLCallbackWrapper::unwrap):

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::enqueueStatement):
(WebCore::SQLTransaction::checkAndHandleClosedDatabase):
(WebCore::SQLTransaction::getNextStatement):

  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::doCleanup):

  • accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::clear):
(WebCore::AXIsolatedTree::generateSubtree):
(WebCore::AXIsolatedTree::createSubtree):
(WebCore::AXIsolatedTree::updateNode):
(WebCore::AXIsolatedTree::updateNodeProperty):
(WebCore::AXIsolatedTree::updateChildren):
(WebCore::AXIsolatedTree::focusedNode):
(WebCore::AXIsolatedTree::rootNode):
(WebCore::AXIsolatedTree::setFocusedNodeID):
(WebCore::AXIsolatedTree::removeNode):
(WebCore::AXIsolatedTree::removeSubtree):
(WebCore::AXIsolatedTree::applyPendingChanges):

  • page/scrolling/mac/ScrollingTreeMac.mm:

(ScrollingTreeMac::scrollingNodeForPoint):
(ScrollingTreeMac::eventListenerRegionTypesForPoint const):

  • platform/AbortableTaskQueue.h:
  • platform/audio/cocoa/CARingBuffer.cpp:

(WebCore::CARingBufferStorageVector::flush):
(WebCore::CARingBufferStorageVector::setCurrentFrameBounds):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::AVFWrapper::addToMap):
(WebCore::AVFWrapper::removeFromMap const):
(WebCore::AVFWrapper::periodicTimeObserverCallback):
(WebCore::AVFWrapper::processNotification):
(WebCore::AVFWrapper::loadPlayableCompletionCallback):
(WebCore::AVFWrapper::loadMetadataCompletionCallback):
(WebCore::AVFWrapper::seekCompletedCallback):
(WebCore::AVFWrapper::processCue):
(WebCore::AVFWrapper::legibleOutputCallback):
(WebCore::AVFWrapper::processShouldWaitForLoadingOfResource):
(WebCore::AVFWrapper::resourceLoaderShouldWaitForLoadingOfRequestedResource):

  • platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:

(-[WebCoreSharedBufferResourceLoaderDelegate setExpectedContentSize:]):
(-[WebCoreSharedBufferResourceLoaderDelegate updateData:complete:]):
(-[WebCoreSharedBufferResourceLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
(-[WebCoreSharedBufferResourceLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
(WebCore::ImageDecoderAVFObjC::setTrack):
(WebCore::ImageDecoderAVFObjC::createFrameImageAtIndex):

  • platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:

(WebCore::ImageDecoderGStreamer::createFrameImageAtIndex):

  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:

(WebCore::InbandTextTrackPrivateGStreamer::handleSample):
(WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample):

  • platform/graphics/gstreamer/MainThreadNotifier.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::parseInitDataFromProtectionMessage):
(WebCore::MediaPlayerPrivateGStreamer::handleProtectionEvent):

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::tagsChanged):
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(VideoRenderRequestScheduler::start):
(VideoRenderRequestScheduler::stop):
(VideoRenderRequestScheduler::drain):
(VideoRenderRequestScheduler::requestRender):

  • platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:

(transformInPlace):
(sinkEventHandler):
(webKitMediaCommonEncryptionDecryptIsFlushing):
(setContext):

  • platform/graphics/nicosia/NicosiaBuffer.cpp:

(Nicosia::Buffer::beginPainting):
(Nicosia::Buffer::completePainting):
(Nicosia::Buffer::waitUntilPaintingComplete):

  • platform/graphics/nicosia/NicosiaPlatformLayer.h:

(Nicosia::PlatformLayer::setSceneIntegration):
(Nicosia::PlatformLayer::createUpdateScope):
(Nicosia::CompositionLayer::updateState):
(Nicosia::CompositionLayer::flushState):
(Nicosia::CompositionLayer::commitState):
(Nicosia::CompositionLayer::accessPending):
(Nicosia::CompositionLayer::accessCommitted):

  • platform/graphics/nicosia/NicosiaScene.h:

(Nicosia::Scene::accessState):

  • platform/graphics/nicosia/NicosiaSceneIntegration.cpp:

(Nicosia::SceneIntegration::setClient):
(Nicosia::SceneIntegration::invalidate):
(Nicosia::SceneIntegration::requestUpdate):

  • platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.cpp:

(Nicosia::BackingStoreTextureMapperImpl::flushUpdate):
(Nicosia::BackingStoreTextureMapperImpl::takeUpdate):

  • platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp:

(Nicosia::ContentLayerTextureMapperImpl::~ContentLayerTextureMapperImpl):
(Nicosia::ContentLayerTextureMapperImpl::invalidateClient):
(Nicosia::ContentLayerTextureMapperImpl::flushUpdate):
(Nicosia::ContentLayerTextureMapperImpl::swapBuffersIfNeeded):

  • platform/graphics/nicosia/texmap/NicosiaImageBackingTextureMapperImpl.cpp:

(Nicosia::ImageBackingTextureMapperImpl::flushUpdate):
(Nicosia::ImageBackingTextureMapperImpl::takeUpdate):

  • platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp:

(WebCore::TextureMapperGCGLPlatformLayer::swapBuffersIfNeeded):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::load):
(WebCore::MediaPlayerPrivateMediaFoundation::naturalSize const):
(WebCore::MediaPlayerPrivateMediaFoundation::addListener):
(WebCore::MediaPlayerPrivateMediaFoundation::removeListener):
(WebCore::MediaPlayerPrivateMediaFoundation::notifyDeleted):
(WebCore::MediaPlayerPrivateMediaFoundation::setNaturalSize):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Invoke):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::onMediaPlayerDeleted):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockStart):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockStop):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockPause):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockRestart):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockSetRate):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::ProcessMessage):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::GetCurrentMediaType):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::InitServicePointers):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::ReleaseServicePointers):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::SetVideoWindow):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::GetVideoWindow):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::SetVideoPosition):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::GetVideoPosition):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::RepaintVideo):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::getSample):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::returnSample):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::areSamplesPending):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::initialize):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::clear):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::stopScheduler):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::scheduleSample):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::processSamplesInQueue):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::processSample):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::schedulerThreadProcPrivate):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::setVideoWindow):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::setDestinationRect):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::createVideoSamples):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::checkDeviceState):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::presentSample):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::paintCurrentFrame):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::createD3DDevice):

  • platform/image-decoders/ScalableImageDecoder.cpp:

(WebCore::ScalableImageDecoder::frameIsCompleteAtIndex const):
(WebCore::ScalableImageDecoder::frameHasAlphaAtIndex const):
(WebCore::ScalableImageDecoder::frameBytesAtIndex const):
(WebCore::ScalableImageDecoder::frameDurationAtIndex const):
(WebCore::ScalableImageDecoder::createFrameImageAtIndex):

  • platform/image-decoders/ScalableImageDecoder.h:
  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::setTilesOpaque):
(WebCore::LegacyTileCache::doLayoutTiles):
(WebCore::LegacyTileCache::setCurrentScale):
(WebCore::LegacyTileCache::commitScaleChange):
(WebCore::LegacyTileCache::layoutTilesNow):
(WebCore::LegacyTileCache::layoutTilesNowForRect):
(WebCore::LegacyTileCache::removeAllNonVisibleTiles):
(WebCore::LegacyTileCache::removeAllTiles):
(WebCore::LegacyTileCache::removeForegroundTiles):
(WebCore::LegacyTileCache::setContentReplacementImage):
(WebCore::LegacyTileCache::contentReplacementImage const):
(WebCore::LegacyTileCache::tileCreationTimerFired):
(WebCore::LegacyTileCache::setNeedsDisplayInRect):
(WebCore::LegacyTileCache::updateTilingMode):
(WebCore::LegacyTileCache::setTilingMode):
(WebCore::LegacyTileCache::doPendingRepaints):
(WebCore::LegacyTileCache::flushSavedDisplayRects):
(WebCore::LegacyTileCache::prepareToDraw):

  • platform/ios/LegacyTileLayerPool.mm:

(WebCore::LegacyTileLayerPool::addLayer):
(WebCore::LegacyTileLayerPool::takeLayerWithSize):
(WebCore::LegacyTileLayerPool::setCapacity):
(WebCore::LegacyTileLayerPool::prune):
(WebCore::LegacyTileLayerPool::drain):

  • platform/ios/wak/WAKWindow.mm:

(-[WAKWindow setExposedScrollViewRect:]):
(-[WAKWindow exposedScrollViewRect]):

  • platform/ios/wak/WebCoreThread.mm:

(RunWebThread):
(StartWebThread):

  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:

(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::audioSamplesAvailable):
(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::pullAudioData):

  • platform/network/cf/FormDataStreamCFNet.cpp:

(WebCore::openNextStream):
(WebCore::formFinalize):
(WebCore::formClose):

  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::setRequestPaused):
(WebCore::CurlRequest::setCallbackPaused):
(WebCore::CurlRequest::pausedStatusChanged):
(WebCore::CurlRequest::enableDownloadToFile):
(WebCore::CurlRequest::getDownloadedFilePath):
(WebCore::CurlRequest::writeDataToDownloadFileIfEnabled):
(WebCore::CurlRequest::closeDownloadFile):
(WebCore::CurlRequest::cleanupDownloadFile):

  • platform/network/curl/CurlSSLHandle.cpp:

(WebCore::CurlSSLHandle::allowAnyHTTPSCertificatesForHost):
(WebCore::CurlSSLHandle::canIgnoreAnyHTTPSCertificatesForHost const):
(WebCore::CurlSSLHandle::setClientCertificateInfo):
(WebCore::CurlSSLHandle::getSSLClientCertificate const):

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::close):
(WebCore::SQLiteDatabase::maximumSize):
(WebCore::SQLiteDatabase::setMaximumSize):
(WebCore::SQLiteDatabase::pageSize):
(WebCore::SQLiteDatabase::freeSpaceSize):
(WebCore::SQLiteDatabase::totalSize):
(WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
(WebCore::SQLiteDatabase::interrupt):
(WebCore::SQLiteDatabase::setAuthorizer):
(WebCore::constructAndPrepareStatement):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::step):

Source/WebKit:

  • NetworkProcess/IndexedDB/WebIDBServer.cpp:

(WebKit::m_closeCallback):
(WebKit::WebIDBServer::getOrigins):
(WebKit::WebIDBServer::closeAndDeleteDatabasesModifiedSince):
(WebKit::WebIDBServer::closeAndDeleteDatabasesForOrigins):
(WebKit::WebIDBServer::renameOrigin):
(WebKit::WebIDBServer::openDatabase):
(WebKit::WebIDBServer::deleteDatabase):
(WebKit::WebIDBServer::abortTransaction):
(WebKit::WebIDBServer::commitTransaction):
(WebKit::WebIDBServer::didFinishHandlingVersionChangeTransaction):
(WebKit::WebIDBServer::createObjectStore):
(WebKit::WebIDBServer::deleteObjectStore):
(WebKit::WebIDBServer::renameObjectStore):
(WebKit::WebIDBServer::clearObjectStore):
(WebKit::WebIDBServer::createIndex):
(WebKit::WebIDBServer::deleteIndex):
(WebKit::WebIDBServer::renameIndex):
(WebKit::WebIDBServer::putOrAdd):
(WebKit::WebIDBServer::getRecord):
(WebKit::WebIDBServer::getAllRecords):
(WebKit::WebIDBServer::getCount):
(WebKit::WebIDBServer::deleteRecord):
(WebKit::WebIDBServer::openCursor):
(WebKit::WebIDBServer::iterateCursor):
(WebKit::WebIDBServer::establishTransaction):
(WebKit::WebIDBServer::databaseConnectionPendingClose):
(WebKit::WebIDBServer::databaseConnectionClosed):
(WebKit::WebIDBServer::abortOpenAndUpgradeNeeded):
(WebKit::WebIDBServer::didFireVersionChangeEvent):
(WebKit::WebIDBServer::openDBRequestCancelled):
(WebKit::WebIDBServer::getAllDatabaseNamesAndVersions):
(WebKit::WebIDBServer::addConnection):
(WebKit::WebIDBServer::removeConnection):
(WebKit::WebIDBServer::close):

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::writeSizeFile):
(WebKit::CacheStorage::Engine::readSizeFile):
(WebKit::CacheStorage::Engine::clearAllCachesFromDisk):
(WebKit::CacheStorage::Engine::deleteNonEmptyDirectoryOnBackgroundThread):

  • NetworkProcess/glib/DNSCache.cpp:

(WebKit::DNSCache::lookup):
(WebKit::DNSCache::update):
(WebKit::DNSCache::removeExpiredResponsesFired):
(WebKit::DNSCache::clear):

  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:

(WebKit::CompositingRunLoop::suspend):
(WebKit::CompositingRunLoop::resume):
(WebKit::CompositingRunLoop::scheduleUpdate):
(WebKit::CompositingRunLoop::stopUpdates):
(WebKit::CompositingRunLoop::updateTimerFired):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::m_displayRefreshMonitor):
(WebKit::ThreadedCompositor::setScaleFactor):
(WebKit::ThreadedCompositor::setScrollPosition):
(WebKit::ThreadedCompositor::setViewportSize):
(WebKit::ThreadedCompositor::renderLayerTree):
(WebKit::ThreadedCompositor::sceneUpdateFinished):
(WebKit::ThreadedCompositor::updateSceneState):

  • UIProcess/API/glib/IconDatabase.cpp:

(WebKit::IconDatabase::populatePageURLToIconURLMap):
(WebKit::IconDatabase::clearLoadedIconsTimerFired):
(WebKit::IconDatabase::checkIconURLAndSetPageURLIfNeeded):
(WebKit::IconDatabase::loadIconForPageURL):
(WebKit::IconDatabase::iconURLForPageURL):
(WebKit::IconDatabase::setIconForPageURL):
(WebKit::IconDatabase::clear):

Source/WebKitLegacy:

  • Storage/InProcessIDBServer.cpp:

(InProcessIDBServer::InProcessIDBServer):
(InProcessIDBServer::deleteDatabase):
(InProcessIDBServer::openDatabase):
(InProcessIDBServer::abortTransaction):
(InProcessIDBServer::commitTransaction):
(InProcessIDBServer::didFinishHandlingVersionChangeTransaction):
(InProcessIDBServer::createObjectStore):
(InProcessIDBServer::deleteObjectStore):
(InProcessIDBServer::renameObjectStore):
(InProcessIDBServer::clearObjectStore):
(InProcessIDBServer::createIndex):
(InProcessIDBServer::deleteIndex):
(InProcessIDBServer::renameIndex):
(InProcessIDBServer::putOrAdd):
(InProcessIDBServer::getRecord):
(InProcessIDBServer::getAllRecords):
(InProcessIDBServer::getCount):
(InProcessIDBServer::deleteRecord):
(InProcessIDBServer::openCursor):
(InProcessIDBServer::iterateCursor):
(InProcessIDBServer::establishTransaction):
(InProcessIDBServer::databaseConnectionPendingClose):
(InProcessIDBServer::databaseConnectionClosed):
(InProcessIDBServer::abortOpenAndUpgradeNeeded):
(InProcessIDBServer::didFireVersionChangeEvent):
(InProcessIDBServer::openDBRequestCancelled):
(InProcessIDBServer::getAllDatabaseNamesAndVersions):
(InProcessIDBServer::closeAndDeleteDatabasesModifiedSince):

  • Storage/StorageAreaSync.cpp:

(WebKit::StorageAreaSync::syncTimerFired):
(WebKit::StorageAreaSync::performSync):

  • Storage/StorageTracker.cpp:

(WebKit::StorageTracker::finishedImportingOriginIdentifiers):
(WebKit::StorageTracker::syncImportOriginIdentifiers):
(WebKit::StorageTracker::syncFileSystemAndTrackerDatabase):
(WebKit::StorageTracker::setOriginDetails):
(WebKit::StorageTracker::syncSetOriginDetails):
(WebKit::StorageTracker::origins):
(WebKit::StorageTracker::deleteAllOrigins):
(WebKit::StorageTracker::syncDeleteAllOrigins):
(WebKit::StorageTracker::deleteOrigin):
(WebKit::StorageTracker::syncDeleteOrigin):
(WebKit::StorageTracker::canDeleteOrigin):
(WebKit::StorageTracker::cancelDeletingOrigin):
(WebKit::StorageTracker::diskUsageForOrigin):

Source/WebKitLegacy/mac:

  • WebView/WebView.mm:

(-[WebView _synchronizeCustomFixedPositionLayoutRect]):
(-[WebView _setCustomFixedPositionLayoutRectInWebThread:synchronize:]):
(-[WebView _setCustomFixedPositionLayoutRect:]):
(-[WebView _fetchCustomFixedPositionLayoutRect:]):

Source/WebKitLegacy/win:

  • Plugins/PluginMainThreadScheduler.cpp:

(WebCore::PluginMainThreadScheduler::scheduleCall):
(WebCore::PluginMainThreadScheduler::registerPlugin):
(WebCore::PluginMainThreadScheduler::unregisterPlugin):
(WebCore::PluginMainThreadScheduler::dispatchCallsForPlugin):

Source/WTF:

  • benchmarks/LockSpeedTest.cpp:
  • wtf/AutomaticThread.cpp:

(WTF::AutomaticThread::~AutomaticThread):
(WTF::AutomaticThread::join):
(WTF::AutomaticThread::start):

  • wtf/AutomaticThread.h:
  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocatorHandle::shrink):
(WTF::MetaAllocator::addFreshFreeSpace):
(WTF::MetaAllocator::debugFreeSpaceSize):

  • wtf/ParallelHelperPool.cpp:

(WTF::ParallelHelperClient::ParallelHelperClient):
(WTF::ParallelHelperClient::~ParallelHelperClient):
(WTF::ParallelHelperClient::setTask):
(WTF::ParallelHelperClient::finish):
(WTF::ParallelHelperClient::doSomeHelping):
(WTF::ParallelHelperClient::runTask):
(WTF::ParallelHelperPool::~ParallelHelperPool):
(WTF::ParallelHelperPool::ensureThreads):
(WTF::ParallelHelperPool::doSomeHelping):

  • wtf/Seconds.cpp:

(WTF::sleep):

  • wtf/TimeWithDynamicClockType.cpp:

(WTF::sleep):

  • wtf/WorkerPool.cpp:

(WTF::WorkerPool::WorkerPool):
(WTF::WorkerPool::~WorkerPool):
(WTF::WorkerPool::postTask):

  • wtf/posix/ThreadingPOSIX.cpp:

(WTF::Thread::suspend):
(WTF::Thread::resume):
(WTF::Thread::getRegisters):

  • wtf/win/DbgHelperWin.cpp:

(WTF::DbgHelper::SymFromAddress):

  • wtf/win/ThreadingWin.cpp:

(WTF::Thread::suspend):
(WTF::Thread::resume):
(WTF::Thread::getRegisters):

Tools:

  • TestWebKitAPI/Tests/WTF/WorkQueue.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/glib/WorkQueueGLib.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:

(TestWebKitAPI::DeterministicScheduler::ThreadContext::waitMyTurn):
(TestWebKitAPI::DeterministicScheduler::ThreadContext::yieldToThread):

7:16 AM Changeset in webkit [277919] by Devin Rousso
  • 2 edits in trunk/Source/WebCore

ASSERTION FAILED: Component at index 1 is 1.000000 and is greater than the allowed maximum 1.000000
https://bugs.webkit.org/show_bug.cgi?id=226118
<rdar://problem/78333590>

Reviewed by Sam Weinig.

Covered by SampledPageTopColor tests.

  • platform/graphics/cg/ColorCG.cpp:

(WebCore::roundAndClampToSRGBALossy):
Use makeFromComponentsClamping to actually clamp the component values instead of assuming
that the CGColorRef will be sRGB (though it still assumes an RGB color space/format).

6:54 AM Changeset in webkit [277918] by Adrian Perez de Castro
  • 8 edits
    1 move
    5 deletes in trunk

[Tools][run-webkit-tests] Remove more leftover tests webserver PHP remains
https://bugs.webkit.org/show_bug.cgi?id=226089

Reviewed by Alexey Proskuryakov.

Remove leftover PHP module configurations used on Linux now that PHP is not used anymore.

Tools:

  • Scripts/webkitpy/port/base.py:

(Port._debian_php_version): Removed.
(Port._fedora_php_version): Removed.
(Port._is_fedora_php_version_7): Removed.
(Port._apache_config_file_name_for_platform): Modofied to not use the removed
helper methods.

  • gtk/install-dependencies: Remove PHP packages.
  • wpe/install-dependencies: Ditto.

LayoutTests:

  • http/conf/archlinux-httpd.conf: Removed PHP module configuration.
  • http/conf/debian-httpd-2.4-php7.0.conf: Removed.
  • http/conf/debian-httpd-2.4-php7.1.conf: Removed.
  • http/conf/debian-httpd-2.4-php7.2.conf: Removed.
  • http/conf/debian-httpd-2.4-php7.4.conf: Removed.
  • http/conf/debian-httpd-2.4.conf: Renamed from LayoutTests/http/conf/debian-httpd-2.4-php7.3.conf

and removed PHP module configuration.

  • http/conf/fedora-httpd-2.2.conf: Removed PHP module configuration.
  • http/conf/fedora-httpd-2.4-php7.conf: Removed.
  • http/conf/fedora-httpd-2.4.conf: Removed PHP module configuration.
4:17 AM Changeset in webkit [277917] by commit-queue@webkit.org
  • 120 edits in trunk

Unreviewed, reverting r277913.
https://bugs.webkit.org/show_bug.cgi?id=226140

Caused multiple layout-test crash on mac debug queues

Reverted changeset:

"Replace LockHolder with Locker in local variables"
https://bugs.webkit.org/show_bug.cgi?id=226133
https://trac.webkit.org/changeset/277913

2:00 AM Changeset in webkit [277916] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[ Debug ] TestWebKitAPI.IPCTestingAPI.CanDetectNilReplyBlocks (API-tests) is a constant crash
https://bugs.webkit.org/show_bug.cgi?id=226125

Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2021-05-22
Reviewed by Ryosuke Niwa.

Turn this test off for Debug.

  • TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
1:22 AM Changeset in webkit [277915] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Detect invalid InlinePathData in StrokeInlinePath
https://bugs.webkit.org/show_bug.cgi?id=225691

Patch by Rob Buis <rbuis@igalia.com> on 2021-05-22
Reviewed by Ryosuke Niwa.

Detect invalid InlinePathData in StrokeInlinePath.

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::StrokeInlinePath::StrokeInlinePath):
(WebCore::DisplayList::StrokeInlinePath::path const): Deleted.

May 21, 2021:

11:39 PM Changeset in webkit [277914] by Chris Dumez
  • 6 edits in trunk/Source

Remove WTF::holdLock() / WTF::holdLockIf()
https://bugs.webkit.org/show_bug.cgi?id=226135

Reviewed by Darin Adler.

Remove WTF::holdLock() / WTF::holdLockIf() because they are not compatible with
Clang Thread Safety Analysis. All call sites have been converted to use the Locker
constructor directly.

Source/JavaScriptCore:

  • heap/LockDuringMarking.h:

(JSC::lockDuringMarking):

Source/WebCore:

  • dom/Node.cpp:

(WebCore::Node::eventTargetDataConcurrently):

Source/WTF:

  • wtf/Locker.h:
10:49 PM Changeset in webkit [277913] by Chris Dumez
  • 120 edits in trunk

Replace LockHolder with Locker in local variables
https://bugs.webkit.org/show_bug.cgi?id=226133

Reviewed by Darin Adler.

Replace LockHolder with Locker in local variables. It is shorter and it allows switching the lock
type more easily since the compiler with deduce the lock type T for Locker<T>.

Source/JavaScriptCore:

  • API/JSCallbackObject.h:

(JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
(JSC::JSCallbackObjectData::JSPrivatePropertyMap::deletePrivateProperty):
(JSC::JSCallbackObjectData::JSPrivatePropertyMap::visitChildren):

  • API/JSValue.mm:

(handerForStructTag):

  • API/tests/testapi.cpp:

(testCAPIViaCpp):

  • assembler/testmasm.cpp:

(JSC::run):

  • b3/air/testair.cpp:
  • b3/testb3_1.cpp:

(run):

  • bytecode/DirectEvalCodeCache.cpp:

(JSC::DirectEvalCodeCache::setSlow):
(JSC::DirectEvalCodeCache::clear):
(JSC::DirectEvalCodeCache::visitAggregateImpl):

  • bytecode/SuperSampler.cpp:

(JSC::initializeSuperSampler):
(JSC::resetSuperSamplerState):
(JSC::printSuperSamplerState):
(JSC::enableSuperSampler):
(JSC::disableSuperSampler):

  • dfg/DFGCommonData.cpp:

(JSC::DFG::CommonData::invalidate):
(JSC::DFG::CommonData::~CommonData):
(JSC::DFG::CommonData::installVMTrapBreakpoints):
(JSC::DFG::codeBlockForVMTrapPC):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::cleanMustHandleValuesIfNecessary):

  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::~Worklist):
(JSC::DFG::Worklist::finishCreation):
(JSC::DFG::Worklist::isActiveForVM const):
(JSC::DFG::Worklist::enqueue):
(JSC::DFG::Worklist::compilationState):
(JSC::DFG::Worklist::waitUntilAllPlansForVMAreReady):
(JSC::DFG::Worklist::removeAllReadyPlansForVM):
(JSC::DFG::Worklist::completeAllReadyPlansForVM):
(JSC::DFG::Worklist::visitWeakReferences):
(JSC::DFG::Worklist::removeDeadPlans):
(JSC::DFG::Worklist::removeNonCompilingPlansForVM):
(JSC::DFG::Worklist::queueLength):
(JSC::DFG::Worklist::dump const):
(JSC::DFG::Worklist::setNumberOfThreads):

  • dfg/DFGWorklistInlines.h:

(JSC::DFG::Worklist::iterateCodeBlocksForGC):

  • disassembler/Disassembler.cpp:
  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::addBlock):

  • heap/CodeBlockSetInlines.h:

(JSC::CodeBlockSet::iterateCurrentlyExecuting):

  • heap/ConservativeRoots.cpp:

(JSC::ConservativeRoots::add):

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::lastChanceToFinalize):
(JSC::Heap::collectAsync):
(JSC::Heap::runBeginPhase):
(JSC::Heap::waitForCollector):
(JSC::Heap::requestCollection):
(JSC::Heap::notifyIsSafeToCollect):

  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::didReachTermination):

  • inspector/agents/InspectorScriptProfilerAgent.cpp:

(Inspector::InspectorScriptProfilerAgent::startTracking):
(Inspector::InspectorScriptProfilerAgent::trackingComplete):
(Inspector::InspectorScriptProfilerAgent::stopSamplingWhenDisconnecting):

  • inspector/remote/RemoteConnectionToTarget.cpp:

(Inspector::RemoteConnectionToTarget::setup):
(Inspector::RemoteConnectionToTarget::sendMessageToTarget):
(Inspector::RemoteConnectionToTarget::close):
(Inspector::RemoteConnectionToTarget::targetClosed):

  • inspector/remote/RemoteInspector.cpp:

(Inspector::RemoteInspector::registerTarget):
(Inspector::RemoteInspector::unregisterTarget):
(Inspector::RemoteInspector::updateTarget):
(Inspector::RemoteInspector::updateClientCapabilities):
(Inspector::RemoteInspector::setClient):
(Inspector::RemoteInspector::setupFailed):
(Inspector::RemoteInspector::setupCompleted):
(Inspector::RemoteInspector::stop):

  • inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:

(Inspector::RemoteTargetHandleRunSourceGlobal):
(Inspector::RemoteTargetQueueTaskOnGlobalQueue):
(Inspector::RemoteTargetHandleRunSourceWithInfo):
(Inspector::RemoteConnectionToTarget::setup):
(Inspector::RemoteConnectionToTarget::targetClosed):
(Inspector::RemoteConnectionToTarget::close):
(Inspector::RemoteConnectionToTarget::sendMessageToTarget):
(Inspector::RemoteConnectionToTarget::queueTaskOnPrivateRunLoop):

  • inspector/remote/cocoa/RemoteInspectorCocoa.mm:

(Inspector::RemoteInspector::updateAutomaticInspectionCandidate):
(Inspector::RemoteInspector::sendMessageToRemote):
(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
(Inspector::RemoteInspector::setParentProcessInformation):
(Inspector::RemoteInspector::xpcConnectionReceivedMessage):
(Inspector::RemoteInspector::xpcConnectionFailed):
(Inspector::RemoteInspector::pushListingsSoon):
(Inspector::RemoteInspector::receivedIndicateMessage):
(Inspector::RemoteInspector::receivedProxyApplicationSetupMessage):

  • inspector/remote/cocoa/RemoteInspectorXPCConnection.mm:

(Inspector::RemoteInspectorXPCConnection::close):
(Inspector::RemoteInspectorXPCConnection::closeFromMessage):
(Inspector::RemoteInspectorXPCConnection::deserializeMessage):
(Inspector::RemoteInspectorXPCConnection::handleEvent):

  • inspector/remote/glib/RemoteInspectorGlib.cpp:

(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::setupConnection):
(Inspector::RemoteInspector::pushListingsSoon):
(Inspector::RemoteInspector::sendMessageToRemote):
(Inspector::RemoteInspector::receivedGetTargetListMessage):
(Inspector::RemoteInspector::receivedDataMessage):
(Inspector::RemoteInspector::receivedCloseMessage):
(Inspector::RemoteInspector::setup):

  • inspector/remote/socket/RemoteInspectorConnectionClient.cpp:

(Inspector::RemoteInspectorConnectionClient::didReceive):

  • inspector/remote/socket/RemoteInspectorSocket.cpp:

(Inspector::RemoteInspector::didClose):
(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::pushListingsSoon):
(Inspector::RemoteInspector::setup):
(Inspector::RemoteInspector::setupInspectorClient):
(Inspector::RemoteInspector::frontendDidClose):
(Inspector::RemoteInspector::sendMessageToBackend):
(Inspector::RemoteInspector::startAutomationSession):

  • inspector/remote/socket/RemoteInspectorSocketEndpoint.cpp:

(Inspector::RemoteInspectorSocketEndpoint::listenInet):
(Inspector::RemoteInspectorSocketEndpoint::isListening):
(Inspector::RemoteInspectorSocketEndpoint::workerThread):
(Inspector::RemoteInspectorSocketEndpoint::createClient):
(Inspector::RemoteInspectorSocketEndpoint::disconnect):
(Inspector::RemoteInspectorSocketEndpoint::invalidateClient):
(Inspector::RemoteInspectorSocketEndpoint::invalidateListener):
(Inspector::RemoteInspectorSocketEndpoint::getPort const):
(Inspector::RemoteInspectorSocketEndpoint::recvIfEnabled):
(Inspector::RemoteInspectorSocketEndpoint::sendIfEnabled):
(Inspector::RemoteInspectorSocketEndpoint::send):
(Inspector::RemoteInspectorSocketEndpoint::acceptInetSocketIfEnabled):

  • interpreter/CLoopStack.cpp:

(JSC::CLoopStack::addToCommittedByteCount):
(JSC::CLoopStack::committedByteCount):

  • jit/ExecutableAllocator.cpp:

(JSC::dumpJITMemory):

  • jit/ICStats.cpp:

(JSC::ICStats::ICStats):
(JSC::ICStats::~ICStats):

  • jit/JITThunks.cpp:

(JSC::JITThunks::ctiStub):
(JSC::JITThunks::existingCTIStub):
(JSC::JITThunks::ctiSlowPathFunctionStub):

  • jit/JITWorklist.cpp:

(JSC::JITWorklist::Plan::compileInThread):
(JSC::JITWorklist::Plan::isFinishedCompiling):
(JSC::JITWorklist::JITWorklist):
(JSC::JITWorklist::completeAllForVM):
(JSC::JITWorklist::poll):
(JSC::JITWorklist::compileLater):
(JSC::JITWorklist::finalizePlans):

  • parser/SourceProvider.cpp:

(JSC::SourceProvider::getID):

  • profiler/ProfilerDatabase.cpp:

(JSC::Profiler::Database::ensureBytecodesFor):
(JSC::Profiler::Database::notifyDestruction):
(JSC::Profiler::Database::addCompilation):
(JSC::Profiler::Database::logEvent):
(JSC::Profiler::Database::addDatabaseToAtExit):
(JSC::Profiler::Database::removeDatabaseFromAtExit):
(JSC::Profiler::Database::removeFirstAtExitDatabase):

  • profiler/ProfilerUID.cpp:

(JSC::Profiler::UID::create):

  • runtime/DeferredWorkTimer.cpp:

(JSC::DeferredWorkTimer::scheduleWorkSoon):
(JSC::DeferredWorkTimer::didResumeScriptExecutionOwner):

  • runtime/SamplingProfiler.cpp:

(JSC::SamplingProfiler::timerLoop):
(JSC::SamplingProfiler::shutdown):
(JSC::SamplingProfiler::start):
(JSC::SamplingProfiler::noticeCurrentThreadAsJSCExecutionThread):
(JSC::SamplingProfiler::noticeJSLockAcquisition):
(JSC::SamplingProfiler::noticeVMEntry):
(JSC::SamplingProfiler::registerForReportAtExit):

  • runtime/Watchdog.cpp:

(JSC::Watchdog::startTimer):
(JSC::Watchdog::willDestroyVM):

  • tools/VMInspector.cpp:

(JSC::VMInspector::isValidExecutableMemory):

  • wasm/WasmBBQPlan.cpp:

(JSC::Wasm::BBQPlan::work):

  • wasm/WasmEntryPlan.cpp:

(JSC::Wasm::EntryPlan::ThreadCountHolder::ThreadCountHolder):
(JSC::Wasm::EntryPlan::ThreadCountHolder::~ThreadCountHolder):

  • wasm/WasmOMGPlan.cpp:

(JSC::Wasm::OMGPlan::work):

  • wasm/WasmPlan.cpp:

(JSC::Wasm::Plan::addCompletionTask):
(JSC::Wasm::Plan::waitForCompletion):
(JSC::Wasm::Plan::tryRemoveContextAndCancelIfLast):

  • wasm/WasmSignature.cpp:

(JSC::Wasm::SignatureInformation::signatureFor):
(JSC::Wasm::SignatureInformation::tryCleanup):

  • wasm/WasmWorklist.cpp:

(JSC::Wasm::Worklist::enqueue):
(JSC::Wasm::Worklist::completePlanSynchronously):
(JSC::Wasm::Worklist::stopAllPlansForContext):
(JSC::Wasm::Worklist::Worklist):
(JSC::Wasm::Worklist::~Worklist):

Source/WebCore:

  • Modules/webaudio/AsyncAudioDecoder.cpp:

(WebCore::AsyncAudioDecoder::AsyncAudioDecoder):
(WebCore::AsyncAudioDecoder::runLoop):

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::performClose):
(WebCore::Database::inProgressTransactionCompleted):
(WebCore::Database::hasPendingTransaction):
(WebCore::Database::runTransaction):

  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::start):
(WebCore::DatabaseThread::databaseThread):
(WebCore::DatabaseThread::recordDatabaseOpen):
(WebCore::DatabaseThread::recordDatabaseClosed):
(WebCore::DatabaseThread::hasPendingDatabaseActivity const):

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::canEstablishDatabase):
(WebCore::DatabaseTracker::retryCanEstablishDatabase):
(WebCore::DatabaseTracker::maximumSize):
(WebCore::DatabaseTracker::fullPathForDatabase):
(WebCore::DatabaseTracker::origins):
(WebCore::DatabaseTracker::databaseNames):
(WebCore::DatabaseTracker::detailsForNameAndOrigin):
(WebCore::DatabaseTracker::setDatabaseDetails):
(WebCore::DatabaseTracker::doneCreatingDatabase):
(WebCore::DatabaseTracker::openDatabases):
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::DatabaseTracker::removeOpenDatabase):
(WebCore::DatabaseTracker::originLockFor):
(WebCore::DatabaseTracker::quota):
(WebCore::DatabaseTracker::setQuota):
(WebCore::DatabaseTracker::deleteOrigin):
(WebCore::DatabaseTracker::deleteDatabase):
(WebCore::DatabaseTracker::deleteDatabaseFile):
(WebCore::DatabaseTracker::removeDeletedOpenedDatabases):

  • Modules/webdatabase/SQLCallbackWrapper.h:

(WebCore::SQLCallbackWrapper::clear):
(WebCore::SQLCallbackWrapper::unwrap):

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::enqueueStatement):
(WebCore::SQLTransaction::checkAndHandleClosedDatabase):
(WebCore::SQLTransaction::getNextStatement):

  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::doCleanup):

  • accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::clear):
(WebCore::AXIsolatedTree::generateSubtree):
(WebCore::AXIsolatedTree::createSubtree):
(WebCore::AXIsolatedTree::updateNode):
(WebCore::AXIsolatedTree::updateNodeProperty):
(WebCore::AXIsolatedTree::updateChildren):
(WebCore::AXIsolatedTree::focusedNode):
(WebCore::AXIsolatedTree::rootNode):
(WebCore::AXIsolatedTree::setFocusedNodeID):
(WebCore::AXIsolatedTree::removeNode):
(WebCore::AXIsolatedTree::removeSubtree):
(WebCore::AXIsolatedTree::applyPendingChanges):

  • page/scrolling/mac/ScrollingTreeMac.mm:

(ScrollingTreeMac::scrollingNodeForPoint):
(ScrollingTreeMac::eventListenerRegionTypesForPoint const):

  • platform/AbortableTaskQueue.h:
  • platform/audio/cocoa/CARingBuffer.cpp:

(WebCore::CARingBufferStorageVector::flush):
(WebCore::CARingBufferStorageVector::setCurrentFrameBounds):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::AVFWrapper::addToMap):
(WebCore::AVFWrapper::removeFromMap const):
(WebCore::AVFWrapper::periodicTimeObserverCallback):
(WebCore::AVFWrapper::processNotification):
(WebCore::AVFWrapper::loadPlayableCompletionCallback):
(WebCore::AVFWrapper::loadMetadataCompletionCallback):
(WebCore::AVFWrapper::seekCompletedCallback):
(WebCore::AVFWrapper::processCue):
(WebCore::AVFWrapper::legibleOutputCallback):
(WebCore::AVFWrapper::processShouldWaitForLoadingOfResource):
(WebCore::AVFWrapper::resourceLoaderShouldWaitForLoadingOfRequestedResource):

  • platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:

(-[WebCoreSharedBufferResourceLoaderDelegate setExpectedContentSize:]):
(-[WebCoreSharedBufferResourceLoaderDelegate updateData:complete:]):
(-[WebCoreSharedBufferResourceLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
(-[WebCoreSharedBufferResourceLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
(WebCore::ImageDecoderAVFObjC::setTrack):
(WebCore::ImageDecoderAVFObjC::createFrameImageAtIndex):

  • platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:

(WebCore::ImageDecoderGStreamer::createFrameImageAtIndex):

  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:

(WebCore::InbandTextTrackPrivateGStreamer::handleSample):
(WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample):

  • platform/graphics/gstreamer/MainThreadNotifier.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::parseInitDataFromProtectionMessage):
(WebCore::MediaPlayerPrivateGStreamer::handleProtectionEvent):

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::tagsChanged):
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(VideoRenderRequestScheduler::start):
(VideoRenderRequestScheduler::stop):
(VideoRenderRequestScheduler::drain):
(VideoRenderRequestScheduler::requestRender):

  • platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:

(transformInPlace):
(sinkEventHandler):
(webKitMediaCommonEncryptionDecryptIsFlushing):
(setContext):

  • platform/graphics/nicosia/NicosiaBuffer.cpp:

(Nicosia::Buffer::beginPainting):
(Nicosia::Buffer::completePainting):
(Nicosia::Buffer::waitUntilPaintingComplete):

  • platform/graphics/nicosia/NicosiaPlatformLayer.h:

(Nicosia::PlatformLayer::setSceneIntegration):
(Nicosia::PlatformLayer::createUpdateScope):
(Nicosia::CompositionLayer::updateState):
(Nicosia::CompositionLayer::flushState):
(Nicosia::CompositionLayer::commitState):
(Nicosia::CompositionLayer::accessPending):
(Nicosia::CompositionLayer::accessCommitted):

  • platform/graphics/nicosia/NicosiaScene.h:

(Nicosia::Scene::accessState):

  • platform/graphics/nicosia/NicosiaSceneIntegration.cpp:

(Nicosia::SceneIntegration::setClient):
(Nicosia::SceneIntegration::invalidate):
(Nicosia::SceneIntegration::requestUpdate):

  • platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.cpp:

(Nicosia::BackingStoreTextureMapperImpl::flushUpdate):
(Nicosia::BackingStoreTextureMapperImpl::takeUpdate):

  • platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp:

(Nicosia::ContentLayerTextureMapperImpl::~ContentLayerTextureMapperImpl):
(Nicosia::ContentLayerTextureMapperImpl::invalidateClient):
(Nicosia::ContentLayerTextureMapperImpl::flushUpdate):
(Nicosia::ContentLayerTextureMapperImpl::swapBuffersIfNeeded):

  • platform/graphics/nicosia/texmap/NicosiaImageBackingTextureMapperImpl.cpp:

(Nicosia::ImageBackingTextureMapperImpl::flushUpdate):
(Nicosia::ImageBackingTextureMapperImpl::takeUpdate):

  • platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp:

(WebCore::TextureMapperGCGLPlatformLayer::swapBuffersIfNeeded):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::load):
(WebCore::MediaPlayerPrivateMediaFoundation::naturalSize const):
(WebCore::MediaPlayerPrivateMediaFoundation::addListener):
(WebCore::MediaPlayerPrivateMediaFoundation::removeListener):
(WebCore::MediaPlayerPrivateMediaFoundation::notifyDeleted):
(WebCore::MediaPlayerPrivateMediaFoundation::setNaturalSize):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Invoke):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::onMediaPlayerDeleted):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockStart):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockStop):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockPause):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockRestart):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockSetRate):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::ProcessMessage):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::GetCurrentMediaType):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::InitServicePointers):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::ReleaseServicePointers):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::SetVideoWindow):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::GetVideoWindow):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::SetVideoPosition):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::GetVideoPosition):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::RepaintVideo):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::getSample):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::returnSample):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::areSamplesPending):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::initialize):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::clear):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::stopScheduler):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::scheduleSample):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::processSamplesInQueue):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::processSample):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::schedulerThreadProcPrivate):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::setVideoWindow):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::setDestinationRect):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::createVideoSamples):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::checkDeviceState):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::presentSample):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::paintCurrentFrame):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::createD3DDevice):

  • platform/image-decoders/ScalableImageDecoder.cpp:

(WebCore::ScalableImageDecoder::frameIsCompleteAtIndex const):
(WebCore::ScalableImageDecoder::frameHasAlphaAtIndex const):
(WebCore::ScalableImageDecoder::frameBytesAtIndex const):
(WebCore::ScalableImageDecoder::frameDurationAtIndex const):
(WebCore::ScalableImageDecoder::createFrameImageAtIndex):

  • platform/image-decoders/ScalableImageDecoder.h:
  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::setTilesOpaque):
(WebCore::LegacyTileCache::doLayoutTiles):
(WebCore::LegacyTileCache::setCurrentScale):
(WebCore::LegacyTileCache::commitScaleChange):
(WebCore::LegacyTileCache::layoutTilesNow):
(WebCore::LegacyTileCache::layoutTilesNowForRect):
(WebCore::LegacyTileCache::removeAllNonVisibleTiles):
(WebCore::LegacyTileCache::removeAllTiles):
(WebCore::LegacyTileCache::removeForegroundTiles):
(WebCore::LegacyTileCache::setContentReplacementImage):
(WebCore::LegacyTileCache::contentReplacementImage const):
(WebCore::LegacyTileCache::tileCreationTimerFired):
(WebCore::LegacyTileCache::setNeedsDisplayInRect):
(WebCore::LegacyTileCache::updateTilingMode):
(WebCore::LegacyTileCache::setTilingMode):
(WebCore::LegacyTileCache::doPendingRepaints):
(WebCore::LegacyTileCache::flushSavedDisplayRects):
(WebCore::LegacyTileCache::prepareToDraw):

  • platform/ios/LegacyTileLayerPool.mm:

(WebCore::LegacyTileLayerPool::addLayer):
(WebCore::LegacyTileLayerPool::takeLayerWithSize):
(WebCore::LegacyTileLayerPool::setCapacity):
(WebCore::LegacyTileLayerPool::prune):
(WebCore::LegacyTileLayerPool::drain):

  • platform/ios/wak/WAKWindow.mm:

(-[WAKWindow setExposedScrollViewRect:]):
(-[WAKWindow exposedScrollViewRect]):

  • platform/ios/wak/WebCoreThread.mm:

(RunWebThread):
(StartWebThread):

  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:

(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::audioSamplesAvailable):
(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::pullAudioData):

  • platform/network/cf/FormDataStreamCFNet.cpp:

(WebCore::openNextStream):
(WebCore::formFinalize):
(WebCore::formClose):

  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::setRequestPaused):
(WebCore::CurlRequest::setCallbackPaused):
(WebCore::CurlRequest::pausedStatusChanged):
(WebCore::CurlRequest::enableDownloadToFile):
(WebCore::CurlRequest::getDownloadedFilePath):
(WebCore::CurlRequest::writeDataToDownloadFileIfEnabled):
(WebCore::CurlRequest::closeDownloadFile):
(WebCore::CurlRequest::cleanupDownloadFile):

  • platform/network/curl/CurlSSLHandle.cpp:

(WebCore::CurlSSLHandle::allowAnyHTTPSCertificatesForHost):
(WebCore::CurlSSLHandle::canIgnoreAnyHTTPSCertificatesForHost const):
(WebCore::CurlSSLHandle::setClientCertificateInfo):
(WebCore::CurlSSLHandle::getSSLClientCertificate const):

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::close):
(WebCore::SQLiteDatabase::maximumSize):
(WebCore::SQLiteDatabase::setMaximumSize):
(WebCore::SQLiteDatabase::pageSize):
(WebCore::SQLiteDatabase::freeSpaceSize):
(WebCore::SQLiteDatabase::totalSize):
(WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
(WebCore::SQLiteDatabase::interrupt):
(WebCore::SQLiteDatabase::setAuthorizer):
(WebCore::constructAndPrepareStatement):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::step):

Source/WebKit:

  • NetworkProcess/IndexedDB/WebIDBServer.cpp:

(WebKit::m_closeCallback):
(WebKit::WebIDBServer::getOrigins):
(WebKit::WebIDBServer::closeAndDeleteDatabasesModifiedSince):
(WebKit::WebIDBServer::closeAndDeleteDatabasesForOrigins):
(WebKit::WebIDBServer::renameOrigin):
(WebKit::WebIDBServer::openDatabase):
(WebKit::WebIDBServer::deleteDatabase):
(WebKit::WebIDBServer::abortTransaction):
(WebKit::WebIDBServer::commitTransaction):
(WebKit::WebIDBServer::didFinishHandlingVersionChangeTransaction):
(WebKit::WebIDBServer::createObjectStore):
(WebKit::WebIDBServer::deleteObjectStore):
(WebKit::WebIDBServer::renameObjectStore):
(WebKit::WebIDBServer::clearObjectStore):
(WebKit::WebIDBServer::createIndex):
(WebKit::WebIDBServer::deleteIndex):
(WebKit::WebIDBServer::renameIndex):
(WebKit::WebIDBServer::putOrAdd):
(WebKit::WebIDBServer::getRecord):
(WebKit::WebIDBServer::getAllRecords):
(WebKit::WebIDBServer::getCount):
(WebKit::WebIDBServer::deleteRecord):
(WebKit::WebIDBServer::openCursor):
(WebKit::WebIDBServer::iterateCursor):
(WebKit::WebIDBServer::establishTransaction):
(WebKit::WebIDBServer::databaseConnectionPendingClose):
(WebKit::WebIDBServer::databaseConnectionClosed):
(WebKit::WebIDBServer::abortOpenAndUpgradeNeeded):
(WebKit::WebIDBServer::didFireVersionChangeEvent):
(WebKit::WebIDBServer::openDBRequestCancelled):
(WebKit::WebIDBServer::getAllDatabaseNamesAndVersions):
(WebKit::WebIDBServer::addConnection):
(WebKit::WebIDBServer::removeConnection):
(WebKit::WebIDBServer::close):

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::writeSizeFile):
(WebKit::CacheStorage::Engine::readSizeFile):
(WebKit::CacheStorage::Engine::clearAllCachesFromDisk):
(WebKit::CacheStorage::Engine::deleteNonEmptyDirectoryOnBackgroundThread):

  • NetworkProcess/glib/DNSCache.cpp:

(WebKit::DNSCache::lookup):
(WebKit::DNSCache::update):
(WebKit::DNSCache::removeExpiredResponsesFired):
(WebKit::DNSCache::clear):

  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:

(WebKit::CompositingRunLoop::suspend):
(WebKit::CompositingRunLoop::resume):
(WebKit::CompositingRunLoop::scheduleUpdate):
(WebKit::CompositingRunLoop::stopUpdates):
(WebKit::CompositingRunLoop::updateTimerFired):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::m_displayRefreshMonitor):
(WebKit::ThreadedCompositor::setScaleFactor):
(WebKit::ThreadedCompositor::setScrollPosition):
(WebKit::ThreadedCompositor::setViewportSize):
(WebKit::ThreadedCompositor::renderLayerTree):
(WebKit::ThreadedCompositor::sceneUpdateFinished):
(WebKit::ThreadedCompositor::updateSceneState):

  • UIProcess/API/glib/IconDatabase.cpp:

(WebKit::IconDatabase::populatePageURLToIconURLMap):
(WebKit::IconDatabase::clearLoadedIconsTimerFired):
(WebKit::IconDatabase::checkIconURLAndSetPageURLIfNeeded):
(WebKit::IconDatabase::loadIconForPageURL):
(WebKit::IconDatabase::iconURLForPageURL):
(WebKit::IconDatabase::setIconForPageURL):
(WebKit::IconDatabase::clear):

Source/WebKitLegacy:

  • Storage/InProcessIDBServer.cpp:

(InProcessIDBServer::InProcessIDBServer):
(InProcessIDBServer::deleteDatabase):
(InProcessIDBServer::openDatabase):
(InProcessIDBServer::abortTransaction):
(InProcessIDBServer::commitTransaction):
(InProcessIDBServer::didFinishHandlingVersionChangeTransaction):
(InProcessIDBServer::createObjectStore):
(InProcessIDBServer::deleteObjectStore):
(InProcessIDBServer::renameObjectStore):
(InProcessIDBServer::clearObjectStore):
(InProcessIDBServer::createIndex):
(InProcessIDBServer::deleteIndex):
(InProcessIDBServer::renameIndex):
(InProcessIDBServer::putOrAdd):
(InProcessIDBServer::getRecord):
(InProcessIDBServer::getAllRecords):
(InProcessIDBServer::getCount):
(InProcessIDBServer::deleteRecord):
(InProcessIDBServer::openCursor):
(InProcessIDBServer::iterateCursor):
(InProcessIDBServer::establishTransaction):
(InProcessIDBServer::databaseConnectionPendingClose):
(InProcessIDBServer::databaseConnectionClosed):
(InProcessIDBServer::abortOpenAndUpgradeNeeded):
(InProcessIDBServer::didFireVersionChangeEvent):
(InProcessIDBServer::openDBRequestCancelled):
(InProcessIDBServer::getAllDatabaseNamesAndVersions):
(InProcessIDBServer::closeAndDeleteDatabasesModifiedSince):

  • Storage/StorageAreaSync.cpp:

(WebKit::StorageAreaSync::syncTimerFired):
(WebKit::StorageAreaSync::performSync):

  • Storage/StorageTracker.cpp:

(WebKit::StorageTracker::finishedImportingOriginIdentifiers):
(WebKit::StorageTracker::syncImportOriginIdentifiers):
(WebKit::StorageTracker::syncFileSystemAndTrackerDatabase):
(WebKit::StorageTracker::setOriginDetails):
(WebKit::StorageTracker::syncSetOriginDetails):
(WebKit::StorageTracker::origins):
(WebKit::StorageTracker::deleteAllOrigins):
(WebKit::StorageTracker::syncDeleteAllOrigins):
(WebKit::StorageTracker::deleteOrigin):
(WebKit::StorageTracker::syncDeleteOrigin):
(WebKit::StorageTracker::canDeleteOrigin):
(WebKit::StorageTracker::cancelDeletingOrigin):
(WebKit::StorageTracker::diskUsageForOrigin):

Source/WebKitLegacy/mac:

  • WebView/WebView.mm:

(-[WebView _synchronizeCustomFixedPositionLayoutRect]):
(-[WebView _setCustomFixedPositionLayoutRectInWebThread:synchronize:]):
(-[WebView _setCustomFixedPositionLayoutRect:]):
(-[WebView _fetchCustomFixedPositionLayoutRect:]):

Source/WebKitLegacy/win:

  • Plugins/PluginMainThreadScheduler.cpp:

(WebCore::PluginMainThreadScheduler::scheduleCall):
(WebCore::PluginMainThreadScheduler::registerPlugin):
(WebCore::PluginMainThreadScheduler::unregisterPlugin):
(WebCore::PluginMainThreadScheduler::dispatchCallsForPlugin):

Source/WTF:

  • benchmarks/LockSpeedTest.cpp:
  • wtf/AutomaticThread.cpp:

(WTF::AutomaticThread::~AutomaticThread):
(WTF::AutomaticThread::join):
(WTF::AutomaticThread::start):

  • wtf/AutomaticThread.h:
  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocatorHandle::shrink):
(WTF::MetaAllocator::addFreshFreeSpace):
(WTF::MetaAllocator::debugFreeSpaceSize):

  • wtf/ParallelHelperPool.cpp:

(WTF::ParallelHelperClient::ParallelHelperClient):
(WTF::ParallelHelperClient::~ParallelHelperClient):
(WTF::ParallelHelperClient::setTask):
(WTF::ParallelHelperClient::finish):
(WTF::ParallelHelperClient::doSomeHelping):
(WTF::ParallelHelperClient::runTask):
(WTF::ParallelHelperPool::~ParallelHelperPool):
(WTF::ParallelHelperPool::ensureThreads):
(WTF::ParallelHelperPool::doSomeHelping):

  • wtf/Seconds.cpp:

(WTF::sleep):

  • wtf/TimeWithDynamicClockType.cpp:

(WTF::sleep):

  • wtf/WorkerPool.cpp:

(WTF::WorkerPool::WorkerPool):
(WTF::WorkerPool::~WorkerPool):
(WTF::WorkerPool::postTask):

  • wtf/posix/ThreadingPOSIX.cpp:

(WTF::Thread::suspend):
(WTF::Thread::resume):
(WTF::Thread::getRegisters):

  • wtf/win/DbgHelperWin.cpp:

(WTF::DbgHelper::SymFromAddress):

  • wtf/win/ThreadingWin.cpp:

(WTF::Thread::suspend):
(WTF::Thread::resume):
(WTF::Thread::getRegisters):

Tools:

  • TestWebKitAPI/Tests/WTF/WorkQueue.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/glib/WorkQueueGLib.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:

(TestWebKitAPI::DeterministicScheduler::ThreadContext::waitMyTurn):
(TestWebKitAPI::DeterministicScheduler::ThreadContext::yieldToThread):

10:23 PM Changeset in webkit [277912] by Lauro Moura
  • 2 edits in trunk/WebDriverTests

[WebDriver] Gardening some GTK and WPE failures

Unreviewed test gardening.

9:34 PM Changeset in webkit [277911] by Chris Dumez
  • 20 edits in trunk

Stop using holdLock() in WebKit/WebKitLegacy/Tools as it is not compatible with Clang thread safety analysis
https://bugs.webkit.org/show_bug.cgi?id=226127

Reviewed by Alex Christensen.

Source/WebKit:

  • GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:

(WebKit::LibWebRTCCodecsProxy::close):
(WebKit::LibWebRTCCodecsProxy::createH264Decoder):
(WebKit::LibWebRTCCodecsProxy::createH265Decoder):
(WebKit::LibWebRTCCodecsProxy::createVP9Decoder):
(WebKit::LibWebRTCCodecsProxy::releaseDecoder):
(WebKit::LibWebRTCCodecsProxy::createEncoder):
(WebKit::LibWebRTCCodecsProxy::releaseEncoder):
(WebKit::LibWebRTCCodecsProxy::allowsExitUnderMemoryPressure const):

  • Platform/IPC/Connection.cpp:

(IPC::Connection::SyncMessageState::enqueueMatchingMessages):
(IPC::Connection::SyncMessageState::processIncomingMessage):
(IPC::Connection::SyncMessageState::dispatchMessages):
(IPC::Connection::SyncMessageState::dispatchMessagesAndResetDidScheduleDispatchMessagesForConnection):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp:

(WebKit::ThreadedDisplayRefreshMonitor::requestRefreshCallback):
(WebKit::ThreadedDisplayRefreshMonitor::requiresDisplayRefreshCallback):
(WebKit::ThreadedDisplayRefreshMonitor::invalidate):
(WebKit::ThreadedDisplayRefreshMonitor::displayRefreshCallback):

  • Shared/mac/MediaFormatReader/MediaSampleCursor.cpp:

(WebKit::MediaSampleCursor::copy):
(WebKit::MediaSampleCursor::getSampleMap const):

  • UIProcess/mac/WKPrintingView.mm:

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

Source/WebKitLegacy/ios:

  • WebCoreSupport/WebFixedPositionContent.mm:

(-[WebFixedPositionContent scrollOrZoomChanged:]):
(-[WebFixedPositionContent overflowScrollPositionForLayer:changedTo:]):
(-[WebFixedPositionContent setViewportConstrainedLayers:stickyContainerMap:]):
(-[WebFixedPositionContent hasFixedOrStickyPositionLayers]):

Source/WebKitLegacy/win:

  • WebKitQuartzCoreAdditions/CAD3DRenderer.cpp:

(WKQCA::CAD3DRenderer::swapChain):
(WKQCA::CAD3DRenderer::renderAndPresent):
(WKQCA::CAD3DRenderer::renderToImage):

  • WebKitQuartzCoreAdditions/CAView.cpp:

(WKQCA::CAView::releaseAllD3DResources):
(WKQCA::CAView::CAView):
(WKQCA::CAView::~CAView):
(WKQCA::CAView::setLayer):
(WKQCA::CAView::update):
(WKQCA::CAView::drawToWindow):
(WKQCA::CAView::drawToImage):
(WKQCA::CAView::drawIntoDC):
(WKQCA::CAView::setShouldInvertColors):
(WKQCA::CAView::scheduleNextDraw):
(WKQCA::CAView::displayLinkReachedCAMediaTime):
(WKQCA::CAView::contextDidChange):
(WKQCA::CAView::updateSoon):
(WKQCA::CAView::updateViewsNow):
(WKQCA::CAView::d3dDevice9):

  • WebLocalizableStrings.cpp:

(findCachedString):
(cacheString):

Tools:

  • DumpRenderTree/JavaScriptThreading.cpp:

(runJavaScriptThread):
(startJavaScriptThreads):
(stopJavaScriptThreads):

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

(check_lock_guard):

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

(WebKitStyleTest.test_lock_guard):

  • TestWebKitAPI/Tests/WTF/Condition.cpp:
  • TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:

(TestWebKitAPI::testThreadGroup):
(TestWebKitAPI::TEST):

  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:

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

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:

(WTR::AXThread::initializeRunLoop):

9:24 PM Changeset in webkit [277910] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Fix locking issue for AudioDestinationCocoa::m_isPlaying
https://bugs.webkit.org/show_bug.cgi?id=226129

Reviewed by Jer Noble.

Fix locking issue for AudioDestinationCocoa::m_isPlaying. The AudioDestinationCocoa::isPlaying()
getter fails to lock. isPlaying() may get called from the main thread and the audio rendering
thread. Since we cannot grab a lock on the rendering thread, use std::atomic<bool> type for
m_isPlaying.

  • platform/audio/cocoa/AudioDestinationCocoa.cpp:

(WebCore::AudioDestinationCocoa::setIsPlaying):
(WebCore::AudioDestinationCocoa::renderOnRenderingTheadIfPlaying):

  • platform/audio/cocoa/AudioDestinationCocoa.h:
8:13 PM Changeset in webkit [277909] by Chris Dumez
  • 92 edits in trunk/Source/JavaScriptCore

Stop using holdLock() in JSC as it is not compatible with Clang thread safety analysis
https://bugs.webkit.org/show_bug.cgi?id=226116

Reviewed by Mark Lam.

Stop using holdLock() in JSC as it is not compatible with Clang thread safety analysis
(WTF::CheckedLock). Use the Locker constructor instead.

I'll eventually get rid of the holdLock() definition once I have managed to get rid of
all its usages.

  • API/JSVirtualMachine.mm:

(+[JSVMWrapperCache addWrapper:forJSContextGroupRef:]):
(+[JSVMWrapperCache wrapperForJSContextGroupRef:]):
(-[JSVirtualMachine addExternalRememberedObject:]):
(-[JSVirtualMachine addManagedReference:withOwner:]):
(-[JSVirtualMachine removeManagedReference:withOwner:]):
(scanExternalObjectGraph):
(scanExternalRememberedSet):

  • API/glib/JSCVirtualMachine.cpp:

(addWrapper):
(removeWrapper):

  • API/tests/ExecutionTimeLimitTest.cpp:

(testExecutionTimeLimit):

  • assembler/PerfLog.cpp:

(JSC::PerfLog::PerfLog):
(JSC::PerfLog::log):

  • bytecode/StructureStubInfo.cpp:

(JSC::StructureStubInfo::visitAggregateImpl):
(JSC::StructureStubInfo::visitWeakReferences):

  • bytecode/StructureStubInfo.h:

(JSC::StructureStubInfo::considerCaching):
(JSC::StructureStubInfo::clearBufferedStructures):

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
(JSC::UnlinkedCodeBlock::visitChildrenImpl):

  • bytecode/UnlinkedCodeBlockGenerator.cpp:

(JSC::UnlinkedCodeBlockGenerator::finalize):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::~BlockDirectory):
(JSC::BlockDirectory::removeBlock):
(JSC::BlockDirectory::stopAllocatingForGood):
(JSC::BlockDirectory::parallelNotEmptyBlockSource):

  • heap/CodeBlockSet.cpp:

(JSC::CodeBlockSet::add):
(JSC::CodeBlockSet::remove):

  • heap/CodeBlockSetInlines.h:

(JSC::CodeBlockSet::iterate):

  • heap/CompleteSubspace.cpp:

(JSC::CompleteSubspace::allocatorForSlow):

  • heap/Heap.cpp:

(JSC::Heap::lastChanceToFinalize):
(JSC::Heap::runNotRunningPhase):
(JSC::Heap::runEndPhase):
(JSC::Heap::finishRelinquishingConn):
(JSC::visitSamplingProfiler):
(JSC::Heap::setBonusVisitorTask):
(JSC::Heap::runTaskInParallel):

  • heap/HeapSnapshotBuilder.cpp:

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

  • heap/IsoAlignedMemoryAllocator.cpp:

(JSC::IsoAlignedMemoryAllocator::tryAllocateAlignedMemory):
(JSC::IsoAlignedMemoryAllocator::freeAlignedMemory):

  • heap/IsoCellSet.cpp:

(JSC::IsoCellSet::parallelNotEmptyMarkedBlockSource):
(JSC::IsoCellSet::addSlow):
(JSC::IsoCellSet::didRemoveBlock):
(JSC::IsoCellSet::sweepToFreeList):

  • heap/IsoCellSetInlines.h:

(JSC::IsoCellSet::forEachMarkedCellInParallel):

  • heap/IsoSubspace.cpp:

(JSC::IsoSubspace::IsoSubspace):

  • heap/IsoSubspacePerVM.cpp:

(JSC::IsoSubspacePerVM::forVM):

  • heap/LocalAllocator.cpp:

(JSC::LocalAllocator::LocalAllocator):
(JSC::LocalAllocator::~LocalAllocator):

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::tryCopyOtherThreadStacks):
(JSC::MachineThreads::gatherConservativeRoots):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::Handle::stopAllocating):
(JSC::MarkedBlock::Handle::resumeAllocating):
(JSC::MarkedBlock::aboutToMarkSlow):
(JSC::MarkedBlock::Handle::didConsumeFreeList):
(JSC::MarkedBlock::noteMarkedSlow):
(JSC::MarkedBlock::Handle::dumpState):

  • heap/MarkedBlockInlines.h:

(JSC::MarkedBlock::Handle::isLive):

  • heap/MarkingConstraint.cpp:

(JSC::MarkingConstraint::doParallelWork):

  • heap/MarkingConstraintSolver.cpp:

(JSC::MarkingConstraintSolver::addParallelTask):
(JSC::MarkingConstraintSolver::runExecutionThread):

  • heap/ParallelSourceAdapter.h:
  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::updateMutatorIsStopped):
(JSC::SlotVisitor::drain):
(JSC::SlotVisitor::performIncrementOfDraining):
(JSC::SlotVisitor::drainFromShared):
(JSC::SlotVisitor::drainInParallelPassively):
(JSC::SlotVisitor::waitForTermination):
(JSC::SlotVisitor::donateAll):
(JSC::SlotVisitor::didRace):

  • heap/Subspace.cpp:

(JSC::Subspace::parallelDirectorySource):

  • heap/SubspaceInlines.h:

(JSC::Subspace::forEachMarkedCellInParallel):

  • inspector/JSInjectedScriptHost.cpp:
  • jit/ExecutableAllocator.cpp:
  • jsc.cpp:

(Worker::Worker):
(Worker::~Worker):
(Worker::dequeue):
(Workers::broadcast):
(Workers::report):
(Workers::tryGetReport):
(Workers::getReport):
(JSC_DEFINE_HOST_FUNCTION):

  • runtime/DeferredWorkTimer.cpp:

(JSC::DeferredWorkTimer::doWork):

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::finishCreation):

  • runtime/EvalExecutable.cpp:

(JSC::EvalExecutable::visitChildrenImpl):

  • runtime/FileBasedFuzzerAgentBase.cpp:

(JSC::FileBasedFuzzerAgentBase::getPrediction):

  • runtime/FunctionExecutable.cpp:

(JSC::FunctionExecutable::visitChildrenImpl):

  • runtime/JSArray.cpp:

(JSC::JSArray::shiftCountWithArrayStorage):
(JSC::JSArray::unshiftCountWithArrayStorage):

  • runtime/JSArrayBufferView.cpp:

(JSC::JSArrayBufferView::detach):
(JSC::JSArrayBufferView::slowDownAndWasteMemory):

  • runtime/JSCell.h:
  • runtime/JSFinalizationRegistry.cpp:

(JSC::JSFinalizationRegistry::visitChildrenImpl):
(JSC::JSFinalizationRegistry::finalizeUnconditionally):
(JSC::JSFinalizationRegistry::takeDeadHoldingsValue):
(JSC::JSFinalizationRegistry::registerTarget):
(JSC::JSFinalizationRegistry::unregister):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::visitChildrenImpl):

  • runtime/JSGlobalObject.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/JSModuleNamespaceObject.cpp:

(JSC::JSModuleNamespaceObject::finishCreation):
(JSC::JSModuleNamespaceObject::visitChildrenImpl):

  • runtime/JSObject.cpp:

(JSC::JSObject::visitButterflyImpl):

  • runtime/JSRunLoopTimer.cpp:

(JSC::JSRunLoopTimer::Manager::timerDidFire):
(JSC::JSRunLoopTimer::Manager::registerVM):
(JSC::JSRunLoopTimer::Manager::unregisterVM):
(JSC::JSRunLoopTimer::Manager::scheduleTimer):
(JSC::JSRunLoopTimer::Manager::cancelTimer):
(JSC::JSRunLoopTimer::Manager::timeUntilFire):
(JSC::JSRunLoopTimer::timerDidFire):
(JSC::JSRunLoopTimer::setTimeUntilFire):
(JSC::JSRunLoopTimer::cancelTimer):
(JSC::JSRunLoopTimer::addTimerSetNotification):
(JSC::JSRunLoopTimer::removeTimerSetNotification):

  • runtime/JSSegmentedVariableObject.cpp:

(JSC::JSSegmentedVariableObject::findVariableIndex):
(JSC::JSSegmentedVariableObject::addVariables):
(JSC::JSSegmentedVariableObject::visitChildrenImpl):

  • runtime/ModuleProgramExecutable.cpp:

(JSC::ModuleProgramExecutable::visitChildrenImpl):

  • runtime/NarrowingNumberPredictionFuzzerAgent.cpp:

(JSC::NarrowingNumberPredictionFuzzerAgent::getPrediction):

  • runtime/ProgramExecutable.cpp:

(JSC::ProgramExecutable::visitChildrenImpl):

  • runtime/RandomizingFuzzerAgent.cpp:

(JSC::RandomizingFuzzerAgent::getPrediction):

  • runtime/RegExp.cpp:

(JSC::RegExp::compile):
(JSC::RegExp::matchConcurrently):
(JSC::RegExp::compileMatchOnly):
(JSC::RegExp::deleteCode):

  • runtime/SamplingProfiler.cpp:

(JSC::SamplingProfiler::takeSample):
(JSC::SamplingProfiler::stackTracesAsJSON):
(JSC::SamplingProfiler::reportTopFunctions):
(JSC::SamplingProfiler::reportTopBytecodes):

  • runtime/ScriptExecutable.cpp:

(JSC::ScriptExecutable::createTemplateObject):

  • runtime/SparseArrayValueMap.cpp:

(JSC::SparseArrayValueMap::add):
(JSC::SparseArrayValueMap::remove):
(JSC::SparseArrayValueMap::getConcurrently):
(JSC::SparseArrayValueMap::visitChildrenImpl):

  • runtime/Structure.cpp:

(JSC::Structure::changePrototypeTransition):
(JSC::Structure::toDictionaryTransition):
(JSC::Structure::nonPropertyTransitionSlow):
(JSC::Structure::setBrandTransition):

  • runtime/StructureCache.cpp:

(JSC::StructureCache::createEmptyStructure):
(JSC::StructureCache::emptyObjectStructureConcurrently):

  • runtime/VM.cpp:

(JSC::waitForVMDestruction):
(JSC::VM::~VM):
(JSC::VM::gatherScratchBufferRoots):
(JSC::VM::scratchBufferForSize):
(JSC::VM::clearScratchBuffers):
(JSC::VM::addLoopHintExecutionCounter):
(JSC::VM::getLoopHintExecutionCounter):
(JSC::VM::removeLoopHintExecutionCounter):

  • runtime/VMTraps.cpp:

(JSC::VMTraps::tryInstallTrapBreakpoints):
(JSC::VMTraps::invalidateCodeBlocksOnStack):
(JSC::VMTraps::willDestroyVM):
(JSC::VMTraps::fireTrap):
(JSC::VMTraps::handleTraps):
(JSC::VMTraps::takeTopPriorityTrap):

  • runtime/WeakMapImpl.cpp:

(JSC::WeakMapImpl<BucketType>::visitOutputConstraints):

  • runtime/WeakMapImpl.h:

(JSC::WeakMapImpl::finishCreation):

  • runtime/WeakMapImplInlines.h:

(JSC::WeakMapImpl<WeakMapBucket>::rehash):

  • runtime/WideningNumberPredictionFuzzerAgent.cpp:

(JSC::WideningNumberPredictionFuzzerAgent::getPrediction):

  • tools/CompilerTimingScope.cpp:
  • tools/FunctionOverrides.cpp:

(JSC::FunctionOverrides::FunctionOverrides):
(JSC::FunctionOverrides::reinstallOverrides):
(JSC::FunctionOverrides::initializeOverrideFor):

  • tools/Integrity.cpp:

(JSC::Integrity::Random::reloadAndCheckShouldAuditSlow):

  • tools/VMInspector.cpp:

(JSC::VMInspector::add):
(JSC::VMInspector::remove):
(JSC::VMInspector::codeBlockForMachinePC):

  • wasm/WasmBBQPlan.cpp:

(JSC::Wasm::BBQPlan::work):
(JSC::Wasm::BBQPlan::compileFunction):

  • wasm/WasmCalleeRegistry.h:

(JSC::Wasm::CalleeRegistry::registerCallee):
(JSC::Wasm::CalleeRegistry::unregisterCallee):

  • wasm/WasmCodeBlock.cpp:

(JSC::Wasm::CodeBlock::CodeBlock):
(JSC::Wasm::CodeBlock::waitUntilFinished):
(JSC::Wasm::CodeBlock::compileAsync):

  • wasm/WasmContext.cpp:

(JSC::Wasm::Context::scratchBufferForSize):

  • wasm/WasmEntryPlan.cpp:

(JSC::Wasm::EntryPlan::parseAndValidateModule):
(JSC::Wasm::EntryPlan::prepare):
(JSC::Wasm::EntryPlan::compileFunctions):

  • wasm/WasmEntryPlan.h:

(JSC::Wasm::EntryPlan::tryReserveCapacity):

  • wasm/WasmFaultSignalHandler.cpp:

(JSC::Wasm::trapHandler):

  • wasm/WasmInstance.cpp:

(JSC::Wasm::Instance::setFunctionWrapper):

  • wasm/WasmLLIntPlan.cpp:

(JSC::Wasm::LLIntPlan::compileFunction):
(JSC::Wasm::LLIntPlan::completeInStreaming):
(JSC::Wasm::LLIntPlan::didCompileFunctionInStreaming):
(JSC::Wasm::LLIntPlan::didFailInStreaming):

  • wasm/WasmMachineThreads.cpp:

(JSC::Wasm::resetInstructionCacheOnAllThreads):

  • wasm/WasmMemory.cpp:

(JSC::Wasm::Memory::growShared):

  • wasm/WasmModule.cpp:

(JSC::Wasm::Module::getOrCreateCodeBlock):

  • wasm/WasmOMGForOSREntryPlan.cpp:

(JSC::Wasm::OMGForOSREntryPlan::work):

  • wasm/WasmOMGPlan.cpp:

(JSC::Wasm::OMGPlan::work):

  • wasm/WasmOperations.cpp:

(JSC::Wasm::triggerOMGReplacementCompile):
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):

  • wasm/WasmSignatureInlines.h:

(JSC::Wasm::SignatureInformation::get):

  • wasm/WasmSlowPaths.cpp:

(JSC::LLInt::jitCompileAndSetHeuristics):
(JSC::LLInt::WASM_SLOW_PATH_DECL):

  • wasm/WasmStreamingCompiler.cpp:

(JSC::Wasm::StreamingCompiler::didCompileFunction):
(JSC::Wasm::StreamingCompiler::finalize):
(JSC::Wasm::StreamingCompiler::fail):
(JSC::Wasm::StreamingCompiler::cancel):

  • wasm/WasmStreamingPlan.cpp:

(JSC::Wasm::StreamingPlan::work):

  • wasm/WasmTable.cpp:

(JSC::Wasm::Table::grow):
(JSC::Wasm::Table::visitAggregateImpl):

  • wasm/WasmThunks.cpp:

(JSC::Wasm::Thunks::stub):
(JSC::Wasm::Thunks::existingStub):

  • wasm/WasmWorklist.cpp:
  • wasm/js/JSWebAssemblyInstance.cpp:

(JSC::JSWebAssemblyInstance::visitChildrenImpl):

8:04 PM Changeset in webkit [277908] by Chris Dumez
  • 63 edits in trunk/Source/WebCore

Stop using holdLock() in WebCore as it is not compatible with Clang thread safety analysis
https://bugs.webkit.org/show_bug.cgi?id=226119

Reviewed by Sam Weinig.

Stop using holdLock() in WebCore as it is not compatible with Clang thread safety analysis
(WTF::CheckedLock). Use the Locker constructor directly instead.

This is a step towards getting rid of holdLock() entirely.

  • Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp:

(WebCore::SpeechRecognitionCaptureSourceImpl::audioSamplesAvailable):

  • Modules/webaudio/AudioBuffer.cpp:

(WebCore::AudioBuffer::releaseMemory):
(WebCore::AudioBuffer::memoryCost const):

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::setBuffer):
(WebCore::AudioBufferSourceNode::startPlaying):

  • Modules/webaudio/AudioWorkletNode.cpp:

(WebCore::AudioWorkletNode::~AudioWorkletNode):
(WebCore::AudioWorkletNode::initializeAudioParameters):
(WebCore::AudioWorkletNode::setProcessor):

  • Modules/webaudio/ConvolverNode.cpp:

(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):
(WebCore::PannerNode::setPosition):
(WebCore::PannerNode::setOrientation):
(WebCore::PannerNode::setDistanceModel):
(WebCore::PannerNode::setRefDistance):
(WebCore::PannerNode::setMaxDistance):
(WebCore::PannerNode::setRolloffFactor):
(WebCore::PannerNode::setConeOuterGain):
(WebCore::PannerNode::setConeOuterAngle):
(WebCore::PannerNode::setConeInnerAngle):

  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::uninitialize):
(WebCore::ScriptProcessorNode::process):

  • Modules/webaudio/WaveShaperProcessor.cpp:

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

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::performOpenAndVerify):

  • Modules/webdatabase/DatabaseManager.cpp:

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

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
(WebCore::DatabaseTracker::notifyDatabasesChanged):

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::visitChildrenImpl):

  • bindings/js/JSPaintWorkletGlobalScopeCustom.cpp:

(WebCore::JSPaintWorkletGlobalScope::visitAdditionalChildren):

  • css/CSSPaintImageValue.cpp:

(WebCore::CSSPaintImageValue::image):

  • css/DOMCSSPaintWorklet.cpp:

(WebCore::PaintWorklet::addModule):

  • dom/EventListenerMap.cpp:

(WebCore::EventListenerMap::clear):
(WebCore::EventListenerMap::replace):
(WebCore::EventListenerMap::add):
(WebCore::EventListenerMap::remove):
(WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):

  • dom/EventTarget.cpp:

(WebCore::EventTarget::visitJSEventListeners):

  • dom/Node.cpp:

(WebCore::Node::ensureEventTargetData):
(WebCore::Node::clearEventTargetData):

  • html/CanvasBase.cpp:

(WebCore::CanvasBase::memoryCost const):
(WebCore::CanvasBase::externalMemoryCost const):
(WebCore::CanvasBase::setImageBuffer const):

  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::invalidateNamedElementCache const):

  • html/HTMLCollection.h:

(WebCore::HTMLCollection::memoryCost const):
(WebCore::HTMLCollection::setNamedItemCache const):

  • html/OffscreenCanvas.cpp:

(WebCore::OffscreenCanvas::pushBufferToPlaceholder):
(WebCore::OffscreenCanvas::commitToPlaceholderCanvas):

  • html/canvas/OESVertexArrayObject.cpp:

(WebCore::OESVertexArrayObject::deleteVertexArrayOES):
(WebCore::OESVertexArrayObject::bindVertexArrayOES):

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::bindFramebuffer):
(WebCore::WebGL2RenderingContext::deleteFramebuffer):
(WebCore::WebGL2RenderingContext::vertexAttribIPointer):
(WebCore::WebGL2RenderingContext::deleteQuery):
(WebCore::WebGL2RenderingContext::beginQuery):
(WebCore::WebGL2RenderingContext::endQuery):
(WebCore::WebGL2RenderingContext::deleteSampler):
(WebCore::WebGL2RenderingContext::bindSampler):
(WebCore::WebGL2RenderingContext::deleteSync):
(WebCore::WebGL2RenderingContext::deleteTransformFeedback):
(WebCore::WebGL2RenderingContext::bindTransformFeedback):
(WebCore::WebGL2RenderingContext::beginTransformFeedback):
(WebCore::WebGL2RenderingContext::setIndexedBufferBinding):
(WebCore::WebGL2RenderingContext::deleteVertexArray):
(WebCore::WebGL2RenderingContext::bindVertexArray):
(WebCore::WebGL2RenderingContext::addMembersToOpaqueRoots):

  • html/canvas/WebGLContextGroup.cpp:

(WebCore::WebGLContextGroup::detachAndRemoveAllObjects):

  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::initializeAttachments):
(WebCore::WebGLFramebuffer::setAttachmentInternal):

  • html/canvas/WebGLObject.cpp:

(WebCore::WebGLObject::runDestructor):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::attachShader):
(WebCore::WebGLRenderingContextBase::bindBuffer):
(WebCore::WebGLRenderingContextBase::bindFramebuffer):
(WebCore::WebGLRenderingContextBase::bindRenderbuffer):
(WebCore::WebGLRenderingContextBase::bindTexture):
(WebCore::WebGLRenderingContextBase::deleteBuffer):
(WebCore::WebGLRenderingContextBase::deleteFramebuffer):
(WebCore::WebGLRenderingContextBase::deleteProgram):
(WebCore::WebGLRenderingContextBase::deleteRenderbuffer):
(WebCore::WebGLRenderingContextBase::deleteShader):
(WebCore::WebGLRenderingContextBase::deleteTexture):
(WebCore::WebGLRenderingContextBase::detachShader):
(WebCore::WebGLRenderingContextBase::useProgram):
(WebCore::WebGLRenderingContextBase::vertexAttribPointer):
(WebCore::WebGLRenderingContextBase::detachAndRemoveAllObjects):
(WebCore::WebGLRenderingContextBase::addMembersToOpaqueRoots):

  • platform/audio/ReverbConvolver.cpp:

(WebCore::ReverbConvolver::~ReverbConvolver):

  • platform/audio/cocoa/AudioDestinationCocoa.cpp:

(WebCore::AudioDestinationCocoa::start):
(WebCore::AudioDestinationCocoa::stop):
(WebCore::AudioDestinationCocoa::setIsPlaying):

  • platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:

(WebCore::AudioSourceProviderGStreamer::handleSample):
(WebCore::AudioSourceProviderGStreamer::clearAdapters):

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webkitWebAudioSourceSetDispatchToRenderThreadFunction):

  • platform/graphics/DisplayRefreshMonitor.cpp:

(WebCore::DisplayRefreshMonitor::requestRefreshCallback):
(WebCore::DisplayRefreshMonitor::displayLinkFired):
(WebCore::DisplayRefreshMonitor::displayDidRefresh):

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::cachedFontPlatformData):
(WebCore::FontCache::fontForPlatformData):
(WebCore::FontCache::purgeInactiveFontData):
(WebCore::FontCache::inactiveFontCount):

  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:

(WebCore::AudioSourceProviderAVFObjC::destroyMixIfNeeded):
(WebCore::AudioSourceProviderAVFObjC::createMixIfNeeded):
(WebCore::AudioSourceProviderAVFObjC::prepareCallback):
(WebCore::AudioSourceProviderAVFObjC::unprepareCallback):
(WebCore::AudioSourceProviderAVFObjC::processCallback):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::destroyLayers):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::rootLayerBoundsDidChange):

  • platform/graphics/cg/ColorCG.cpp:

(WebCore::cachedCGColor):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::hasFirstVideoSampleReachedSink const):
(WebCore::MediaPlayerPrivateGStreamer::pushTextureToCompositor):
(WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamer::flushCurrentBuffer):
(WebCore::MediaPlayerPrivateGStreamer::paint):
(WebCore::MediaPlayerPrivateGStreamer::copyVideoTextureToPlatformTexture):
(WebCore::MediaPlayerPrivateGStreamer::waitForCDMAttachment):

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcConstructed):
(webKitWebSrcGetProperty):
(webKitWebSrcSetContext):
(webKitWebSrcCreate):
(webKitWebSrcMakeRequest):
(webKitWebSrcStop):
(webKitWebSrcGetSize):
(webKitWebSrcIsSeekable):
(webKitWebSrcDoSeek):
(webKitWebSrcQuery):
(webKitWebSrcUnLock):
(webKitWebSrcUnLockStop):
(webKitWebSrcSetMediaPlayer):
(webKitSrcPassedCORSAccessCheck):
(CachedResourceStreamingClient::responseReceived):
(CachedResourceStreamingClient::dataReceived):
(CachedResourceStreamingClient::accessControlCheckFailed):
(CachedResourceStreamingClient::loadFailed):
(CachedResourceStreamingClient::loadFinished):
(webKitSrcWouldTaintOrigin):

  • platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:

(isCDMProxyAvailable):
(attachCDMProxy):

  • platform/graphics/gstreamer/mse/MediaSourceTrackGStreamer.cpp:

(WebCore::MediaSourceTrackGStreamer::isReadyForMoreSamples):
(WebCore::MediaSourceTrackGStreamer::notifyWhenReadyForMoreSamples):
(WebCore::MediaSourceTrackGStreamer::enqueueObject):
(WebCore::MediaSourceTrackGStreamer::clearQueue):

  • platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:

(webKitMediaSrcActivateMode):
(webKitMediaSrcPadLinked):
(webKitMediaSrcLoop):
(webKitMediaSrcStreamFlush):

  • platform/graphics/mac/ColorMac.mm:

(WebCore::nsColor):

  • platform/graphics/nicosia/NicosiaImageBufferPipe.cpp:

(Nicosia::NicosiaImageBufferPipeSource::handle):

  • platform/ios/wak/WebCoreThread.mm:

(HandleDelegateSource):
(WebThreadAdoptAndRelease):
(WebCoreObjCDeallocOnWebThreadImpl):
(WebCoreObjCDeallocWithWebThreadLockImpl):
(HandleWebThreadReleaseSource):

  • platform/ios/wak/WebCoreThreadRun.cpp:
  • platform/mac/PublicSuffixMac.mm:

(WebCore::topPrivatelyControlledDomain):

  • platform/mediarecorder/MediaRecorderPrivateMock.cpp:

(WebCore::MediaRecorderPrivateMock::videoSampleAvailable):
(WebCore::MediaRecorderPrivateMock::audioSamplesAvailable):
(WebCore::MediaRecorderPrivateMock::fetchData):

  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:

(WebCore::MediaRecorderPrivateWriter::appendData):
(WebCore::MediaRecorderPrivateWriter::takeData):

  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::addAudioSampleObserver):
(WebCore::RealtimeMediaSource::removeAudioSampleObserver):
(WebCore::RealtimeMediaSource::addVideoSampleObserver):
(WebCore::RealtimeMediaSource::removeVideoSampleObserver):
(WebCore::RealtimeMediaSource::videoSampleAvailable):
(WebCore::RealtimeMediaSource::audioSamplesAvailable):

  • platform/mediastream/RealtimeOutgoingAudioSource.cpp:

(WebCore::RealtimeOutgoingAudioSource::~RealtimeOutgoingAudioSource):
(WebCore::RealtimeOutgoingAudioSource::AddSink):
(WebCore::RealtimeOutgoingAudioSource::RemoveSink):
(WebCore::RealtimeOutgoingAudioSource::sendAudioFrames):

  • platform/mediastream/RealtimeOutgoingVideoSource.cpp:

(WebCore::RealtimeOutgoingVideoSource::~RealtimeOutgoingVideoSource):
(WebCore::RealtimeOutgoingVideoSource::AddOrUpdateSink):
(WebCore::RealtimeOutgoingVideoSource::RemoveSink):
(WebCore::RealtimeOutgoingVideoSource::sendFrame):

  • platform/mediastream/mac/BaseAudioSharedUnit.cpp:

(WebCore::BaseAudioSharedUnit::addClient):
(WebCore::BaseAudioSharedUnit::removeClient):
(WebCore::BaseAudioSharedUnit::forEachClient const):
(WebCore::BaseAudioSharedUnit::clearClients):
(WebCore::BaseAudioSharedUnit::audioSamplesAvailable):

  • platform/mediastream/mac/WebAudioSourceProviderCocoa.mm:

(WebCore::WebAudioSourceProviderCocoa::prepare):

  • platform/network/cf/LoaderRunLoopCF.cpp:

(WebCore::loaderRunLoop):

  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::cancel):
(WebCore::CurlRequest::isCancelled):
(WebCore::CurlRequest::isCompletedOrCancelled):
(WebCore::CurlRequest::didCompleteTransfer):

  • platform/network/curl/CurlRequestScheduler.cpp:

(WebCore::CurlRequestScheduler::callOnWorkerThread):
(WebCore::CurlRequestScheduler::startThreadIfNeeded):
(WebCore::CurlRequestScheduler::stopThreadIfNoMoreJobRunning):
(WebCore::CurlRequestScheduler::stopThread):
(WebCore::CurlRequestScheduler::executeTasks):
(WebCore::CurlRequestScheduler::workerThread):
(WebCore::CurlRequestScheduler::startTransfer):
(WebCore::CurlRequestScheduler::finalizeTransfer):

  • platform/network/curl/CurlStreamScheduler.cpp:

(WebCore::CurlStreamScheduler::callOnWorkerThread):
(WebCore::CurlStreamScheduler::startThreadIfNeeded):
(WebCore::CurlStreamScheduler::stopThreadIfNoMoreJobRunning):
(WebCore::CurlStreamScheduler::executeTasks):

  • style/StyleBuilder.cpp:

(WebCore::Style::Builder::applyProperty):

  • workers/WorkerOrWorkletThread.cpp:

(WebCore::WorkerOrWorkletThread::workerOrWorkletThread):
(WebCore::WorkerOrWorkletThread::start):

  • worklets/PaintWorkletGlobalScope.cpp:

(WebCore::PaintWorkletGlobalScope::registerPaint):

  • worklets/PaintWorkletGlobalScope.h:
7:49 PM Changeset in webkit [277907] by Brent Fulgham
  • 9 edits in trunk/Source/WebKit

[Cocoa] Expand sandbox with missing sysctl-read handles for core CPU and cache features
https://bugs.webkit.org/show_bug.cgi?id=226126
<rdar://problem/78218756>

Reviewed by Per Arne Vollan.

Update our sandbox profiles to permit read access to a set of CPU and cache features that have been requested by
our sandbox and system framework teams. These have been judged to be safe to expose to our processes, and will
allow frameworks to make optimal use of the system WebKit is running on.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
7:23 PM Changeset in webkit [277906] by weinig@apple.com
  • 14 edits in trunk/Source/WebKit

Make CGColorSpaceRef argument coding match other CF objects and use CGColorSpaceCreateWithPropertyList for fallback
https://bugs.webkit.org/show_bug.cgi?id=226112

Reviewed by Darin Adler.

This is a precursor to some color space type unification. This change:

  • Modernizes CF arugment coders to use ArgumentCoder specialization. It also means we now support encoding CF types both as plain types and RetainPtr<> types, with decoding being kept only supporing RetainPtr<>s, as decoding into non-smart pointer is not very useful.
  • Move CGColorSpaceRef coding to ArgumentCodersCF and use CGColorSpaceCopyPropertyList and CGColorSpaceCreateWithPropertyList as the fallback coding (if there is no name), matching what other libraries on macOS and iOS do.
  • Switch ColorSpaceData to be a struct wrapping an Optional<RetainPtr<CGColorSpaceRef>> and use the new shared coding. This will be replaced entirely in subsequent changes so I didn't want to change this too much now.
  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkSessionCreationParameters.cpp:

(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):

  • Shared/Cocoa/ArgumentCodersCocoa.mm:

(IPC::encodeDataInternal):
(IPC::decodeDataInternal):
(IPC::encodeDateInternal):
(IPC::decodeDateInternal):
(IPC::encodeNumberInternal):
(IPC::decodeNumberInternal):
(IPC::encodeSecureCodingInternal):
(IPC::decodeSecureCodingInternal):
(IPC::encodeStringInternal):
(IPC::decodeStringInternal):
(IPC::encodeURLInternal):
(IPC::decodeURLInternal):

  • Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:

(IPC::ArgumentCoder<Ref<Font>>::encodePlatformData):
(IPC::ArgumentCoder<Ref<Font>>::decodePlatformData):

  • Shared/FontInfo.cpp:

(WebKit::FontInfo::encode const):
(WebKit::FontInfo::decode):

  • Shared/Plugins/PluginProcessCreationParameters.cpp:

(WebKit::PluginProcessCreationParameters::encode const):
(WebKit::PluginProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.cpp:

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

  • Shared/cf/ArgumentCodersCF.cpp:

(IPC::typeFromCFTypeRef):
(IPC::ArgumentCoder<CFTypeRef>::encode):
(IPC::ArgumentCoder<RetainPtr<CFTypeRef>>::decode):
(IPC::ArgumentCoder<CFArrayRef>::encode):
(IPC::ArgumentCoder<RetainPtr<CFArrayRef>>::decode):
(IPC::ArgumentCoder<CFBooleanRef>::encode):
(IPC::ArgumentCoder<RetainPtr<CFBooleanRef>>::decode):
(IPC::ArgumentCoder<CFDataRef>::encode):
(IPC::ArgumentCoder<RetainPtr<CFDataRef>>::decode):
(IPC::ArgumentCoder<CFDateRef>::encode):
(IPC::ArgumentCoder<RetainPtr<CFDateRef>>::decode):
(IPC::ArgumentCoder<CFDictionaryRef>::encode):
(IPC::ArgumentCoder<RetainPtr<CFDictionaryRef>>::decode):
(IPC::ArgumentCoder<CFNumberRef>::encode):
(IPC::ArgumentCoder<RetainPtr<CFNumberRef>>::decode):
(IPC::ArgumentCoder<CFStringRef>::encode):
(IPC::ArgumentCoder<RetainPtr<CFStringRef>>::decode):
(IPC::ArgumentCoder<CFURLRef>::encode):
(IPC::ArgumentCoder<RetainPtr<CFURLRef>>::decode):
(IPC::ArgumentCoder<CGColorSpaceRef>::encode):
(IPC::ArgumentCoder<RetainPtr<CGColorSpaceRef>>::decode):
(IPC::ArgumentCoder<SecCertificateRef>::encode):
(IPC::ArgumentCoder<RetainPtr<SecCertificateRef>>::decode):
(IPC::ArgumentCoder<SecKeychainItemRef>::encode):
(IPC::ArgumentCoder<RetainPtr<SecKeychainItemRef>>::decode):
(IPC::ArgumentCoder<SecAccessControlRef>::encode):
(IPC::ArgumentCoder<RetainPtr<SecAccessControlRef>>::decode):
(IPC::ArgumentCoder<SecTrustRef>::encode):
(IPC::ArgumentCoder<RetainPtr<SecTrustRef>>::decode):
(IPC::encode): Deleted.
(IPC::decode): Deleted.

  • Shared/cf/ArgumentCodersCF.h:

(IPC::CFRetainPtrArgumentCoder::encode):

  • Shared/mac/ColorSpaceData.mm:

(WebKit::ColorSpaceData::encode const):
(WebKit::ColorSpaceData::decode):
(): Deleted.

  • Shared/mac/SecItemRequestData.cpp:

(WebKit::SecItemRequestData::encode const):
(WebKit::SecItemRequestData::decode):

  • Shared/mac/SecItemResponseData.cpp:

(WebKit::SecItemResponseData::encode const):
(WebKit::SecItemResponseData::decode):

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<WebCore::CertificateInfo>::encode):
(IPC::ArgumentCoder<WebCore::CertificateInfo>::decode):
(IPC::encodeNSError):
(IPC::decodeNSError):
(IPC::ArgumentCoder<WebCore::ContentFilterUnblockHandler>::encode):
(IPC::ArgumentCoder<WebCore::ContentFilterUnblockHandler>::decode):

7:07 PM Changeset in webkit [277905] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

All Netflix playback fails after r277740
https://bugs.webkit.org/show_bug.cgi?id=226120
<rdar://problem/78333782>

Reviewed by Eric Carlson.

  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:

(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):
Add missing !.

6:53 PM Changeset in webkit [277904] by Chris Dumez
  • 23 edits in trunk/Source

Use CheckedCondition in more places
https://bugs.webkit.org/show_bug.cgi?id=226113

Reviewed by Darin Adler.

Use CheckedCondition in more places to benefit from Clang Thread Safety
Analysis.

Source/WebCore:

  • Modules/webdatabase/DatabaseTask.cpp:

(WebCore::DatabaseTaskSynchronizer::waitForTaskCompletion):
(WebCore::DatabaseTaskSynchronizer::taskCompleted):

  • Modules/webdatabase/DatabaseTask.h:

(WebCore::DatabaseTaskSynchronizer::WTF_GUARDED_BY_LOCK):

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webKitWebAudioSrcRenderAndPushFrames):
(webKitWebAudioSrcRenderIteration):
(webKitWebAudioSrcChangeState):

  • platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:

(WebCore::ImageDecoderGStreamer::setHasEOS):
(WebCore::ImageDecoderGStreamer::notifySample):
(WebCore::ImageDecoderGStreamer::InnerDecoder::handleMessage):
(WebCore::ImageDecoderGStreamer::InnerDecoder::preparePipeline):
(WebCore::ImageDecoderGStreamer::pushEncodedData):

  • platform/graphics/gstreamer/ImageDecoderGStreamer.h:
  • platform/graphics/gstreamer/MainThreadNotifier.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::pushTextureToCompositor):
(WebCore::MediaPlayerPrivateGStreamer::repaint):
(WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamer::cancelRepaint):
(WebCore::MediaPlayerPrivateGStreamer::pushNextHolePunchBuffer):
(WebCore::MediaPlayerPrivateGStreamer::waitForCDMAttachment):
(WebCore::MediaPlayerPrivateGStreamer::cdmInstanceAttached):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(WebCore::MediaPlayerPrivateGStreamer::WTF_GUARDED_BY_LOCK):

  • platform/graphics/holepunch/MediaPlayerPrivateHolePunch.cpp:

(WebCore::MediaPlayerPrivateHolePunch::pushNextHolePunchBuffer):

  • platform/graphics/nicosia/NicosiaImageBufferPipe.cpp:

(Nicosia::NicosiaImageBufferPipeSource::handle):

  • platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp:

(Nicosia::GCGLLayer::swapBuffersIfNeeded):

  • platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:

(WebCore::TextureMapperPlatformLayerProxy::~TextureMapperPlatformLayerProxy):
(WebCore::TextureMapperPlatformLayerProxy::activateOnCompositingThread):
(WebCore::TextureMapperPlatformLayerProxy::invalidate):
(WebCore::TextureMapperPlatformLayerProxy::releaseUnusedBuffersTimerFired):
(WebCore::TextureMapperPlatformLayerProxy::swapBuffer):
(WebCore::TextureMapperPlatformLayerProxy::dropCurrentBufferWhilePreservingTexture):
(WebCore::TextureMapperPlatformLayerProxy::scheduleUpdateOnCompositorThread):
(WebCore::TextureMapperPlatformLayerProxy::compositorThreadUpdateTimerFired):

  • platform/graphics/texmap/TextureMapperPlatformLayerProxy.h:

(WebCore::TextureMapperPlatformLayerProxy::WTF_RETURNS_LOCK):
(WebCore::TextureMapperPlatformLayerProxy::WTF_GUARDED_BY_LOCK):

Source/WTF:

  • wtf/RunLoop.h:
  • wtf/SynchronizedFixedQueue.h:
  • wtf/WTFSemaphore.h:
  • wtf/WorkQueue.cpp:

(WTF::WorkQueue::concurrentApply):

  • wtf/generic/RunLoopGeneric.cpp:

(WTF::RunLoop::~RunLoop):
(WTF::RunLoop::populateTasks):
(WTF::RunLoop::runImpl):
(WTF::RunLoop::stop):
(WTF::RunLoop::wakeUpWithLock):
(WTF::RunLoop::wakeUp):
(WTF::RunLoop::schedule):
(WTF::RunLoop::scheduleAndWakeUpWithLock):
(WTF::RunLoop::TimerBase::~TimerBase):
(WTF::RunLoop::TimerBase::start):
(WTF::RunLoop::TimerBase::stop):
(WTF::RunLoop::TimerBase::isActive const):
(WTF::RunLoop::TimerBase::secondsUntilFire const):

  • wtf/win/RunLoopWin.cpp:

(WTF::RunLoop::TimerBase::timerFired):
(WTF::RunLoop::TimerBase::start):
(WTF::RunLoop::TimerBase::stop):
(WTF::RunLoop::TimerBase::isActive const):
(WTF::RunLoop::TimerBase::secondsUntilFire const):

6:33 PM Changeset in webkit [277903] by Wenson Hsieh
  • 12 edits
    2 adds in trunk/Source

[macOS] Adopt QLItem in WKImageExtractionPreviewController
https://bugs.webkit.org/show_bug.cgi?id=226114
rdar://76657718

Reviewed by Tim Horton.

Source/WebCore/PAL:

Add a PAL softlinking header for QuickLookUI on macOS.

  • PAL.xcodeproj/project.pbxproj:
  • pal/PlatformMac.cmake:
  • pal/mac/QuickLookUISoftLink.h: Added.
  • pal/mac/QuickLookUISoftLink.mm: Added.
  • pal/spi/mac/QuickLookMacSPI.h:

Add staging declarations for some new QuickLook SPI; these method declarations should be moved into the non-
internal-SDK section in the (near) future, once it is safe to do so.

Source/WebKit:

Adopt QLItem in WKImageExtractionPreviewController, and use it in place of WKImageExtractionPreviewItem.
This allows us to vend image previews based solely on image data, rather than a file on disk.

  • UIProcess/mac/WKImageExtractionPreviewController.h:
  • UIProcess/mac/WKImageExtractionPreviewController.mm:

(-[WKImageExtractionPreviewController initWithPage:imageData:title:imageURL:]):
(-[WKImageExtractionPreviewController provideDataForItem:]):
(-[WKImageExtractionPreviewController previewPanel:previewItemAtIndex:]):
(-[WKImageExtractionPreviewItem initWithFileURL:title:imageURL:pageURL:]): Deleted.
(-[WKImageExtractionPreviewItem dealloc]): Deleted.
(-[WKImageExtractionPreviewItem previewItemURL]): Deleted.
(-[WKImageExtractionPreviewItem previewItemTitle]): Deleted.
(-[WKImageExtractionPreviewItem previewOptions]): Deleted.
(-[WKImageExtractionPreviewController initWithPage:fileURL:title:imageURL:]): Deleted.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController willDestroyView:]):

Adopt the new QuickLookUI softlinking header in PAL.

Source/WebKitLegacy/mac:

Adopt the new QuickLookUI softlinking header in PAL.

  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController webViewClosed]):

Source/WTF:

Introduce SOFT_LINK_FRAMEWORK_IN_UMBRELLA_FOR_SOURCE_WITH_EXPORT, so that we can soft link frameworks that are
embedded inside other umbrella frameworks in PAL.

  • wtf/cocoa/SoftLinking.h:
5:46 PM Changeset in webkit [277902] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Remove the unnecessary use of CompileOpStrictEqType.
https://bugs.webkit.org/show_bug.cgi?id=226121

Reviewed by Saam Barati and Robin Morisset.

We're already emitting template code. Might as well make the relevant condition
checks a build time check on the opcode type the template is specializing on
instead of a runtime check on a passed in CompileOpStrictEqType.

  • jit/JIT.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::compileOpStrictEq):
(JSC::JIT::emit_op_stricteq):
(JSC::JIT::emit_op_nstricteq):
(JSC::JIT::compileOpStrictEqJump):
(JSC::JIT::emit_op_jstricteq):
(JSC::JIT::emit_op_jnstricteq):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::compileOpStrictEq):
(JSC::JIT::emit_op_stricteq):
(JSC::JIT::emit_op_nstricteq):
(JSC::JIT::compileOpStrictEqJump):
(JSC::JIT::emit_op_jstricteq):
(JSC::JIT::emit_op_jnstricteq):

5:13 PM Changeset in webkit [277901] by Dewei Zhu
  • 2 edits in trunk/Websites/perf.webkit.org

Fix a bug that incorrect timestamp is reported for Git repositories.
https://bugs.webkit.org/show_bug.cgi?id=225987

Reviewed by Ryosuke Niwa.

'datetime.fromtimestamp' will use the current timezone.
However, '/api/report-commits' will interprete it as a timestamp string from UTC.
In order to keep the consistency, we should always use 'datetime.utcfromtimestamp'.

  • tools/sync-commits.py: Use 'datetime.utcfromtimestamp' instead of 'datetime.fromtimestamp'.

(GitRepository._revision_from_tokens):

5:11 PM Changeset in webkit [277900] by Chris Dumez
  • 23 edits in trunk/Source/WTF

Stop using holdLock() in WTF as it is not compatible with Clang thread safety analysis
https://bugs.webkit.org/show_bug.cgi?id=226117

Reviewed by Darin Adler.

Stop using holdLock() in WTF as it is not compatible with Clang thread safety analysis
(WTF::CheckedLock) and use the Locker constructor instead.

This is a step towards getting rid of holdLock() completely.

  • benchmarks/ConditionSpeedTest.cpp:
  • wtf/ConcurrentPtrHashSet.cpp:

(WTF::ConcurrentPtrHashSet::deleteOldTables):
(WTF::ConcurrentPtrHashSet::clear):
(WTF::ConcurrentPtrHashSet::containsImplSlow const):
(WTF::ConcurrentPtrHashSet::sizeSlow const):
(WTF::ConcurrentPtrHashSet::resizeIfNecessary):

  • wtf/CountingLock.h:
  • wtf/HashTable.cpp:

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

  • wtf/HashTable.h:

(WTF::invalidateIterators):
(WTF::addIterator):
(WTF::removeIterator):

  • wtf/LockedPrintStream.cpp:

(WTF::LockedPrintStream::vprintf):
(WTF::LockedPrintStream::flush):

  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocatorHandle::~MetaAllocatorHandle):

  • wtf/MetaAllocator.h:

(WTF::MetaAllocator::allocate):
(WTF::MetaAllocator::currentStatistics):

  • wtf/ReadWriteLock.h:
  • wtf/StackShotProfiler.h:

(WTF::StackShotProfiler::profile):
(WTF::StackShotProfiler::run):

  • wtf/StackStats.cpp:

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

  • wtf/ThreadGroup.cpp:

(WTF::ThreadGroup::~ThreadGroup):
(WTF::ThreadGroup::add):

  • wtf/ThreadMessage.cpp:

(WTF::sendMessageScoped):

  • wtf/Threading.cpp:

(WTF::Thread::didExit):
(WTF::Thread::addToThreadGroup):
(WTF::Thread::removeFromThreadGroup):
(WTF::Thread::numberOfThreadGroups):

  • wtf/TimingScope.cpp:
  • wtf/WTFConfig.cpp:

(WTF::Config::permanentlyFreeze):

  • wtf/WTFSemaphore.h:
  • wtf/posix/ThreadingPOSIX.cpp:

(WTF::Thread::changePriority):
(WTF::Thread::waitForCompletion):
(WTF::Thread::detach):
(WTF::Thread::signal):
(WTF::Thread::establishPlatformSpecificHandle):

  • wtf/threads/BinarySemaphore.cpp:

(WTF::BinarySemaphore::signal):
(WTF::BinarySemaphore::waitUntil):

  • wtf/threads/Signals.cpp:

(WTF::SignalHandlers::add):
(WTF::registerThreadForMachExceptionHandling):
(WTF::activateSignalHandlersFor):

  • wtf/win/LanguageWin.cpp:

(WTF::platformLanguage):

  • wtf/win/ThreadingWin.cpp:

(WTF::Thread::changePriority):
(WTF::Thread::waitForCompletion):
(WTF::Thread::detach):
(WTF::Thread::establishPlatformSpecificHandle):

5:07 PM Changeset in webkit [277899] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.0-branch/Source

Versioning.

WebKit-7612.1.15.0.5

4:36 PM Changeset in webkit [277898] by msaboff@apple.com
  • 13 edits in trunk/Source/bmalloc

[bmalloc] Rollout r276266 because WebKit processes are spending much more time in madvise
https://bugs.webkit.org/show_bug.cgi?id=226122

Unreviewed rollout.

Rolling out r276266 to do some automated testing. At the same time, we'll work on changing the madvise() decommitting to be more precise.

  • bmalloc/BPlatform.h:
  • bmalloc/Heap.cpp:

(bmalloc::Heap::scavenge):
(bmalloc::Heap::scavengeToHighWatermark):
(bmalloc::Heap::allocateSmallChunk):
(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::allocateLarge):

  • bmalloc/Heap.h:
  • bmalloc/IsoDirectory.h:
  • bmalloc/IsoDirectoryInlines.h:

(bmalloc::passedNumPages>::takeFirstEligible):
(bmalloc::passedNumPages>::scavenge):
(bmalloc::passedNumPages>::scavengeToHighWatermark):

  • bmalloc/IsoHeapImpl.h:
  • bmalloc/IsoHeapImplInlines.h:

(bmalloc::IsoHeapImpl<Config>::scavengeToHighWatermark):

  • bmalloc/LargeMap.cpp:

(bmalloc::LargeMap::add):

  • bmalloc/LargeRange.h:

(bmalloc::LargeRange::LargeRange):
(bmalloc::merge):

  • bmalloc/Scavenger.cpp:

(bmalloc::Scavenger::Scavenger):
(bmalloc::Scavenger::timeSinceLastPartialScavenge):
(bmalloc::Scavenger::scavenge):
(bmalloc::Scavenger::partialScavenge):
(bmalloc::Scavenger::threadRunLoop):

  • bmalloc/Scavenger.h:
  • bmalloc/SmallPage.h:
4:09 PM Changeset in webkit [277897] by Russell Epstein
  • 1 copy in tags/Safari-612.1.15.0.4

Tag Safari-612.1.15.0.4.

4:04 PM Changeset in webkit [277896] by Diego Pino Garcia
  • 4 edits in trunk

Set CanvasImageSmoothing.imageSmoothingQuality value to 'low' as default
https://bugs.webkit.org/show_bug.cgi?id=225952

Reviewed by Sam Weinig.

Source/WebCore:

Covered by existing tests:

  • inspector/canvas/recording-2d-frameCount.html
  • inspector/canvas/recording-2d-full.html
  • inspector/canvas/recording-2d-memoryLimit.html
  • inspector/canvas/recording-2d-saves.html
  • inspector/canvas/recording-html-2d.html
  • html/canvas/CanvasRenderingContext2DBase.cpp:

LayoutTests:

Defined by spec:
https://html.spec.whatwg.org/multipage/canvas.html#canvasimagesmoothing

  • platform/gtk/TestExpectations:
3:46 PM Changeset in webkit [277895] by Ruben Turcios
  • 1 copy in tags/Safari-612.1.15.1.8

Tag Safari-612.1.15.1.8.

3:33 PM Changeset in webkit [277894] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

[Cocoa] Expand IOKit method filters to cover items encountered during testing
https://bugs.webkit.org/show_bug.cgi?id=226106
<rdar://problem/78327511>

Reviewed by Per Arne Vollan.

Allow additional IOKit methods based on testing results and the method values we hit during normal operations.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • WebProcess/com.apple.WebProcess.sb.in:
3:17 PM Changeset in webkit [277893] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Adopt CheckedLock in ScrollingTree and fix threading bug
https://bugs.webkit.org/show_bug.cgi?id=226109

Reviewed by Darin Adler.

Adopt CheckedLock in ScrollingTree and fix threading bug found by Clang Thread Safety
Analysis. In particular, ThreadedScrollingTree::willStartRenderingUpdate() was failing
to grab the lock before updating m_state. m_state definitely get modified from several
threads so synchronization is important.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::handleWheelEvent):
(WebCore::ScrollingTree::traverseScrollingTree):
(WebCore::ScrollingTree::commitTreeState):
(WebCore::ScrollingTree::applyLayerPositions):
(WebCore::ScrollingTree::applyLayerPositionsInternal):
(WebCore::ScrollingTree::scrollBySimulatingWheelEventForTesting):

  • page/scrolling/ScrollingTree.h:

(WebCore::ScrollingTree::WTF_RETURNS_LOCK):
(WebCore::ScrollingTree::WTF_REQUIRES_LOCK):

  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::ThreadedScrollingTree):
(WebCore::ThreadedScrollingTree::handleWheelEventAfterMainThread):
(WebCore::ThreadedScrollingTree::wheelEventWasProcessedByMainThread):
(WebCore::ThreadedScrollingTree::willSendEventToMainThread):
(WebCore::ThreadedScrollingTree::waitForEventToBeProcessedByMainThread):
(WebCore::ThreadedScrollingTree::invalidate):
(WebCore::ThreadedScrollingTree::willStartRenderingUpdate):
(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):
(WebCore::ThreadedScrollingTree::didCompleteRenderingUpdate):
(WebCore::ThreadedScrollingTree::scheduleDelayedRenderingUpdateDetectionTimer):
(WebCore::ThreadedScrollingTree::delayedRenderingUpdateDetectionTimerFired):
(WebCore::ThreadedScrollingTree::displayDidRefreshOnScrollingThread):

  • page/scrolling/ThreadedScrollingTree.h:

(WebCore::ThreadedScrollingTree::WTF_RETURNS_LOCK):
(WebCore::ThreadedScrollingTree::WTF_GUARDED_BY_LOCK):

  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:

(WebCore::ScrollingTreeScrollingNodeDelegateMac::createTimer):

3:14 PM Changeset in webkit [277892] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Adopt CheckedLock in RemoteImageBufferProxy
https://bugs.webkit.org/show_bug.cgi?id=226098

Reviewed by Tim Horton.

Adopt CheckedLock in RemoteImageBufferProxy to benefit from Clang Thread Safety Analysis.
I had to use WTF_IGNORES_THREAD_SAFETY_ANALYSIS on one of the getter where we weren't
locking. My understanding is that the code is currently safe without the lock in this
case and I added a comment and assertions to clarify that.

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

(WebKit::RemoteImageBufferProxy::waitForDidFlushOnSecondaryThread):

2:39 PM Changeset in webkit [277891] by Ruben Turcios
  • 8 edits in branches/safari-612.1.15.1-branch/Source

Versioning.

WebKit-7612.1.15.1.8

2:29 PM Changeset in webkit [277890] by Chris Dumez
  • 3 edits in trunk/Source/WebKitLegacy

Adopt CheckedLock in StorageAreaSync
https://bugs.webkit.org/show_bug.cgi?id=226099

Reviewed by Sam Weinig.

Adopt CheckedLock in StorageAreaSync to benefit from Clang Thread Safety Analysis.

  • Storage/StorageAreaSync.cpp:

(WebKit::StorageAreaSync::markImported):
(WebKit::StorageAreaSync::blockUntilImportComplete):

  • Storage/StorageAreaSync.h:
2:28 PM Changeset in webkit [277889] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Adopt CheckedLock in AudioMediaStreamTrackRendererUnit
https://bugs.webkit.org/show_bug.cgi?id=226095

Reviewed by Eric Carlson.

Adopt CheckedLock in AudioMediaStreamTrackRendererUnit to benefit from Clang Thread Safety
Analysis. Also rename variables for clarity and fixes a bug where we failed to grab the
lock before checking m_shouldUpdateRenderSources on the render thread (even though the
variable gets updated on the main thread).

  • platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.cpp:

(WebCore::AudioMediaStreamTrackRendererUnit::addSource):
(WebCore::AudioMediaStreamTrackRendererUnit::removeSource):
(WebCore::AudioMediaStreamTrackRendererUnit::updateRenderSourcesIfNecessary):
(WebCore::AudioMediaStreamTrackRendererUnit::render):

  • platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.h:

(WebCore::AudioMediaStreamTrackRendererUnit::WTF_GUARDED_BY_LOCK):
(): Deleted.

2:19 PM Changeset in webkit [277888] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Adopt CheckedLock in NetworkCache::Storage::TraverseOperation
https://bugs.webkit.org/show_bug.cgi?id=226101

Reviewed by Darin Adler.

Adopt CheckedLock in NetworkCache::Storage::TraverseOperation to benefit from Clang
Thread Safety Analysis.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::TraverseOperation::WTF_GUARDED_BY_LOCK):
(WebKit::NetworkCache::Storage::traverse):

2:15 PM Changeset in webkit [277887] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Adopt CheckedLock / CheckedCondition in CDMProxy
https://bugs.webkit.org/show_bug.cgi?id=226103

Reviewed by Darin Adler.

Adopt CheckedLock / CheckedCondition in CDMProxy to benefit from Clang Thread Safety
Analysis.

  • platform/encryptedmedia/CDMProxy.cpp:

(WebCore::CDMProxy::updateKeyStore):
(WebCore::CDMProxy::keyHandle const):
(WebCore::CDMProxy::tryWaitForKeyHandle const):
(WebCore::CDMProxy::keyAvailable const):

  • platform/encryptedmedia/CDMProxy.h:
2:12 PM Changeset in webkit [277886] by Peng Liu
  • 2 edits in trunk/Source/WebCore

Video player enters a bad state after trying to enter picture-in-picture on YouTube.com videos
https://bugs.webkit.org/show_bug.cgi?id=226042

Reviewed by Daniel Bates.

The quirk shouldDisableEndFullscreenEventWhenEnteringPictureInPictureFromFull was
always true. This patch fixes that.

  • page/Quirks.cpp:

(WebCore::Quirks::shouldDisableEndFullscreenEventWhenEnteringPictureInPictureFromFullscreenQuirk const):

2:04 PM Changeset in webkit [277885] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

Adopt CheckedLock in MediaFormatReader and fix threading bug
https://bugs.webkit.org/show_bug.cgi?id=226100

Reviewed by Darin Adler.

Adopt CheckedLock in MediaFormatReader and fix threading bug found by Clang Thread Safety
Analysis. In particular, parseByteSource() was failing to grab the lock before updating
m_parseTracksStatus in one of its branches.

  • Shared/mac/MediaFormatReader/MediaFormatReader.cpp:

(WebKit::MediaFormatReader::parseByteSource):
(WebKit::MediaFormatReader::didParseTracks):
(WebKit::MediaFormatReader::didProvideMediaData):
(WebKit::MediaFormatReader::finishParsing):
(WebKit::MediaFormatReader::copyProperty):
(WebKit::MediaFormatReader::copyTrackArray):

  • Shared/mac/MediaFormatReader/MediaFormatReader.h:
1:58 PM Changeset in webkit [277884] by aakash_jain@apple.com
  • 5 edits in trunk/Tools

Run layout tests in stress mode for 10 iterations on regular EWS layout-test queues
https://bugs.webkit.org/show_bug.cgi?id=226097

Reviewed by Jonathan Bedard.

  • CISupport/ews-build/factories.py:
  • CISupport/ews-build/factories_unittest.py:
  • CISupport/ews-build/steps.py:

(AnalyzePatch.getResultSummary):
(FindModifiedLayoutTests.init):
(FindModifiedLayoutTests.start):
(RunWebKitTestsInStressMode):
(RunWebKitTestsInStressMode.init):
(RunWebKitTestsInStressMode.setLayoutTestCommand):
(RunWebKitTestsInStressMode.doStepIf):

  • CISupport/ews-build/steps_unittest.py:
1:48 PM Changeset in webkit [277883] by Russell Epstein
  • 1 copy in tags/Safari-611.3.5

Tag Safari-611.3.5.

1:21 PM Changeset in webkit [277882] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Introducing JITThunks::preinitializeCTIThunks().
https://bugs.webkit.org/show_bug.cgi?id=226105

Reviewed by Geoffrey Garen.

We're basically renaming JITThunks::preinitializeExtraCTIThunks() to
JITThunks::preinitializeCTIThunks() and making it not conditional on
#if ENABLE(EXTRA_CTI_THUNKS). Some thunks need to be initialized independent of
#if ENABLE(EXTRA_CTI_THUNKS).

  • jit/JITThunks.cpp:

(JSC::JITThunks::preinitializeCTIThunks):
(JSC::JITThunks::preinitializeExtraCTIThunks): Deleted.

  • jit/JITThunks.h:
  • runtime/VM.cpp:

(JSC::VM::VM):

1:20 PM Changeset in webkit [277881] by Chris Dumez
  • 5 edits in trunk/Source

[Cocoa] Unable to upload files that are stored in the cloud (without a local copy)
https://bugs.webkit.org/show_bug.cgi?id=226090
<rdar://77775887>

Reviewed by Darin Adler.

Source/WebKit:

Allow the network process to load / read dataless files stored in the cloud by allowing
the process to materialize such files. I initially only allowed the AsyncFileStream
thread to materialize the dataless files and this was enough to make the file upload
use cases work. However, I noticed that drag and dropping such file in the Safari URL
bar would fail loading, which I think is bad user experience. As a result, I have
decided to allow the materializing at network process level.

I have verified manually that I can now upload such dataless files via either file
picker or drag and drop (used https://blueimp.github.io/jQuery-File-Upload/). I have
also verified that drag and dropping such a file in the Safari URL bar successfuly
loads that file.

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

Source/WTF:

Add FileSystem API to allow/disallow the materializing of dataless files stored
in the cloud, at process or thread level.

  • wtf/FileSystem.h:
  • wtf/cocoa/FileSystemCocoa.mm:

(WTF::FileSystemImpl::toIOPolicyScope):
(WTF::FileSystemImpl::setAllowsMaterializingDatalessFiles):
(WTF::FileSystemImpl::allowsMaterializingDatalessFiles):

1:19 PM Changeset in webkit [277880] by Chris Dumez
  • 52 edits in trunk/Source

Replace more static Locks with CheckedLocks in WTF / WebCore
https://bugs.webkit.org/show_bug.cgi?id=226040

Reviewed by Darin Adler.

Replace more static Locks with CheckedLocks so that we can benefit from Clang Thread Safety Analysis.

Source/WebCore:

  • Modules/indexeddb/server/IDBSerializationContext.cpp:

(WebCore::IDBServer::IDBSerializationContext::getOrCreateForCurrentThread):
(WebCore::IDBServer::IDBSerializationContext::~IDBSerializationContext):

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::WTF_REQUIRES_LOCK):
(WebCore::RTCDataChannel::detach):
(WebCore::RTCDataChannel::removeFromDataChannelLocalMapIfNeeded):
(WebCore::RTCDataChannel::handlerFromIdentifier):

  • Modules/webdatabase/Database.cpp:

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

  • Modules/webgpu/WebGPUDevice.cpp:

(WebCore::WebGPUDevice::instancesLock):
(WebCore::WebGPUDevice::~WebGPUDevice):

  • Modules/webgpu/WebGPUDevice.h:
  • Modules/webgpu/WebGPUPipeline.cpp:

(WebCore::WebGPUPipeline::instancesLock):
(WebCore::WebGPUPipeline::WebGPUPipeline):
(WebCore::WebGPUPipeline::~WebGPUPipeline):

  • Modules/webgpu/WebGPUPipeline.h:
  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::WebSocket):
(WebCore::WebSocket::~WebSocket):
(WebCore::WebSocket::allActiveWebSocketsLock):

  • Modules/websockets/WebSocket.h:
  • bridge/objc/WebScriptObject.mm:

(WebCore::getJSWrapper):
(WebCore::addJSWrapper):
(WebCore::removeJSWrapper):
(WebCore::removeJSWrapperIfRetainCountOne):

  • crypto/CryptoAlgorithmRegistry.cpp:

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

  • crypto/CryptoAlgorithmRegistry.h:
  • dom/MessagePort.cpp:

(WebCore::MessagePort::deref const):
(WebCore::MessagePort::isExistingMessagePortLocallyReachable):
(WebCore::MessagePort::notifyMessageAvailable):
(WebCore::MessagePort::MessagePort):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::contextIdentifier const):
(WebCore::ScriptExecutionContext::removeFromContextsMap):
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::postTaskTo):

  • html/canvas/CanvasRenderingContext.cpp:

(WebCore::CanvasRenderingContext::instancesLock):
(WebCore::CanvasRenderingContext::CanvasRenderingContext):
(WebCore::CanvasRenderingContext::~CanvasRenderingContext):

  • html/canvas/CanvasRenderingContext.h:
  • html/canvas/WebGLProgram.cpp:

(WebCore::WebGLProgram::instancesLock):
(WebCore::WebGLProgram::WebGLProgram):
(WebCore::WebGLProgram::~WebGLProgram):

  • html/canvas/WebGLProgram.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::~WebGLRenderingContextBase):

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::canvasElement const):
(WebCore:: const):

  • inspector/agents/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::enable):

  • inspector/agents/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::enable):
(WebCore::InspectorNetworkAgent::webSocketForRequestId):

  • inspector/agents/InspectorNetworkAgent.h:
  • inspector/agents/page/PageNetworkAgent.cpp:
  • inspector/agents/page/PageNetworkAgent.h:
  • inspector/agents/worker/WorkerNetworkAgent.cpp:
  • inspector/agents/worker/WorkerNetworkAgent.h:
  • page/SecurityPolicy.cpp:

(WebCore::WTF_REQUIRES_LOCK):
(WebCore::SecurityPolicy::isAccessAllowed):
(WebCore::SecurityPolicy::addOriginAccessAllowlistEntry):
(WebCore::SecurityPolicy::removeOriginAccessAllowlistEntry):
(WebCore::SecurityPolicy::resetOriginAccessAllowlists):
(WebCore::SecurityPolicy::allowAccessTo):

  • page/cocoa/ResourceUsageThreadCocoa.mm:

(WebCore::ResourceUsageThread::platformCollectCPUData):

  • page/linux/ResourceUsageThreadLinux.cpp:

(WebCore::ResourceUsageThread::platformCollectCPUData):

  • platform/GenericTaskQueue.cpp:

(WebCore::TaskDispatcher<Timer>::postTask):
(WebCore::TaskDispatcher<Timer>::sharedTimerFired):
(WebCore::TaskDispatcher<Timer>::pendingDispatchers):
(WebCore::TaskDispatcher<Timer>::dispatchOneTask):

  • platform/GenericTaskQueue.h:
  • platform/LegacySchemeRegistry.cpp:

(WebCore::allBuiltinSchemes):
(WebCore::WTF_REQUIRES_LOCK):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsLocal):
(WebCore::LegacySchemeRegistry::removeURLSchemeRegisteredAsLocal):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsHandledBySchemeHandler):
(WebCore::LegacySchemeRegistry::schemeIsHandledBySchemeHandler):
(WebCore::LegacySchemeRegistry::shouldTreatURLSchemeAsLocal):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsNoAccess):
(WebCore::LegacySchemeRegistry::shouldTreatURLSchemeAsNoAccess):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsDisplayIsolated):
(WebCore::LegacySchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsSecure):
(WebCore::LegacySchemeRegistry::shouldTreatURLSchemeAsSecure):
(WebCore::LegacySchemeRegistry::canDisplayOnlyIfCanRequest):
(WebCore::LegacySchemeRegistry::registerAsCanDisplayOnlyIfCanRequest):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsBypassingContentSecurityPolicy):
(WebCore::LegacySchemeRegistry::removeURLSchemeRegisteredAsBypassingContentSecurityPolicy):
(WebCore::LegacySchemeRegistry::schemeShouldBypassContentSecurityPolicy):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsCachePartitioned):
(WebCore::LegacySchemeRegistry::shouldPartitionCacheForURLScheme):

  • platform/audio/mac/FFTFrameMac.cpp:

(WebCore::WTF_REQUIRES_LOCK):
(WebCore::FFTFrame::fftSetupForSize):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::WTF_REQUIRES_LOCK):
(WebCore::installedMediaEngines):
(WebCore::MediaPlayer::resetMediaEngines):

  • platform/ios/QuickLook.mm:

(WebCore::WTF_REQUIRES_LOCK):
(WebCore::removeQLPreviewConverterForURL):
(WebCore::addQLPreviewConverterWithFileForURL):

  • platform/ios/WebSQLiteDatabaseTrackerClient.mm:

(WTF_REQUIRES_LOCK):
(+[WebDatabaseTransactionBackgroundTaskController startBackgroundTask]):
(+[WebDatabaseTransactionBackgroundTaskController endBackgroundTask]):

  • platform/network/mac/UTIUtilities.mm:

(WebCore::WTF_REQUIRES_LOCK):
(WebCore::UTIFromMIMEType):

  • platform/sql/SQLiteDatabase.cpp:

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

  • platform/sql/SQLiteDatabaseTracker.cpp:

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

  • platform/text/TextEncodingRegistry.cpp:

(WebCore::WTF_REQUIRES_LOCK):
(WebCore::newTextCodec):
(WebCore::atomCanonicalTextEncodingName):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WTF_REQUIRES_LOCK):
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
(WebCore::WorkerGlobalScope::~WorkerGlobalScope):
(WebCore::WorkerGlobalScope::releaseMemoryInWorkers):

  • workers/WorkerOrWorkletThread.cpp:

(WebCore::WorkerOrWorkletThread::workerOrWorkletThreadsLock):
(WebCore::WorkerOrWorkletThread::WorkerOrWorkletThread):
(WebCore::WorkerOrWorkletThread::~WorkerOrWorkletThread):
(WebCore::WorkerOrWorkletThread::releaseFastMallocFreeMemoryInAllThreads):

  • workers/WorkerOrWorkletThread.h:

Source/WTF:

  • wtf/Threading.cpp:

(WTF::Thread::allThreadsLock):
(WTF::Thread::create):
(WTF::Thread::didExit):

  • wtf/Threading.h:
  • wtf/URL.cpp:

(WTF::WTF_REQUIRES_LOCK):
(WTF::registerDefaultPortForProtocolForTesting):
(WTF::clearDefaultPortForProtocolMapForTesting):
(WTF::defaultPortForProtocol):

  • wtf/cf/LanguageCF.cpp:

(WTF::WTF_REQUIRES_LOCK):
(WTF::platformLanguageDidChange):
(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):

1:19 PM Changeset in webkit [277879] by Brent Fulgham
  • 4 edits in trunk/Source/WebKit

[Cocoa] GPU Process should recognize that pathForProcessContainer() might fail and handle it gracefully
https://bugs.webkit.org/show_bug.cgi?id=226086
<rdar://problem/78288016>

Reviewed by Tim Horton.

The GPU Process implementation of gpuProcessCachesDirectory does not recognize that WebKit often runs without
a container (e.g., as part of a daemon process). In such cases, the GPU process will attempt to create a
cache directory someplace outside of its sandbox and fail, preventing caching from happening.

We need to use the same logic we use in the WebContent process to address this use case.

To avoid making this mistake again, let's consolidate the logic in one method, and use it in the multiple places
that have this same code.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::cacheDirectoryInContainerOrHomeDirectory): Added.
(WebKit::WebProcessPool::cookieStorageDirectory): Use the new 'cacheDirectoryInContainerOrHomeDirectory' method.
(WebKit::WebProcessPool::networkingCachesDirectory): Ditto.
(WebKit::WebProcessPool::webContentCachesDirectory): Ditto.

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::gpuProcessCachesDirectory): Ditto.

  • UIProcess/WebProcessPool.h:
1:17 PM Changeset in webkit [277878] by Fujii Hironori
  • 6 edits in trunk/Source/WebCore

ASSERTION FAILED: m_imageBufferResult->colorSpace() == m_resultColorSpace in FilterEffect::copyPremultipliedResult
https://bugs.webkit.org/show_bug.cgi?id=225907

Reviewed by Said Abou-Hallawa.

FilterEffect::copyPremultipliedResult has the assertion ensuring
m_imageBufferResult->colorSpace() matches m_resultColorSpace.
However, it happened to fail in !USE(CG) ports.

FilterEffect::transformResultColorSpace does nothing if USE(CG),
but it calls ImageBuffer::transformColorSpace otherwise.

ImageBuffer::colorSpace() and ImageBufferBackend::colorSpace()
returned the old color space after ImageBuffer::transformColorSpace.
They should return the new color space.

After fixing the above problem, an assertion in
WebCore::convertImagePixels was going to fail. It asserts no color
space conversion happens.

FEColorMatrix, FEDropShadow and
ImageBufferBackend::convertToLuminanceMask were explicitly
specifying DestinationColorSpace::SRGB to getPixelBuffer. They
shouldn't convert the color space.

  • platform/graphics/ConcreteImageBuffer.h:
  • platform/graphics/ImageBufferBackend.cpp:

(WebCore::ImageBufferBackend::convertToLuminanceMask):

  • platform/graphics/cairo/ImageBufferCairoBackend.cpp:

(WebCore::ImageBufferCairoBackend::transformColorSpace):

  • platform/graphics/filters/FEColorMatrix.cpp:

(WebCore::FEColorMatrix::platformApplySoftware):

  • platform/graphics/filters/FEDropShadow.cpp:

(WebCore::FEDropShadow::platformApplySoftware):

1:12 PM Changeset in webkit [277877] by Chris Dumez
  • 7 edits in trunk/Source

Replace more static Locks with CheckedLocks in WebKit / WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=226093

Reviewed by Darin Adler.

Replace more static Locks with CheckedLocks so that we can benefit from Clang Thread Safety Analysis.

Source/WebKit:

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):
(WebKit::WebResourceLoadStatisticsStore::suspend):
(WebKit::WebResourceLoadStatisticsStore::resume):

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
  • Platform/IPC/Connection.cpp:

(IPC::WTF_REQUIRES_LOCK):
(IPC::addAsyncReplyHandler):
(IPC::clearAsyncReplyHandlers):
(IPC::CompletionHandler<void):

  • WebProcess/Network/WebSocketStream.cpp:

(WebKit::WebSocketStream::streamWithIdentifier):
(WebKit::WebSocketStream::networkProcessCrashed):
(WebKit::WebSocketStream::WebSocketStream):
(WebKit::WebSocketStream::~WebSocketStream):

Source/WebKitLegacy/mac:

  • DOM/DOMInternal.mm:

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

12:47 PM Changeset in webkit [277876] by eric.carlson@apple.com
  • 10 edits
    2 adds in trunk

[Cocoa] Update AudioSession buffer size handling
https://bugs.webkit.org/show_bug.cgi?id=225927
rdar://76920375

Reviewed by Jer Noble.

Source/WebCore:

Previously we only set the audio session buffer size when there was an active
MediaSession. This meant that when no audio was being played or captured, the buffer
size would be left at whatever size was appropriate for the last MediaSession
stopped. This was especially bad when the last MediaSession played WebAudio
or captured audio because those require a smaller buffer size than the default,
and was made even worse when using the GPU process because it may live for much
longer than the last web process that played audio. Fix this by using the low power
buffer size when playing audio or when there is no MediaSession at all.

Add AudioBufferSize API test.

  • Modules/webaudio/AudioContext.h:

Make mediaType() return None if the context is suspended or stopped so the media
session manager won't set the buffer size for WebAudio.

  • platform/audio/cocoa/MediaSessionManagerCocoa.h:
  • platform/audio/cocoa/MediaSessionManagerCocoa.mm:

(WebCore::MediaSessionManagerCocoa::updateSessionState): Always use "low power"
buffer size when there is no WebAudio or audio capture.
(WebCore::MediaSessionManagerCocoa::addSession): Cache supported hardware buffer sizes.
(WebCore::MediaSessionManagerCocoa::audioOutputDeviceChanged): Update cached buffer
sizes.

  • testing/Internals.cpp:

(WebCore::Internals::currentAudioBufferSize const): Expose current audio session buffer
size for testing.

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

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/audio-buffer-size.html: Added.
  • TestWebKitAPI/Tests/WebKitCocoa/AudioBufferSize.mm: Added.

(TestWebKitAPI::waitForBufferSizeChange):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:

(TEST_F):

12:24 PM Changeset in webkit [277875] by Chris Dumez
  • 11 edits in trunk/Source

Use CheckedLock more in cases where we try-lock
https://bugs.webkit.org/show_bug.cgi?id=226056

Reviewed by Alex Christensen.

Use CheckedLock more in cases where we try-lock to benefit from Clang
Thread Safety Analysis.

Source/WebCore:

  • Modules/webaudio/AudioParamTimeline.cpp:

(WebCore::AudioParamTimeline::setValueAtTime):
(WebCore::AudioParamTimeline::linearRampToValueAtTime):
(WebCore::AudioParamTimeline::exponentialRampToValueAtTime):
(WebCore::AudioParamTimeline::setTargetAtTime):
(WebCore::AudioParamTimeline::setValueCurveAtTime):
(WebCore::AudioParamTimeline::cancelScheduledValues):
(WebCore::AudioParamTimeline::cancelAndHoldAtTime):
(WebCore::AudioParamTimeline::valueForContextTime):
(WebCore::AudioParamTimeline::valuesForFrameRange):
(WebCore::AudioParamTimeline::hasValues const):

  • Modules/webaudio/AudioParamTimeline.h:
  • platform/audio/AudioDestination.h:

(WebCore::AudioDestination::WTF_GUARDED_BY_LOCK):
(WebCore::AudioDestination::AudioDestination):
(WebCore::AudioDestination::clearCallback):
(WebCore::AudioDestination::callRenderCallback):

  • platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.cpp:

(WebCore::AudioMediaStreamTrackRendererUnit::addSource):
(WebCore::AudioMediaStreamTrackRendererUnit::removeSource):
(WebCore::AudioMediaStreamTrackRendererUnit::render):

  • platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.h:

Source/WebKit:

  • WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:

(WebKit::LibWebRTCCodecs::releaseDecoder):
(WebKit::LibWebRTCCodecs::registerDecodeFrameCallback):
(WebKit::LibWebRTCCodecs::completedDecoding):
(WebKit::LibWebRTCCodecs::releaseEncoder):
(WebKit::LibWebRTCCodecs::registerEncodeFrameCallback):
(WebKit::LibWebRTCCodecs::completedEncoding):

  • WebProcess/GPU/webrtc/LibWebRTCCodecs.h:

(WebKit::LibWebRTCCodecs::Decoder::WTF_GUARDED_BY_LOCK):
(WebKit::LibWebRTCCodecs::Encoder::WTF_GUARDED_BY_LOCK):

Source/WTF:

  • wtf/Logger.cpp:
  • wtf/Logger.h:

(WTF::Logger::addObserver):
(WTF::Logger::removeObserver):
(WTF::Logger::log):
(WTF::Logger::logVerbose):
(WTF::Logger::WTF_RETURNS_LOCK):

12:04 PM Changeset in webkit [277874] by pvollan@apple.com
  • 5 edits in trunk/Source

Accessibility caption styles does not always reflect the selection
https://bugs.webkit.org/show_bug.cgi?id=226084
<rdar://75426845>

Reviewed by Chris Fleizach.

Source/WebCore:

Export a soft linked constant.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/cf/MediaAccessibilitySoftLink.cpp:

Source/WebKit:

This is caused by a race between pushing the caption preference value to the WebContent process and receiving the notification in that process.
This patch addresses this by reposting the notification after having set the preference value in the WebContent process.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::captionProfilePreferenceKey):
(WebKit::dispatchSimulatedNotificationsForPreferenceChange):

11:54 AM Changeset in webkit [277873] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebKit

[Cocoa] REGRESSION(Sandbox): Font smoothing within Safari doesn't seem to respect AppleFontSmoothing
https://bugs.webkit.org/show_bug.cgi?id=226066
<rdar://problem/72795817>

Reviewed by Per Arne Vollan.

We accidentally blocked access to the relevant defaults database.

It turns out this is untestable. I can't use the actual functionality without actually setting the preference
for the whole user (and all their apps). And, I can't use sandbox_check() to make sure the file is readable
because it's in the user's home directory, so the path to check will be different for every user.

  • WebProcess/com.apple.WebProcess.sb.in:
11:24 AM Changeset in webkit [277872] by Wenson Hsieh
  • 3 edits in trunk/Source/WebKit

[iOS] Plumb element bounds when presenting QLPreviewController for image extraction
https://bugs.webkit.org/show_bug.cgi?id=226085
rdar://76020349

Reviewed by Tim Horton.

Include the previewed element's bounding rect when presenting QuickLook for image extraction. See the bug for
more details.

  • UIProcess/ios/WKActionSheetAssistant.h:
  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant handleElementActionWithType:element:needsInteraction:]):

11:11 AM Changeset in webkit [277871] by Jonathan Bedard
  • 1 edit
    83 deletes in trunk/LayoutTests

[LayoutTests] Delete unused LayoutTests/svg resources
https://bugs.webkit.org/show_bug.cgi?id=226057
<rdar://problem/78284735>

Reviewed by Alexey Proskuryakov.

  • svg/W3C-SVG-1.1/resources/SVG-1.1-monolithic-fixed.dtd: Removed.
  • svg/W3C-SVG-1.1/resources/SVGImageTest.svg: Removed.
  • svg/W3C-SVG-1.1/resources/animation-extRef-image1.svg: Removed.
  • svg/W3C-SVG-1.1/resources/animation-extRef-image2.svg: Removed.
  • svg/W3C-SVG-1.1/resources/animation-extRef-image3.svg: Removed.
  • svg/W3C-SVG-1.1/resources/bullet-small.png: Removed.
  • svg/W3C-SVG-1.1/resources/bullet-white.png: Removed.
  • svg/W3C-SVG-1.1/resources/bullet.png: Removed.
  • svg/W3C-SVG-1.1/resources/bumpMap.png: Removed.
  • svg/W3C-SVG-1.1/resources/coords-units-01-f.png: Removed.
  • svg/W3C-SVG-1.1/resources/coords-units-01-f.svg: Removed.
  • svg/W3C-SVG-1.1/resources/diagarrow.png: Removed.
  • svg/W3C-SVG-1.1/resources/fillChangeColor.ICM: Removed.
  • svg/W3C-SVG-1.1/resources/filters-composite-01-f.svg: Removed.
  • svg/W3C-SVG-1.1/resources/gam030b.png: Removed.
  • svg/W3C-SVG-1.1/resources/gam045b.png: Removed.
  • svg/W3C-SVG-1.1/resources/gam056b.png: Removed.
  • svg/W3C-SVG-1.1/resources/gam100b.png: Removed.
  • svg/W3C-SVG-1.1/resources/gam200b.png: Removed.
  • svg/W3C-SVG-1.1/resources/greentopbutton.jpg: Removed.
  • svg/W3C-SVG-1.1/resources/image1.png: Removed.
  • svg/W3C-SVG-1.1/resources/image1_b.png: Removed.
  • svg/W3C-SVG-1.1/resources/image2_b.jpg: Removed.
  • svg/W3C-SVG-1.1/resources/image2_b.png: Removed.
  • svg/W3C-SVG-1.1/resources/leftarrow.png: Removed.
  • svg/W3C-SVG-1.1/resources/linking-uri-01-f-1st.png: Removed.
  • svg/W3C-SVG-1.1/resources/linking-uri-01-f-2nd.png: Removed.
  • svg/W3C-SVG-1.1/resources/linking-uri-01-f-3rd.png: Removed.
  • svg/W3C-SVG-1.1/resources/linking-uri-01-f-4th.png: Removed.
  • svg/W3C-SVG-1.1/resources/linking-uri-01-f-start.png: Removed.
  • svg/W3C-SVG-1.1/resources/linking-uri-03-f-1st.png: Removed.
  • svg/W3C-SVG-1.1/resources/linking-uri-03-f-start.png: Removed.
  • svg/W3C-SVG-1.1/resources/makealpha.svg: Removed.
  • svg/W3C-SVG-1.1/resources/myimage.jpg: Removed.
  • svg/W3C-SVG-1.1/resources/nav_bullet.png: Removed.
  • svg/W3C-SVG-1.1/resources/nav_down.png: Removed.
  • svg/W3C-SVG-1.1/resources/nav_downleft.png: Removed.
  • svg/W3C-SVG-1.1/resources/nav_downright.png: Removed.
  • svg/W3C-SVG-1.1/resources/nav_frame.png: Removed.
  • svg/W3C-SVG-1.1/resources/nav_left.png: Removed.
  • svg/W3C-SVG-1.1/resources/nav_noframe.png: Removed.
  • svg/W3C-SVG-1.1/resources/nav_right.png: Removed.
  • svg/W3C-SVG-1.1/resources/nav_svg.png: Removed.
  • svg/W3C-SVG-1.1/resources/nav_up.png: Removed.
  • svg/W3C-SVG-1.1/resources/nav_upleft.png: Removed.
  • svg/W3C-SVG-1.1/resources/nav_upright.png: Removed.
  • svg/W3C-SVG-1.1/resources/old-name-2-new-name1.html: Removed.
  • svg/W3C-SVG-1.1/resources/paths-data-01-f.png: Removed.
  • svg/W3C-SVG-1.1/resources/paths-data-01-f.svg: Removed.
  • svg/W3C-SVG-1.1/resources/paths-data-02-f.png: Removed.
  • svg/W3C-SVG-1.1/resources/paths-data-02-f.svg: Removed.
  • svg/W3C-SVG-1.1/resources/paths-data-03-f.png: Removed.
  • svg/W3C-SVG-1.1/resources/paths-data-04-f.png: Removed.
  • svg/W3C-SVG-1.1/resources/paths-data-04-f.svg: Removed.
  • svg/W3C-SVG-1.1/resources/plant.jpg: Removed.
  • svg/W3C-SVG-1.1/resources/rects_b.svg: Removed.
  • svg/W3C-SVG-1.1/resources/rightarrow.png: Removed.
  • svg/W3C-SVG-1.1/resources/shapes-ellipse-01-b.svg: Removed.
  • svg/W3C-SVG-1.1/resources/shapes-ellipse-01-f.png: Removed.
  • svg/W3C-SVG-1.1/resources/shapes-ellipse-01-f.svg: Removed.
  • svg/W3C-SVG-1.1/resources/shapes-rect-01-b.svg: Removed.
  • svg/W3C-SVG-1.1/resources/shapes-rect-01-f.png: Removed.
  • svg/W3C-SVG-1.1/resources/shapes-rect-01-f.svg: Removed.
  • svg/W3C-SVG-1.1/resources/struct-frag-01-B.svg: Removed.
  • svg/W3C-SVG-1.1/resources/struct-image-02.png: Removed.
  • svg/W3C-SVG-1.1/resources/svgRef4.css: Removed.
  • svg/W3C-SVG-1.1/resources/svgRef4.svg: Removed.
  • svg/W3C-SVG-1.1/resources/text-align-01-f.svg: Removed.
  • svg/W3C-SVG-1.1/resources/text-align-03-f.svg: Removed.
  • svg/W3C-SVG-1.1/resources/text-tref-01-f.svg: Removed.
  • svg/W3C-SVG-1.1/resources/text-ws-01-f.svg: Removed.
  • svg/W3C-SVG-1.1/resources/toc-sv.svg: Removed.
  • svg/W3C-SVG-1.1/resources/toc-svcmp.svg: Removed.
  • svg/W3C-SVG-1.1/resources/uparrow.png: Removed.
  • svg/as-image/resources/circle-nosize.svg: Removed.
  • svg/custom/resources/object-sizing-height-50p.svg: Removed.
  • svg/custom/resources/object-sizing-width-50p-height-50p.svg: Removed.
  • svg/custom/resources/object-sizing-width-50p-height-75p.svg: Removed.
  • svg/custom/resources/object-sizing-width-50p.svg: Removed.
  • svg/custom/resources/object-sizing-width-75p-height-50p.svg: Removed.
  • svg/dom/SVGScriptElement/resources/script-load2.js: Removed.
  • svg/dom/SVGScriptElement/resources/script-load3.js: Removed.
  • svg/dom/SVGScriptElement/resources/script-load4.js: Removed.
10:48 AM Changeset in webkit [277870] by Russell Epstein
  • 1 copy in tags/Safari-611.2.7.1.6

Tag Safari-611.2.7.1.6.

10:44 AM Changeset in webkit [277869] by Russell Epstein
  • 8 edits in branches/safari-611.2.7.1-branch/Source

Versioning.

WebKit-7611.2.7.1.6

10:16 AM Changeset in webkit [277868] by commit-queue@webkit.org
  • 4 edits in trunk

grid track size should reject unitless length
https://bugs.webkit.org/show_bug.cgi?id=189137

Patch by Rob Buis <rbuis@igalia.com> on 2021-05-21
Reviewed by Sergio Villar Senin.

LayoutTests/imported/w3c:

Update improved test result.

  • web-platform-tests/quirks/unitless-length/excluded-properties-001-expected.txt:

Source/WebCore:

Reject unitless length's for grid track sizes in quirks mode.

Behavior matches Chrome and Firefox.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeGridBreadth):

10:07 AM Changeset in webkit [277867] by jer.noble@apple.com
  • 3 edits
    4 adds in trunk

[Cocoa] Last few seconds of 'audio/webm; codecs=vorbis' appended to a SampleBuffer are not played
https://bugs.webkit.org/show_bug.cgi?id=226069
<rdar://78004793>

Reviewed by Eric Carlson.

Source/WebCore:

Test: platform/mac-bigsur/media/media-source/media-vorbis-partial.html

When parsing samples from a WebM file, the samples emitted by the parser can be very short in
duration, which is ineffecient both in storage costs in our SampleMap, as well as in decoding
CPU costs, as each sample must be fed into the decoder separately. So the parser will group
together these small samples into a larger "meta sample" with a duration no shorter than 2s.

However, at the end of a file, no more sample data will be appended, up to 2s of audio data
will not be emitted from the parser.

At the end of an append, always flush audio track data to ensure that all parsed samples are
emitted, regardless of their collective duration.

  • platform/graphics/cocoa/SourceBufferParserWebM.cpp:

(WebCore::SourceBufferParserWebM::appendData):

LayoutTests:

  • platform/mac-bigsur/media/media-source/content/test-vorbis-manifest.json: Added.
  • platform/mac-bigsur/media/media-source/content/test-vorbis.webm: Added.
  • platform/mac-bigsur/media/media-source/media-vorbis-partial-expected.txt: Added.
  • platform/mac-bigsur/media/media-source/media-vorbis-partial.html: Added.
10:03 AM Changeset in webkit [277866] by Russell Epstein
  • 2 edits in branches/safari-612.1.15.0-branch/Source/WebKit

Cherry-pick r277791. rdar://problem/78313265

[iOS] Add missing method in sandbox IOKit filter
https://bugs.webkit.org/show_bug.cgi?id=225975
<rdar://78212330>

Reviewed by Brent Fulgham.

Add missing method in IOSurfaceRootUserClient filter on iOS.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277791 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:41 AM Changeset in webkit [277865] by Kate Cheney
  • 8 edits
    8 adds in trunk

FrameLoader::loadURL, FrameLoader::loadPostRequest not attributing requests as app bound
https://bugs.webkit.org/show_bug.cgi?id=225923
<rdar://problem/78160933>

Reviewed by Alex Christensen.

Source/WebCore:

Tests: http/tests/in-app-browser-privacy/app-bound-attribution-load-url.html

http/tests/in-app-browser-privacy/app-bound-attribution-ping-load.html
http/tests/in-app-browser-privacy/app-bound-attribution-post-request.html

Update FrameLoader::addExtraFieldsToRequest to add the app-bound
value to a request, like for loadURL, loadPostRequest, or ping loads.
Change the name to reflect this use case, which updates the request
but does not add any extra header fields.

Other cases are already covered in WebLoaderStrategy::loadResource.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
The main navigation uses the old document loader, so we don't want to
set the app-bound value based on that. The request should have the
correct value already from the UIProcess.
(WebCore::FrameLoader::updateRequestAndAddExtraFields):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::loadResourceSynchronously):
We can remove setting the app bound value here now that we set the value in
addExtraFieldsToRequest.
(WebCore::FrameLoader::loadDifferentDocumentItem):
(WebCore::FrameLoader::addExtraFieldsToRequest): Deleted.

  • loader/FrameLoader.h:
  • loader/PingLoader.cpp:

(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
(WebCore::PingLoader::sendViolationReport):

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::init):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::load):

LayoutTests:

  • http/tests/in-app-browser-privacy/app-bound-attribution-load-url-expected.txt: Added.
  • http/tests/in-app-browser-privacy/app-bound-attribution-load-url.html: Added.
  • http/tests/in-app-browser-privacy/app-bound-attribution-ping-load-expected.txt: Added.
  • http/tests/in-app-browser-privacy/app-bound-attribution-ping-load.html: Added.
  • http/tests/in-app-browser-privacy/app-bound-attribution-post-request-expected.txt: Added.
  • http/tests/in-app-browser-privacy/app-bound-attribution-post-request.html: Added.
  • http/tests/in-app-browser-privacy/resources/post.py: Added.
  • http/tests/navigation/resources/check-ping-app-bound-data.py: Added.
  • platform/ios-wk2/TestExpectations:

These tests rely on internal additions, so I will skip it here and
unskip in the future.

9:39 AM Changeset in webkit [277864] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Add some logging for the 'FetchEvent is destroyed' case
https://bugs.webkit.org/show_bug.cgi?id=226071

Reviewed by Kate Cheney.

  • workers/service/FetchEvent.cpp:

(WebCore::FetchEvent::~FetchEvent):

9:26 AM Changeset in webkit [277863] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.0-branch/Source

Versioning.

WebKit-7612.1.15.0.4

8:55 AM Changeset in webkit [277862] by imanol
  • 7 edits in trunk

Fix use after move bug in WebXRSession
https://bugs.webkit.org/show_bug.cgi?id=226074

Reviewed by Sergio Villar Senin.

Source/WebCore:

This patch fixes FrameData usage after move in WebXRSession, a regression from bug 226074.
It also removes an unneeded FrameData copy into WebXRFrame.

Tested by WebXR WPT.

  • Modules/webxr/WebXRFrame.cpp: Use frameData from session instead of holding an extra copy

(WebCore::WebXRFrame::populatePose):
(WebCore::WebXRFrame::getViewerPose):

  • Modules/webxr/WebXRFrame.h: Remove setFrameData and m_data.

(WebCore::WebXRFrame::setTime):

  • Modules/webxr/WebXRSession.cpp: Fix usage after move.

(WebCore::WebXRSession::onFrame):

  • platform/xr/PlatformXR.h:

(PlatformXR::Device::FrameData::copy const): Add missing members in the copy function.

LayoutTests:

Update WebXR test expectations.

  • platform/wpe/TestExpectations:
7:54 AM Changeset in webkit [277861] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Function paintRenderingResultsToCanvas expects a reference, not a
pointer. Fixed the compile error.
https://bugs.webkit.org/show_bug.cgi?id=226073

Patch by Eleni Maria Stea <hikiko> on 2021-05-21
Reviewed by Adrian Perez de Castro.

  • platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp:

(Nicosia::GCGLLayer::swapBuffersIfNeeded):

7:50 AM Changeset in webkit [277860] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fixed unreached end of function compiler warning in DataURLDecoder.
https://bugs.webkit.org/show_bug.cgi?id=226079

Patch by Eleni Maria Stea <hikiko> on 2021-05-21
Reviewed by Adrian Perez de Castro.

  • platform/network/DataURLDecoder.cpp:

(WebCore::DataURLDecoder::decodeBase64):

7:21 AM Changeset in webkit [277859] by Jonathan Bedard
  • 1 edit
    251 deletes in trunk/LayoutTests

[LayoutTests] Delete unused imported/blink resources
https://bugs.webkit.org/show_bug.cgi?id=226047
<rdar://problem/78280660>

Reviewed by Dewei Zhu.

  • imported/blink/compositing/iframes/resources/subframe-with-fixed-position-element.html: Removed.
  • imported/blink/compositing/layer-creation/resources: Removed.
  • imported/blink/compositing/overflow/resources: Removed.
  • imported/blink/css3/blending/resources: Removed.
  • imported/blink/editing/execCommand/resources: Removed.
  • imported/blink/editing/selection/resources: Removed.
  • imported/blink/fast/canvas/resources: Removed.
  • imported/blink/fast/css/resources/ahem.html: Removed.
  • imported/blink/fast/css/resources/circle-small.svg: Removed.
  • imported/blink/fast/css/resources/font-face-local-file-frame.html: Removed.
  • imported/blink/fast/css/resources/media-query-with-cached-sheet-next.html: Removed.
  • imported/blink/fast/css/resources/resize-corner-tracking-touch-iframe.html: Removed.
  • imported/blink/fast/dom/HTMLDialogElement/resources: Removed.
  • imported/blink/fast/dom/HTMLImageElement/resources: Removed.
  • imported/blink/fast/dom/Range/resources: Removed.
  • imported/blink/fast/dom/Window/resources: Removed.
  • imported/blink/fast/dom/custom/resources: Removed.
  • imported/blink/fast/dom/shadow/resources: Removed.
  • imported/blink/fast/events/resources: Removed.
  • imported/blink/fast/events/touch/gesture/resources: Removed.
  • imported/blink/fast/events/touch/resources: Removed.
  • imported/blink/fast/forms/date-multiple-fields/resources: Removed.
  • imported/blink/fast/forms/datetimelocal-multiple-fields/resources: Removed.
  • imported/blink/fast/forms/month-multiple-fields/resources: Removed.
  • imported/blink/fast/forms/resources/popup-no-crash.html: Removed.
  • imported/blink/fast/forms/time-multiple-fields/resources: Removed.
  • imported/blink/fast/forms/week-multiple-fields/resources: Removed.
  • imported/blink/fast/frames/resources/detach-frame-nested-subframe.html: Removed.
  • imported/blink/fast/frames/resources/frame-set-location-badstring.html: Removed.
  • imported/blink/fast/html/imports/resources/async-child.html: Removed.
  • imported/blink/fast/html/imports/resources/async-root-child-1.html: Removed.
  • imported/blink/fast/html/imports/resources/async-root-child-2.html: Removed.
  • imported/blink/fast/html/imports/resources/async-root.html: Removed.
  • imported/blink/fast/html/imports/resources/child-frame-with-import.html: Removed.
  • imported/blink/fast/html/imports/resources/custom-element-hello-1.html: Removed.
  • imported/blink/fast/html/imports/resources/custom-element-hello-2.html: Removed.
  • imported/blink/fast/html/imports/resources/custom-element-hello-3.html: Removed.
  • imported/blink/fast/html/imports/resources/custom-element-hello-4.html: Removed.
  • imported/blink/fast/html/imports/resources/custom-element-hello-5.html: Removed.
  • imported/blink/fast/html/imports/resources/custom-element-hello-6.html: Removed.
  • imported/blink/fast/html/imports/resources/custom-element-hello-7.html: Removed.
  • imported/blink/fast/html/imports/resources/custom-element-hello-8.html: Removed.
  • imported/blink/fast/html/imports/resources/custom-element-hello-parent-12.html: Removed.
  • imported/blink/fast/html/imports/resources/custom-element-hello-parent-34.html: Removed.
  • imported/blink/fast/html/imports/resources/custom-element-hello-parent-56.html: Removed.
  • imported/blink/fast/html/imports/resources/custom-element-hello.html: Removed.
  • imported/blink/fast/html/imports/resources/custom-element-style.html: Removed.
  • imported/blink/fast/html/imports/resources/cycle-two-parents-2-b.html: Removed.
  • imported/blink/fast/html/imports/resources/cycle-two-parents-3-a.html: Removed.
  • imported/blink/fast/html/imports/resources/do-document-write.html: Removed.
  • imported/blink/fast/html/imports/resources/events-inline.html: Removed.
  • imported/blink/fast/html/imports/resources/hello-css.html: Removed.
  • imported/blink/fast/html/imports/resources/hello-legacy.html: Removed.
  • imported/blink/fast/html/imports/resources/hello-nodtd.html: Removed.
  • imported/blink/fast/html/imports/resources/import-custom-element-onload-child.html: Removed.
  • imported/blink/fast/html/imports/resources/import-custom-element-onload-grandchild.html: Removed.
  • imported/blink/fast/html/imports/resources/import-events-target.html: Removed.
  • imported/blink/fast/html/imports/resources/import-link-with-media-query.html: Removed.
  • imported/blink/fast/html/imports/resources/meta-encoding.html: Removed.
  • imported/blink/fast/html/imports/resources/nest-dup-2-parent.html: Removed.
  • imported/blink/fast/html/imports/resources/nest-dup-2.html: Removed.
  • imported/blink/fast/html/imports/resources/nest-dup-child.html: Removed.
  • imported/blink/fast/html/imports/resources/nest-dup-grand-parent.html: Removed.
  • imported/blink/fast/html/imports/resources/nest-dup-parent.html: Removed.
  • imported/blink/fast/html/imports/resources/nest-dup.html: Removed.
  • imported/blink/fast/html/imports/resources/no-encoding.html: Removed.
  • imported/blink/fast/html/imports/resources/nr1-i0.html: Removed.
  • imported/blink/fast/html/imports/resources/nr1-i1.html: Removed.
  • imported/blink/fast/html/imports/resources/nr1-i2.html: Removed.
  • imported/blink/fast/html/imports/resources/nr1-i3.html: Removed.
  • imported/blink/fast/html/imports/resources/nr1-i4.html: Removed.
  • imported/blink/fast/html/imports/resources/nr1-i5.html: Removed.
  • imported/blink/fast/html/imports/resources/nr2-i0.html: Removed.
  • imported/blink/fast/html/imports/resources/nr2-i1.html: Removed.
  • imported/blink/fast/html/imports/resources/nr2-i2.html: Removed.
  • imported/blink/fast/html/imports/resources/nr2-i3.html: Removed.
  • imported/blink/fast/html/imports/resources/nr2-i4.html: Removed.
  • imported/blink/fast/html/imports/resources/nr2-i5.html: Removed.
  • imported/blink/fast/html/imports/resources/nr2-i6.html: Removed.
  • imported/blink/fast/html/imports/resources/nr2-i7.html: Removed.
  • imported/blink/fast/html/imports/resources/nr3-i6.html: Removed.
  • imported/blink/fast/html/imports/resources/nr3-i7.html: Removed.
  • imported/blink/fast/html/imports/resources/nr4-i0.html: Removed.
  • imported/blink/fast/html/imports/resources/nr4-i1.html: Removed.
  • imported/blink/fast/html/imports/resources/nr4-i2.html: Removed.
  • imported/blink/fast/html/imports/resources/nr4-i3.html: Removed.
  • imported/blink/fast/html/imports/resources/nr4-i4.html: Removed.
  • imported/blink/fast/html/imports/resources/nr4-i5.html: Removed.
  • imported/blink/fast/html/imports/resources/nr4-i6.html: Removed.
  • imported/blink/fast/html/imports/resources/nr4-i7.html: Removed.
  • imported/blink/fast/html/imports/resources/nr4-i8.html: Removed.
  • imported/blink/fast/html/imports/resources/nr4-i9.html: Removed.
  • imported/blink/fast/html/imports/resources/nr4-ia.html: Removed.
  • imported/blink/fast/html/imports/resources/nr5-i9.html: Removed.
  • imported/blink/fast/html/imports/resources/nr5-ia.html: Removed.
  • imported/blink/fast/html/imports/resources/onload-root.html: Removed.
  • imported/blink/fast/html/imports/resources/script-document-write.html: Removed.
  • imported/blink/fast/html/imports/resources/script-leaf.html: Removed.
  • imported/blink/fast/html/imports/resources/script-prototype-test.html: Removed.
  • imported/blink/fast/html/imports/resources/setting-greet-var.html: Removed.
  • imported/blink/fast/html/imports/resources/shared-crash-child.html: Removed.
  • imported/blink/fast/html/imports/resources/shared-crash-dup.html: Removed.
  • imported/blink/fast/html/imports/resources/shared-crash-grandchild.html: Removed.
  • imported/blink/fast/html/imports/resources/shared-crash-root.html: Removed.
  • imported/blink/fast/html/imports/resources/style-basic-child-dynamic.html: Removed.
  • imported/blink/fast/html/imports/resources/style-basic-child.html: Removed.
  • imported/blink/fast/html/imports/resources/style-basic-grandchild.html: Removed.
  • imported/blink/fast/html/imports/resources/style-blue.html: Removed.
  • imported/blink/fast/html/imports/resources/style-link-block-child.html: Removed.
  • imported/blink/fast/html/imports/resources/style-link-child.html: Removed.
  • imported/blink/fast/html/imports/resources/style-link-grandchild.html: Removed.
  • imported/blink/fast/html/imports/resources/style-red-parent.html: Removed.
  • imported/blink/fast/html/imports/resources/style-red.html: Removed.
  • imported/blink/fast/html/imports/resources/style-target-blue.html: Removed.
  • imported/blink/fast/html/imports/resources/style-tree-order-dynamic-following.html: Removed.
  • imported/blink/fast/html/imports/resources/style-tree-order-dynamic-leading.html: Removed.
  • imported/blink/fast/html/imports/resources/style-tree-order-hide-import-green.html: Removed.
  • imported/blink/fast/html/imports/resources/style-tree-order-hide-import-red.html: Removed.
  • imported/blink/fast/html/imports/resources/style-tree-order-hide-link.html: Removed.
  • imported/blink/fast/html/imports/resources/style-tree-order-hide-shared.html: Removed.
  • imported/blink/fast/html/imports/resources/style-tree-order-hide-style.html: Removed.
  • imported/blink/fast/html/imports/resources/style-tree-order-hide-subimport-green.html: Removed.
  • imported/blink/fast/html/imports/resources/style-tree-order-hide-subimport-red.html: Removed.
  • imported/blink/fast/html/imports/resources/style-tree-order-hide-subimport.html: Removed.
  • imported/blink/fast/html/resources: Removed.
  • imported/blink/fast/images/resources: Removed.
  • imported/blink/fast/loader/resources/javascript-detached-frame-iframe.html: Removed.
  • imported/blink/fast/multicol/resources: Removed.
  • imported/blink/fast/parser/resources: Removed.
  • imported/blink/fast/repaint/resources: Removed.
  • imported/blink/fast/workers/resources: Removed.
  • imported/blink/fast/xsl/resources: Removed.
  • imported/blink/fullscreen/resources: Removed.
  • imported/blink/http/tests/css/resources/cors-ahem.php: Removed.
  • imported/blink/http/tests/css/resources/delayedCircle.php: Removed.
  • imported/blink/http/tests/css/resources/performance-info-with-cached-sheet-next.html: Removed.
  • imported/blink/http/tests/css/resources/referrer-check.php: Removed.
  • imported/blink/http/tests/history/resources/frameset-dest.html: Removed.
  • imported/blink/http/tests/history/resources/push-state-in-grandchild-child.html: Removed.
  • imported/blink/http/tests/history/resources/push-state-in-grandchild-grandchild.html: Removed.
  • imported/blink/http/tests/misc/resources/form-post-success.html: Removed.
  • imported/blink/http/tests/misc/resources/frame-with-form-action-using-replace-child.html: Removed.
  • imported/blink/http/tests/misc/resources/generatedimage.php: Removed.
  • imported/blink/http/tests/misc/resources/iframe-accept-ch.php: Removed.
  • imported/blink/http/tests/misc/resources/image-checks-for-dpr.php: Removed.
  • imported/blink/http/tests/misc/resources/image-checks-for-viewport-width.php: Removed.
  • imported/blink/http/tests/misc/resources/image-checks-for-width.php: Removed.
  • imported/blink/http/tests/misc/resources/image-slow-out-of-viewport.pl: Removed.
  • imported/blink/http/tests/misc/resources/nearly-empty-content-disposition.php: Removed.
  • imported/blink/http/tests/misc/resources/reentrant-beforeunload-helper.html: Removed.
  • imported/blink/http/tests/misc/resources/slow-frame-with-image.php: Removed.
  • imported/blink/http/tests/misc/resources/webtiming-cross-origin-and-back-redirect3.php: Removed.
  • imported/blink/http/tests/plugins/resources: Removed.
  • imported/blink/http/tests/resources/accept-ch.php: Removed.
  • imported/blink/http/tests/resources/dpr.php: Removed.
  • imported/blink/http/tests/resources/iframe-no-accept-ch.php: Removed.
  • imported/blink/http/tests/resources/no-last-modified.php: Removed.
  • imported/blink/http/tests/resources/slow-image-dimensions.php: Removed.
  • imported/blink/http/tests/resources/testharness-helpers.js: Removed.
  • imported/blink/http/tests/resources/testharness.css: Removed.
  • imported/blink/http/tests/resources/tripmine.php: Removed.
  • imported/blink/http/tests/security/contentSecurityPolicy/resources: Removed.
  • imported/blink/http/tests/security/mixedContent/resources: Removed.
  • imported/blink/http/tests/security/mixedContent/websocket/resources: Removed.
  • imported/blink/http/tests/security/resources/conditional-cors.php: Removed.
  • imported/blink/http/tests/security/resources/cors-font.php: Removed.
  • imported/blink/http/tests/security/resources/cors-hello.php: Removed.
  • imported/blink/http/tests/security/resources/cors-redir.php: Removed.
  • imported/blink/http/tests/security/resources/cors-redirect.php: Removed.
  • imported/blink/http/tests/security/resources/cors-style.php: Removed.
  • imported/blink/http/tests/security/resources/cross-origin-iframe-for-shared-worker.html: Removed.
  • imported/blink/http/tests/security/resources/doc-with-iframe.html: Removed.
  • imported/blink/http/tests/security/resources/echo-referrer-header.php: Removed.
  • imported/blink/http/tests/security/resources/green-background-allow-credentials-import.php: Removed.
  • imported/blink/http/tests/security/resources/green-background-allow-credentials.php: Removed.
  • imported/blink/http/tests/security/resources/green-background-allow-star-import.php: Removed.
  • imported/blink/http/tests/security/resources/green-background-allow-star.php: Removed.
  • imported/blink/http/tests/security/resources/green-if-cors-anonymous.php: Removed.
  • imported/blink/http/tests/security/resources/green-if-cors-credentialed.php: Removed.
  • imported/blink/http/tests/security/resources/iframe-crossorigin-script.html: Removed.
  • imported/blink/http/tests/security/resources/iframe-for-naked-global-object.html: Removed.
  • imported/blink/http/tests/security/resources/iframe-for-storage-blocking-changed-shared-worker.html: Removed.
  • imported/blink/http/tests/security/resources/image-wrapper-with-no-image.svg: Removed.
  • imported/blink/http/tests/security/resources/img-basic-auth.php: Removed.
  • imported/blink/http/tests/security/resources/post-origin-to-opener.html: Removed.
  • imported/blink/http/tests/security/resources/postmessage-document-origin.html: Removed.
  • imported/blink/http/tests/security/resources/redir.php: Removed.
  • imported/blink/http/tests/security/resources/referrer-attr-anchor-noreferrer-target.html: Removed.
  • imported/blink/http/tests/security/resources/referrer-attr-anchor-target.html: Removed.
  • imported/blink/http/tests/security/resources/referrer-on-client-redirect.html: Removed.
  • imported/blink/http/tests/security/resources/referrer-policy-conflicting-policies.html: Removed.
  • imported/blink/http/tests/security/resources/referrer-policy-script.php: Removed.
  • imported/blink/http/tests/security/resources/referrer-policy-start-crossorigin.html: Removed.
  • imported/blink/http/tests/security/resources/script-allow-credentials.php: Removed.
  • imported/blink/http/tests/security/resources/script-allow-star.php: Removed.
  • imported/blink/http/tests/security/resources/webaudio: Removed.
  • imported/blink/http/tests/security/resources/xorigincss7.html: Removed.
  • imported/blink/http/tests/svg/resources/delayCachedLoadScript.php: Removed.
  • imported/blink/http/tests/webfont/resources: Removed.
  • imported/blink/http/tests/websocket/resources: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/access-control-basic-post-success-no-content-type.php: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/access-control-preflight-request-header-sorted.php: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/access-control-preflight-request-headers-origin.php: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/access-control-preflight-request-invalid-status.php: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/access-control-preflight-request-must-not-contain-cookie.php: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/access-control-sandboxed-iframe-allow-origin-null-iframe.html: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/echo-random.php: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/echo-request-origin.php: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/frame-with-insecure-xhr.html: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/invalid-utf8-json.pl: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/json-response-overflow.php: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/multiple-send.html: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/navigation-abort-detaches-frame-subframe.html: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/noscript-check.html: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/post-echo.php: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/redirect-cors-origin-null-pass.php: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/redirect-cors-origin-null.php: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/redirect-loop.php: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/request-encoding4-doc.html: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/xmlhttprequest-in-unload-sync.html: Removed.
  • imported/blink/http/tests/xmlhttprequest/resources/xmlhttprequest-no-content-type-with-text.php: Removed.
  • imported/blink/http/tests/xmlhttprequest/workers/resources: Removed.
  • imported/blink/imported/web-platform-tests/screen-orientation/resources: Removed.
  • imported/blink/imported/web-platform-tests/shadow-dom/resources: Removed.
  • imported/blink/imported/web-platform-tests/webstorage/resources: Removed.
  • imported/blink/plugins/resources/empty2.html: Removed.
  • imported/blink/resources: Removed.
  • imported/blink/scrollbars/resources: Removed.
  • imported/blink/svg/animations/resources/animate-fill-freeze-with-repeatDur.svg: Removed.
  • imported/blink/svg/animations/resources/animate-no-matching-end-value.svg: Removed.
  • imported/blink/svg/animations/resources/animateMotion-fill-freeze.svg: Removed.
  • imported/blink/svg/animations/resources/animateMotion-fill-remove.svg: Removed.
  • imported/blink/svg/animations/resources/animateMotion-multiple.svg: Removed.
  • imported/blink/svg/animations/resources/animation-policy.svg: Removed.
  • imported/blink/svg/animations/resources/cyclic-syncbase.svg: Removed.
  • imported/blink/svg/animations/resources/discard-on-discard.svg: Removed.
  • imported/blink/svg/animations/resources/repeatn-remove-add-animation.svg: Removed.
  • imported/blink/svg/animations/resources/viewspec-checkaspectparams.svg: Removed.
  • imported/blink/svg/as-background-image/resources: Removed.
  • imported/blink/svg/as-image/resources/actually-xhtml-with-media.svg: Removed.
  • imported/blink/svg/as-image/resources/animated-rect-color.svg: Removed.
  • imported/blink/svg/as-image/resources/animated-visited-link.svg: Removed.
  • imported/blink/svg/as-image/resources/circle-200px-none.svg: Removed.
  • imported/blink/svg/as-image/resources/css-animation.svg: Removed.
  • imported/blink/svg/as-image/resources/default-font-settings.svg: Removed.
  • imported/blink/svg/as-image/resources/image-with-data-uri.svg: Removed.
  • imported/blink/svg/as-image/resources/image-with-svg-data-uri.svg: Removed.
  • imported/blink/svg/as-image/resources/svg-with-image-with-link.svg: Removed.
  • imported/blink/svg/custom/resources/draw-image-crash.svg: Removed.
  • imported/blink/svg/dom/resources/import-other-svg.svg: Removed.
  • imported/blink/svg/dom/resources/svg-with-animate-use.svg: Removed.
  • imported/blink/svg/dom/resources/svg-with-animate.svg: Removed.
7:17 AM WebKitGTK/2.32.x edited by Adrian Perez de Castro
(diff)
6:52 AM Changeset in webkit [277858] by Adrian Perez de Castro
  • 50 edits in trunk/Source

Non-unified build fixes, late-ish May 2021 edition
https://bugs.webkit.org/show_bug.cgi?id=225990

Unreviewed non-unified build fixes.

Source/JavaScriptCore:

  • jit/CCallHelpers.cpp: Add missing LinkBuffer.h header.

Source/WebCore:

No new tests needed.

  • Modules/indexeddb/server/MemoryObjectStore.cpp: Add missing pal/SessioID.h header.
  • Modules/webaudio/OfflineAudioContext.cpp: Add missing OfflineAudioCompletionEvent.h header.
  • Modules/webaudio/OfflineAudioContext.h: Add missing wtf/UniqueRef.h header.
  • Modules/websockets/WebSocketDeflateFramer.h: Add missing WebSocketExtensionProcessor.h

header, remove wtf/text/WTFString.h as it is already included by the former.

  • bindings/js/JSDOMConvertEnumeration.h: Add missing JSDOMGlobalObject.h header.
  • contentextensions/DFANode.cpp: Add missing wtf/HashMap.h header.
  • html/HTMLFrameElement.cpp: Add missing HTMLParserIdioms.h header.
  • html/HTMLHRElement.cpp: Ditto.
  • html/HTMLIFrameElement.cpp: Ditto.
  • html/HTMLLIElement.cpp: Ditto.
  • html/HTMLMetaElement.cpp: Add missing HTMLParserIdioms.h, Frame.h, and FrameView.h headers.
  • html/HTMLOutputElement.cpp:

(WebCore::HTMLOutputElement::parseAttribute): Add missing HTMLNames:: namespace prefix in
usage of HTMLNames::forAttr.
(WebCore::HTMLOutputElement::htmlFor): Ditto.

  • html/OffscreenCanvas.cpp: Add missing RuntimeEnabledFeatures.h header.
  • layout/formattingContexts/FormattingGeometry.cpp: Add missing FormattingQuirks.h header.
  • layout/formattingContexts/FormattingQuirks.cpp: Add missing FormattingGeometry.h header.
  • layout/formattingContexts/block/BlockFormattingGeometry.cpp: Add missing

BlockFormattingContext.h, BlockFormattingQuirks.h, and BlockMarginCollapse.h headers;
remove unneeded BlockFormattingState.h and FormattingContext.h headers.

  • layout/formattingContexts/block/BlockFormattingGeometry.h: Add missing forward

declaration for BlockFormattingContext.

  • layout/formattingContexts/block/BlockFormattingQuirks.cpp: Add missing

BlockFormattingContext.h and BlockMarginCollapse.h headers, remove unneeded
BlockFormattingState.h header.

  • layout/formattingContexts/block/PrecomputedBlockMarginCollapse.cpp: Add missing

BlockFormattingContext.h and BlockFormattingQuirks.h headers, remove unneeded
BlockFormattingState.h header.

  • layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingContext.cpp:

Add missing BlockMarginCollapse.h header.

  • layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingQuirks.cpp:

Add missing TableWrapperBlockFormattingContext.h header.

  • layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingQuirks.h:

Add missing forward declaration for TableWrapperBlockFormattingContext.

  • layout/formattingContexts/flex/FlexFormattingGeometry.cpp: Add missing

FlexFormattingContext.h header, remove unneeded FlexFormattingState.h and
FormattingContext.h headers.

  • layout/formattingContexts/flex/FlexFormattingGeometry.h: Add missing forward declaration

for FlexFormattingContext.

  • layout/formattingContexts/inline/InlineFormattingGeometry.cpp: Add missing

InlineFormattingContext.h header, remove unneeded InlineLineBox.h header.

  • layout/formattingContexts/inline/InlineFormattingGeometry.h: Add missing InlineLineBox.h

and InlineLineBuilder.h headers, add missing forward declaration for
InlineFormattingContext.

  • layout/formattingContexts/inline/InlineFormattingQuirks.cpp: Add missing

InlineFormattingContext.h header.

  • layout/formattingContexts/inline/InlineFormattingQuirks.h: Add missing InlineLineBox.h

header, add missing forward declaration for InlineFormattingContext.

  • layout/formattingContexts/inline/InlineLineBuilder.cpp: Add missing

InlineFormattingQuirks.h header.

  • layout/formattingContexts/table/TableFormattingGeometry.cpp: Add missing

TableFormattingContext.h header, remove unneeded TableFormattingState.h header.

  • layout/formattingContexts/table/TableFormattingGeometry.h: Add missing TableGrid.h

header, add missing forward declaration for TableFormattingContext.

  • layout/formattingContexts/table/TableFormattingQuirks.cpp: Add missing

TableFormattingContext.h header.

  • layout/formattingContexts/table/TableFormattingQuirks.h: Add missing forward declaration

for TableFormattingContext.

  • layout/formattingContexts/table/TableLayout.cpp: Add missing TableFormattingGeometry.h

header.

  • page/FrameViewLayoutContext.cpp: Add missing StyleScope.h header.
  • page/ImageOverlayController.h: Add missing LayoutRect.h header.
  • page/PageConfiguration.h: Add missing wtf/HashSet.h header.
  • platform/network/soup/SoupNetworkSession.cpp: Add missing wtf/text/StringHash.h header.
  • style/StyleScopeRuleSets.cpp: Add missing StyleScope.h header.
  • style/Styleable.cpp: Ditto.
  • svg/SVGDocumentExtensions.cpp: Add missing SVGUseElement.h header.
  • svg/SVGDocumentExtensions.h: Add missing wtf/WeakHashSet.h header, add missing

forward declaration for SVGUseElement.

  • workers/WorkerGlobalScope.cpp: Add missing FontCustomPlatformData.h header.

Source/WebKit:

  • NetworkProcess/PreconnectTask.h: Add missing forward declaration for NetworkSession.
  • NetworkProcess/WebStorage/LocalStorageDatabase.h: Add missing wtf/HashMap.h header,

remove unneeded wtf/RefCounted.h header.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::decode): Add missing WebCore:: namespace prefix to
usage of WebCore::MediaProducer::MutedStateFlags.

6:42 AM Changeset in webkit [277857] by Lauro Moura
  • 4 edits in trunk

[GLIB] fast/canvas/canvas-conic-gradient-angle.html is failing since added in r277547
https://bugs.webkit.org/show_bug.cgi?id=225916

Reviewed by Adrian Perez de Castro.

Source/WebCore:

Covered by existing tests.

In some cases, like negative or large enough "from" angles, the angleStart
variable would fall outside of the 0-360 range, making the center offset
adjust to always fall in the last quadrant instead of the correct one.

This commit normalizes the starting angle to fall between 0-360 when
calculating the quadrant. While it makes the positive "from" angle test
cases to pass, there are still some issues with negative "from", drawing
slightly offset/slanted section borders, likely due to precision issues.

  • platform/graphics/cairo/GradientCairo.cpp:

(WebCore::normalizeAngle): Added helper.
(WebCore::addConicSector): Check quadrant with a normalized (0-360) angle.

LayoutTests:

  • platform/glib/TestExpectations: Unskip and mark as passing to override root dir.
6:11 AM Changeset in webkit [277856] by Alan Bujtas
  • 5 edits
    2 adds in trunk

[LFC][TFC][Quirks] Use box-sizing: border-box when computing cell height
https://bugs.webkit.org/show_bug.cgi?id=226063

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/layoutformattingcontext/table-simple-quirk-td-height-with-padding.html

  • layout/Verification.cpp:

(WebCore::Layout::LayoutContext::verifyAndOutputMismatchingLayoutTree):

  • layout/formattingContexts/table/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::layoutCell):

  • layout/formattingContexts/table/TableFormattingGeometry.cpp:

(WebCore::Layout::TableFormattingGeometry::cellBoxContentHeight const):
(WebCore::Layout::TableFormattingGeometry::cellHeigh const): Deleted.

  • layout/formattingContexts/table/TableFormattingGeometry.h:

LayoutTests:

  • fast/layoutformattingcontext/table-simple-quirk-td-height-with-padding-expected.html: Added.
  • fast/layoutformattingcontext/table-simple-quirk-td-height-with-padding.html: Added.
5:23 AM Changeset in webkit [277855] by Chris Lord
  • 2 edits in trunk/Source/WebCore

[GTK] REGRESSION: Broken scrolling on element.io with async scrolling
https://bugs.webkit.org/show_bug.cgi?id=222265

Reviewed by Carlos Garcia Campos.

Fix transform order for layer clipping in TextureMapperLayer.

No new tests.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paintSelfAndChildren):

4:48 AM Changeset in webkit [277854] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Detect invalid InlinePathData in FillInlinePath
https://bugs.webkit.org/show_bug.cgi?id=225693

Patch by Rob Buis <rbuis@igalia.com> on 2021-05-21
Reviewed by Ryosuke Niwa.

Detect invalid InlinePathData in FillInlinePath.

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::InlinePathDataStorage::InlinePathDataStorage):
(WebCore::DisplayList::InlinePathDataStorage::isValid const):
(WebCore::DisplayList::FillInlinePath::FillInlinePath):
(WebCore::DisplayList::FillInlinePath::path const): Deleted.

3:16 AM Changeset in webkit [277853] by Sam Sneddon
  • 65 edits in trunk

Fix Python 3.6+ DeprecationWarnings about unknown escapes
https://bugs.webkit.org/show_bug.cgi?id=226018

Reviewed by Jonathan Bedard.

Fix Python 3.6+ DeprecationWarnings about unknown escapes

PerformanceTests:

  • JetStream2/RAMification.py:
  • JetStream2/RexBench/FlightPlanner/convert-nfdc.py:
  • RexBench/FlightPlanner/convert-nfdc.py:

Source/JavaScriptCore:

  • wasm/generateWasmB3IRGeneratorInlinesHeader.py:

Source/WebCore:

No new tests.

  • Modules/webgpu/WHLSL/WHLSLBuildStandardLibraryFunctionMap.py:

Tools:

  • CISupport/build-webkit-org/loadConfig.py:

(getTagsForBuilder):

  • CISupport/build-webkit-org/steps.py:

(RunGLibAPITests.commandComplete):
(RunWebDriverTests.commandComplete):

  • CISupport/ews-app/ews/common/bugzilla.py:

(BugzillaBeautifulSoup._parse_attachment_ids_request_query):

  • CISupport/ews-app/ews/common/buildbot.py:

(Buildbot._get_display_name_from_builder_name):

  • CISupport/ews-build/loadConfig.py:

(getTagsForBuilder):

  • CISupport/ews-build/steps.py:

(CleanUpGitIndexLock.start):
(FindModifiedLayoutTests):
(BuildLogLineObserver.init):
(PushCommitToWebKitRepo):

  • CISupport/ews-build/steps_unittest.py:
  • Scripts/ic-stats.py:
  • Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:

(Svn):

  • Scripts/webkitpy/common/checkout/changelog.py:

(parse_bug_id_from_changelog):
(ChangeLogEntry):
(update_with_unreviewed_message):
(set_reviewer):

  • Scripts/webkitpy/common/checkout/diff_parser.py:

(git_diff_to_svn_diff):

  • Scripts/webkitpy/common/checkout/diff_test_data.py:
  • Scripts/webkitpy/common/checkout/scm/commitmessage.py:

(_first_non_empty_line_after_index):
(CommitMessage.description):

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.commit_success_regexp):
(Git.timestamp_of_revision):
(Git.git_commit_from_svn_revision):

  • Scripts/webkitpy/common/checkout/scm/scm.py:

(SCM.strip_r_from_svn_revision):

  • Scripts/webkitpy/common/checkout/scm/svn.py:

(SVN.commit_success_regexp):
(SVN.revisions_changing_file):

  • Scripts/webkitpy/common/checksvnconfigfile.py:

(check):

  • Scripts/webkitpy/common/config/contributionareas.py:

(ContributionAreas._split_camelcase):

  • Scripts/webkitpy/common/config/urls.py:
  • Scripts/webkitpy/common/find_files_unittest.py:

(TestWinNormalize.assert_filesystem_normalizes):

  • Scripts/webkitpy/common/net/bugzilla/bug.py:

(Bug.commit_revision):

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(BugzillaQueries._parse_attachment_ids_request_query):
(Bugzilla._parse_bug_id_from_attachment_page):
(Bugzilla._parse_attachment_id_from_add_patch_to_bug_response):
(Bugzilla._check_create_bug_response):

  • Scripts/webkitpy/common/net/buildbot/buildbot.py:

(BuildBot._parse_current_build_cell):

  • Scripts/webkitpy/common/net/credentials.py:

(Credentials._parse_security_tool_output):

  • Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:

(ParsedJSONResultsTest):

  • Scripts/webkitpy/common/system/crashlogs.py:

(CrashLogs.get_timestamp_from_log):

  • Scripts/webkitpy/common/system/crashlogs_unittest.py:
  • Scripts/webkitpy/common/system/platforminfo.py:

(PlatformInfo.available_sdks):

  • Scripts/webkitpy/common/system/user.py:

(User._wait_on_list_response):

  • Scripts/webkitpy/common/watchlist/watchlistparser.py:

(WatchListParser._rule_definitions_as_set):

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:

(TestExpectationParser):
(TestExpectationParser._parse_modifiers):
(TestExpectationParser._tokenize_line):

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest):

  • Scripts/webkitpy/port/base.py:

(Port._natural_sort_key):

  • Scripts/webkitpy/port/driver.py:

(DriverOutput):
(Driver._check_for_driver_timeout):
(Driver._check_for_driver_crash_or_unresponsiveness):

  • Scripts/webkitpy/port/image_diff.py:

(ImageDiffer._read):

  • Scripts/webkitpy/port/win.py:

(WinPort.write_registry_value):

  • Scripts/webkitpy/pytest.ini:
  • Scripts/webkitpy/style/checker.py:

(CheckerDispatcher._should_skip_file_path):

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

(ChangeLogChecker.check_entry):

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

(CMakeChecker._process_line):
(CMakeChecker._check_no_space_cmds):
(CMakeChecker._check_one_space_cmds):
(CMakeChecker._check_non_lowercase_cmd):
(CMakeChecker._check_list_order):

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

(FileInfo.repository_name):
(check_for_non_standard_constructs):
(check_spacing):
(check_language):

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

(map_functions_to_dict):
(strip_trailing_blank_lines_and_comments):

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

(MessagesInChecker.check_WTF_prefix):

  • Scripts/webkitpy/style/patchreader.py:

(PatchReader.check):

  • Scripts/webkitpy/test/runner.py:
  • Scripts/webkitpy/test/runner_unittest.py:

(FakeLoader.init):

  • Scripts/webkitpy/tool/commands/analyzechangelog.py:

(AnalyzeChangeLog._enumerate_changelogs):

  • Scripts/webkitpy/tool/commands/queries.py:

(PrintBaselines.init):
(FindResolvedBugs.execute):

  • Scripts/webkitpy/tool/commands/upload.py:

(MarkBugFixed._determine_bug_id_and_svn_revision):

  • Scripts/webkitpy/tool/steps/promptforbugortitle.py:

(PromptForBugOrTitle.run):

  • Scripts/webkitpy/w3c/test_converter.py:

(_W3CTestConverter.init):
(_W3CTestConverter.read_webkit_prefixed_css_property_list):
(_W3CTestConverter.legacy_read_webkit_prefixed_css_property_list):

  • Scripts/webkitpy/w3c/test_parser.py:

(TestParser.support_files):

  • lldb/lldb_dump_class_layout.py:

(LLDBDebuggerInstance._get_first_file_architecture):

Websites/browserbench.org:

  • JetStream2.0/RexBench/FlightPlanner/convert-nfdc.py:
2:53 AM Changeset in webkit [277852] by youenn@apple.com
  • 18 edits
    7 adds in trunk/Source

Implement a remote Internal Unit in GPUProcess for audio MediaStreamTrack rendering
https://bugs.webkit.org/show_bug.cgi?id=225603
Source/WebCore:

<rdar://problem/78114391>

Reviewed by Eric Carlson.

Fixed the case where we were calling start even though a source was already being played.
This is more consistent since we are doing those checks for stop.
Reduce the code where we lock sources to the minimum.

In case we want to lock the sources copy in audio thread and we fail, continue rendering audio instead of dropping everything.
Add some main thread assertions in AudioMediaStreamTrackRendererUnit methods.

Manually tested.

  • platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.cpp:

(WebCore::AudioMediaStreamTrackRendererUnit::addSource):
(WebCore::AudioMediaStreamTrackRendererUnit::removeSource):
(WebCore::AudioMediaStreamTrackRendererUnit::render):

Source/WebKit:

Reviewed by Eric Carlson.

Implement an InternalUnit by creating a ring buffer that gets written on WebProcess and read on GPUProcess by an audio unit.
In the previous implementation, each audio track was sent to GPUProcess that was doing the mixing.
Sending was done by sending IPC message for each audio sample, which was also processing inefficient.

We are now creating an Audio Unit in GPUProcess and similarly to WebAudio asking WebProcess to render audio in a buffer that will be actually rendered by the audio unit.
The mixing happens in WebProcess so only one buffer is shared between GPUProcess and WebProcess, and no IPC message is sent for each chunk.

The potential downside is that the mixing is done with fixed chunk size instead of chunk size requested by the audio unit.
This might trigger some latency or some overhead if the fixed chunk size is too far from what the audio unit is asking.

In case of GPUProcess crash, we keep the same format description but we delay recreation of the unit if the unit is stopped.

  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::audioMediaStreamTrackRendererInternalUnitManager):
(WebKit::GPUConnectionToWebProcess::dispatchMessage):

  • GPUProcess/GPUConnectionToWebProcess.h:
  • GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp:

(WebKit::RemoteAudioMediaStreamTrackRenderer::start):

  • GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp: Added.

(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::RemoteAudioMediaStreamTrackRendererInternalUnitManager):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::~RemoteAudioMediaStreamTrackRendererInternalUnitManager):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::createUnit):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::deleteUnit):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::startUnit):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::stopUnit):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::setAudioOutputDevice):
(WebKit::renderCallback):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::Unit):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::~Unit):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::start):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::stop):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::setAudioOutputDevice):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::render):

  • GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.h: Added.
  • GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.messages.in: Added.
  • Scripts/webkit/messages.py:

(types_that_cannot_be_forward_declared):

  • Sources.txt:
  • SourcesCocoa.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/GPUProcessConnection.h:
  • WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp:

(WebKit::AudioMediaStreamTrackRenderer::start):

  • WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.h:
  • WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitIdentifier.h: Added.
  • WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.cpp: Added.

(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::add):
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::remove):
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::createRemoteInternalUnit):
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::gpuProcessConnectionClosed):
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::Proxy):
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::~Proxy):
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::createRemoteUnit):
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::initialize):
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::start):
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::storageChanged):
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::stop):
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::setAudioOutputDevice):
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::retrieveFormatDescription):
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::stopThread):
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::startThread):
(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::restartIfNeeded):

  • WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.h: Added.
  • WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.messages.in: Added.
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::audioMediaStreamTrackRendererInternalUnitManager):

  • WebProcess/WebProcess.h:
  • WebProcess/cocoa/UserMediaCaptureManager.cpp:

(WebKit::UserMediaCaptureManager::setupCaptureProcesses):

2:31 AM Changeset in webkit [277851] by Angelos Oikonomopoulos
  • 2 edits in trunk/JSTests

Unskip type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value on MIPS
https://bugs.webkit.org/show_bug.cgi?id=226011

Unreviewed gardening.

Appears to no longer be flaky.

  • stress/type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value.js:
Note: See TracTimeline for information about the timeline view.