Timeline
Nov 2, 2021:
- 11:53 PM Changeset in webkit [285199] by
-
- 7 edits in trunk/Source
Notifications on iOS enabled at compile-time, disabled at runtime
https://bugs.webkit.org/show_bug.cgi?id=232649
Reviewed by Tim Horton.
Source/WebCore:
No new tests (Changing compiled behavior but definitely not runtime behavior)
- Modules/notifications/Notification.idl:
- Modules/notifications/NotificationPermission.idl:
- Modules/notifications/NotificationPermissionCallback.idl:
- bindings/js/WebCoreBuiltinNames.h:
Source/WTF:
- wtf/PlatformEnableCocoa.h:
- 8:37 PM Changeset in webkit [285198] by
-
- 2 edits in trunk/Tools
UnicodeDecodeError in write_reftest copying a non-UTF8 expected result file
https://bugs.webkit.org/show_bug.cgi?id=232643
Reviewed by Alexey Proskuryakov.
- Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:
(TestResultWriter.write_reftest):
If a reftest's -expected.html file is not valid UTF-8, and the test fails,
when we copy the expected file from the layout tests directory to the
test results directory, we attempt to parse it as UTF-8, resulting in
an exception being thrown.
Instead of needlessly reading in the file as a string and immediately
writing it back out, just copy the file...
I'm not sure there are any not-valid-UTF-8 *ref* tests in the tree, but
there is at least one not-valid-UTF-8 *text* test, which can be run
as a ref-test in some scenarios (see r285132), in which case this problem
occurs: fast/css/line-height-determined-by-primary-font.html.
Also, explicitly ensure the output directory exists before copying
to avoid regressing r122505. Previously this was done inside _write_text_file.
- 8:23 PM Changeset in webkit [285197] by
-
- 5 edits in trunk/Source/JavaScriptCore
[JSC] Add LLInt fast path for OpMod on x86_64
https://bugs.webkit.org/show_bug.cgi?id=232644
Reviewed by Saam Barati and Yusuke Suzuki.
This patch ports the x86_64 fast path for OpMod from baseline JIT to LLInt.
This is quite similar to OpDiv but the implementation avoids using binaryOpCustomStore
because OpMod is not a ProfiledBinaryOp.
Performance results appear negligible with all JIT tiers enabled;
relevant microbenchmarks with JIT off are as follows.
Before After
int-or-other-mod-then-get-by-val 158.0136+-0.9338 39.7698+-0.4394 definitely 3.9732x faster
integer-modulo 15.1972+-0.4197 7.1461+-0.1530 definitely 2.1266x faster
mod-boolean 145.4011+-2.0483 ? 146.1243+-1.6816 ?
mod-boolean-double 145.6148+-1.8530 ? 145.9380+-1.7073 ?
mod-untyped 286.9585+-3.9535 284.0360+-4.1221 might be 1.0103x faster
negative-zero-modulo 1.2951+-0.1275 1.0220+-0.0412 definitely 1.2672x faster
<geometric> 51.5408+-0.8164 34.7341+-0.3365 definitely 1.4839x faster
- jit/GPRInfo.h: Add assertions.
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- 8:08 PM Changeset in webkit [285196] by
-
- 15 edits3 adds in trunk/Source/WebCore
[WebIDL] Support [Exposed=*] extended attribute
https://bugs.webkit.org/show_bug.cgi?id=231082
Reviewed by Chris Dumez.
Adds a shorthand to expose interfaces/attributes on Window, Workers*,
and the forthcoming ShadowRealm global object.
See https://github.com/heycam/webidl/issues/468 and
https://github.com/heycam/webidl/pull/526 for details.
- bindings/scripts/CodeGenerator.pm:
(shouldPropertyBeExposed):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateRuntimeEnableConditionalStringForExposed):
- bindings/scripts/IDLParser.pm:
(parseExtendedAttributeRest2):
- bindings/scripts/preprocess-idls.pl:
- bindings/scripts/test/AudioWorkletGlobalScopeConstructors.idl:
- bindings/scripts/test/DOMWindowConstructors.idl:
- bindings/scripts/test/DedicatedWorkerGlobalScopeConstructors.idl:
- bindings/scripts/test/ExposedStar.idl: Added.
- bindings/scripts/test/JS/JSDOMWindow.cpp:
(WebCore::jsDOMWindow_ExposedStarConstructorGetter):
(WebCore::JSC_DEFINE_CUSTOM_GETTER):
- bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp:
(WebCore::jsDedicatedWorkerGlobalScope_ExposedStarConstructorGetter):
(WebCore::JSC_DEFINE_CUSTOM_GETTER):
- bindings/scripts/test/JS/JSExposedStar.cpp: Added.
(WebCore::JSExposedStarDOMConstructor::prototypeForStructure):
(WebCore::JSExposedStarDOMConstructor::initializeProperties):
(WebCore::JSExposedStarPrototype::finishCreation):
(WebCore::JSExposedStar::JSExposedStar):
(WebCore::JSExposedStar::finishCreation):
(WebCore::JSExposedStar::createPrototype):
(WebCore::JSExposedStar::prototype):
(WebCore::JSExposedStar::getConstructor):
(WebCore::JSC_DEFINE_CUSTOM_GETTER):
(WebCore::jsExposedStarPrototypeFunction_operationForAllContextsBody):
(WebCore::JSC_DEFINE_HOST_FUNCTION):
(WebCore::jsExposedStarPrototypeFunction_operationJustForWindowContextsBody):
(WebCore::jsExposedStarPrototypeFunction_operationJustForWorkerContextsBody):
(WebCore::JSExposedStar::subspaceForImpl):
(WebCore::JSExposedStar::analyzeHeap):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSExposedStar::toWrapped):
- bindings/scripts/test/JS/JSExposedStar.h: Added.
(WebCore::JSExposedStar::create):
(WebCore::JSExposedStar::createStructure):
(WebCore::JSExposedStar::subspaceFor):
(WebCore::JSExposedStar::wrapped const):
(WebCore::toJS):
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp:
(WebCore::jsPaintWorkletGlobalScope_ExposedStarConstructorGetter):
(WebCore::JSC_DEFINE_CUSTOM_GETTER):
- bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp:
(WebCore::jsServiceWorkerGlobalScope_ExposedStarConstructorGetter):
(WebCore::JSC_DEFINE_CUSTOM_GETTER):
- bindings/scripts/test/PaintWorkletGlobalScopeConstructors.idl:
- bindings/scripts/test/ServiceWorkerGlobalScopeConstructors.idl:
- bindings/scripts/test/SupplementalDependencies.dep:
- 7:26 PM Changeset in webkit [285195] by
-
- 45 edits in trunk/Source
Non-unified build fixes early November 2021 edition
https://bugs.webkit.org/show_bug.cgi?id=232589
Unreviewed non-unified build fixes.
Source/JavaScriptCore:
- API/JSAPIGlobalObject.cpp:
- bytecode/EvalCodeBlock.cpp:
- bytecode/FunctionCodeBlock.cpp:
- bytecode/ModuleProgramCodeBlock.cpp:
- bytecode/ProgramCodeBlock.cpp:
- jit/JITInlineCacheGenerator.h:
- runtime/CustomGetterSetter.cpp:
- runtime/JSScriptFetcher.cpp:
- runtime/JSSourceCode.cpp:
- runtime/ShadowRealmObject.cpp:
- runtime/ShadowRealmPrototype.cpp:
- runtime/TemporalInstant.cpp:
Source/WebCore:
- Modules/push-api/PushSubscriptionData.h:
- animation/CSSPropertyAnimation.cpp:
- animation/CSSPropertyAnimation.h:
- animation/CSSTransition.cpp:
- animation/WebAnimation.cpp:
- css/SelectorFilter.cpp:
- dom/Attr.cpp:
- dom/ComposedTreeIterator.cpp:
- editing/BreakBlockquoteCommand.cpp:
- editing/InsertParagraphSeparatorCommand.cpp:
- editing/SplitElementCommand.cpp:
- editing/SplitTextNodeContainingElementCommand.cpp:
- html/HTMLSummaryElement.cpp:
- html/HTMLTitleElement.cpp:
- html/track/VTTCue.cpp:
- inspector/DOMPatchSupport.cpp:
- inspector/InspectorNodeFinder.cpp:
- inspector/agents/InspectorPageAgent.cpp:
- layout/formattingContexts/inline/InlineItemsBuilder.cpp:
- page/ResizeObservation.cpp:
- page/scrolling/ScrollingCoordinatorTypes.h:
- rendering/RenderCounter.cpp:
- rendering/svg/RenderSVGModelObject.cpp:
- rendering/svg/SVGResources.cpp:
- rendering/svg/SVGRootInlineBox.cpp:
- rendering/svg/SVGTextChunk.cpp:
- style/ElementRuleCollector.cpp:
- style/PageRuleCollector.h:
Source/WebKit:
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::createGPUConnectionToWebProcess):
(WebKit::GPUProcess::webProcessConnection const):
(WebKit::GPUProcess::updateCaptureAccess):
(WebKit::GPUProcess::updateCaptureOrigin):
(WebKit::GPUProcess::nowPlayingManager):
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
- 7:19 PM Changeset in webkit [285194] by
-
- 1 copy in tags/Safari-613.1.6.7
Tag Safari-613.1.6.7.
- 7:12 PM Changeset in webkit [285193] by
-
- 8 edits in branches/safari-613.1.6-branch/Source
Versioning.
WebKit-7613.1.6.7
- 6:47 PM Changeset in webkit [285192] by
-
- 4 edits2 adds in trunk
Crash in RenderLayer::rebuildZOrderLists
https://bugs.webkit.org/show_bug.cgi?id=230229
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-11-02
Reviewed by Simon Fraser.
Source/WebCore:
Test: fast/layers/render-layer-rebuild-z-order-lists.html
To avoid operating on nullptr, allocate posZOrderList if it is null,
similar to how it is done in RenderLayer::collectLayers.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::rebuildZOrderLists):
LayoutTests:
- fast/layers/render-layer-rebuild-z-order-lists-expected.txt: Added.
- fast/layers/render-layer-rebuild-z-order-lists.html: Added.
- platform/win/TestExpectations: Skip due to diag.showModal undefined in win.
- 6:27 PM Changeset in webkit [285191] by
-
- 5 edits in trunk
Regression (r284330): [ macOS wk1 Debug ] webaudio/AudioBuffer/huge-buffer.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=232244
<rdar://problem/84616427>
Reviewed by Yusuke Suzuki.
Source/WebCore:
The test is verifying that trying to allocate an AudioBuffer with 4GB channels fails cleanly.
It used to work automatically, as AudioBuffer relies on Float32Array under the hood, which was limited to 2GB.
Since r284330, ArrayBuffers can be up to 4GB, so it now takes very long to OOM, and sometimes timeout.
I use the same solution which I used for PixelBuffers in r284330: just test that the length is reasonable
and if it is not then abort as if the allocation of the Float32Array had failed.
No new tests: covered by LayoutTests/webaudio/AudioBuffer/huge-buffer.html
- Modules/webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::AudioBuffer):
- Modules/webaudio/AudioBuffer.h:
LayoutTests:
- platform/mac-wk1/TestExpectations:
- 6:00 PM Changeset in webkit [285190] by
-
- 1 copy in tags/Safari-612.3.3.0.1
Tag Safari-612.3.3.0.1.
- 5:21 PM Changeset in webkit [285189] by
-
- 40 edits1 add in trunk/Websites/perf.webkit.org
Add 'paired-parallel' repetition type for A/B testing.
https://bugs.webkit.org/show_bug.cgi?id=229545
Reviewed by Ryosuke Niwa and Alexey Proskuryakov.
Add 'paired-parallel' repetition type for A/B testing.
Add 'TriggerableConfiguration' model to store repetition type information for each (platform, test) pair.
Add new component 'repetition-type-selection' to unify A/B testing UI for repetition type selection.
Extend A/B testing syncing script to update repetition types for each triggerable configuration and only
schedule A/B testing on a builder which supports a given repetition type.
- browser-tests/custom-analysis-task-configurator-tests.js: Updated unit tests accordingly.
(async createCustomAnalysisTaskConfiguratorWithContext):
- browser-tests/customizable-test-group-form-tests.js: Updated unit tests accordingly.
(async createCustomizableTestGroupFormWithContext):
- browser-tests/test-group-form-tests.js: Updated unit tests accordingly.
(async createTestGroupFormWithContext):
- init-database.sql: Added 'triggerable_configuration_repetition_types' table to store supported
repetition types for each triggerable configuration.
Added 'paired-parallel' repetition type.
- migrate-database.sql: Updated migration scripts.
- public/api/update-triggerable.php: Added logic to update repetition types for each tirggerable configurations.
- public/include/commit-sets-helpers.php: Added support for 'paired-parallel' repetition type.
- public/include/json-header.php: Extended 'find_triggerable_for_task' to include supported repetition types in
return value.
- public/include/manifest-generator.php: Added logic to include supported repetition types in manifest.
- public/privileged-api/add-build-requests.php: Extended API to support 'paired-parallel' repetition type.
- public/privileged-api/create-analysis-task.php: Extended API to support 'paired-parallel' repetition type.
- public/privileged-api/create-test-group.php: Extended API to support 'paired-parallel' repetition type.
- public/v3/commit-set-range-bisector.js:
(CommitSetRangeBisector._closestCommitSetsToBisectingCommitByTime): Fix a bug that error is raise when there is
no middle commit set in a range.
- public/v3/components/custom-configuration-test-group-form.js: Added code to update supported repetition types
on test config change.
(CustomConfigurationTestGroupForm.prototype.startTesting):
(CustomConfigurationTestGroupForm.prototype.didConstructShadowTree):
- public/v3/components/customizable-test-group-form.js:
(CustomizableTestGroupForm.prototype.startTesting):
- public/v3/components/repetition-type-selection.js: Added a new model that stores repetition types information
for each (platform, test) pair.
(RepetitionTypeSelection):
(RepetitionTypeSelection.prototype.didConstructShadowTree):
(RepetitionTypeSelection.prototype.get selectedRepetitionType):
(RepetitionTypeSelection.prototype.set selectedRepetitionType):
(RepetitionTypeSelection.prototype.set disabled):
(RepetitionTypeSelection.prototype.setTestAndPlatform):
(RepetitionTypeSelection.prototype.labelForRepetitionType):
(RepetitionTypeSelection.prototype.render):
(RepetitionTypeSelection.prototype._renderRepetitionTypeList):
(RepetitionTypeSelection.htmlTemplate):
- public/v3/components/test-group-form.js: Adopt 'repetition-type-selection'.
(TestGroupForm.prototype.setTestAndPlatform):
(TestGroupForm.prototype.updateWithTestGroup):
(TestGroupForm.prototype.startTesting):
- public/v3/index.html:
- public/v3/models/manifest.js: Pass 'supportedRepetitionTypes' and 'id' for TriggerableConfiguration.
(Manifest.reset):
(Manifest._didFetchManifest):
(Manifest):
- public/v3/models/test-group.js: Updated logic to share retry logic of 'alternating' test group with 'paired-parallel'
test group.
(TestGroup.prototype.async scheduleMoreRequestsOrClearFlag):
- public/v3/models/triggerable.js: Added TriggerableConfiguration model.
Added code to creat TriggerableConfiguration in 'Triggerable' constructor.
(Triggerable):
(Triggerable.findByTestConfiguration):
(prototype.get triggerable):
(prototype.get supportedRepetitionTypes):
(findByTestAndPlatform):
- public/v3/pages/analysis-task-page.js: Added code to update repetition type in the UI based on (test, platform) pair.
(AnalysisTaskResultsPane.prototype.setTestGroups):
(AnalysisTaskTestGroupPane.prototype._renderCurrentTestGroup):
(AnalysisTaskTestGroupPane.prototype._renderTestGroupForm):
- public/v3/pages/chart-pane.js: Adopt 'repetition-type-selection'.
(ChartPane.prototype.didConstructShadowTree):
(ChartPane.prototype.async _analyzeRange):
(ChartPane.prototype._renderActionToolbar):
- server-tests/api-manifest-tests.js:
- server-tests/api-update-triggerable-tests.js: Added and updated unit tests.
(updateWithMacWebKitRepositoryGroups):
- server-tests/api-upload-root-tests.js: Updated unit tests.
- server-tests/privileged-api-add-build-requests-tests.js: Added and updated unit tests.
(async addTriggerableAndCreateTask):
- server-tests/privileged-api-create-analysis-task-tests.js: Added and updated unit tests.
- server-tests/privileged-api-create-test-group-tests.js: Added and updated unit tests.
- server-tests/privileged-api-update-test-group-tests.js: Updated unit tests.
(async addTriggerableAndCreateTask):
- server-tests/resources/mock-data.js:
(MockData.someTestConfigurationId):
(MockData.otherTestConfigurationId):
(MockData.addMockConfiguration):
(MockData.set mockTestSyncConfigWithSingleBuilder):
(MockData.mockTestSyncConfigWithPatchAcceptingBuilder):
(MockData.mockTestSyncConfigWithTwoBuilders):
- server-tests/tools-sync-buildbot-integration-tests.js: Added and updated unit tests.
- tools/js/buildbot-syncer.js: Added code to update supported repetition types on triggerable updates.
Update configuration match code to only scheduler build requests the repetition types of which are both
supported by builder and triggerable configuration.
(BuildbotSyncer):
(BuildbotSyncer.prototype.addTestConfiguration):
(BuildbotSyncer.prototype.matchesConfiguration):
(BuildbotSyncer._loadConfig):
- tools/js/buildbot-triggerable.js:
(BuildbotTriggerable.prototype.updateTriggerable):
(BuildbotTriggerable.prototype.async syncOnce): Move the code that fetches all related test groups before
invoking 'BuildbotTriggerable._validateRequests' which needs repetition types stored in test group in
'BuildbotSyncer.matchesConfiguration'.
- tools/js/v3-models.js:
- unit-tests/buildbot-syncer-tests.js: Added and updated unit tests.
(sampleiOSConfig):
(sampleiOSConfigWithExpansions):
(smallConfiguration):
(smallConfigurationWithCustomRepetitionTypes):
(createSampleBuildRequest):
- unit-tests/measurement-set-analyzer-tests.js: Updated unit tests.
- unit-tests/resources/mock-v3-models.js:
(MockModels.inject):
- 3:19 PM Changeset in webkit [285188] by
-
- 2 edits in trunk/Source/WTF
[WTF] Minor clean-up for format-related functions
<https://webkit.org/b/232514>
Reviewed by Yusuke Suzuki.
- wtf/Assertions.cpp:
(WTF::createWithFormatAndArguments):
- Put WTF_ATTRIBUTE_PRINTF() on its own line to match other functions.
(WTF::vprintf_stderr_with_prefix):
(WTF::vprintf_stderr_with_trailing_newline):
- Move ALLOW_NONLITERAL_FORMAT_{BEGIN,END} around specific function calls that need them.
- 3:09 PM Changeset in webkit [285187] by
-
- 2 edits in trunk/Source/WTF
Fails to execute JavaScript when soft stack limit is unlimited
https://bugs.webkit.org/show_bug.cgi?id=232328
Patch by Michael Catanzaro <Michael Catanzaro> on 2021-11-02
Reviewed by Yusuke Suzuki.
Fall back to assuming an 8 MB stack limit when the real limit is unlimited. JSC needs to
have some maximum stack size to work with, and this is as good as any.
- wtf/StackBounds.cpp:
(WTF::StackBounds::currentThreadStackBoundsInternal):
- 2:52 PM Changeset in webkit [285186] by
-
- 20 edits in trunk/Source/WebCore
SVG elements should include SVGElementInlines not ElementInlines
https://bugs.webkit.org/show_bug.cgi?id=232637
Reviewed by Yusuke Suzuki.
Replace usages of ElementInlines.h with SVGElementInlines.h in WebCore/svg. Add
SVGElementInlines.h to files that need them when compiled without unified builds.
- svg/SVGAElement.cpp:
- svg/SVGAltGlyphElement.cpp:
- svg/SVGAnimationElement.cpp:
- svg/SVGFEImageElement.cpp:
- svg/SVGFilterPrimitiveStandardAttributes.cpp:
- svg/SVGFontFaceNameElement.cpp:
- svg/SVGFontFaceUriElement.cpp:
- svg/SVGHKernElement.cpp:
- svg/SVGImageElement.cpp:
- svg/SVGMaskElement.cpp:
- svg/SVGPatternElement.cpp:
- svg/SVGStyleElement.cpp:
- svg/SVGTRefElement.cpp:
- svg/SVGTSpanElement.cpp:
- svg/SVGTextElement.cpp:
- svg/SVGTextPathElement.cpp:
- svg/SVGVKernElement.cpp:
- svg/animation/SVGSMILElement.cpp:
- svg/properties/SVGAttributeAnimator.cpp:
- 2:50 PM Changeset in webkit [285185] by
-
- 3 edits in trunk/Source/WebCore
[MSVC] Remove unused friend class in filter code
https://bugs.webkit.org/show_bug.cgi?id=232636
Reviewed by Yusuke Suzuki.
In r284857 the WTF prefix was removed from ParallelJobs in filter code. During a
non-unified build MSVC thinks that there is a WebCore::ParallelJobs due to a friend
declaration in filter code and fails to build. Remove the friend declaration as they are
not used.
- platform/graphics/filters/FEGaussianBlur.h:
- platform/graphics/filters/FETurbulence.h:
- 2:48 PM Changeset in webkit [285184] by
-
- 2 edits in trunk/Tools
REGRESSION (r268421): TestWebKitAPI.WebKit.PreferenceChanges* tests are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=221848
<rdar://problem/70966379>
Reviewed by Brent Fulgham.
After r268421, the preferences are set asynchronously in the WebContent process, which introduced this flakiness.
This patch addresses this by modifying the flaky tests to loop until the preference value is equal to the expected
value.
- TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
(TEST):
- 2:25 PM Changeset in webkit [285183] by
-
- 5 edits in branches/safari-612.3.3.1-branch/Source
Cherry-pick r283732. rdar://problem/84944569
Add feature flag for COOP / COEP violation reporting and turn off by default
https://bugs.webkit.org/show_bug.cgi?id=231371
Reviewed by Youenn Fablet.
Add feature flag for COOP / COEP violation reporting and turn off by default since our
implementation doesn't match the latest specification.
Source/WebCore:
- loader/CrossOriginEmbedderPolicy.cpp: (WebCore::sendCOEPPolicyInheritenceViolation): (WebCore::sendCOEPCORPViolation):
- loader/CrossOriginOpenerPolicy.cpp: (WebCore::sendViolationReportWhenNavigatingToCOOPResponse): (WebCore::sendViolationReportWhenNavigatingAwayFromCOOPResponse):
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283732 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:24 PM Changeset in webkit [285182] by
-
- 8 edits in branches/safari-612.3.3.1-branch/Source
Versioning.
WebKit-7612.3.3.1.1
- 2:20 PM Changeset in webkit [285181] by
-
- 5 edits in branches/safari-612.3.3.0-branch/Source
Cherry-pick r283732. rdar://problem/84944569
Add feature flag for COOP / COEP violation reporting and turn off by default
https://bugs.webkit.org/show_bug.cgi?id=231371
Reviewed by Youenn Fablet.
Add feature flag for COOP / COEP violation reporting and turn off by default since our
implementation doesn't match the latest specification.
Source/WebCore:
- loader/CrossOriginEmbedderPolicy.cpp: (WebCore::sendCOEPPolicyInheritenceViolation): (WebCore::sendCOEPCORPViolation):
- loader/CrossOriginOpenerPolicy.cpp: (WebCore::sendViolationReportWhenNavigatingToCOOPResponse): (WebCore::sendViolationReportWhenNavigatingAwayFromCOOPResponse):
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283732 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:08 PM Changeset in webkit [285180] by
-
- 1 copy in branches/safari-612.3.3.1-branch
New branch.
- 1:44 PM Changeset in webkit [285179] by
-
- 2 edits in trunk/Source/WebKit
Crash under WebPage::sendCOEPCORPViolation()
https://bugs.webkit.org/show_bug.cgi?id=232631
<rdar://84919898>
Reviewed by Alex Christensen.
Add missing null checks for the frame after calling
WebProcess::singleton().webFrame(frameID).
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendCOEPPolicyInheritenceViolation):
(WebKit::WebPage::sendCOEPCORPViolation):
(WebKit::WebPage::sendViolationReportWhenNavigatingToCOOPResponse):
(WebKit::WebPage::sendViolationReportWhenNavigatingAwayFromCOOPResponse):
- 12:57 PM Changeset in webkit [285178] by
-
- 27 edits7 adds in trunk
[JSC] Implement Temporal.Instant
https://bugs.webkit.org/show_bug.cgi?id=229826
Patch by Philip Chimento <pchimento@igalia.com> on 2021-11-02
Reviewed by Yusuke Suzuki.
JSTests:
- stress/temporal-instant.js: Added.
(shouldBe):
(shouldNotBe):
(shouldThrow):
(instants.forEach):
(shouldThrow.new.Temporal.Instant):
(const.maxValue.new.Temporal.Instant):
(shouldBe.epoch.subtract):
- test262/config.yaml: No need to ignore all Temporal.Instant tests anymore, only the ones for the unimplemented methods.
Source/JavaScriptCore:
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- runtime/ISO8601.cpp:
(JSC::ISO8601::parseInstant): Add a parsing function for Instant strings
reusing as much as possible from the other parsing functions.
(JSC::ISO8601::ExactTime::fromISOPartsAndOffset): Static method for
creating from ISO calendar components and UTC offset.
(JSC::ISO8601::checkedCastDoubleToInt128): Helper function for checking
whether a double can fit into an int128 without overflow.
(JSC::ISO8601::ExactTime::add const):
(JSC::ISO8601::ExactTime::round):
(JSC::ISO8601::ExactTime::difference const):
(JSC::ISO8601::ExactTime::round const):
- runtime/ISO8601.h:
(JSC::ISO8601::ExactTime::ExactTime): Add an ExactTime type that wraps
an Int128 and can do the basic operations. This type can be reused in
Temporal.ZonedDateTime.
(JSC::ISO8601::ExactTime::fromEpochSeconds):
(JSC::ISO8601::ExactTime::fromEpochMilliseconds):
(JSC::ISO8601::ExactTime::fromEpochMicroseconds):
(JSC::ISO8601::ExactTime::epochSeconds const):
(JSC::ISO8601::ExactTime::epochMilliseconds const):
(JSC::ISO8601::ExactTime::epochMicroseconds const):
(JSC::ISO8601::ExactTime::epochNanoseconds const):
(JSC::ISO8601::ExactTime::nanosecondsFraction const):
(JSC::ISO8601::ExactTime::asString const):
(JSC::ISO8601::ExactTime::isValid const):
(JSC::ISO8601::ExactTime::operator< const):
(JSC::ISO8601::ExactTime::operator<= const):
(JSC::ISO8601::ExactTime::operator== const):
(JSC::ISO8601::ExactTime::operator!= const):
(JSC::ISO8601::ExactTime::operator>= const):
(JSC::ISO8601::ExactTime::operator> const):
- runtime/IntlDateTimeFormat.h:
- runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::IntlDateTimeFormat::handleDateTimeValue): Add a minimal
implementation of the HandleDateTimeValue abstract op from the
Temporal specification, only covering Temporal.Instant.
(JSC::JSC_DEFINE_HOST_FUNCTION): Use it in the existing
Intl.DateTimeFormat methods.
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::createFrom): Add an overload that takes an Int128.
- runtime/JSBigInt.h: Remove declaration for nonexistent toUint64Heap().
- runtime/JSDateMath.cpp: Move timeToMS() into WTF.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildrenImpl):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::instantStructure):
- runtime/TemporalDuration.cpp:
(JSC::TemporalDuration::toLimitedDuration): Added.
- runtime/TemporalDuration.h:
- runtime/TemporalInstant.cpp: Added.
(JSC::TemporalInstant::createStructure):
(JSC::TemporalInstant::TemporalInstant):
(JSC::TemporalInstant::create):
(JSC::TemporalInstant::tryCreateIfValid):
(JSC::TemporalInstant::toInstant):
(JSC::TemporalInstant::from):
(JSC::TemporalInstant::fromEpochSeconds):
(JSC::TemporalInstant::fromEpochMilliseconds):
(JSC::TemporalInstant::fromEpochMicroseconds):
(JSC::TemporalInstant::fromEpochNanoseconds):
(JSC::TemporalInstant::compare):
- runtime/TemporalInstant.h: Added.
- runtime/TemporalInstantConstructor.cpp: Added.
(JSC::TemporalInstantConstructor::create):
(JSC::TemporalInstantConstructor::createStructure):
(JSC::TemporalInstantConstructor::TemporalInstantConstructor):
(JSC::TemporalInstantConstructor::finishCreation):
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/TemporalInstantConstructor.h: Added.
- runtime/TemporalInstantPrototype.cpp: Added.
(JSC::TemporalInstantPrototype::create):
(JSC::TemporalInstantPrototype::createStructure):
(JSC::TemporalInstantPrototype::TemporalInstantPrototype):
(JSC::TemporalInstantPrototype::finishCreation):
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::JSC_DEFINE_CUSTOM_GETTER):
- runtime/TemporalInstantPrototype.h: Added.
- runtime/TemporalObject.cpp:
(JSC::createInstantConstructor): Added.
(JSC::formatSecondsStringPart): Added.
(JSC::abs): Added for clarity.
(JSC::roundNumberToIncrement): Add overload for Int128.
- runtime/TemporalObject.h:
- runtime/VM.cpp:
- runtime/VM.h:
Source/WTF:
- wtf/CheckedArithmetic.h: Don't use builtin operations if int128 is being emulated using WTF::Int128. Also work around Clang/Linux bug where builtin_mul_overflow() doesn't work on int128. See https://bugs.llvm.org/show_bug.cgi?id=16404
- wtf/DateMath.h:
(WTF::timeToMS): Moved from JSDateMath.h.
- 12:42 PM Changeset in webkit [285177] by
-
- 6 edits in trunk/Source/WebKit
Terminate unresponsive network process by crashing it
https://bugs.webkit.org/show_bug.cgi?id=232603
Reviewed by Chris Dumez.
UI process currently kills network process when it does not respond message in some time (network process being
unresponsive). We've found one common case where network process becomes unresponsive is that it is blocked by
some slow operation on the main thread (like file operation in rdar://84511633). To understand what the
operations are and make a fix, we now ask network process to crash itself on IPC thread. In this way, we can get
crash report that includes the call stack of the main thread. To avoid generating too many crash reports, we
only send the crash message to network process when it becomes unresponsive multiple times in a short time
period.
- Platform/IPC/Connection.cpp:
(IPC::terminateDueToIPCTerminateMessage):
(IPC::Connection::processIncomingMessage):
- Scripts/webkit/model.py:
- Scripts/webkit/tests/MessageNames.cpp:
(IPC::description):
(IPC::receiverName):
(IPC::isValidMessageName):
- Scripts/webkit/tests/MessageNames.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::shouldTerminateNetworkProcessBySendingMessage):
(WebKit::NetworkProcessProxy::didBecomeUnresponsive):
- 12:38 PM Changeset in webkit [285176] by
-
- 8 edits in branches/safari-612.3.3.0-branch/Source
Versioning.
WebKit 7612.3.3.0.1
- 12:35 PM Changeset in webkit [285175] by
-
- 7 edits in trunk/Tools
[webkitscmpy] Reduce autoinstalls on import
https://bugs.webkit.org/show_bug.cgi?id=232574
<rdar://problem/84894275>
Reviewed by Stephanie Lewis.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Remove whichcraft (webkitcorepy registers it).
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: Remove unused webkitscmpy imports.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py: Remote unused webkitcorepy import.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py: Move whichcraft to function.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: Move jinja2 to function.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py: Move fasteners, xmltodict import to functions.
Canonical link: https://commits.webkit.org/243809@main
- 12:31 PM Changeset in webkit [285174] by
-
- 5 edits in branches/safari-612-branch/Source
Cherry-pick r283732. rdar://problem/84349027
Add feature flag for COOP / COEP violation reporting and turn off by default
https://bugs.webkit.org/show_bug.cgi?id=231371
Reviewed by Youenn Fablet.
Add feature flag for COOP / COEP violation reporting and turn off by default since our
implementation doesn't match the latest specification.
Source/WebCore:
- loader/CrossOriginEmbedderPolicy.cpp: (WebCore::sendCOEPPolicyInheritenceViolation): (WebCore::sendCOEPCORPViolation):
- loader/CrossOriginOpenerPolicy.cpp: (WebCore::sendViolationReportWhenNavigatingToCOOPResponse): (WebCore::sendViolationReportWhenNavigatingAwayFromCOOPResponse):
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283732 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:26 PM Changeset in webkit [285173] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC][LLInt] Reverse unintended effects of r285152
https://bugs.webkit.org/show_bug.cgi?id=232633
Reviewed by Saam Barati.
The previous patch was not intended to change the generated assembly whatsoever,
but it turns out that 3-argument syntax produces, e.g.vsubinstead ofsubon x86.
As such, this patch does away with the 3-arg cases and merely clarifies names as
rhs, lhsacross the board.
(Also: Fix a line from the previous patch where a macro was not referring to a passed label properly.)
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- 12:20 PM Changeset in webkit [285172] by
-
- 1 copy in branches/safari-612.3.3.0-branch
New branch.
- 12:02 PM Changeset in webkit [285171] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Integration] Provide bidi properties when constructing TextRun
https://bugs.webkit.org/show_bug.cgi?id=232632
Reviewed by Alan Bujtas.
Enable correct painting of bidi text runs.
- layout/integration/InlineIteratorBoxModernPath.h:
(WebCore::InlineIterator::BoxModernPath::createTextRun const):
(WebCore::InlineIterator::BoxModernPath::renderText const):
(WebCore::InlineIterator::BoxModernPath::direction const):
- 11:36 AM Changeset in webkit [285170] by
-
- 12 edits in trunk
PCM: Safari on iOS and macOS are not sending ad click attribution reports for Private Click Measurement
https://bugs.webkit.org/show_bug.cgi?id=228104
<rdar://problem/80991209>
Reviewed by John Wilander.
Source/WebCore:
No new tests. Several existing tests would timeout with the removal of
m_firePendingAttributionRequestsTimer.startOneShot(m_isRunningTest ? 0_s : seconds)
if the fix wasn't in place.
- loader/PrivateClickMeasurement.cpp:
(WebCore::randomlyBetweenTwentyFourAndFortyEightHours):
(WebCore::PrivateClickMeasurement::attributeAndGetEarliestTimeToSend):
- loader/PrivateClickMeasurement.h:
Source/WebKit:
firePendingAttributionRequests() was sometimes scheduling the next timer
fire to be the raw time value instead of the difference between now
and the scheduled send time. This was resulting in some reports not being
sent within the 24-48 hour range.
To test this, this patch removes the immediate timer fire for testing
and instead sets the earliest time to send values to both be 1 second.
This will test that the proper timer gets set to send both reports.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.cpp:
(WebKit::PCM::Database::attributePrivateClickMeasurement):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.cpp:
(WebKit::PrivateClickMeasurementManager::startTimer):
(WebKit::PrivateClickMeasurementManager::attribute):
(WebKit::PrivateClickMeasurementManager::randomlyBetweenFifteenAndThirtyMinutes const):
(WebKit::PrivateClickMeasurementManager::firePendingAttributionRequests):
In the case of both times being past due to report, schedule one for
15 - 30 minutes later.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementStore.cpp:
(WebKit::PCM::Store::attributePrivateClickMeasurement):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementStore.h:
Tools:
- TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
- 11:34 AM Changeset in webkit [285169] by
-
- 22 edits in trunk
AX: WebKit needs to include NSAccessibilityChildrenInNavigationOrderAttribute in accessibilityAttributeNames
https://bugs.webkit.org/show_bug.cgi?id=232595
Patch by Tyler Wilcock <Tyler Wilcock> on 2021-11-02
Reviewed by Andres Gonzalez.
This patch adds NSAccessibilityChildrenInNavigationOrderAttribute
(a.k.a. AXChildrenInNavigationOrder) to
WebAccessibilityObjectWrapperMac::accessibilityAttributeNames. The Mac
wrapper supported this attribute prior to this patch, but we didn't
advertise that we supported it because we didn't include it in our
exported attribute names.
Source/WebCore:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
Add NSAccessibilityChildrenInNavigationOrderAttribute to list of base
supported attributes.
LayoutTests:
- accessibility/image-link-expected.txt:
- accessibility/image-map2-expected.txt:
- accessibility/internal-link-anchors2-expected.txt:
- accessibility/mac/aria-columnrowheaders-expected.txt:
- accessibility/mac/bounds-for-range-expected.txt:
- accessibility/mac/document-attributes-expected.txt:
- accessibility/mac/document-links-expected.txt:
- accessibility/mac/internal-link-anchors-expected.txt:
- accessibility/math-multiscript-attributes-expected.txt:
- accessibility/table-attributes-expected.txt:
- accessibility/table-cell-spans-expected.txt:
- accessibility/table-cells-expected.txt:
- accessibility/table-detection-expected.txt:
- accessibility/table-one-cell-expected.txt:
- accessibility/table-sections-expected.txt:
- accessibility/table-with-rules-expected.txt:
- accessibility/transformed-element-expected.txt:
- platform/mac/accessibility/lists-expected.txt:
- platform/mac/accessibility/parent-delete-expected.txt:
Add expected AXChildrenInNavigationOrder attribute output.
- 10:50 AM Changeset in webkit [285168] by
-
- 8 edits in trunk/Tools
dumpAsText() tests don't get the ref-test treatment when using --self-compare-with-header
https://bugs.webkit.org/show_bug.cgi?id=232611
Reviewed by Jonathan Bedard.
One oversight in r285132: a test can disable pixel dumping by calling
dumpAsText(). This causes --self-compare-with-header to fall over because
it expects every test to have pixel results (and that is the whole point).
Add an un-overrideable
--force-dump-pixelsTestCommand argument,
and adopt it for self-comparison tests.
- Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._run_self_comparison_test):
- Scripts/webkitpy/port/driver.py:
(DriverInput.init):
(DriverInput.repr):
(Driver._command_from_driver_input):
- TestRunnerShared/TestCommand.cpp:
(WTR::parseInputLine):
- TestRunnerShared/TestCommand.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::runTest):
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::dumpResults):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
- WebKitTestRunner/TestInvocation.h:
- 10:25 AM Changeset in webkit [285167] by
-
- 4 edits1 add in trunk
EnumeratorGetByVal for IndexedMode+OwnStructureMode doesn't always recover the property name
https://bugs.webkit.org/show_bug.cgi?id=231321
<rdar://problem/84211697>
Reviewed by Yusuke Suzuki.
JSTests:
- stress/enumerator-get-by-val-needs-to-recover-property-name.js: Added.
Source/JavaScriptCore:
When running an EnumeratorGetByVal in IndexedMode+OwnStructureMode, we may
go to the slow path. However, we were incorrectly going to the slow path
before recovering the actual property name. Instead, we were passing in
the integer index value to the get by val.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileEnumeratorGetByVal):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- 10:11 AM Changeset in webkit [285166] by
-
- 5 edits in trunk/LayoutTests
Followup fix to https://bugs.webkit.org/show_bug.cgi?id=231928
Unreviewed. Update test expectations now that we report HTTP status
code in console messages.
- http/tests/app-privacy-report/app-attribution-preflight-async-expected.txt:
- http/tests/app-privacy-report/app-attribution-preflight-sync-expected.txt:
- http/tests/app-privacy-report/user-attribution-preflight-async-expected.txt:
- http/tests/app-privacy-report/user-attribution-preflight-sync-expected.txt:
- 10:09 AM Changeset in webkit [285165] by
-
- 5 edits in trunk/Source/WebKit
Revert the wheel event coalescing added in r277587
https://bugs.webkit.org/show_bug.cgi?id=232602
<rdar://84908023>
Reviewed by Wenson Hsieh.
This wheel event coalescing was added to allow the tail end of momentum scrolls on
120Hz devices to fall back to 60fps for power reasons. However, the OS does this for
us, so we don't need to do our own coalescing.
- Shared/WebWheelEventCoalescer.cpp:
(WebKit::WebWheelEventCoalescer::shouldDispatchEvent):
(WebKit::WebWheelEventCoalescer::isMomentumPhaseEvent): Deleted.
- Shared/WebWheelEventCoalescer.h:
(WebKit::WebWheelEventCoalescer::shouldCoalesceEventsDuringDeceleration const): Deleted.
(WebKit::WebWheelEventCoalescer::setShouldCoalesceEventsDuringDeceleration): Deleted.
(): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::wheelEventCoalescer):
(WebKit::WebPageProxy::windowScreenDidChange):
(WebKit::WebPageProxy::shouldCoalesceWheelEventsDuringDeceleration const): Deleted.
- UIProcess/WebPageProxy.h:
- 10:01 AM Changeset in webkit [285164] by
-
- 7 edits in trunk/Source
WebDriver: [Cocoa] support
acceptInsecureCertscapability
https://bugs.webkit.org/show_bug.cgi?id=231789
Reviewed by BJ Burg.
Add necessary plumbing to support the
acceptInsecureCertsWebDriver capability.
Source/JavaScriptCore:
- inspector/remote/RemoteInspectorConstants.h:
- inspector/remote/cocoa/RemoteInspectorCocoa.mm:
(Inspector::RemoteInspector::receivedAutomationSessionRequestMessage):
Source/WebKit:
- UIProcess/API/Cocoa/_WKAutomationSessionConfiguration.h:
- UIProcess/API/Cocoa/_WKAutomationSessionConfiguration.mm:
(-[_WKAutomationSessionConfiguration init]):
(-[_WKAutomationSessionConfiguration copyWithZone:]):
- UIProcess/Cocoa/AutomationClient.mm:
(WebKit::AutomationClient::requestAutomationSession):
- 9:37 AM Changeset in webkit [285163] by
-
- 7 edits in trunk
https://bugs.webkit.org/show_bug.cgi?id=232593
Remove isAppInitiated from _WKSessionState
Reviewed by Brent Fulgham.
Source/WebKit:
After https://bugs.webkit.org/show_bug.cgi?id=232486 we no longer need
the isAppInitiated value on _WKSessionState. It will be set
automatically when session state is retrieved.
No new tests. Confirmed by existing RestoreFromSessionState* API
tests.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _restoreSessionState:andNavigate:]):
- UIProcess/API/Cocoa/_WKSessionState.h:
- UIProcess/API/Cocoa/_WKSessionState.mm:
(-[_WKSessionState _sessionStateWithAppInitiatedValue]): Deleted.
- UIProcess/API/Cocoa/_WKSessionStateInternal.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/AppPrivacyReport.mm:
- 9:01 AM Changeset in webkit [285162] by
-
- 7 edits in trunk/Source/WebCore
[LFC][Integration] Add support for IFC preferred width computation
https://bugs.webkit.org/show_bug.cgi?id=232621
Reviewed by Alan Bujtas.
The functionality is behind a #define and not enabled yet.
- layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
Return the cached value if it exists.
- layout/formattingContexts/inline/InlineFormattingContext.h:
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::computeIntrinsicWidthConstraints):
Interface with IFC.
- layout/integration/LayoutIntegrationLineLayout.h:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeAndSetLineLayoutPath):
Factor into a function.
(WebCore::RenderBlockFlow::layoutInlineChildren):
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):
(WebCore::RenderBlockFlow::tryComputePreferredWidthsUsingModernPath):
Test if we the content can use the IFC preferred width computation. This way the
feature can be enabled incrementally.
- rendering/RenderBlockFlow.h:
- 8:59 AM Changeset in webkit [285161] by
-
- 9 edits in trunk/Source/WebCore
[GTK][WPE] Use the display refresh to drive scrolling animations (async scroll)
https://bugs.webkit.org/show_bug.cgi?id=232432
Reviewed by Simon Fraser.
Implement missing API in nicosia async scroll path to have scroll
animations driven by the display refresh instead of a 60Hz timer.
No new tests, covered by existing tests.
- page/scrolling/nicosia/ScrollingCoordinatorNicosia.cpp:
(WebCore::ScrollingCoordinatorNicosia::didCompleteRenderingUpdate):
(WebCore::ScrollingCoordinatorNicosia::hasNodeWithAnimatedScrollChanged):
- page/scrolling/nicosia/ScrollingCoordinatorNicosia.h:
- page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::serviceScrollAnimation):
- page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.h:
- page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::serviceScrollAnimation):
- page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.h:
- page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::startAnimationCallback):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::stopAnimationCallback):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::serviceScrollAnimation):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::animationTimerFired): Deleted.
- page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.h:
- 8:56 AM Changeset in webkit [285160] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Line should keep track of whether the content needs visual reordering
https://bugs.webkit.org/show_bug.cgi?id=232601
Reviewed by Antti Koivisto.
- layout/formattingContexts/inline/InlineLine.cpp:
(WebCore::Layout::Line::initialize):
(WebCore::Layout::Line::append):
- layout/formattingContexts/inline/InlineLine.h:
(WebCore::Layout::Line::contentNeedsBidiReordering const):
- 8:42 AM Changeset in webkit [285159] by
-
- 9 edits in trunk/Source
Use higher QoS for WheelEvent and DisplayWasRefreshed IPCs
https://bugs.webkit.org/show_bug.cgi?id=232458
<rdar://82657744>
Reviewed by Simon Fraser.
Source/WebKit:
Use higher QoS for WheelEvent and DisplayWasRefreshed IPCs since those are high priority. The
UIProcess's main thread has high UserInteractive QoS but the IPC thread has a lower QoS by default.
We cannot raise the QoS of the IPC thread without regressing some performance benchmarks since not
all IPC is high priority.
Making this change helps with responsiveness under heavy load scenarios.
- Platform/IPC/Connection.cpp:
(IPC::Connection::sendMessage):
- Platform/IPC/Connection.h:
(IPC::Connection::send):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::sendWheelEvent):
- UIProcess/mac/DisplayLink.cpp:
(WebKit::DisplayLink::notifyObserversDisplayWasRefreshed):
Source/WTF:
Add dispatchWithQOS() function to WorkQueue to dispatch a task with a given QoS.
- wtf/WorkQueue.cpp:
(WTF::WorkQueueBase::dispatchWithQOS):
- wtf/WorkQueue.h:
- wtf/cocoa/WorkQueueCocoa.cpp:
(WTF::WorkQueueBase::dispatchWithQOS):
- 8:11 AM Changeset in webkit [285158] by
-
- 4 edits in trunk/Tools
[webkitscmpy] Generalize pull-request title generation.
https://bugs.webkit.org/show_bug.cgi?id=232463
<rdar://problem/84784354>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.title_for): Compute pull-request title for a set of commits.
(PullRequest.main): Generalize pull-request title generation.
- 7:56 AM Changeset in webkit [285157] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] Pass in the visual order list to display box construction
https://bugs.webkit.org/show_bug.cgi?id=232600
Reviewed by Antti Koivisto.
In this patch we compute the visual order for the bidi runs if needed. This visual order is then passed
in to the display box builder so that the final display boxes are constructed in the right order (horizontal positions are not yet adjusted).
- layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::createBoxesAndUpdateGeometryForLineContent):
- layout/formattingContexts/inline/InlineLine.h:
(WebCore::Layout::Line::contentNeedsBidiReordering const):
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::layoutInlineContent):
- layout/formattingContexts/inline/InlineLineBuilder.h:
- 6:56 AM Changeset in webkit [285156] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Use the isLineSpanningInlineBoxStart line run type to update spanning inline box geometry
https://bugs.webkit.org/show_bug.cgi?id=232578
Reviewed by Antti Koivisto.
Now that we have dedicated LineSpanningInlineBoxStart line run type, let's use it to update the associated inline box geometry.
- layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::createBoxesAndUpdateGeometryForLineContent): Move the update logic over here from the createBoxesAndUpdateGeometryForLineSpanningInlineBoxes loop.
(WebCore::Layout::InlineDisplayContentBuilder::createBoxesAndUpdateGeometryForLineSpanningInlineBoxes): Deleted.
- layout/formattingContexts/inline/InlineDisplayContentBuilder.h:
- 1:47 AM Changeset in webkit [285155] by
-
- 19 edits4 adds in trunk
[GTK][WPE] Support setting status code and getting HTTP method in custom URI scheme handlers
https://bugs.webkit.org/show_bug.cgi?id=231880
Patch by Zixing Liu <liushuyu011@gmail.com> on 2021-11-02
Reviewed by Carlos Garcia Campos.
Source/WebKit:
- SourcesGTK.txt: Added WebKitURISchemeResponse.cpp
- SourcesWPE.txt: Added WebKitURISchemeResponse.cpp
- UIProcess/API/glib/WebKitURISchemeRequest.cpp:
(webkit_uri_scheme_request_get_http_method): Added new API function
(webkit_uri_request_finish_with_response): Added new API function
- UIProcess/API/glib/WebKitURISchemeRequestPrivate.h: Added.
- UIProcess/API/glib/WebKitURISchemeResponse.cpp: Added.
(webkit_uri_scheme_response_class_init): Added init function for the new type
(webkit_uri_scheme_response_new): Added new API function
(webkit_uri_scheme_response_set_status): Added new API function
(webkit_uri_scheme_response_set_content_type): Added new API function
- UIProcess/API/glib/WebKitURISchemeResponsePrivate.h: Copied from Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequestPrivate.h.
- UIProcess/API/gtk/WebKitAutocleanups.h: Register clean-up function for WebkitURISchemeResponse
- UIProcess/API/gtk/WebKitURISchemeRequest.h: Added function prototype for
webkit_uri_scheme_request_get_http_method
- UIProcess/API/gtk/WebKitURISchemeResponse.h: Added.
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Added new symbols and new types
- UIProcess/API/gtk/webkit2.h: Include a new header: WebKitURISchemeResponse.h
- UIProcess/API/wpe/WebKitURISchemeRequest.h: Added function prototype for
webkit_uri_scheme_request_get_http_method
- UIProcess/API/gtk/WebKitURISchemeResponse.h: Added.
- UIProcess/API/wpe/webkit.h: Include a new header: WebKitURISchemeResponse.h
- UIProcess/API/wpe/docs/wpe-1.0-sections.txt: Added new symbols and new types
Tools:
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testWebContextURIScheme): Added tests to test new public APIs for WebKitGtk
Nov 1, 2021:
- 11:56 PM Changeset in webkit [285154] by
-
- 3 edits in trunk/Source/JavaScriptCore
Remove some unused Heap fields.
https://bugs.webkit.org/show_bug.cgi?id=232604
Reviewed by Yusuke Suzuki.
- heap/Heap.cpp:
(JSC::Heap::notifyThreadStopping):
- heap/Heap.h:
- 9:55 PM Changeset in webkit [285153] by
-
- 8 edits in branches/safari-612-branch/Source
Versioning.
WebKit-7612.3.4
- 8:42 PM Changeset in webkit [285152] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC][LLInt] Non-commutative binops are hard to reason about when operands are labelled in reverse
https://bugs.webkit.org/show_bug.cgi?id=232598
Reviewed by Saam Barati.
In offlineasm,
OP a, b, cisc = a OP bbutOP a, bisb = b OP a.
This can make identifiers like
leftandrightquite confusing --
simple cases likesubd left, rightare already misleading, while OpDiv literally
passes its RHS to a macro asleftand then checksleftfor division by zero.
It becomes difficult to keep this all in one's brain without rewriting it on paper.
This patch may not constitute a "complete solution", but it at least makes our naming honest:
- Use 3-argument syntax (as
left, right, result) whenever possible. - When not possible (e.g. because
bsubioisn't flexible about its arguments or because x86 doesn't have 3-argument shift operations), then sayrhs, lhsexplicitly.
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- 8:25 PM Changeset in webkit [285151] by
-
- 2 edits in trunk/Source/WebCore
[Curl] Fix -Wreorder-ctor in CurlRequest
https://bugs.webkit.org/show_bug.cgi?id=232591
Reviewed by Ross Kirsling.
Reorder member initializer list in CurlRequest::CurlRequest to follow the ordering of
members in its declaration.
- platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::CurlRequest):
- 7:30 PM Changeset in webkit [285150] by
-
- 2 edits in trunk/Tools
ImageDiff.cpp(74): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 2 has type 'size_t'
https://bugs.webkit.org/show_bug.cgi?id=232596
Reviewed by Don Olmstead.
Since r284764, MSVC reports the following warning and a suggestion.
Tools\ImageDiff\ImageDiff.cpp(74): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 2 has type 'size_t'
Tools\ImageDiff\ImageDiff.cpp(74): note: consider using '%zu' in the format string
- ImageDiff/ImageDiff.cpp:
(processImages): Use %zu for size_t.
- 6:14 PM Changeset in webkit [285149] by
-
- 7 edits in trunk/Source/JavaScriptCore
[JSC] LLIntCallee should have two replacements
https://bugs.webkit.org/show_bug.cgi?id=228552
rdar://81217357
Reviewed by Saam Barati.
LLIntCallee can be used for signaling memory and bounds-checking memory.
Thus it should have two replacements for each mode.
- wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::work):
- wasm/WasmCallee.h:
(JSC::Wasm::Callee::setOSREntryCallee):
- wasm/WasmOMGForOSREntryPlan.cpp:
(JSC::Wasm::OMGForOSREntryPlan::work):
- wasm/WasmOMGPlan.cpp:
(JSC::Wasm::OMGPlan::work):
- wasm/WasmPlan.cpp:
(JSC::Wasm::Plan::updateCallSitesToCallUs):
- wasm/WasmSlowPaths.cpp:
(JSC::LLInt::jitCompileAndSetHeuristics):
(JSC::LLInt::WASM_SLOW_PATH_DECL):
- 6:06 PM Changeset in webkit [285148] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
Make WebChromeClient's m_webView pointer weak.
https://bugs.webkit.org/show_bug.cgi?id=232588
Reviewed by David Kilzer.
- WebCoreSupport/WebChromeClient.h:
- 4:56 PM Changeset in webkit [285147] by
-
- 2 edits in trunk/Source/WebCore
[AX] Fix signature of childrenChanged when !ENABLE(ACCESSIBILITY)
https://bugs.webkit.org/show_bug.cgi?id=232590
<rdar://problem/84904540>
Unreviewed build fix.
In r285092 the signature of childrenChanged went from AXCoreObject* to AccessibilityObject*
but wasn't updated when accessibility is disabled.
- accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::checkedStateChanged):
(WebCore::AXObjectCache::childrenChanged):
- 4:50 PM Changeset in webkit [285146] by
-
- 5 edits in trunk
[Curl] Explicitly disable libcurl's internal cookie support
https://bugs.webkit.org/show_bug.cgi?id=232586
Reviewed by Ross Kirsling.
.:
Setting CURLOPT_COOKIEFILE to NULL to disable the cookie engine was not added till 7.77.0
so require that version or later.
- Source/cmake/OptionsPlayStation.cmake:
- Source/cmake/OptionsWinCairo.cmake:
Source/WebCore:
Explicitly disable the cookie engine inside curl.
- platform/network/curl/CurlContext.cpp:
(WebCore::CurlHandle::CurlHandle):
- 4:33 PM Changeset in webkit [285145] by
-
- 122 edits in trunk
[WebInspector][CORS] Show HTTP status code in CORS messages.
https://bugs.webkit.org/show_bug.cgi?id=231928
LayoutTests/imported/w3c:
Patch by Michael[tm] Smith <sideshowbarker (Michael[tm] Smith)> on 2021-11-01
Reviewed by Darin Adler
Update tests with CORS messages, by adding the status code.
- web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-data-url-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/sandbox_032-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-crossorigin-change.sub-expected.txt:
- web-platform-tests/referrer-policy/generic/sandboxed-iframe-with-opaque-origin-expected.txt:
- web-platform-tests/workers/modules/dedicated-worker-import-data-url-cross-origin-expected.txt:
- web-platform-tests/worklets/audio-worklet-credentials.https-expected.txt:
- web-platform-tests/worklets/audio-worklet-import.https-expected.txt:
- web-platform-tests/worklets/audio-worklet-referrer.https-expected.txt:
Source/WebCore:
Patch by Michael Smith <sideshowbarker (Michael[tm] Smith)> on 2021-11-01
Reviewed by Darin Adler
Make the HTTP status be included in all CORS messages that might
get logged to the Inspector console when a 4xx or 5xx error occurs.
That means these:
- Failed to load resource: Origin foo is not allowed by
Access-Control-Allow-Origin
- Failed to load resource: Preflight response is not successful
The change makes those messages read as follows (in the case of,
for example, a 500 error):
- Failed to load resource: Origin foo is not allowed by
Access-Control-Allow-Origin. Status code: 500
- Failed to load resource: Preflight response is not successful.
Status code: 500
Tests: Updates 100+ existing tests, by changing expected messages.
- loader/CrossOriginAccessControl.cpp:
(WebCore::passesAccessControlCheck):
(WebCore::validatePreflightResponse):
Source/WebKit:
Patch by Michael[tm] Smith <sideshowbarker (Michael[tm] Smith)> on 2021-11-01
Reviewed by Darin Adler
Make the HTTP status be included in all CORS messages that might
get logged to the Inspector console when a 4xx or 5xx error occurs.
That means these:
- Failed to load resource: Origin foo is not allowed by
Access-Control-Allow-Origin
- Failed to load resource: Preflight response is not successful
The change makes those messages read as follows (in the case of,
for example, a 500 error):
- Failed to load resource: Origin foo is not allowed by
Access-Control-Allow-Origin. Status code: 500
- Failed to load resource: Preflight response is not successful.
Status code: 500
Tests: Updates 100+ existing tests, by changing expected messages.
- NetworkProcess/NetworkCORSPreflightChecker.cpp:
(WebKit::NetworkCORSPreflightChecker::willPerformHTTPRedirection):
LayoutTests:
Patch by Michael Smith <sideshowbarker (Michael[tm] Smith)> on 2021-11-01
Reviewed by Darin Adler
Update tests with CORS messages, by adding the status code.
- http/tests/eventsource/eventsource-cors-basic-expected.txt:
- http/tests/loading/cross-origin-XHR-willLoadRequest-expected.txt:
- http/tests/privateClickMeasurement/attribution-conversion-through-fetch-keepalive-expected.txt:
- http/tests/security/cached-cross-origin-preloaded-css-stylesheet-expected.txt:
- http/tests/security/cached-cross-origin-preloading-css-stylesheet-expected.txt:
- http/tests/security/cannot-read-cssrules-expected.txt:
- http/tests/security/cannot-read-cssrules-redirect-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-redirect-expected.txt:
- http/tests/security/cookie-module-import-propagate-expected.txt:
- http/tests/security/cross-origin-cached-images-expected.txt:
- http/tests/security/cross-origin-cached-resource-expected.txt:
- http/tests/security/cross-origin-cached-scripts-expected.txt:
- http/tests/security/cross-origin-cached-scripts-parallel-expected.txt:
- http/tests/security/img-with-failed-cors-check-fails-to-load-expected.txt:
- http/tests/security/import-module-crossorigin-loads-error-expected.txt:
- http/tests/security/import-module-crossorigin-loads-error-src-expected.txt:
- http/tests/security/import-script-crossorigin-loads-error-expected.txt:
- http/tests/security/isolatedWorld/cross-origin-xhr-expected.txt:
- http/tests/security/load-image-after-redirection-2-expected.txt:
- http/tests/security/load-image-after-redirection-expected.txt:
- http/tests/security/script-with-failed-cors-check-fails-to-load-expected.txt:
- http/tests/security/shape-image-cors-redirect-error-message-logging-1-expected.txt:
- http/tests/security/shape-image-cors-redirect-error-message-logging-2-expected.txt:
- http/tests/security/shape-image-cors-redirect-error-message-logging-3-expected.txt:
- http/tests/security/text-track-crossorigin-expected.txt:
- http/tests/security/video-cross-origin-accessfailure-expected.txt:
- http/tests/security/video-poster-cross-origin-crash-expected.txt:
- http/tests/security/video-poster-cross-origin-crash2-expected.txt:
- http/tests/subresource-integrity/sri-fetch-expected.txt:
- http/tests/subresource-integrity/sri-fetch-worker-expected.txt:
- http/tests/subresource-integrity/sri-module-expected.txt:
- http/tests/subresource-integrity/sri-script-expected.txt:
- http/tests/subresource-integrity/sri-style-expected.txt:
- http/tests/workers/service/service-worker-crossorigin-fetch-expected.txt:
- http/tests/workers/service/serviceworkerclients-claim.https-expected.txt:
- http/tests/workers/service/shift-reload-navigation-expected.txt:
- http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt:
- http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
- http/tests/xmlhttprequest/access-control-basic-denied-expected.txt:
- http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache-expected.txt:
- http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple-expected.txt:
- http/tests/xmlhttprequest/access-control-basic-post-fail-non-simple-content-type-expected.txt:
- http/tests/xmlhttprequest/access-control-preflight-async-not-supported-expected.txt:
- http/tests/xmlhttprequest/access-control-preflight-not-successful-expected.txt:
- http/tests/xmlhttprequest/access-control-preflight-sync-not-supported-expected.txt:
- http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash-expected.txt:
- http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-expected.txt:
- http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard-expected.txt:
- http/tests/xmlhttprequest/cross-origin-no-credential-prompt-expected.txt:
- http/tests/xmlhttprequest/cross-site-denied-response-expected.txt:
- http/tests/xmlhttprequest/cross-site-denied-response-sync-2-expected.txt:
- http/tests/xmlhttprequest/cross-site-denied-response-sync-expected.txt:
- http/tests/xmlhttprequest/onerror-event-expected.txt:
- http/tests/xmlhttprequest/origin-allow-list-https-expected.txt:
- http/tests/xmlhttprequest/origin-allow-list-ip-addresses-with-subdomains-expected.txt:
- http/tests/xmlhttprequest/origin-allow-list-removal-expected.txt:
- http/tests/xmlhttprequest/origin-exact-matching-expected.txt:
- http/tests/xmlhttprequest/post-blob-content-type-async-expected.txt:
- http/tests/xmlhttprequest/post-blob-content-type-sync-expected.txt:
- http/tests/xmlhttprequest/redirect-cross-origin-2-expected.txt:
- http/tests/xmlhttprequest/redirect-cross-origin-expected.txt:
- http/tests/xmlhttprequest/redirect-cross-origin-post-expected.txt:
- http/tests/xmlhttprequest/redirect-cross-origin-post-sync-expected.txt:
- http/tests/xmlhttprequest/redirect-cross-origin-sync-expected.txt:
- http/tests/xmlhttprequest/redirect-cross-origin-tripmine-expected.txt:
- http/tests/xmlhttprequest/simple-cross-origin-denied-events-expected.txt:
- http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-expected.txt:
- http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-sync-expected.txt:
- http/tests/xmlhttprequest/simple-cross-origin-denied-events-sync-expected.txt:
- http/tests/xmlhttprequest/simple-cross-origin-progress-events-expected.txt:
- http/tests/xmlhttprequest/upload-request-error-event-order-expected.txt:
- http/tests/xmlhttprequest/workers/access-control-basic-get-fail-non-simple-expected.txt:
- http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events-expected.txt:
- http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
- http/wpt/resource-timing/rt-resource-errors-expected.txt:
- http/wpt/webaudio/audioworklet-addModule-cors.sub.https-expected.txt:
- platform/glib/http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-expected.txt:
- platform/gtk/http/tests/security/video-cross-origin-accessfailure-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt:
- platform/ios/http/tests/privateClickMeasurement/attribution-conversion-through-fetch-keepalive-expected.txt:
- platform/mac-wk1/http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
- platform/mac-wk1/http/tests/xmlhttprequest/access-control-preflight-not-successful-expected.txt:
- platform/mac-wk1/http/tests/xmlhttprequest/post-blob-content-type-async-expected.txt:
- platform/mac-wk1/http/tests/xmlhttprequest/post-blob-content-type-sync-expected.txt:
- platform/mac-wk1/http/tests/xmlhttprequest/redirect-cross-origin-post-expected.txt:
- platform/mac-wk1/http/tests/xmlhttprequest/redirect-cross-origin-tripmine-expected.txt:
- platform/mac-wk1/http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-expected.txt:
- platform/mac-wk1/http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/none-sw-from-none.https-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/none-sw-from-require-corp.https-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/require-corp-sw-from-none.https-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/require-corp-sw-from-require-corp.https-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt:
- platform/win/http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt:
- platform/win/http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
- platform/win/http/tests/xmlhttprequest/access-control-preflight-not-successful-expected.txt:
- platform/win/http/tests/xmlhttprequest/redirect-cross-origin-post-expected.txt:
- platform/win/http/tests/xmlhttprequest/redirect-cross-origin-tripmine-expected.txt:
- platform/win/http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-expected.txt:
- platform/win/http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
- platform/wincairo-wk1/http/tests/xmlhttprequest/redirect-cross-origin-post-expected.txt:
- platform/wincairo-wk1/http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-expected.txt:
- platform/wincairo/http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
- 4:29 PM Changeset in webkit [285144] by
-
- 2 edits in trunk
Add ddkilzer's GitHub name to contributors.json
<https://webkit.org/b/232587>
Reviewed by Jonathan Bedard.
- metadata/contributors.json:
- 4:21 PM Changeset in webkit [285143] by
-
- 3 edits in trunk/Source/WebCore
[CMake] Can't stat Source/WebCore/Modules/webgpu: No such file or directory
https://bugs.webkit.org/show_bug.cgi?id=232583
Reviewed by Konstantin Tokarev.
r285096 removed WebCore/Modules/webgpu directory.
- CMakeLists.txt: Removed Modules/webgpu directory from
WebCore_IDL_INCLUDES and WebCore_PRIVATE_INCLUDE_DIRECTORIES.
- PlatformMac.cmake:
- 4:13 PM Changeset in webkit [285142] by
-
- 5 edits in trunk/Tools
[webkitscmpy] Only respect the latest review
https://bugs.webkit.org/show_bug.cgi?id=231987
<rdar://problem/84434991>
Reviewed by Dewei Zhu.
GitHub will report the entire history of a review, we should only
respect the latest review state.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.PRGenerator.reviewers):
- Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
(TestNetworkPullRequestGitHub.test_approved_edits):
- 4:05 PM Changeset in webkit [285141] by
-
- 4 edits2 moves in trunk/Source/WebCore
Rename GPUDevice to GPUPrewarming because it conflicts with WebGPU's GPUDevice
https://bugs.webkit.org/show_bug.cgi?id=232549
Reviewed by Tim Horton.
We should have called it GPUPrewarming from the beginning, because that's what it does.
No new tests because there is no behavior change.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- page/ProcessWarming.cpp:
- platform/graphics/gpu/GPUPrewarming.h: Renamed from Source/WebCore/platform/graphics/gpu/GPUDevice.h.
- platform/graphics/gpu/cocoa/GPUPrewarmingMetal.mm: Renamed from Source/WebCore/platform/graphics/gpu/cocoa/GPUDeviceMetal.mm.
- 3:50 PM Changeset in webkit [285140] by
-
- 1 copy in tags/Safari-613.1.6.6
Tag Safari-613.1.6.6.
- 3:28 PM Changeset in webkit [285139] by
-
- 8 edits in branches/safari-613.1.6-branch/Source
Versioning.
WebKit-7613.1.6.6
- 3:27 PM Changeset in webkit [285138] by
-
- 5 edits in trunk/Source/WebKit
Avoid heap-allocating ImportanceAssertion
https://bugs.webkit.org/show_bug.cgi?id=232579
Reviewed by Alex Christensen.
Avoid heap-allocating ImportanceAssertion since this is just a wrapper around a
mach_port.
Also update the ImportanceAssertion destructor to null out the mach port as
hardening given <rdar://75139294>.
- Platform/IPC/Decoder.cpp:
(IPC::Decoder::setImportanceAssertion):
- Platform/IPC/Decoder.h:
- Platform/IPC/cocoa/ConnectionCocoa.mm:
(IPC::Connection::receiveSourceEventHandler):
- Platform/IPC/cocoa/ImportanceAssertion.h:
(IPC::ImportanceAssertion::ImportanceAssertion):
(IPC::ImportanceAssertion::operator=):
(IPC::ImportanceAssertion::~ImportanceAssertion):
- 3:15 PM Changeset in webkit [285137] by
-
- 4 edits in trunk/Tools
Improve LayoutTestFinder test coverage
https://bugs.webkit.org/show_bug.cgi?id=232576
Reviewed by Jonathan Bedard.
Some of these are largely copied from layout_tests/run_webkit_tests_integrationtest.py, but
in unit test form for the test finder.
- Scripts/webkitpy/layout_tests/controllers/layout_test_finder_legacy_unittest.py:
(LayoutTestFinderTests.init):
(LayoutTestFinderTests):
(LayoutTestFinderTests.setUp):
(LayoutTestFinderTests.tearDown):
(LayoutTestFinderTests.test_find_no_paths_specified):
(LayoutTestFinderTests.test_find_no_paths_sorted):
(LayoutTestFinderTests.test_find_all_no_paths):
(LayoutTestFinderTests.test_includes_other_platforms):
(LayoutTestFinderTests.test_find_one_test):
(LayoutTestFinderTests.test_find_platform):
(LayoutTestFinderTests.test_find_platform_self):
(LayoutTestFinderTests.test_find_platform_other):
(LayoutTestFinderTests.test_find_platform_specific):
(LayoutTestFinderTests.test_find_platform_specific_directory):
(LayoutTestFinderTests.test_find_directory_includes_platform_specific):
(LayoutTestFinderTests.test_find_glob):
(LayoutTestFinderTests.test_find_glob_mixed_file_type_sorted):
(LayoutTestFinderTests.test_find_glob_directory):
(LayoutTestFinderTests.test_find_glob_directory_b):
(LayoutTestFinderTests.test_find_glob_directory_e):
(LayoutTestFinderTests.test_find_directory):
(LayoutTestFinderTests.test_find_directory_trailing_slash):
(LayoutTestFinderTests.test_find_directory_star):
(LayoutTestFinderTests.test_preserves_order):
(LayoutTestFinderTests.test_preserves_order_multiple_times):
(LayoutTestFinderTests.test_preserves_order_directories):
(LayoutTestFinderTests.test_preserves_order_mixed_file_type):
(LayoutTestFinderTests.test_preserves_order_mixed_file_type_b):
(LayoutTestFinderTests.test_find_directory_multiple_times):
(LayoutTestFinderTests.test_no_reference):
(LayoutTestFinderTests.test_glob_no_references):
(LayoutTestFinderTests.test_find_with_skipped_directories):
(LayoutTestFinderTests.test_find_with_skipped_directories_2):
(LayoutTestFinderTests.test_is_test_file):
(LayoutTestFinderTests.test_is_w3c_resource_file):
(LayoutTestFinderTests.make_finder): Deleted.
- Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RunTest.setUp): Re-enable tests on Python 3, as this now works
(RunTest.test_child_processes_min): Also ignore tests in platform/
- Scripts/webkitpy/port/test.py:
- 3:09 PM Changeset in webkit [285136] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Stop measuring text while collecting inline items when content needs bidi split
https://bugs.webkit.org/show_bug.cgi?id=232571
Reviewed by Antti Koivisto.
When we know we are going to do bidi processing, these inline item width results will most likely become stale at breakAndComputeBidiLevels.
- layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::breakAndComputeBidiLevels):
(WebCore::Layout::InlineItemsBuilder::handleTextContent):
(WebCore::Layout::InlineItemsBuilder::enterBidiContext):
(WebCore::Layout::InlineItemsBuilder::exitBidiContext):
(WebCore::Layout::InlineItemsBuilder::buildPreviousTextContent):
- layout/formattingContexts/inline/InlineItemsBuilder.h:
(WebCore::Layout::InlineItemsBuilder::isBiDiContent const):
- 3:09 PM Changeset in webkit [285135] by
-
- 2 edits in trunk/LayoutTests
[ Catalina Debug wk1 EWS-only ] media/track/track-element-load-event.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=232585.
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 3:04 PM Changeset in webkit [285134] by
-
- 4 edits4 moves9 adds in trunk/LayoutTests
Add platform test expectations for imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001.html
https://bugs.webkit.org/show_bug.cgi?id=232504
Reviewed by Myles C. Maxfield.
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/mac-bigsur/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt: Added.
- platform/mac/TestExpectations:
- 2:58 PM Changeset in webkit [285133] by
-
- 2 edits in trunk
Add my GitHub name (robert-jenner) to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=232581
Reviewed by Jonathan Bedard.
- metadata/contributors.json:
- 2:30 PM Changeset in webkit [285132] by
-
- 9 edits in trunk/Tools
Add a run-webkit-tests mode to A/B test a given feature
https://bugs.webkit.org/show_bug.cgi?id=232553
Reviewed by Jonathan Bedard.
Add the argument --self-compare-with-header to run-webkit-tests, which
can be used to test the impact of a given feature (or set of features;
it accepts the standard test features header format).
When tests are run in this mode, all tests are run in the ref-test
style, but with theexpectedandactualresults loading the same
test file (ignoring the usual -expected.html or whatever); they differ
only in the set of features/preferences enabled.
This is especially useful for testing the impact of e.g. platform
graphics features, where the difference between the shipping behavior
and in-development behavior is more interesting than whether or not
it actually makes the tests, as written, fail.
- Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner):
(SingleTestRunner._run_comparison_test):
Add the comparison test runner, and prefer it if requested.
One note here: the run with the options derived from the given header is
considered the "actual" result and the default configuration the "expected".
- Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
- Scripts/webkitpy/port/driver.py:
(DriverInput.init):
(DriverInput.repr):
(Driver._command_from_driver_input):
Pass the comparison test header along to the test runner.
Also, fix a longstanding error where --dump-jsconsolelog-in-stderr
could get inserted immediately after --pixel-test, causing the test runner
to consume it as the expected image hash! And leave a comment so nobody
else has to debug this again...
- TestRunnerShared/TestCommand.cpp:
(WTR::parseInputLine):
- TestRunnerShared/TestCommand.h:
- TestRunnerShared/TestFeatures.cpp:
(WTR::parseTestHeaderString):
(WTR::parseTestHeader):
(WTR::featureDefaultsFromComparisonTestHeader):
Factor out the parsing of the part of the test header inside the [ ],
since we use this format for the value of --self-compare-with-header as well.
- TestRunnerShared/TestFeatures.h:
- WebKitTestRunner/Options.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::testOptionsForTest const):
Merge the comparison header's options in to the test options before
the test's own header, so that the comparison header wins.
- 2:24 PM Changeset in webkit [285131] by
-
- 2 edits in trunk/Tools
webkitpy: Remove obsolete port name
https://bugs.webkit.org/show_bug.cgi?id=169302
<rdar://problem/30953024>
Reviewed by Alex Christensen.
Removing a temporary workaround from r213654.
- Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.port): Remove mapping from 'ios' to 'ios-device.'
- 2:04 PM Changeset in webkit [285130] by
-
- 4 edits in trunk/Source
[macOS] Opening local html files is failing
https://bugs.webkit.org/show_bug.cgi?id=232572
<rdar://81330442>
Reviewed by Brent Fulgham.
Source/WebKit:
On some macOS versions, opening local html files is failing. In order for the WebContent process
to successfully issue the file extension to the Networking process, the flags for the extension
in the WebContent process must include the user intent flag when the extension is issued with an
audit token.
- Shared/Cocoa/SandboxExtensionCocoa.mm:
(WebKit::SandboxExtensionImpl::sandboxExtensionForType):
Source/WTF:
Declare sandbox flag.
- wtf/spi/darwin/SandboxSPI.h:
- 1:54 PM Changeset in webkit [285129] by
-
- 2 edits in trunk
Add my GitHub name to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=232495
Reviewed by Alexey Proskuryakov.
- metadata/contributors.json:
- 1:33 PM Changeset in webkit [285128] by
-
- 2 edits in trunk/Tools
TestWTF.WTF_CompactUniquePtrTuple.Subclassing is randomly failing on WinCairo tester bots
https://bugs.webkit.org/show_bug.cgi?id=232556
Reviewed by Yusuke Suzuki.
"EXPECT_NE(oldPointer, a.pointer())" of line 241 was randomly
failing on WinCairo tester bots. This seems a simple mistake of
the test case. 'oldPointer' should be updated before destructing
the old value.
- TestWebKitAPI/Tests/WTF/CompactUniquePtrTuple.cpp:
(WTF_CompactUniquePtrTuple::Subclassing):
- 1:32 PM Changeset in webkit [285127] by
-
- 3 edits in trunk/Source/WebKit
[WinCairo] Enable gpu_process_canvas_rendering and gpu_process_webgl by default
https://bugs.webkit.org/show_bug.cgi?id=232555
Reviewed by Don Olmstead.
They can be disabled by the registry.
reg add HKEY_CURRENT_USER\Software\WebKit /v gpu_process_canvas_rendering /t REG_DWORD /d 0 /f
reg add HKEY_CURRENT_USER\Software\WebKit /v gpu_process_webgl /t REG_DWORD /d 0 /f
- Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultUseGPUProcessForCanvasRenderingEnabled):
(WebKit::defaultUseGPUProcessForWebGLEnabled):
- Shared/win/WebPreferencesDefaultValuesWin.cpp:
(WebKit::isFeatureFlagEnabled):
- 1:27 PM Changeset in webkit [285126] by
-
- 1 copy in tags/Safari-613.1.6.5
Tag Safari-613.1.6.5.
- 1:24 PM Changeset in webkit [285125] by
-
- 3 edits in trunk/Source/WebKit
HashMap<GraphicsContextGLIdentifier, IPC::ScopedActiveMessageReceiveQueue<RemoteGraphicsContextGL>>::get can't compile
https://bugs.webkit.org/show_bug.cgi?id=232554
Reviewed by Kimmo Kinnunen.
Because IPC::ScopedActiveMessageReceiveQueue didn't have own
HashTraits, it used GenericHashTraits. So, HashMap::get tried to
return PeekType, that was ScopedActiveMessageReceiveQueue. But, it
couldn't construct ScopedActiveMessageReceiveQueue from "const
ScopedActiveMessageReceiveQueue&".
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::findRemoteGraphicsContextGL):
Use get() instead of find().
- Platform/IPC/ScopedActiveMessageReceiveQueue.h: Added HashTraits for it.
- 1:16 PM Changeset in webkit [285124] by
-
- 8 edits in branches/safari-613.1.6-branch/Source
Versioning.
WebKit-7613.1.6.5
- 1:10 PM Changeset in webkit [285123] by
-
- 3 edits1 add in trunk
ArrayBuffer species watchpoint being invalidated doesn't mean it's not an ArrayBuffer constructor from the same global object
https://bugs.webkit.org/show_bug.cgi?id=231322
<rdar://problem/84212078>
Reviewed by Yusuke Suzuki.
JSTests:
- stress/array-buffer-species-watchpoint-should-not-dictate-if-constructor-is-correct.js: Added.
(main.async v23):
(main):
Source/JavaScriptCore:
We were relying on the watchpoint to tell us if the Array species watchpoint
for 'constructor' is set to the right value. However, the watchpoint being
fired doesn't guarantee that it won't be the right value. For example, we
might not be able to install the watchpoint because the replacement watchpoint
may already be fired.
- runtime/JSArrayBufferPrototype.cpp:
(JSC::arrayBufferSpeciesConstructorSlow):
- 1:08 PM Changeset in webkit [285122] by
-
- 2 edits in trunk
Add bburg's GitHub username to contributors.json.
Unreviewed.
- metadata/contributors.json:
Also, canonicalize a recent change.
- 12:31 PM Changeset in webkit [285121] by
-
- 23 edits in trunk
webpushd: Add mock in-memory registration, and the WKWebsiteDataStore SPI to manage them
https://bugs.webkit.org/show_bug.cgi?id=232539
Reviewed by Alex Christensen.
Source/WebKit:
Covered by API test.
The old SPI to ask the client if notifications should be allowed will remain.
Assuming the client okays notifications, in the case of built-in notifications, the *actual*
registration interaction with the system will take place as an additional step in webpushd
This patch:
- Adds in-memory notification registration for webpushd
- Adds SPI to WKWebsiteDataStore to manage registrations
- Tests the SPI
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deletePushAndNotificationRegistration):
(WebKit::NetworkProcess::getOriginsWithPushAndNotificationPermissions):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::notificationManager):
- NetworkProcess/Notifications/NetworkNotificationManager.cpp:
(WebKit::NetworkNotificationManager::requestSystemNotificationPermission):
(WebKit::NetworkNotificationManager::deletePushAndNotificationRegistration):
(WebKit::NetworkNotificationManager::getOriginsWithPushAndNotificationPermissions):
(WebKit::ReplyCaller<bool>::callReply):
(WebKit::ReplyCaller<Vector<String>::callReply):
- NetworkProcess/Notifications/NetworkNotificationManager.h:
- Shared/API/APISecurityOrigin.h:
(API::SecurityOrigin::create):
- Shared/Notifications/NotificationManagerMessageHandler.h:
- Shared/Notifications/NotificationManagerMessageHandler.messages.in:
- Shared/WebPushDaemonConstants.h:
(WebKit::WebPushD::messageTypeSendsReply):
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _deletePushAndNotificationRegistration:completionHandler:]):
(-[WKWebsiteDataStore _getOriginsWithPushAndNotificationPermissions:]):
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::deletePushAndNotificationRegistration):
(WebKit::NetworkProcessProxy::getOriginsWithPushAndNotificationPermissions):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp:
(WebKit::WebNotificationManagerMessageHandler::requestSystemNotificationPermission):
- UIProcess/Notifications/WebNotificationManagerMessageHandler.h:
- WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
(WebKit::NotificationPermissionRequestManager::startRequest):
- webpushd/WebPushDaemon.h:
- webpushd/WebPushDaemon.mm:
(WebPushD::MessageInfo::getOriginsWithPushAndNotificationPermissions::encodeReply):
(WebPushD::MessageInfo::deletePushAndNotificationRegistration::encodeReply):
(WebPushD::MessageInfo::requestSystemNotificationPermission::encodeReply):
(WebPushD::Daemon::decodeAndHandleMessage):
(WebPushD::Daemon::requestSystemNotificationPermission):
(WebPushD::Daemon::getOriginsWithPushAndNotificationPermissions):
(WebPushD::Daemon::deletePushAndNotificationRegistration):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
(-[NotificationPermissionDelegate _webView:requestNotificationPermissionForSecurityOrigin:decisionHandler:]):
(-[NotificationPermissionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TestWebKitAPI::then):
- 12:22 PM Changeset in webkit [285120] by
-
- 4 edits in trunk
[ iOS15 EWS ] TestWebKitAPI.CSSViewportUnits.SameUnobscuredSizeOverrides flaky fails on EWS
https://bugs.webkit.org/show_bug.cgi?id=232158
<rdar://problem/84555218>
Reviewed by Megan Gardner.
Source/WebCore:
Tests: CSSViewportUnits.AllSame
CSSViewportUnits.EmptyUnobscuredSizeOverrides
CSSViewportUnits.SameUnobscuredSizeOverrides
CSSViewportUnits.DifferentUnobscuredSizeOverrides
- page/FrameView.cpp:
(WebCore::FrameView::sizeForCSSDynamicViewportUnits const):
This should useunobscuredContentRectIncludingScrollbarsto matchDOMWindow::inner{width,height}.
I think I accidentally left in the old code when I was testing some other configurations
while working on r284628.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.mm:
(TEST.CSSViewportUnits.AllSame):
(TEST.CSSViewportUnits.EmptyUnobscuredSizeOverrides):
(TEST.CSSViewportUnits.SameUnobscuredSizeOverrides):
(TEST.CSSViewportUnits.DifferentUnobscuredSizeOverrides):
- 12:22 PM Changeset in webkit [285119] by
-
- 6 edits in trunk/Source/WebCore
[LFC][IFC] Start using ubidi to find bidi boundaries
https://bugs.webkit.org/show_bug.cgi?id=232552
Reviewed by Antti Koivisto.
In this patch, we start using ubidi to find the bidi boundaries in the paragraph content.
We also set the bidi levels on the associated inline item range. Later we'll be using these levels
to compute the visual order (after line breaking).
(see breakAndComputeBidiLevels for details)
- layout/formattingContexts/inline/InlineItem.h:
(WebCore::Layout::InlineItem::setBidiLevel):
- layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::breakAndComputeBidiLevels):
- layout/formattingContexts/inline/InlineTextItem.cpp:
(WebCore::Layout::InlineTextItem::splitAt):
- layout/formattingContexts/inline/InlineTextItem.h:
- 12:21 PM Changeset in webkit [285118] by
-
- 2 edits in trunk/Source/WebCore
Crash under HIDDevice::HIDDevice()
https://bugs.webkit.org/show_bug.cgi?id=232567
<rdar://79414185>
Reviewed by Simon Fraser.
Make sure we null check values returned by IOHIDDeviceGetProperty() before calling
CFNumberGetValue() on them.
- platform/mac/HIDDevice.cpp:
(WebCore::getDevicePropertyAsInt):
(WebCore::HIDDevice::HIDDevice):
- 11:01 AM Changeset in webkit [285117] by
-
- 8 edits5 adds in trunk
JSGenericTypedArrayView<Adaptor>::set crashes if the length + objectOffset is > UINT32_MAX
https://bugs.webkit.org/show_bug.cgi?id=231975
rdar://84402043
Reviewed by Yusuke Suzuki.
JSTests:
- regress-84402043 is the testcase that revealed the problem.
- typed-array-set-large(-offset) test the same function, in the typed-array to typed-array case
- typed-array-large-slice tests the only caller that passes a non-0 objectOffset, and found other issues with it
- typed-array-large-oob-eventually-not.js is just another test of the Wasm4GB change that I had forgotten to commit
- stress/regress-84402043.js: Added.
- stress/typed-array-large-oob-eventually-not.js: Added.
(test):
- stress/typed-array-large-slice.js: Added.
(expect):
- stress/typed-array-set-large-offset.js: Added.
- stress/typed-array-set-large.js: Added.
Source/JavaScriptCore:
UINT_MAX (and anything above it) is not a valid array index, so we cannot use JSObject::get(JSGlobalObject*, unsigned) with an index that big.
This was pointed by Yusuke in his review of my recent patch that introduced the problem (https://bugs.webkit.org/show_bug.cgi?id=229353#c21),
but I misunderstood the code and thought we could never get values that big at that point, thus only putting a RELEASE_ASSERT.
In this patch I instead apply his original suggestion to have a first loop using the (fast) JSObject::get(),
and a second loop for any large indices, using a slower but safe code path.
I also fixed an unrelated bug I noticed in Clobberize/AbstractInterpreter while testing the rest of the patch:
they were not aware that NewTypedArray can take a Int52RepUse child.
Finally, while trying to properly test this change, I discovered that genericTypedArrayViewProtoFuncSlice
(which is the only caller of JSGenericTypedArrayView<Adaptor>::set which passes it a non-0 objectOffset)
was still using unsigned everywhere instead of size_t, and that the same was true of all other functions in the same file.
So I fixed it in the same patch.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- runtime/JSArrayBufferConstructor.cpp:
(JSC::JSGenericArrayBufferConstructor<sharingMode>::constructImpl):
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewImpl):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::set):
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::argumentClampedIndexFromStartOrEnd):
(JSC::genericTypedArrayViewProtoFuncSet):
(JSC::genericTypedArrayViewProtoFuncCopyWithin):
(JSC::genericTypedArrayViewProtoFuncIncludes):
(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncJoin):
(JSC::genericTypedArrayViewProtoFuncFill):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):
(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
- 10:50 AM Changeset in webkit [285116] by
-
- 2 edits in trunk/Source/WebKit
GPU process WebKit logging is not initialised
https://bugs.webkit.org/show_bug.cgi?id=232563
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-11-01
Reviewed by Chris Dumez.
The file was not including LogInitialization.h.
"using namespace WebCore" caused
WebKit::logChannels() to mean WebCore::logChannels().
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::initializeGPUProcess):
- 10:45 AM Changeset in webkit [285115] by
-
- 7 edits in trunk/Source/WebKit
Increase responsiveness timeout for network process
https://bugs.webkit.org/show_bug.cgi?id=232505
Reviewed by Chris Dumez.
- UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::AuxiliaryProcessProxy):
- UIProcess/AuxiliaryProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
- UIProcess/ResponsivenessTimer.cpp:
(WebKit::ResponsivenessTimer::ResponsivenessTimer):
(WebKit::ResponsivenessTimer::timerFired):
(WebKit::ResponsivenessTimer::start):
(): Deleted.
- UIProcess/ResponsivenessTimer.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::getNetworkProcessConnection):
- 10:14 AM Changeset in webkit [285114] by
-
- 10 edits in trunk/Source
Add a testing preference to replay CG display lists manually
https://bugs.webkit.org/show_bug.cgi?id=232566
Reviewed by Wenson Hsieh.
Source/WebKit:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
- Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
- UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h:
- UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::replayCGDisplayListsIntoBackingStore const):
Plumb the preference through to _setWKContents.
- UIProcess/RemoteLayerTree/cocoa/RemoteLayerTreeLayers.h:
- UIProcess/RemoteLayerTree/cocoa/RemoteLayerTreeLayers.mm:
(-[WKCompositingLayer _setWKContents:withDisplayList:replayForTesting:]):
(-[WKCompositingLayer drawInContext:]):
(-[WKCompositingLayer _setWKContents:withDisplayList:]): Deleted.
If the preference is set, store the display list instead of setting it on the layer,
and call setNeedsDisplay, and then replay the display list in drawInContext.
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 10:12 AM Changeset in webkit [285113] by
-
- 2 edits in trunk/LayoutTests
[ iOS Debug ] http/wpt/push-api tests are flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=232570
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 10:04 AM Changeset in webkit [285112] by
-
- 8 edits in trunk
Align XSLTProcessor with Blink and get closer to Gecko in the process
https://bugs.webkit.org/show_bug.cgi?id=232485
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline WPT test now that more checks are passing.
- web-platform-tests/dom/idlharness.window-expected.txt:
Source/WebCore:
Align XSLTProcessor with Blink and get closer to Gecko (and the specification [1]) in the process.
The changes include making the parameters mandatory and non-nullable, as well as treating null
as the empty string for some parameters.
[1] https://dom.spec.whatwg.org/#xsltprocessor
No new tests, rebaselined existing test.
- xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::transformToDocument):
(WebCore::XSLTProcessor::transformToFragment):
- xml/XSLTProcessor.h:
(WebCore::XSLTProcessor::importStylesheet):
- xml/XSLTProcessor.idl:
- 9:43 AM Changeset in webkit [285111] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] fast/events/ios/viewport-device-width-allows-double-tap-zoom-out.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=232568
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 9:27 AM Changeset in webkit [285110] by
-
- 5 edits in trunk/Source
Unreviewed, reverting r285055.
Reverting because this commit may have caused
webgl/1.0.x/conformance/textures/misc/texture-corner-case-
videos.html and webgl/2.0.y/conformance/textures/misc/texture-
corner-case-videos.html to time out
Reverted changeset:
"Avoid sending video data to Web process for
canvas.drawImage(video)"
https://bugs.webkit.org/show_bug.cgi?id=230766
https://commits.webkit.org/r285055
- 9:23 AM Changeset in webkit [285109] by
-
- 7 edits in trunk/Tools
ImageDiff no longer needs a --tolerance argument, and fix sometimes-black diff images
https://bugs.webkit.org/show_bug.cgi?id=232522
Reviewed by Martin Robinson.
ImageDiff no longer deals with tolerance, so remove
--tolerancehandling code in ImageDiff
and the driving script.
Also fix an issue where the diff image could be all black pixels even when there was a diff;
we need to ensure that a pixel with any diff is non-zero before scaling, and we need to
ensure that scaling by legacyDistanceMax doesn't overflow.
- ImageDiff/ImageDiff.cpp:
(processImages):
(main):
- ImageDiff/PlatformImage.cpp:
(ImageDiff::PlatformImage::difference):
- ImageDiff/PlatformImage.h:
- ImageDiff/cg/PlatformImageCG.cpp:
(ImageDiff::PlatformImage::createFromFile):
- Scripts/webkitpy/port/image_diff.py:
(ImageDiffer.diff_image):
(ImageDiffer._start): No need to restart ImageDiff if the tolerance changed, since
ImageDiff doesn't consult it. Tolerance in the python here just feeds into
the ImageDiffResult.
- Scripts/webkitpy/port/port_testcase.py:
(PortTestCase.test_diff_image):
- 9:02 AM Changeset in webkit [285108] by
-
- 2 edits in trunk/Source/WebCore
Addressing post-commit comment (r285093).
- layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::handleInlineBoxStart):
(WebCore::Layout::InlineItemsBuilder::handleInlineBoxEnd):
- 8:58 AM Changeset in webkit [285107] by
-
- 8 edits in trunk/Source
Versioning.
WebKit-7613.1.8
- 8:55 AM Changeset in webkit [285106] by
-
- 3 edits in trunk/LayoutTests
REGRESSION (r283935): fast/css/style-element-process-crash.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=232456
<rdar://problem/84779240>
Reviewed by Wenson Hsieh.
After r283935, focus may happen asynchronously when using autofocus. As a result, we need to
update the test to use waitUntilDone() / notifyDone().
- fast/css/style-element-process-crash.html:
- platform/ios-wk2/TestExpectations:
- 8:52 AM Changeset in webkit [285105] by
-
- 1 copy in branches/safari-613.1.7-branch
New branch.
- 8:40 AM Changeset in webkit [285104] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Introduce paragraph content building to InlineItemsBuilder::handleTextContent
https://bugs.webkit.org/show_bug.cgi?id=232546
Reviewed by Antti Koivisto.
Let's check for directional control characters in text content and build
the paragraph content accordingly. Now that we've got both the inline box and
the text bidi content (atomic inline level boxes are still missing) breakInlineItemsAtBidiBoundaries
can start calling into ubidi to find content boundaries.
- layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::handleTextContent):
(WebCore::Layout::InlineItemsBuilder::enterBidiContext):
(WebCore::Layout::InlineItemsBuilder::buildPreviousTextContent):
- layout/formattingContexts/inline/InlineItemsBuilder.h:
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForFontAndText):
- 7:11 AM Changeset in webkit [285103] by
-
- 3 edits in trunk/Tools
Fix a typo in EWS emails
- 6:17 AM Changeset in webkit [285102] by
-
- 4 edits in trunk/Source/ThirdParty/ANGLE
[ANGLE] Enable -Wformat=2 warnings
<https://webkit.org/b/232358>
<rdar://problem/84568935>
Reviewed by Kimmo Kinnunen.
- Configurations/Base.xcconfig:
(WARNING_CFLAGS):
- Add -Wformat=2 switch, which includes -Wformat-nonliteral.
- src/common/angleutils.h:
(FormatStringIntoVector):
- Move below definition of ANGLE_FORMAT_PRINTF() and add macro to the function declaration to fix -Wformat-nonliteral warning.
- src/compiler/translator/Common.h:
(sh::str):
- Make
formatStra constexpr to fix -Wformat-nonliteral warning.
- 1:42 AM Changeset in webkit [285101] by
-
- 4 edits in trunk/Source
Fix build with GCC 8.4 on Ubuntu 18.04
https://bugs.webkit.org/show_bug.cgi?id=232305
Patch by Daniel Kolesa <Daniel Kolesa> on 2021-11-01
Reviewed by Adrian Perez de Castro.
Source/WebCore:
Fix build with GCC 8.4 on Ubuntu 18.04
Thes sections of the code trigger an internal compiler error with
GCC 8.4, segfaulting the compiler. This adds a workaround that
makes it work again.
- Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
(WebCore::ClipboardItemBindingsDataSource::collectDataForWriting):
Source/WebKit:
Thes sections of the code trigger an internal compiler error with
GCC 8.4, segfaulting the compiler. This adds a workaround that
makes it work again.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):