Timeline
Sep 30, 2020:
- 11:48 PM Changeset in webkit [267821] by
-
- 3 edits in trunk/Source/WebCore
Remove responseIsXML
https://bugs.webkit.org/show_bug.cgi?id=217133
Patch by Rob Buis <rbuis@igalia.com> on 2020-09-30
Reviewed by Darin Adler.
Remove responseIsXML method, it can be inlined and is still readable, also
it in one case this avoids calling the non trivial responseMIMEType.
No new tests. No change in behavior.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createDecoder const):
(WebCore::XMLHttpRequest::responseIsXML const): Deleted.
- xml/XMLHttpRequest.h:
- 10:15 PM Changeset in webkit [267820] by
-
- 22 edits3 deletes in trunk/Source/JavaScriptCore
[JSC] We should not tag C function with JIT code related ptr tag
https://bugs.webkit.org/show_bug.cgi?id=217150
Reviewed by Mark Lam.
We are tagging getHostCallReturnValue function with JIT related PtrTag. As a part of JIT-caging effort, we are restricting our
PtrTag usage more for code types (e.g. JIT code should be tagged with JIT related PtrTag). So, we should not tag getHostCallReturnValue
with that. This patch implements getHostCallReturnValue in JIT code if JIT is enabled. If not, it is implemented by LLInt.
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- bytecode/BytecodeList.rb:
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- heap/MarkedBlock.h:
(JSC::MarkedBlock::Footer::offsetOfVM):
- heap/PreciseAllocation.h:
(JSC::PreciseAllocation::offsetOfWeakSet):
- heap/WeakSet.h:
(JSC::WeakSet::offsetOfVM):
- jit/HostCallReturnValue.cpp: Removed.
- jit/HostCallReturnValue.h: Removed.
- jit/JITOperations.cpp:
- jit/JITOperationsMSVC64.cpp: Removed.
- jit/JITStubsMSVC64.asm:
- llint/LLIntEntrypoint.cpp:
(JSC::LLInt::getHostCallReturnValueEntrypoint):
- llint/LLIntEntrypoint.h:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::handleHostCall):
(JSC::LLInt::commonCallEval):
- llint/LLIntThunks.cpp:
(JSC::LLInt::getHostCallReturnValueThunk):
- llint/LLIntThunks.h:
- llint/LowLevelInterpreter.cpp:
(JSC::CLoop::execute):
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/JSCellInlines.h:
(JSC::tryAllocateCellHelper):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::offsetOfVM):
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
(JSC::VM::offsetOfEncodedHostCallReturnValue):
- 9:44 PM Changeset in webkit [267819] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Missing bits from last gardening
Unreviewed test gardening.
- platform/gtk/TestExpectations:
- 9:35 PM Changeset in webkit [267818] by
-
- 3 edits in trunk/Source/WebKit
[Media in GPU Process] Enable IPC message handlers of RemoteMediaSessionHelper
https://bugs.webkit.org/show_bug.cgi?id=217152
Reviewed by Eric Carlson.
- WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::dispatchMessage):
- WebProcess/GPU/media/ios/RemoteMediaSessionHelper.cpp:
(WebKit::RemoteMediaSessionHelper::RemoteMediaSessionHelper):
- 8:21 PM Changeset in webkit [267817] by
-
- 12 edits in trunk
Storage Access API: Enable per-page storage access scope and align test cases
https://bugs.webkit.org/show_bug.cgi?id=217077
<rdar://problem/69017878>
Reviewed by Brent Fulgham.
It was decided in https://github.com/privacycg/storage-access/issues/3 that
browsers should grant storage access for all same-site resources on the whole
page, not just the requesting iframe.
Source/WebCore:
No new tests. Existing tests aligned, including
LayoutTests/http/tests/storageAccess/request-and-grant-access-with-per-page-scope-access-from-another-frame.html
which no longer calls
internals.settings.setStorageAccessAPIPerPageScopeEnabled(true)
to opt in to the setting that is now the default.
- dom/DocumentStorageAccess.cpp:
(WebCore::DocumentStorageAccess::requestStorageAccess):
Changed the settings check to do the reverse, i.e. assume
per-page access by default and per-frame access as the
exception.
- dom/DocumentStorageAccess.h:
Changed the default setting for m_storageAccessScope to per-page.
- page/Settings.yaml:
Changed the default to true for
storageAccessAPIPerPageScopeEnabled.
Source/WebKit:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::hasStorageAccess):
Added a call to WebPage::hasPageLevelStorageAccess()
and an early return if it returns true.
LayoutTests:
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame.html:
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame.html:
- http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access.html:
- http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access.html:
All of the above now explicitly call
internals.settings.setStorageAccessAPIPerPageScopeEnabled(false)
to opt out of the new default setting.
- http/tests/storageAccess/request-and-grant-access-with-per-page-scope-access-from-another-frame.html:
Changed to assume per-page is the default.
- 8:06 PM Changeset in webkit [267816] by
-
- 6 edits3 adds in trunk/LayoutTests
[GLIB] Gardening some failures
Unreviewed test gardening.
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-computed-value-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads.sub.tentative-expected.txt:
- platform/glib/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_block_downloads.sub.tentative-expected.txt:
- platform/gtk-wayland/TestExpectations:
- platform/gtk/TestExpectations:
- 5:45 PM Changeset in webkit [267815] by
-
- 2 edits2 adds in trunk/Tools
[webkitscmpy] Add Commit object
https://bugs.webkit.org/show_bug.cgi?id=216403
<rdar://problem/68702779>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version number.
- Scripts/libraries/webkitscmpy/webkitscmpy/commit.py: Added.
(Commit):
(Commit._parse_hash): Given a hash, verify that the provided argument is
Actually a git hash.
(Commit._parse_revision): Given a string or integer, verify the provided
argument is a valid SVN revision and return the revision as an integer.
(Commit._parse_identifier): Given a string or integer, verify the provided
argument is a valid identifier and return the identifier and branch.
(Commit.parse): Given a string representing a commit hash, svn revision or
identifier, return a commit object.
(Commit.init):
(Commit.pretty_print): Return a long string displaying the metadata for the commit
(Commit.repr): Return a one-line representation of the commit.
(Commit.hash):
(Commit.cmp): Compare two commit objects.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py: Added.
(TestCommit):
(TestCommit.test_parse_hash):
(TestCommit.test_parse_revision):
(TestCommit.test_parse_identifier):
(TestCommit.test_parse):
(TestCommit.test_pretty_print):
- 5:40 PM Changeset in webkit [267814] by
-
- 13 edits1 add in trunk
[JSC] Implement item method proposal
https://bugs.webkit.org/show_bug.cgi?id=217115
Reviewed by Yusuke Suzuki.
JSTests:
- stress/item-method.js: Added.
- test262/config.yaml: Unskip tests.
Source/JavaScriptCore:
This patch implements {Array, %TypedArray%, String}.prototype.item, which reached Stage 3 at TC39 last week:
https://github.com/tc39/proposal-item-method/
This method behaves like the [] operator except:
- it recognizes negative indices (-1 through -length, without wrapping)
- it returns undefined *without* calling getters for out-of-bounds indices
The primary motivation for this is as a layering improvement for Web APIs (see, e.g., NodeList.prototype.item),
but the primary visible benefit for JavaScript users is negative indexation.
- builtins/ArrayPrototype.js:
(item):
- builtins/StringPrototype.js:
(item):
- builtins/TypedArrayPrototype.js:
(item):
- runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::JSTypedArrayViewPrototype::finishCreation):
- runtime/StringPrototype.cpp:
LayoutTests:
- inspector/model/remote-object-get-properties-expected.txt:
- js/Object-getOwnPropertyNames-expected.txt:
- js/script-tests/Object-getOwnPropertyNames.js:
Adjust tests.
- 5:15 PM Changeset in webkit [267813] by
-
- 647 edits in trunk/Source/WebCore
[WebIDL] Make Exposed mandatory for IDL interfaces
https://bugs.webkit.org/show_bug.cgi?id=217101
Reviewed by Darin Adler.
Add [Exposed] to all IDL interfaces that were missing it and enforce its
requirement.
- bindings/scripts/CodeGeneratorJS.pm:
- bindings/scripts/preprocess-idls.pl:
Remove default "Window" exposed behavior and require it on all interfaces
and callback interfaces with constants that don't specify LegacyNoInterfaceObject.
- Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl:
- Modules/applepay/ApplePayError.idl:
- Modules/applepay/ApplePaySession.idl:
- Modules/applepay/ApplePaySetup.idl:
- Modules/applepay/ApplePaySetupFeature.idl:
- Modules/encryptedmedia/MediaKeyEncryptionScheme.idl:
- Modules/encryptedmedia/MediaKeyMessageEvent.idl:
- Modules/encryptedmedia/MediaKeySession.idl:
- Modules/encryptedmedia/MediaKeySessionType.idl:
- Modules/encryptedmedia/MediaKeyStatusMap.idl:
- Modules/encryptedmedia/MediaKeySystemAccess.idl:
- Modules/encryptedmedia/MediaKeys.idl:
- Modules/encryptedmedia/MediaKeysRequirement.idl:
- Modules/encryptedmedia/legacy/WebKitMediaKeyMessageEvent.idl:
- Modules/encryptedmedia/legacy/WebKitMediaKeyNeededEvent.idl:
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.idl:
- Modules/encryptedmedia/legacy/WebKitMediaKeys.idl:
- Modules/entriesapi/DOMFileSystem.idl:
- Modules/entriesapi/FileSystemDirectoryEntry.idl:
- Modules/entriesapi/FileSystemDirectoryReader.idl:
- Modules/entriesapi/FileSystemEntry.idl:
- Modules/entriesapi/FileSystemFileEntry.idl:
- Modules/gamepad/Gamepad.idl:
- Modules/gamepad/GamepadButton.idl:
- Modules/gamepad/GamepadEvent.idl:
- Modules/geolocation/Geolocation.idl:
- Modules/geolocation/GeolocationCoordinates.idl:
- Modules/geolocation/GeolocationPosition.idl:
- Modules/geolocation/GeolocationPositionError.idl:
- Modules/geolocation/PositionOptions.idl:
- Modules/highlight/HighlightMap.idl:
- Modules/highlight/HighlightRangeGroup.idl:
- Modules/mediacapabilities/AudioConfiguration.idl:
- Modules/mediacapabilities/MediaCapabilities.idl:
- Modules/mediacapabilities/MediaCapabilitiesDecodingInfo.idl:
- Modules/mediacapabilities/MediaCapabilitiesEncodingInfo.idl:
- Modules/mediacapabilities/MediaCapabilitiesInfo.idl:
- Modules/mediacapabilities/MediaDecodingConfiguration.idl:
- Modules/mediacapabilities/MediaEncodingConfiguration.idl:
- Modules/mediacapabilities/VideoConfiguration.idl:
- Modules/mediasource/MediaSource.idl:
- Modules/mediasource/SourceBuffer.idl:
- Modules/mediasource/SourceBufferList.idl:
- Modules/mediastream/CanvasCaptureMediaStreamTrack.idl:
- Modules/mediastream/MediaDeviceInfo.idl:
- Modules/mediastream/MediaDevices.idl:
- Modules/mediastream/MediaStream.idl:
- Modules/mediastream/MediaStreamTrack.idl:
- Modules/mediastream/MediaStreamTrackEvent.idl:
- Modules/mediastream/OverconstrainedError.idl:
- Modules/mediastream/OverconstrainedErrorEvent.idl:
- Modules/mediastream/RTCCertificate.idl:
- Modules/mediastream/RTCConfiguration.idl:
- Modules/mediastream/RTCDTMFSender.idl:
- Modules/mediastream/RTCDTMFToneChangeEvent.idl:
- Modules/mediastream/RTCDataChannel.idl:
- Modules/mediastream/RTCDataChannelEvent.idl:
- Modules/mediastream/RTCIceCandidate.idl:
- Modules/mediastream/RTCIceTransport.idl:
- Modules/mediastream/RTCPeerConnection.idl:
- Modules/mediastream/RTCPeerConnectionIceEvent.idl:
- Modules/mediastream/RTCRtpReceiver.idl:
- Modules/mediastream/RTCRtpSender.idl:
- Modules/mediastream/RTCRtpTransceiver.idl:
- Modules/mediastream/RTCSessionDescription.idl:
- Modules/mediastream/RTCStatsReport.idl:
- Modules/mediastream/RTCTrackEvent.idl:
- Modules/notifications/Notification.idl:
- Modules/paymentrequest/PaymentRequest.idl:
- Modules/remoteplayback/RemotePlayback.idl:
- Modules/speech/SpeechSynthesis.idl:
- Modules/speech/SpeechSynthesisEvent.idl:
- Modules/speech/SpeechSynthesisUtterance.idl:
- Modules/speech/SpeechSynthesisVoice.idl:
- Modules/webaudio/AnalyserNode.idl:
- Modules/webaudio/AudioBuffer.idl:
- Modules/webaudio/AudioBufferSourceNode.idl:
- Modules/webaudio/AudioContext.idl:
- Modules/webaudio/AudioDestinationNode.idl:
- Modules/webaudio/AudioListener.idl:
- Modules/webaudio/AudioNode.idl:
- Modules/webaudio/AudioParam.idl:
- Modules/webaudio/AudioParamMap.idl:
- Modules/webaudio/AudioProcessingEvent.idl:
- Modules/webaudio/AudioScheduledSourceNode.idl:
- Modules/webaudio/BaseAudioContext.idl:
- Modules/webaudio/BiquadFilterNode.idl:
- Modules/webaudio/ChannelMergerNode.idl:
- Modules/webaudio/ChannelSplitterNode.idl:
- Modules/webaudio/ConstantSourceNode.idl:
- Modules/webaudio/ConvolverNode.idl:
- Modules/webaudio/DelayNode.idl:
- Modules/webaudio/DynamicsCompressorNode.idl:
- Modules/webaudio/GainNode.idl:
- Modules/webaudio/IIRFilterNode.idl:
- Modules/webaudio/MediaElementAudioSourceNode.idl:
- Modules/webaudio/MediaStreamAudioDestinationNode.idl:
- Modules/webaudio/MediaStreamAudioSourceNode.idl:
- Modules/webaudio/OfflineAudioCompletionEvent.idl:
- Modules/webaudio/OfflineAudioContext.idl:
- Modules/webaudio/OscillatorNode.idl:
- Modules/webaudio/PannerNode.idl:
- Modules/webaudio/PeriodicWave.idl:
- Modules/webaudio/ScriptProcessorNode.idl:
- Modules/webaudio/StereoPannerNode.idl:
- Modules/webaudio/WaveShaperNode.idl:
- Modules/webaudio/WebKitAudioContext.idl:
- Modules/webaudio/WebKitAudioPannerNode.idl:
- Modules/webaudio/WebKitOfflineAudioContext.idl:
- Modules/webdatabase/Database.idl:
- Modules/webdatabase/SQLError.idl:
- Modules/webdatabase/SQLResultSet.idl:
- Modules/webdatabase/SQLResultSetRowList.idl:
- Modules/webdatabase/SQLTransaction.idl:
- Modules/webgpu/GPUBufferUsage.idl:
- Modules/webgpu/GPUCanvasContext.idl:
- Modules/webgpu/GPUColorWrite.idl:
- Modules/webgpu/GPUOutOfMemoryError.idl:
- Modules/webgpu/GPUShaderStage.idl:
- Modules/webgpu/GPUTextureUsage.idl:
- Modules/webgpu/GPUValidationError.idl:
- Modules/webgpu/Navigator+GPU.idl:
- Modules/webgpu/WebGPU.idl:
- Modules/webgpu/WebGPUAdapter.idl:
- Modules/webgpu/WebGPUBindGroup.idl:
- Modules/webgpu/WebGPUBindGroupLayout.idl:
- Modules/webgpu/WebGPUBuffer.idl:
- Modules/webgpu/WebGPUCommandBuffer.idl:
- Modules/webgpu/WebGPUCommandEncoder.idl:
- Modules/webgpu/WebGPUComputePassEncoder.idl:
- Modules/webgpu/WebGPUComputePipeline.idl:
- Modules/webgpu/WebGPUDevice.idl:
- Modules/webgpu/WebGPUPipelineLayout.idl:
- Modules/webgpu/WebGPUProgrammablePassEncoder.idl:
- Modules/webgpu/WebGPUQueue.idl:
- Modules/webgpu/WebGPURenderPassEncoder.idl:
- Modules/webgpu/WebGPURenderPipeline.idl:
- Modules/webgpu/WebGPUSampler.idl:
- Modules/webgpu/WebGPUShaderModule.idl:
- Modules/webgpu/WebGPUSwapChain.idl:
- Modules/webgpu/WebGPUTexture.idl:
- Modules/webgpu/WebGPUTextureView.idl:
- Modules/webxr/XRInputSourceEvent.idl:
- Modules/webxr/XRInputSourcesChangeEvent.idl:
- Modules/webxr/XRReferenceSpaceEvent.idl:
- Modules/webxr/XRSessionEvent.idl:
- WebCore.xcodeproj/project.pbxproj:
- animation/AnimationPlaybackEvent.idl:
- animation/AnimationTimeline.idl:
- animation/DocumentTimeline.idl:
- animation/WebAnimation.idl:
- css/CSSConditionRule.idl:
- css/CSSFontFaceRule.idl:
- css/CSSGroupingRule.idl:
- css/CSSImportRule.idl:
- css/CSSKeyframeRule.idl:
- css/CSSKeyframesRule.idl:
- css/CSSMediaRule.idl:
- css/CSSNamespaceRule.idl:
- css/CSSPageRule.idl:
- css/CSSRuleList.idl:
- css/CSSStyleDeclaration.idl:
- css/CSSStyleRule.idl:
- css/CSSStyleSheet.idl:
- css/CSSSupportsRule.idl:
- css/DOMCSSNamespace.idl:
- css/DeprecatedCSSOMCounter.idl:
- css/DeprecatedCSSOMPrimitiveValue.idl:
- css/DeprecatedCSSOMRGBColor.idl:
- css/DeprecatedCSSOMRect.idl:
- css/DeprecatedCSSOMValue.idl:
- css/DeprecatedCSSOMValueList.idl:
- css/FontFace.idl:
- css/FontFaceSet.idl:
- css/MediaQueryListEvent.idl:
- css/typedom/StylePropertyMap.idl:
- dom/AbortAlgorithm.idl:
- dom/AnimationEvent.idl:
- dom/Attr.idl:
- dom/BeforeLoadEvent.idl:
- dom/BeforeUnloadEvent.idl:
- dom/CDATASection.idl:
- dom/CharacterData.idl:
- dom/ClipboardEvent.idl:
- dom/Comment.idl:
- dom/CompositionEvent.idl:
- dom/CustomElementRegistry.idl:
- dom/DOMImplementation.idl:
- dom/DOMRectList.idl:
- dom/DOMStringList.idl:
- dom/DOMStringMap.idl:
- dom/DataTransfer.idl:
- dom/DataTransferItem.idl:
- dom/DataTransferItemList.idl:
- dom/DeviceMotionEvent.idl:
- dom/DeviceOrientationEvent.idl:
- dom/Document.idl:
- dom/DocumentFragment.idl:
- dom/DocumentType.idl:
- dom/DragEvent.idl:
- dom/Element.idl:
- dom/FocusEvent.idl:
- dom/HashChangeEvent.idl:
- dom/IdleDeadline.idl:
- dom/InputEvent.idl:
- dom/KeyboardEvent.idl:
- dom/MouseEvent.idl:
- dom/MutationEvent.idl:
- dom/MutationObserver.idl:
- dom/MutationRecord.idl:
- dom/NamedNodeMap.idl:
- dom/Node.idl:
- dom/NodeFilter.idl:
- dom/NodeIterator.idl:
- dom/NodeList.idl:
- dom/OverflowEvent.idl:
- dom/PageTransitionEvent.idl:
- dom/PopStateEvent.idl:
- dom/ProcessingInstruction.idl:
- dom/Range.idl:
- dom/SecurityPolicyViolationEvent.idl:
- dom/ShadowRoot.idl:
- dom/StaticRange.idl:
- dom/Text.idl:
- dom/TextEvent.idl:
- dom/Touch.idl:
- dom/TouchEvent.idl:
- dom/TouchList.idl:
- dom/TransitionEvent.idl:
- dom/TreeWalker.idl:
- dom/UIEvent.idl:
- dom/WebKitAnimationEvent.idl:
- dom/WebKitTransitionEvent.idl:
- dom/WheelEvent.idl:
- dom/XMLDocument.idl:
- html/DOMTokenList.idl:
- html/HTMLAllCollection.idl:
- html/HTMLAnchorElement.idl:
- html/HTMLAppletElement.idl:
- html/HTMLAreaElement.idl:
- html/HTMLAttachmentElement.idl:
- html/HTMLAudioElement.idl:
- html/HTMLBRElement.idl:
- html/HTMLBaseElement.idl:
- html/HTMLBodyElement.idl:
- html/HTMLButtonElement.idl:
- html/HTMLCanvasElement.idl:
- html/HTMLCollection.idl:
- html/HTMLDListElement.idl:
- html/HTMLDataElement.idl:
- html/HTMLDataListElement.idl:
- html/HTMLDetailsElement.idl:
- html/HTMLDirectoryElement.idl:
- html/HTMLDivElement.idl:
- html/HTMLDocument.idl:
- html/HTMLElement.idl:
- html/HTMLEmbedElement.idl:
- html/HTMLFieldSetElement.idl:
- html/HTMLFontElement.idl:
- html/HTMLFormControlsCollection.idl:
- html/HTMLFormElement.idl:
- html/HTMLFrameElement.idl:
- html/HTMLFrameSetElement.idl:
- html/HTMLHRElement.idl:
- html/HTMLHeadElement.idl:
- html/HTMLHeadingElement.idl:
- html/HTMLHtmlElement.idl:
- html/HTMLIFrameElement.idl:
- html/HTMLImageElement.idl:
- html/HTMLInputElement.idl:
- html/HTMLKeygenElement.idl:
- html/HTMLLIElement.idl:
- html/HTMLLabelElement.idl:
- html/HTMLLegendElement.idl:
- html/HTMLLinkElement.idl:
- html/HTMLMapElement.idl:
- html/HTMLMarqueeElement.idl:
- html/HTMLMediaElement.idl:
- html/HTMLMenuElement.idl:
- html/HTMLMenuItemElement.idl:
- html/HTMLMetaElement.idl:
- html/HTMLMeterElement.idl:
- html/HTMLModElement.idl:
- html/HTMLOListElement.idl:
- html/HTMLObjectElement.idl:
- html/HTMLOptGroupElement.idl:
- html/HTMLOptionElement.idl:
- html/HTMLOptionsCollection.idl:
- html/HTMLOutputElement.idl:
- html/HTMLParagraphElement.idl:
- html/HTMLParamElement.idl:
- html/HTMLPictureElement.idl:
- html/HTMLPreElement.idl:
- html/HTMLProgressElement.idl:
- html/HTMLQuoteElement.idl:
- html/HTMLScriptElement.idl:
- html/HTMLSelectElement.idl:
- html/HTMLSlotElement.idl:
- html/HTMLSourceElement.idl:
- html/HTMLSpanElement.idl:
- html/HTMLStyleElement.idl:
- html/HTMLTableCaptionElement.idl:
- html/HTMLTableCellElement.idl:
- html/HTMLTableColElement.idl:
- html/HTMLTableElement.idl:
- html/HTMLTableRowElement.idl:
- html/HTMLTableSectionElement.idl:
- html/HTMLTemplateElement.idl:
- html/HTMLTextAreaElement.idl:
- html/HTMLTimeElement.idl:
- html/HTMLTitleElement.idl:
- html/HTMLTrackElement.idl:
- html/HTMLUListElement.idl:
- html/HTMLUnknownElement.idl:
- html/HTMLVideoElement.idl:
- html/MediaController.idl:
- html/MediaEncryptedEvent.idl:
- html/MediaError.idl:
- html/RadioNodeList.idl:
- html/TimeRanges.idl:
- html/ValidityState.idl:
- html/WebKitMediaKeyError.idl:
- html/canvas/CanvasCompositing.idl:
- html/canvas/CanvasDrawImage.idl:
- html/canvas/CanvasDrawPath.idl:
- html/canvas/CanvasFillStrokeStyles.idl:
- html/canvas/CanvasFilters.idl:
- html/canvas/CanvasImageData.idl:
- html/canvas/CanvasImageSmoothing.idl:
- html/canvas/CanvasPath.idl:
- html/canvas/CanvasPathDrawingStyles.idl:
- html/canvas/CanvasRect.idl:
- html/canvas/CanvasRenderingContext2D.idl:
- html/canvas/CanvasShadowStyles.idl:
- html/canvas/CanvasState.idl:
- html/canvas/CanvasText.idl:
- html/canvas/CanvasTextDrawingStyles.idl:
- html/canvas/CanvasTransform.idl:
- html/canvas/CanvasUserInterface.idl:
- html/canvas/PaintRenderingContext2D.idl:
- html/canvas/WebGLActiveInfo.idl:
- html/canvas/WebGLBuffer.idl:
- html/canvas/WebGLContextEvent.idl:
- html/canvas/WebGLFramebuffer.idl:
- html/canvas/WebGLProgram.idl:
- html/canvas/WebGLQuery.idl:
- html/canvas/WebGLRenderbuffer.idl:
- html/canvas/WebGLSampler.idl:
- html/canvas/WebGLShader.idl:
- html/canvas/WebGLShaderPrecisionFormat.idl:
- html/canvas/WebGLSync.idl:
- html/canvas/WebGLTexture.idl:
- html/canvas/WebGLTransformFeedback.idl:
- html/canvas/WebGLUniformLocation.idl:
- html/canvas/WebGLVertexArrayObject.idl:
- html/track/AudioTrack.idl:
- html/track/AudioTrackList.idl:
- html/track/DataCue.idl:
- html/track/TextTrack.idl:
- html/track/TextTrackCue.idl:
- html/track/TextTrackCueGeneric.idl:
- html/track/TextTrackCueList.idl:
- html/track/TextTrackList.idl:
- html/track/TrackEvent.idl:
- html/track/VTTCue.idl:
- html/track/VTTRegion.idl:
- html/track/VTTRegionList.idl:
- html/track/VideoTrack.idl:
- html/track/VideoTrackList.idl:
- loader/appcache/DOMApplicationCache.idl:
- mathml/MathMLElement.idl:
- mathml/MathMLMathElement.idl:
- page/BarProp.idl:
- page/Crypto.idl:
- page/DOMSelection.idl:
- page/DOMWindow.idl:
- page/GlobalCrypto.idl:
- page/GlobalPerformance.idl:
- page/History.idl:
- page/IntersectionObserver.idl:
- page/IntersectionObserverEntry.idl:
- page/Location.idl:
- page/Navigator+IsLoggedIn.idl:
- page/Navigator.idl:
- page/PerformanceNavigation.idl:
- page/PerformancePaintTiming.idl:
- page/PerformanceTiming.idl:
- page/RemoteDOMWindow.idl:
- page/ResizeObserver.idl:
- page/ResizeObserverEntry.idl:
- page/Screen.idl:
- page/UndoItem.idl:
- page/UndoManager.idl:
- page/UserMessageHandler.idl:
- page/UserMessageHandlersNamespace.idl:
- page/VisualViewport.idl:
- page/WebKitNamespace.idl:
- page/WebKitPoint.idl:
- plugins/DOMMimeType.idl:
- plugins/DOMMimeTypeArray.idl:
- plugins/DOMPlugin.idl:
- plugins/DOMPluginArray.idl:
- storage/Storage.idl:
- storage/StorageEvent.idl:
- svg/SVGAElement.idl:
- svg/SVGAltGlyphDefElement.idl:
- svg/SVGAltGlyphElement.idl:
- svg/SVGAltGlyphItemElement.idl:
- svg/SVGAngle.idl:
- svg/SVGAnimateColorElement.idl:
- svg/SVGAnimateElement.idl:
- svg/SVGAnimateMotionElement.idl:
- svg/SVGAnimateTransformElement.idl:
- svg/SVGAnimatedAngle.idl:
- svg/SVGAnimatedBoolean.idl:
- svg/SVGAnimatedEnumeration.idl:
- svg/SVGAnimatedInteger.idl:
- svg/SVGAnimatedLength.idl:
- svg/SVGAnimatedLengthList.idl:
- svg/SVGAnimatedNumber.idl:
- svg/SVGAnimatedNumberList.idl:
- svg/SVGAnimatedPreserveAspectRatio.idl:
- svg/SVGAnimatedRect.idl:
- svg/SVGAnimatedString.idl:
- svg/SVGAnimatedTransformList.idl:
- svg/SVGAnimationElement.idl:
- svg/SVGCircleElement.idl:
- svg/SVGClipPathElement.idl:
- svg/SVGComponentTransferFunctionElement.idl:
- svg/SVGCursorElement.idl:
- svg/SVGDefsElement.idl:
- svg/SVGDescElement.idl:
- svg/SVGElement.idl:
- svg/SVGEllipseElement.idl:
- svg/SVGFEBlendElement.idl:
- svg/SVGFEColorMatrixElement.idl:
- svg/SVGFEComponentTransferElement.idl:
- svg/SVGFECompositeElement.idl:
- svg/SVGFEConvolveMatrixElement.idl:
- svg/SVGFEDiffuseLightingElement.idl:
- svg/SVGFEDisplacementMapElement.idl:
- svg/SVGFEDistantLightElement.idl:
- svg/SVGFEDropShadowElement.idl:
- svg/SVGFEFloodElement.idl:
- svg/SVGFEFuncAElement.idl:
- svg/SVGFEFuncBElement.idl:
- svg/SVGFEFuncGElement.idl:
- svg/SVGFEFuncRElement.idl:
- svg/SVGFEGaussianBlurElement.idl:
- svg/SVGFEImageElement.idl:
- svg/SVGFEMergeElement.idl:
- svg/SVGFEMergeNodeElement.idl:
- svg/SVGFEMorphologyElement.idl:
- svg/SVGFEOffsetElement.idl:
- svg/SVGFEPointLightElement.idl:
- svg/SVGFESpecularLightingElement.idl:
- svg/SVGFESpotLightElement.idl:
- svg/SVGFETileElement.idl:
- svg/SVGFETurbulenceElement.idl:
- svg/SVGFilterElement.idl:
- svg/SVGFontElement.idl:
- svg/SVGFontFaceElement.idl:
- svg/SVGFontFaceFormatElement.idl:
- svg/SVGFontFaceNameElement.idl:
- svg/SVGFontFaceSrcElement.idl:
- svg/SVGFontFaceUriElement.idl:
- svg/SVGForeignObjectElement.idl:
- svg/SVGGElement.idl:
- svg/SVGGeometryElement.idl:
- svg/SVGGlyphElement.idl:
- svg/SVGGlyphRefElement.idl:
- svg/SVGGradientElement.idl:
- svg/SVGGraphicsElement.idl:
- svg/SVGHKernElement.idl:
- svg/SVGImageElement.idl:
- svg/SVGLength.idl:
- svg/SVGLengthList.idl:
- svg/SVGLineElement.idl:
- svg/SVGLinearGradientElement.idl:
- svg/SVGMPathElement.idl:
- svg/SVGMarkerElement.idl:
- svg/SVGMaskElement.idl:
- svg/SVGMatrix.idl:
- svg/SVGMetadataElement.idl:
- svg/SVGMissingGlyphElement.idl:
- svg/SVGNumber.idl:
- svg/SVGNumberList.idl:
- svg/SVGPathElement.idl:
- svg/SVGPathSeg.idl:
- svg/SVGPathSegArcAbs.idl:
- svg/SVGPathSegArcRel.idl:
- svg/SVGPathSegClosePath.idl:
- svg/SVGPathSegCurvetoCubicAbs.idl:
- svg/SVGPathSegCurvetoCubicRel.idl:
- svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
- svg/SVGPathSegCurvetoCubicSmoothRel.idl:
- svg/SVGPathSegCurvetoQuadraticAbs.idl:
- svg/SVGPathSegCurvetoQuadraticRel.idl:
- svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
- svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
- svg/SVGPathSegLinetoAbs.idl:
- svg/SVGPathSegLinetoHorizontalAbs.idl:
- svg/SVGPathSegLinetoHorizontalRel.idl:
- svg/SVGPathSegLinetoRel.idl:
- svg/SVGPathSegLinetoVerticalAbs.idl:
- svg/SVGPathSegLinetoVerticalRel.idl:
- svg/SVGPathSegList.idl:
- svg/SVGPathSegMovetoAbs.idl:
- svg/SVGPathSegMovetoRel.idl:
- svg/SVGPatternElement.idl:
- svg/SVGPoint.idl:
- svg/SVGPointList.idl:
- svg/SVGPolygonElement.idl:
- svg/SVGPolylineElement.idl:
- svg/SVGPreserveAspectRatio.idl:
- svg/SVGRadialGradientElement.idl:
- svg/SVGRect.idl:
- svg/SVGRectElement.idl:
- svg/SVGRenderingIntent.idl:
- svg/SVGSVGElement.idl:
- svg/SVGScriptElement.idl:
- svg/SVGSetElement.idl:
- svg/SVGStopElement.idl:
- svg/SVGStringList.idl:
- svg/SVGStyleElement.idl:
- svg/SVGSwitchElement.idl:
- svg/SVGSymbolElement.idl:
- svg/SVGTRefElement.idl:
- svg/SVGTSpanElement.idl:
- svg/SVGTextContentElement.idl:
- svg/SVGTextElement.idl:
- svg/SVGTextPathElement.idl:
- svg/SVGTextPositioningElement.idl:
- svg/SVGTitleElement.idl:
- svg/SVGTransform.idl:
- svg/SVGTransformList.idl:
- svg/SVGUnitTypes.idl:
- svg/SVGUseElement.idl:
- svg/SVGVKernElement.idl:
- svg/SVGViewElement.idl:
- svg/SVGViewSpec.idl:
- svg/SVGZoomEvent.idl:
- workers/Worker.idl:
- workers/service/ExtendableEvent.idl:
- workers/service/ExtendableEventInit.idl:
- workers/service/FetchEvent.idl:
- worklets/Worklet.idl:
- xml/DOMParser.idl:
- xml/XMLHttpRequestProgressEvent.idl:
- xml/XMLSerializer.idl:
- xml/XPathEvaluator.idl:
- xml/XPathExpression.idl:
- xml/XPathResult.idl:
- xml/XSLTProcessor.idl:
- 5:13 PM Changeset in webkit [267812] by
-
- 6 edits in trunk
CSS Selector an-plus-b serialization is incorrect
https://bugs.webkit.org/show_bug.cgi?id=217108
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebasline tests for correct an-plus-b serialization
- web-platform-tests/css/cssom/selectorSerialize-expected.txt:
- web-platform-tests/css/selectors/anplusb-selector-parsing-expected.txt:
Source/WebCore:
Right now we don't differentiate our CSS serialization for
an-plus-b expressions from any other CSS sytnax. This is
incorrect, according to the CSS spec an-plus-b expressions have
custom serialization rules. See:
https://www.w3.org/TR/css-syntax-3/#serializing-anb
One thing of note is for constant an-plus-b expressions (i.e. a is
zero so the resulting string is just a number), we get the string
from JSC::VM's numeric string cache.
- css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::consumePseudo):
(WebCore::serializeANPlusB):
- 5:01 PM Changeset in webkit [267811] by
-
- 4 edits in trunk
Expose pvrtc extension without vendor prefix and remove redundant WebGL 2 extensions
https://bugs.webkit.org/show_bug.cgi?id=217110
Reviewed by Kenneth Russell.
Extensions are tested in LayoutTests/webgl
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
- 4:51 PM Changeset in webkit [267810] by
-
- 8 edits in trunk/Tools
[webkitscmpy] Check if a git checkout is linked to an SVN checkout
https://bugs.webkit.org/show_bug.cgi?id=216888
<rdar://problem/69446322>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Increment library version.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.info): Run
git svn infoif in a Git-SVN checkout.
(Git.is_svn): Check if in a Git-SVN checkout.
(Git.is_git): Return True.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.is_svn): Return False.
(Scm.is_git): Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.is_svn): Return True.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.init): Add
git svncommands.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_scm_type):
(TestGit.test_info):
- Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestSvn.test_scm_type):
- 4:23 PM Changeset in webkit [267809] by
-
- 2 edits in trunk/Source/WebCore
Adjuster::computeEventListenerRegionTypes() should use ENABLE(WHEEL_EVENT_REGIONS) not a platform #ifdef
https://bugs.webkit.org/show_bug.cgi?id=217146
Reviewed by Tim Horton.
Use ENABLE(WHEEL_EVENT_REGIONS) instead of !PLATFORM(IOS_FAMILY).
- style/StyleAdjuster.cpp:
(WebCore::Style::Adjuster::computeEventListenerRegionTypes):
- 3:28 PM Changeset in webkit [267808] by
-
- 6 edits in trunk/Source/JavaScriptCore
[JSC] Common slow paths should be JIT operations
https://bugs.webkit.org/show_bug.cgi?id=217141
Reviewed by Saam Barati.
Unlike LLInt slow paths, common (common means common between LLInt and Baseline) slow paths can be called from baseline JIT code. Thus, they should be JIT operations.
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::llint_slow_path_checkpoint_osr_exit_from_inlined_call):
(JSC::LLInt::llint_slow_path_checkpoint_osr_exit):
(JSC::LLInt::slow_path_checkpoint_osr_exit_from_inlined_call): Deleted.
(JSC::LLInt::slow_path_checkpoint_osr_exit): Deleted.
- llint/LLIntSlowPaths.h:
- llint/LowLevelInterpreter.asm:
- runtime/CommonSlowPaths.cpp:
(JSC::JSC_DEFINE_COMMON_SLOW_PATH):
(JSC::iteratorOpenTryFastImpl):
(JSC::iteratorNextTryFastImpl):
(JSC::SLOW_PATH_DECL): Deleted.
(JSC::iterator_open_try_fast): Deleted.
(JSC::iterator_next_try_fast): Deleted.
- runtime/CommonSlowPaths.h:
- 2:22 PM Changeset in webkit [267807] by
-
- 18 edits4 copies3 adds in trunk/Source
[PlayStation][WinCairo] Enable WebDriver target on PlayStation and client for WinCairo
https://bugs.webkit.org/show_bug.cgi?id=216908
Reviewed by Don Olmstead.
Source/JavaScriptCore:
Implement automation session correctly for PlayStation and WinCairo.
- inspector/remote/RemoteInspector.h:
- inspector/remote/socket/RemoteInspectorConnectionClient.cpp:
(Inspector::RemoteInspectorConnectionClient::parseTargetListJSON):
- inspector/remote/socket/RemoteInspectorConnectionClient.h:
- inspector/remote/socket/RemoteInspectorSocket.cpp:
(Inspector::RemoteInspector::stopInternal):
(Inspector::RemoteInspector::requestAutomationSession):
(Inspector::RemoteInspector::startAutomationSession):
Source/WebDriver:
Extend WebDriver client binary to support connection to remote device for both PlayStation
and WinCairo. We've implemented a simple web server to accept WebDriver request natively and bypass them
to RemoteInspector.
- Capabilities.h:
- HTTPServer.h:
- PlatformPlayStation.cmake: Added.
- PlatformWin.cmake:
- SessionHost.h:
(WebDriver::SessionHost::setHostAddress):
- WebDriverMain.cpp:
(main):
(dllLauncherEntryPoint):
- WebDriverService.cpp:
(WebDriver::printUsageStatement):
(WebDriver::WebDriverService::run):
(WebDriver::WebDriverService::connectToBrowser):
- WebDriverService.h:
- gtk/WebDriverServiceGtk.cpp:
(WebDriver::WebDriverService::platformInit):
- playstation/WebDriverServicePlayStation.cpp: Copied from Source\WebDriver\win\WebDriverServiceWin.cpp.
(WebDriver::WebDriverService::platformInit):
(WebDriver::WebDriverService::platformCapabilities):
(WebDriver::WebDriverService::platformCompareBrowserVersions):
(WebDriver::WebDriverService::platformValidateCapability const):
(WebDriver::WebDriverService::platformMatchCapability const):
(WebDriver::WebDriverService::platformParseCapabilities const):
(WebDriver::WebDriverService::platformSupportProxyType const):
- socket/CapabilitiesSocket.cpp: Copied from Source\WebDriver\socket\SessionHostSocket.cpp.
(WebDriver::CapabilitiesSocket::parseCapabilities):
- socket/CapabilitiesSocket.h: Copied from Source\WebDriver\socket\HTTPServerSocket.cpp.
- socket/HTTPParser.cpp: Added.
(WebDriver::HTTPParser::parse):
(WebDriver::HTTPParser::handlePhase):
(WebDriver::HTTPParser::abortProcess):
(WebDriver::HTTPParser::parseFirstLine):
(WebDriver::HTTPParser::readLine):
(WebDriver::HTTPParser::expectedBodyLength const):
- socket/HTTPParser.h: Copied from Source\WebDriver\HTTPServer.h.
(WebDriver::HTTPParser::pullMessage):
- socket/HTTPServerSocket.cpp:
(WebDriver::HTTPServer::listen):
(WebDriver::HTTPServer::disconnect):
(WebDriver::HTTPServer::doAccept):
(WebDriver::HTTPServer::didClose):
(WebDriver::HTTPRequestHandler::connect):
(WebDriver::HTTPRequestHandler::reset):
(WebDriver::HTTPRequestHandler::didReceive):
(WebDriver::HTTPRequestHandler::sendResponse):
(WebDriver::HTTPRequestHandler::packHTTPMessage const):
(WebDriver::HTTPRequestHandler::didClose):
- socket/SessionHostSocket.cpp:
(WebDriver::SessionHost::dispatchMap):
(WebDriver::SessionHost::sendWebInspectorEvent):
(WebDriver::SessionHost::connectToBrowser):
(WebDriver::SessionHost::isConnected const):
(WebDriver::SessionHost::didClose):
(WebDriver::SessionHost::parseTargetList):
(WebDriver::SessionHost::receivedSetTargetList):
(WebDriver::SessionHost::receivedSendMessageToFrontend):
(WebDriver::SessionHost::startAutomationSession):
(WebDriver::SessionHost::setTargetList):
(WebDriver::SessionHost::sendMessageToBackend):
- win/WebDriverServiceWin.cpp:
(WebDriver::WebDriverService::platformInit):
(WebDriver::WebDriverService::platformParseCapabilities const):
- wpe/WebDriverServiceWPE.cpp:
(WebDriver::WebDriverService::platformInit):
- 1:54 PM Changeset in webkit [267806] by
-
- 2 edits in trunk/Source/WebKit
[GPU Process] Canvas layout tests occasionally crash the web process under PutImageData::apply
https://bugs.webkit.org/show_bug.cgi?id=217140
Reviewed by Tim Horton.
When destroying a
RemoteImageBuffer, logic exists in the superclass (DisplayList::ImageBuffer) that attempts
to flush any remaining display list items. However, this currently doesn't work as intended, since we've already
finished destroying the subclass, so the superclass' call toflushDrawingContext()calls `DisplayList::
ImageBuffer::flushDrawingContext()rather thanRemoteImageBuffer::flushDrawingContext()`. Rather than flushing
display list items to the GPU process, this has the effect of attempting to replay these display list items to
the drawing context (which is backed by aDisplayListanyways), so this ends up having no tangible effect.
However, if one of these display list items happens to be
PutImageData, we'll end up hitting an assertion due
to being unable to apply it without aDelegate. To fix this, hoist the call toflushDrawingContext()out to
~RemoteImageBuffer(), rather than~DisplayList::ImageBuffer().
- WebProcess/GPU/graphics/RemoteImageBuffer.h:
(WebKit::RemoteImageBuffer::~RemoteImageBuffer):
- 1:53 PM Changeset in webkit [267805] by
-
- 4 edits in trunk/Tools
[webkitpy] Use webkitcorepy's auto installer for html5lib
https://bugs.webkit.org/show_bug.cgi?id=217130
<rdar://problem/69798724>
Rubber-stamped by Aakash Jain.
- Scripts/webkitpy/init.py: Add html5lib, webencodings and genshi.
- Scripts/webkitpy/thirdparty/init.py:
(AutoinstallImportHook.find_module): Remove html5lib.
(AutoinstallImportHook._install_mechanize):Ditto.
(AutoinstallImportHook._install_beautifulsoup): Ditto.
(AutoinstallImportHook._install_html5lib): Deleted.
- 1:51 PM Changeset in webkit [267804] by
-
- 3 edits in trunk/Source/WebKit
[macOS] Deny mach-lookup to the analytics service in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=217137
<rdar://problem/69019193>
Reviewed by Brent Fulgham.
Only internal OS variants should have access to the 'com.apple.analyticsd' service.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::diagnosticServices):
- WebProcess/com.apple.WebProcess.sb.in:
- 1:29 PM Changeset in webkit [267803] by
-
- 1 copy in tags/Safari-610.1.28.1.10
Tag Safari-610.1.28.1.10.
- 1:27 PM Changeset in webkit [267802] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION[267763] RELEASE_ASSERT in allNetworkProcesses hit when registering legacy protocol handlers before instantiating any WebKit objects
https://bugs.webkit.org/show_bug.cgi?id=217142
<rdar://problem/69778879>
Reviewed by Brady Eidson.
RELEASE_ASSERT(RunLoop::isMain()) was crashing because WTF::initializeMainThread hadn't been called.
This wasn't a problem before r267763 because the assertion did not exist. Rather than remove the assertion (which I think is important to have)
let's just initialize WebKit threading at these SPI entry points.
This unfortunately can't be tested with our current infrastructure because TestsController's constructor calls initializeMainThread.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::registerGlobalURLSchemeAsHavingCustomProtocolHandlers):
(WebKit::WebProcessPool::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers):
- 1:27 PM Changeset in webkit [267801] by
-
- 8 edits in branches/safari-610.1.28.1-branch/Source
Versioning.
WebKit-7610.1.28.1.10
- 12:24 PM Changeset in webkit [267800] by
-
- 4 edits2 adds in trunk
[LFC][Integration] Enable <wbr> content
https://bugs.webkit.org/show_bug.cgi?id=217065
Reviewed by Antti Koivisto.
Source/WebCore:
Enable <wbr> content now that IFC fully supports it.
Test: fast/text/wbr-simple.html
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):
LayoutTests:
- fast/text/wbr-simple-expected.html: Added.
- fast/text/wbr-simple.html: Added.
- 12:06 PM Changeset in webkit [267799] by
-
- 7 edits in trunk/Source/WebCore
Handle deprecation warnings from libwebrtc headers
https://bugs.webkit.org/show_bug.cgi?id=217126
<rdar://problem/69747375>
Reviewed by Tim Horton.
Disable deprecation warnings coming from libwebrtc headers.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
- Modules/mediastream/libwebrtc/LibWebRTCObservers.h:
- Modules/mediastream/libwebrtc/LibWebRTCRtpTransceiverBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:
- platform/mediastream/libwebrtc/LibWebRTCProvider.h:
- testing/MockLibWebRTCPeerConnection.h:
- 11:37 AM Changeset in webkit [267798] by
-
- 26 edits2 deletes in trunk
Unreviewed, reverting r267788.
Broke internal builds.
Reverted changeset:
"MediaRecorder should support isTypeSupported"
https://bugs.webkit.org/show_bug.cgi?id=216856
https://trac.webkit.org/changeset/267788
- 11:20 AM Changeset in webkit [267797] by
-
- 4 edits in trunk/Source
Unreviewed, reverting r267795.
https://bugs.webkit.org/show_bug.cgi?id=217135
Incorrect fix.
Reverted changeset:
"REGRESSION(r259582): Build fails on aarch64 Linux with WebKit
2.30.1 on LLIntOffsetsExtractor.cpp.o"
https://bugs.webkit.org/show_bug.cgi?id=217079
https://trac.webkit.org/changeset/267795
- 10:45 AM WebKitGTK/2.30.x edited by
- (diff)
- 10:12 AM WebKitGTK/2.30.x edited by
- (diff)
- 10:10 AM Changeset in webkit [267796] by
-
- 57 edits4 copies13 deletes in trunk
Remove code behind ENABLE(MEDIA_SESSION), no ports enable it
https://bugs.webkit.org/show_bug.cgi?id=216831
Reviewed by Alex Christensen.
.:
- Source/cmake/OptionsFTW.cmake:
- Source/cmake/WebKitFeatures.cmake:
Remove option to build with MEDIA_SESSION, no one was doing it.
Source/WebCore:
- CMakeLists.txt:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
Remove media session related files.
- Modules/airplay/PlaybackTargetClientContextIdentifier.h: Added.
- Modules/airplay/WebMediaSessionManager.cpp: Added.
- Modules/airplay/WebMediaSessionManager.h: Added.
- Modules/airplay/WebMediaSessionManagerClient.h: Added.
- Modules/mediasession: Removed.
- platform/mediasession: Removed.
Delete Modules/mediasession and platform/mediasession. Move files that
were actually used for the WIRELESS_PLAYBACK_TARGET feature to
Modules/airplay where other parts of that feature are implemented.
- dom/Document.cpp:
- dom/Document.h:
- dom/EventTargetFactory.in:
- html/HTMLMediaElement.cpp:
- html/HTMLMediaElement.h:
- page/ChromeClient.h:
- page/Page.cpp:
- page/Page.h:
- testing/Internals.cpp:
- testing/Internals.h:
- testing/Internals.idl:
Remove all code inside ENABLE(MEDIA_SESSION).
Source/WebKit:
Removes all code in ENABLE(MEDIA_SESSION) and all media session
related SPI. It was never enabled and nothing ever adopted it.
- Sources.txt:
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
Remove media session related files.
- Shared/API/APIObject.h:
- Shared/API/c/WKBase.h:
- Shared/WebCoreArgumentCoders.cpp:
- Shared/WebCoreArgumentCoders.h:
- Shared/WebMediaSessionMetadata.cpp: Removed.
- Shared/WebMediaSessionMetadata.h: Removed.
- UIProcess/API/APIUIClient.h:
- UIProcess/API/C/WKAPICast.h:
- UIProcess/API/C/WKContext.cpp:
- UIProcess/API/C/WKContext.h:
- UIProcess/API/C/WKMediaSessionFocusManager.cpp: Removed.
- UIProcess/API/C/WKMediaSessionFocusManager.h: Removed.
- UIProcess/API/C/WKMediaSessionMetadata.cpp: Removed.
- UIProcess/API/C/WKMediaSessionMetadata.h: Removed.
- UIProcess/API/C/WKPage.cpp:
- UIProcess/API/C/WKPagePrivate.h:
- UIProcess/API/C/WKPageUIClient.h:
- UIProcess/WebMediaSessionFocusManager.cpp: Removed.
- UIProcess/WebMediaSessionFocusManager.h: Removed.
- UIProcess/WebMediaSessionFocusManagerClient.cpp: Removed.
- UIProcess/WebMediaSessionFocusManagerClient.h: Removed.
- UIProcess/WebPageProxy.cpp:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebProcessPool.cpp:
- UIProcess/WebProcessPool.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.cpp:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Remove all code in ENABLE(MEDIA_SESSION).
Tools:
- Scripts/webkitperl/FeatureList.pm:
Remove support for building with MEDIA_SESSION enabled.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
Update names to new 'unused' naming.
LayoutTests:
Remove always skipped Media Session tests.
- TestExpectations:
- gpu-process/TestExpectations:
- media/session: Removed.
- 10:07 AM Changeset in webkit [267795] by
-
- 4 edits in trunk/Source
REGRESSION(r259582): Build fails on aarch64 Linux with WebKit 2.30.1 on LLIntOffsetsExtractor.cpp.o
https://bugs.webkit.org/show_bug.cgi?id=217079
Patch by Mike Gorse <mgorse@suse.com> on 2020-09-30
Reviewed by Michael Catanzaro.
Source/JavaScriptCore:
- assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::copyCompactAndLinkCode): DOn't compile in a call to
dumpJITMemory if JIT is disabled; leads to a build failure.
Source/WTF:
- wtf/PlatformEnable.h: Only define USE_JUMP_ISLANDS if JIT is enabled.
- 9:40 AM Changeset in webkit [267794] by
-
- 6 edits in trunk/Source/WebCore
Fix for multiple layout tests in accessibility isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=217093
Reviewed by Chris Fleizach and Darin Adler.
Fix for the following layout tests in accessibility isolated tree mode:
accessibility/aria-menubar-menuitems.html
accessibility/aria-orientation.html
accessibility/set-selected-editable.html
accessibility/removed-continuation-element-causes-crash.html
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChange):
Update the isolated tree when the id attribute is modified. This is
needed for all tests that assign an id attribute to an element in JS,
in order to retrieve its accessibility object via AccessibilityController::accessibleElementById.
In addition, changed the handling of the lang attribute to just update
the isolated tree instead of posting a notification which is not used.
(WebCore::AXObjectCache::updateIsolatedTree):
Update the AXIsolatedObject IdentifierAttribute property.
Replaced the updateNodeCheckedState method with the more general updateNodeProperty.
- accessibility/AXObjectCache.h:
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
The ComputedRoleString property needs to be isolatedCopied.
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::generateSubtree):
Instead of having an out parameter in createSubtree to collect the NodeChanges
that need to be added to the tree, we now add each individual pending
append as the live tree is traversed. This solves the issue manifest in
some tests where during the creation of the subtree, applyPendingChanges
was called and node properties were not updated because the nodes were
not added to the tree yet.
(WebCore::AXIsolatedTree::createSubtree): See above comment for generateSubtree.
(WebCore::AXIsolatedTree::updateNode):
(WebCore::AXIsolatedTree::updateNodeProperty):
Replaces updateNodeCheckedState to allow update of any individual property.
(WebCore::AXIsolatedTree::removeNode): Also remove the entry from m_nodeMap.
(WebCore::AXIsolatedTree::removeSubtree):
(WebCore::AXIsolatedTree::applyPendingChanges):
(WebCore::AXIsolatedTree::NodeChange::NodeChange):
Deleted, using aggregate initialization.
(WebCore::AXIsolatedTree::updateNodeCheckedState): Became updateNodeProperty.
(WebCore::AXIsolatedTree::appendNodeChanges): Deleted, not needed any longer.
- accessibility/isolatedtree/AXIsolatedTree.h:
- 9:34 AM Changeset in webkit [267793] by
-
- 2 edits in trunk/Source/WebKit
Web Inspector: exempt API::SharedJSContext from remote inspection and automatic inspection
https://bugs.webkit.org/show_bug.cgi?id=217109
<rdar://problem/69386559>
Reviewed by Mark Lam.
We have seen occasional unexpected spins underneath pauseWaitingForRemoteInspection() waiting
for this JSContext. Since it does not evaluate JavaScript and is WebKit-internal, simply disable
remote inspection for the JSContext.
- UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm:
(API::SharedJSContext::ensureContext):
- 9:30 AM Changeset in webkit [267792] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r265009): Web Share API can no longer be invoked if a previous invocation was dismissed using the close button
https://bugs.webkit.org/show_bug.cgi?id=216913
<rdar://problem/69659878>
Reviewed by Darin Adler.
No new tests; not able to test without UI tests that actually use UIActivityViewController.
- UIProcess/Cocoa/WKShareSheet.mm:
(-[WKShareSheet presentWithShareDataArray:inRect:]):
-presentationControllerDidDismiss is not called if the UIActivityViewController is
programmatically dismissed, so we need to revert to observing completion via
UIActivityViewController's -completionWithItemsHandler.
In order to avoid regressing bug 214894 by doing so, we also need to
make sure that we're actually not presented anymore, as -completionWithItemsHandler
can be called multiple times before the share sheet is actually dismissed.
- 9:04 AM Changeset in webkit [267791] by
-
- 29 edits in trunk
Re-align DocumentAndElementEventHandlers.idl, GlobalEventHandlers.idl and WindowEventHandlers.idl with the HTML spec
https://bugs.webkit.org/show_bug.cgi?id=217088
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update results for more passing tests.
- web-platform-tests/html/dom/idlharness.https-expected.txt:
- web-platform-tests/html/webappapis/scripting/events/event-handler-attributes-body-window-expected.txt:
- web-platform-tests/html/webappapis/scripting/events/event-handler-attributes-windowless-body-expected.txt:
- web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
Source/WebCore:
Re-align DocumentAndElementEventHandlers.idl, GlobalEventHandlers.idl and WindowEventHandlers.idl with
the HTML spec, adding commented out variants of properties we don't yet support. The actual changes are:
- onwebkitanimation* handlers moved from DocumentAndElementEventHandlers to GlobalEventHandlers (and were removed from DOMWindow as they are now redundant).
- onrejectionhandled/onunhandledrejection handlers move from GlobalEventHandlers to WindowEventHandlers
Updated results for more existing tests that now pass.
- dom/DocumentAndElementEventHandlers.idl:
- dom/GlobalEventHandlers.idl:
- page/DOMWindow.idl:
- page/WindowEventHandlers.idl:
- workers/WorkerGlobalScope.idl:
LayoutTests:
Update results for more passing tests.
- fast/dom/event-handler-attributes-expected.txt:
- js/dom/dom-static-property-for-in-iteration-expected.txt:
- platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
- platform/ios-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
- platform/mac-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt:
- 8:00 AM Changeset in webkit [267790] by
-
- 5 edits2 moves in trunk/Source/WebCore
[LFC][IFC] Rename LineBreaker to InlineContentBreaker
https://bugs.webkit.org/show_bug.cgi?id=217119
Reviewed by Antti Koivisto.
This class is responsible for breaking inline content.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- layout/inlineformatting/InlineContentBreaker.cpp: Renamed from Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp.
(WebCore::Layout::isTextContentOnly):
(WebCore::Layout::isVisuallyEmptyWhitespaceContentOnly):
(WebCore::Layout::isNonContentRunsOnly):
(WebCore::Layout::firstTextRunIndex):
(WebCore::Layout::lastContentRunIndex):
(WebCore::Layout::isWrappingAllowed):
(WebCore::Layout::shouldKeepBeginningOfLineWhitespace):
(WebCore::Layout::lastWrapOpportunityIndex):
(WebCore::Layout::InlineContentBreaker::isContentWrappingAllowed const):
(WebCore::Layout::InlineContentBreaker::shouldKeepEndOfLineWhitespace const):
(WebCore::Layout::InlineContentBreaker::processInlineContent):
(WebCore::Layout::InlineContentBreaker::processOverflowingContent const):
(WebCore::Layout::InlineContentBreaker::processOverflowingTextContent const):
(WebCore::Layout::InlineContentBreaker::wordBreakBehavior const):
(WebCore::Layout::InlineContentBreaker::tryBreakingTextRun const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::append):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::reset):
- layout/inlineformatting/InlineContentBreaker.h: Renamed from Source/WebCore/layout/inlineformatting/InlineLineBreaker.h.
(WebCore::Layout::InlineContentBreaker::ContinuousContent::logicalWidth const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::logicalLeft const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::collapsibleLogicalWidth const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::nonCollapsibleLogicalWidth const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::hasTrailingCollapsibleContent const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::isFullyCollapsible const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::runs const):
(WebCore::Layout::InlineContentBreaker::setHyphenationDisabled):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::Run::Run):
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineCandidate::InlineContent::continuousContent const):
(WebCore::Layout::LineBuilder::placeInlineContent):
(WebCore::Layout::LineBuilder::handleFloatsAndInlineContent):
(WebCore::Layout::LineBuilder::commitPartialContent):
- layout/inlineformatting/InlineLineBuilder.h:
- 7:18 AM Changeset in webkit [267789] by
-
- 2 edits in trunk/Source/WTF
[GTK] Chassis type check fails if the value is quoted
https://bugs.webkit.org/show_bug.cgi?id=217123
Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2020-09-30
Reviewed by Carlos Garcia Campos.
Sometimes the chassis type can be quoted, in this case we'll fail to
parse it and fall back to desktop type. Unquote the string before
attempting to parse it.
- wtf/glib/ChassisType.cpp:
(WTF::readMachineInfoChassisType):
- 7:12 AM Changeset in webkit [267788] by
-
- 26 edits2 adds in trunk
MediaRecorder should support isTypeSupported
https://bugs.webkit.org/show_bug.cgi?id=216856
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/mediacapture-record/MediaRecorder-mimetype-expected.txt:
- web-platform-tests/mediacapture-record/MediaRecorder-peerconnection.https-expected.txt:
- web-platform-tests/mediacapture-record/idlharness.window-expected.txt:
- web-platform-tests/mediacapture-record/passthrough/MediaRecorder-passthrough.https-expected.txt:
- web-platform-tests/mediacapture-record/passthrough/MediaRecorder-passthrough.https.html:
Remove JS console log error line.
Source/WebCore:
Introduce MediaRecorder::isMimeTypeSupported whose result is exposed as MediaRecoder.isTypeSupported.
Cocoa port allows mp4 audio and video mime types, with H264 and AAC codecs.
Add a routine to get the mime type from the MediaRecorderPrivate.
Store it in MediaRecorder and add a mimeType getter.
Test: http/wpt/mediarecorder/mimeType.html
- Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::isTypeSupported):
(WebCore::MediaRecorder::create):
- Modules/mediarecorder/MediaRecorder.h:
- Modules/mediarecorder/MediaRecorder.idl:
- Modules/mediarecorder/MediaRecorderProvider.cpp:
(WebCore::MediaRecorderProvider::isSupported):
- Modules/mediarecorder/MediaRecorderProvider.h:
- platform/mediarecorder/MediaRecorderPrivate.cpp:
(WebCore::MediaRecorderPrivate::mimeType const):
- platform/mediarecorder/MediaRecorderPrivate.h:
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:
(WebCore::MediaRecorderPrivateAVFImpl::fetchData):
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
- platform/mediarecorder/MediaRecorderPrivateMock.cpp:
(WebCore::MediaRecorderPrivateMock::mimeType const):
- platform/mediarecorder/MediaRecorderPrivateMock.h:
- platform/mediastream/MediaStreamPrivate.h:
Source/WebKit:
Stop passing mimeType for each data blob.
Instead, compute it on WebProcess side.
- GPUProcess/webrtc/RemoteMediaRecorder.cpp:
(WebKit::RemoteMediaRecorder::fetchData):
- GPUProcess/webrtc/RemoteMediaRecorder.h:
- GPUProcess/webrtc/RemoteMediaRecorder.messages.in:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::fetchData):
(WebKit::MediaRecorderPrivate::mimeType const):
- WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
LayoutTests:
- http/wpt/mediarecorder/mimeType-expected.txt: Added.
- http/wpt/mediarecorder/mimeType.html: Added.
- 7:10 AM Changeset in webkit [267787] by
-
- 17 edits4 adds in trunk
[GStreamer] Internal audio rendering support
https://bugs.webkit.org/show_bug.cgi?id=207634
Reviewed by Xabier Rodriguez-Calvar.
.:
- Source/cmake/FindWPEBackend_fdo.cmake: Check for the audio extension header initially
shipped in the 1.8.0 release.
- Source/cmake/GStreamerChecks.cmake: Check and enable external audio rendering support if
the WPEBackend-FDO audio extension was found.
Source/WebCore:
This patch introduces two features regarding audio rendering:
- Internal audio mixing enabled at runtime with the WEBKIT_GST_ENABLE_AUDIO_MIXER=1
environment variable. When this is enabled, the WebProcess will have its GStreamer backends
render to dedicated WebKit audio sinks. Those will forward buffers to a singleton audio
mixer. The resulting audio stream will then be rendered through the default audio sink
(PulseAudio in most cases). Using this approach, applications will maintain a single
connection to the audio daemon.
- For WPE, external audio pass-through. To enable this, the application has to register an
audio receiver using the WPEBackend-FDO wpe_audio_register_receiver() API. When this is
enabled, the WebKit audio sinks running in the WebProcess will forward audio samples to the
UIProcess, using a Wayland protocol defined in the WPEBackend-FDO backend and exposed
through its audio extension. This client-side rendering support allows applications to have
full control on the audio samples rendering.
The Internal mode should be considered a technology preview and can't be enabled by default
yet, because audiomixer lacks some features such as reverse playback support. External audio
rendering policy is covered by a new WPE API test.
- platform/GStreamer.cmake:
- platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer): Create sink depending on
selected audio rendering policy and probe platform for a working audio output device only
when the WebKit custom audio sink hasn't been selected. This is needed only for the
autoaudiosink case.
- platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
(WebCore::AudioSourceProviderGStreamer::configureAudioBin): Instead of creating a new sink,
embed the one provided by the player into the audio bin. The resulting bin becomes the
player audio sink and it's able to render both to the WebAudio provider and the usual sink, as before.
- platform/audio/gstreamer/AudioSourceProviderGStreamer.h:
- platform/graphics/gstreamer/GStreamerAudioMixer.cpp: Added.
(WebCore::GStreamerAudioMixer::isAllowed): The mixer requires a recent GStreamer version and
the inter plugin (shipped in gst-plugins-bad until version 1.20 at least).
(WebCore::GStreamerAudioMixer::singleton): Entry point for the mixer. This is where the
singleton is created.
(WebCore::GStreamerAudioMixer::GStreamerAudioMixer): Configure the standalone mixer
pipeline.
(WebCore::GStreamerAudioMixer::~GStreamerAudioMixer):
(WebCore::GStreamerAudioMixer::ensureState): Lazily start/stop the mixer, depending on the
number of incoming streams. The pipeline starts when the first incoming stream is connected,
and stops when the last stream disappears.
(WebCore::GStreamerAudioMixer::registerProducer): Client pipelines require an interaudiosink, they
will render to that sink, which internally forwards data to a twin interaudiosrc element,
connected to the audiomixer.
(WebCore::GStreamerAudioMixer::unregisterProducer): Get rid of an interaudiosink and its interaudiosrc.
This is called by the WebKit audio sink when the element is being disposed.
- platform/graphics/gstreamer/GStreamerAudioMixer.h: Added.
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::initializeGStreamerAndRegisterWebKitElements): Register new audio sink element.
(WebCore::createPlatformAudioSink): New utility function to create an audio sink based on
the desired and implied runtime rendering policy.
(WebCore::initializeGStreamerAndRegisterWebKitElements):
- platform/graphics/gstreamer/GStreamerCommon.h:
- platform/graphics/gstreamer/GUniquePtrGStreamer.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::seek): Drive-by clean-up, no need to create the seek
Mediatime before the early return checking this is a live stream.
(WebCore::setSyncOnClock): Fixup code style in this method.
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::audioSink const):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- platform/graphics/gstreamer/WebKitAudioSinkGStreamer.cpp: Added. This sink can either
forward incoming samples to the shared audiomixer running in its own pipeline, or forward
samples to the UIProcess using the WPEBackend-FDO audio extension.
(AudioPacketHolder::AudioPacketHolder): Wrapper around audio buffers, in charge of creating
the corresponding memfd descriptor and also keeping track of the corresponding
wpe_audio_packet_export.
(AudioPacketHolder::~AudioPacketHolder):
(AudioPacketHolder::map): Create the memfd descriptor and return it along with the buffer size.
(webKitAudioSinkHandleSample): Forward incoming samples using the WPEBackend-FDO audio
extension. The wpe_audio_source start is synchronized with the buffer flow.
(webKitAudioSinkConfigure): When internal mixing has been requested, create an
interaudiosink to which samples will be sent. Internally the interaudiosink will forward
data to its interaudiosrc which is connected to the audiomixer. Otherwise, if external
rendering has been requested, create an appsink in order to relay samples to the UIProcess.
(webKitAudioSinkDispose):
(getInternalVolumeObject): When internal mixing is enabled, volume and mute states are
tracked within the audiomixer sink pads. Otherwise our audio sink manages this using a volume
element.
(webKitAudioSinkSetProperty): Proxy volume and mute properties from the internal volume proxy.
(webKitAudioSinkGetProperty): Ditto.
(webKitAudioSinkChangeState): Keep the WPE audio source state synchronized with the element
state, in order to know when the pause/resume notifications should be sent to the UIProcess.
This is also where maintain the relationship between the interaudiosink and the audiomixer, when
it's enabled.
(webkit_audio_sink_class_init):
(webkitAudioSinkNew):
- platform/graphics/gstreamer/WebKitAudioSinkGStreamer.h: Added.
Tools:
- Scripts/webkitpy/style/checker.py: White-list the new audio sink from the style checker.
- TestWebKitAPI/Tests/WebKit/file-with-video.html: New utility functions to pause and seek in the video.
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: WPE test for external audio
rendering support. A video file is loaded through the webview and the test receives
notifications during playback. In order to reduce timeout risks, a seek near the end of the
video is performed early on.
(AudioRenderingWebViewTest::setup):
(AudioRenderingWebViewTest::teardown):
(AudioRenderingWebViewTest::AudioRenderingWebViewTest):
(AudioRenderingWebViewTest::handleStart):
(AudioRenderingWebViewTest::handleStop):
(AudioRenderingWebViewTest::handlePause):
(AudioRenderingWebViewTest::handleResume):
(AudioRenderingWebViewTest::handlePacket):
(AudioRenderingWebViewTest::waitUntilPaused):
(AudioRenderingWebViewTest::waitUntilEOS):
(AudioRenderingWebViewTest::state const):
(beforeAll):
- 6:38 AM Changeset in webkit [267786] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] Merge LineBreaker::CandidateContent and ContinuousContent
https://bugs.webkit.org/show_bug.cgi?id=217113
Reviewed by Antti Koivisto.
This patch simplifies the connection between the LineBuilder and the LineBreaker by using the same structure to track candidate runs.
LineBreaker::CandidateContent is also a continuous content (it has to be) so we can just use this structure in LineCandidate::InlineContent (m_continuousContent)
and pass it in to the LineBreaker when we hit a wrapping opportunity.
- layout/inlineformatting/InlineLineBreaker.cpp:
(WebCore::Layout::isTextContentOnly):
(WebCore::Layout::isVisuallyEmptyWhitespaceContentOnly):
(WebCore::Layout::isNonContentRunsOnly):
(WebCore::Layout::firstTextRunIndex):
(WebCore::Layout::lastContentRunIndex):
(WebCore::Layout::lastWrapOpportunityIndex):
(WebCore::Layout::LineBreaker::isContentWrappingAllowed const):
(WebCore::Layout::LineBreaker::shouldKeepEndOfLineWhitespace const):
(WebCore::Layout::LineBreaker::processInlineContent):
(WebCore::Layout::LineBreaker::processOverflowingContent const):
(WebCore::Layout::LineBreaker::tryBreakingTextRun const):
(WebCore::Layout::LineBreaker::ContinuousContent::append):
(WebCore::Layout::LineBreaker::ContinuousContent::reset):
(WebCore::Layout::ContinuousContent::runs const): Deleted.
(WebCore::Layout::ContinuousContent::isEmpty const): Deleted.
(WebCore::Layout::ContinuousContent::logicalWidth const): Deleted.
(WebCore::Layout::ContinuousContent::logicalLeft const): Deleted.
(WebCore::Layout::ContinuousContent::hasTrailingCollapsibleContent const): Deleted.
(WebCore::Layout::ContinuousContent::isFullyCollapsible const): Deleted.
(WebCore::Layout::ContinuousContent::ContinuousContent): Deleted.
(WebCore::Layout::ContinuousContent::nonCollapsibleLogicalWidth const): Deleted.
(WebCore::Layout::ContinuousContent::hasTextContentOnly const): Deleted.
(WebCore::Layout::ContinuousContent::isVisuallyEmptyWhitespaceContentOnly const): Deleted.
(WebCore::Layout::ContinuousContent::firstTextRunIndex const): Deleted.
(WebCore::Layout::ContinuousContent::lastContentRunIndex const): Deleted.
(WebCore::Layout::ContinuousContent::hasNonContentRunsOnly const): Deleted.
- layout/inlineformatting/InlineLineBreaker.h:
(WebCore::Layout::LineBreaker::ContinuousContent::logicalWidth const):
(WebCore::Layout::LineBreaker::ContinuousContent::logicalLeft const):
(WebCore::Layout::LineBreaker::ContinuousContent::collapsibleLogicalWidth const):
(WebCore::Layout::LineBreaker::ContinuousContent::nonCollapsibleLogicalWidth const):
(WebCore::Layout::LineBreaker::ContinuousContent::hasTrailingCollapsibleContent const):
(WebCore::Layout::LineBreaker::ContinuousContent::isFullyCollapsible const):
(WebCore::Layout::LineBreaker::ContinuousContent::runs const):
(WebCore::Layout::LineBreaker::ContinuousContent::Run::Run):
(WebCore::Layout::LineBreaker::Run::Run): Deleted.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineCandidate::InlineContent::continuousContent const):
(WebCore::Layout::LineCandidate::InlineContent::appendInlineItem):
(WebCore::Layout::LineCandidate::InlineContent::reset):
(WebCore::Layout::LineCandidate::reset):
(WebCore::Layout::LineBuilder::placeInlineContent):
(WebCore::Layout::LineBuilder::nextContentForLine):
(WebCore::Layout::LineBuilder::handleFloatsAndInlineContent):
(WebCore::Layout::LineBuilder::commitPartialContent):
(WebCore::Layout::LineCandidate::InlineContent::runs const): Deleted.
(WebCore::Layout::LineCandidate::InlineContent::logicalWidth const): Deleted.
(WebCore::Layout::LineCandidate::InlineContent::collapsibleTrailingWidth const): Deleted.
- layout/inlineformatting/InlineLineBuilder.h:
- 5:00 AM Changeset in webkit [267785] by
-
- 3 edits in trunk/Tools
[Flatpak SDK] Bump libwpe and wpebackend-fdo
https://bugs.webkit.org/show_bug.cgi?id=217122
Reviewed by Carlos Garcia Campos.
- buildstream/elements/sdk/libwpe.bst: Bump to 1.8.0 and switch to Meson build system.
- buildstream/elements/sdk/wpebackend-fdo.bst: Bump to 1.9.0 development version and switch
to Meson build system.
- 3:00 AM Changeset in webkit [267784] by
-
- 2 edits in trunk/Tools
Fix assertion in linux_get_crash_log.py using Python 2.7
https://bugs.webkit.org/show_bug.cgi?id=217121
Patch by Nikolas Zimmermann <nzimmermann@igalia.com> on 2020-09-30
Reviewed by Philippe Normand.
Fix assertion in linux_get_crash_log.py using Python 2.7:
worker/6: UnicodeEncodeError(ascii' codec can't encode character u'\u201c' in position 85: ordinal not in range(128)') raised:
Encode data as utf-8 before passing on to communicate().
- Scripts/webkitpy/port/linux_get_crash_log.py:
(GDBCrashLogGenerator.generate_crash_log):
- 12:19 AM Changeset in webkit [267783] by
-
- 26 edits in trunk/Source
Always use OperationPtrTag for all operations and annotate operations in CSS JIT
https://bugs.webkit.org/show_bug.cgi?id=217117
Reviewed by Mark Lam.
Source/JavaScriptCore:
For JIT-caging, we would like to annotate all operations consistently with OperationPtrTag.
This patch replaces B3CCallPtrTag and CSSOperationPtrTag with OperationPtrTag and handle these
operations as Operation in JIT-caging.
We also collect and annotate all the operations called in CSS JIT and define them with JSC_DEFINE_JIT_OPERATION.
- b3/B3LowerMacros.cpp:
- b3/B3LowerMacrosAfterOptimizations.cpp:
- b3/B3MathExtras.cpp:
- b3/B3ReduceLoopStrength.cpp:
(JSC::B3::ReduceLoopStrength::reduceByteCopyLoopsToMemcpy):
- b3/B3ReduceStrength.cpp:
- b3/air/AirCCallSpecial.cpp:
(JSC::B3::Air::CCallSpecial::generate):
- b3/testb3_5.cpp:
(testCallSimple):
(testCallRare):
(testCallRareLive):
(testCallSimplePure):
(testCallFunctionWithHellaArguments):
(testCallFunctionWithHellaArguments2):
(testCallFunctionWithHellaArguments3):
(testCallSimpleDouble):
(testCallSimpleFloat):
(testCallFunctionWithHellaDoubleArguments):
(testCallFunctionWithHellaFloatArguments):
(testLinearScanWithCalleeOnStack):
- b3/testb3_6.cpp:
(testInterpreter):
- b3/testb3_7.cpp:
(testLICMPure):
(testLICMPureSideExits):
(testLICMPureWritesPinned):
(testLICMPureWrites):
(testLICMReadsLocalState):
(testLICMReadsPinned):
(testLICMReads):
(testLICMPureNotBackwardsDominant):
(testLICMPureFoiledByChild):
(testLICMPureNotBackwardsDominantFoiledByChild):
(testLICMExitsSideways):
(testLICMWritesLocalState):
(testLICMWrites):
(testLICMFence):
(testLICMWritesPinned):
(testLICMControlDependent):
(testLICMControlDependentNotBackwardsDominant):
(testLICMControlDependentSideExits):
(testLICMReadsPinnedWritesPinned):
(testLICMReadsWritesDifferentHeaps):
(testLICMReadsWritesOverlappingHeaps):
(testLICMDefaultCall):
(testShuffleDoesntTrashCalleeSaves):
- ftl/FTLOutput.h:
(JSC::FTL::Output::callWithoutSideEffects):
(JSC::FTL::Output::operation):
- runtime/JSCPtrTag.h:
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::emitCCall):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::addTableGet):
(JSC::Wasm::B3IRGenerator::addTableSet):
(JSC::Wasm::B3IRGenerator::addRefFunc):
(JSC::Wasm::B3IRGenerator::addTableSize):
(JSC::Wasm::B3IRGenerator::addTableGrow):
(JSC::Wasm::B3IRGenerator::addTableFill):
(JSC::Wasm::B3IRGenerator::addGrowMemory):
(JSC::Wasm::B3IRGenerator::setGlobal):
(JSC::Wasm::B3IRGenerator::emitWriteBarrierForJSWrapper):
(JSC::Wasm::B3IRGenerator::addOp<OpType::I32Popcnt>):
(JSC::Wasm::B3IRGenerator::addOp<OpType::I64Popcnt>):
Source/WebCore:
- css/SelectorChecker.cpp:
(WebCore::isFrameFocused): Deleted.
(WebCore::doesShadowTreeContainFocusedElement): Deleted.
(WebCore::SelectorChecker::matchesFocusPseudoClass): Deleted.
(WebCore::SelectorChecker::matchesDirectFocusPseudoClass): Deleted.
- css/SelectorChecker.h:
- css/SelectorCheckerTestFunctions.h:
(WebCore::isFrameFocused):
(WebCore::matchesDirectFocusPseudoClass):
(WebCore::doesShadowTreeContainFocusedElement):
(WebCore::matchesFocusPseudoClass):
- cssjit/CSSPtrTag.h:
- cssjit/FunctionCall.h:
(WebCore::FunctionCall::FunctionCall):
(WebCore::FunctionCall::setFunctionAddress):
(WebCore::FunctionCall::prepareAndCall):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::JSC_DEFINE_JIT_OPERATION):
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAddStyleRelation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::modulo):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeStyleAttribute):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeAllAnimatedSVGAttribute):
(WebCore::SelectorCompiler::attributeValueSpaceSeparatedListContains):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueExactMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementFunctionCallTest):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsActive):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsHovered):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
(WebCore::SelectorCompiler::SelectorFragment::appendUnoptimizedPseudoClassWithContext): Deleted.
(WebCore::SelectorCompiler::addStyleRelationFunction): Deleted.
(WebCore::SelectorCompiler::moduloHelper): Deleted.
(WebCore::SelectorCompiler::attributeValueSpaceSeparetedListContains): Deleted.
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateContextFunctionCallTest): Deleted.
(WebCore::SelectorCompiler::elementIsActive): Deleted.
(WebCore::SelectorCompiler::elementIsHovered): Deleted.
(WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown): Deleted.
(WebCore::SelectorCompiler::isPlaceholderShown): Deleted.
- dom/StyledElement.cpp:
(WebCore::StyledElement::synchronizeStyleAttributeInternalImpl):
(WebCore::StyledElement::synchronizeStyleAttributeInternal): Deleted.
- dom/StyledElement.h:
(WebCore::StyledElement::synchronizeStyleAttributeInternal const):
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::collectMatchingRules):
- svg/SVGElement.cpp:
(WebCore::SVGElement::synchronizeAllAnimatedSVGAttribute): Deleted.
- svg/SVGElement.h:
- 12:02 AM Changeset in webkit [267782] by
-
- 10 edits in trunk/Source
[GPU Process] Remove FontHandle
https://bugs.webkit.org/show_bug.cgi?id=217076
Reviewed by Wenson Hsieh.
Source/WebCore:
The only reason FontHandle exists is to be an internally-nullable wrapper around WebCore::Font.
However, this codepath is only ever invoked with non-null fonts, so there's no point in having
this wrapper. This patch replaces it with just Ref<Font>.
No new tests because there is no behavior change.
- WebCore.xcodeproj/project.pbxproj:
- loader/cache/CachedFont.h:
- platform/graphics/Font.cpp:
(WebCore::FontHandle::FontHandle): Deleted.
- platform/graphics/Font.h:
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawGlyphs::encode const):
(WebCore::DisplayList::DrawGlyphs::decode):
- platform/graphics/mac/FontCustomPlatformData.h:
Source/WebKit:
- Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<Ref<Font>>::encodePlatformData):
(IPC::ArgumentCoder<Ref<Font>>::decodePlatformData):
(IPC::ArgumentCoder<FontHandle>::encodePlatformData): Deleted.
(IPC::ArgumentCoder<FontHandle>::decodePlatformData): Deleted.
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<Ref<Font>>::encode):
(IPC::createFont):
(IPC::ArgumentCoder<Ref<Font>>::decode):
(IPC::ArgumentCoder<FontHandle>::encode): Deleted.
(IPC::ArgumentCoder<FontHandle>::decode): Deleted.
- Shared/WebCoreArgumentCoders.h:
Sep 29, 2020:
- 10:56 PM Changeset in webkit [267781] by
-
- 9 edits2 copies in trunk/Source/WebCore
[LFC Display] Basic text display
https://bugs.webkit.org/show_bug.cgi?id=217120
Reviewed by Zalan Bujtas.
Add basic text painting to LFC display. Display::TextBox() represents a run of text.
Display::TreeBuilder gains code to build the inline tree by traversing runs, and
CSSPainter gets the ability to paint text boxes.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- display/DisplayTreeBuilder.cpp:
(WebCore::Display::TreeBuilder::buildInlineDisplayTree const):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):
(WebCore::Display::outputDisplayBox):
- display/DisplayTreeBuilder.h:
- display/css/DisplayBox.h:
(WebCore::Display::Box::isTextBox const):
- display/css/DisplayCSSPainter.cpp:
(WebCore::Display::CSSPainter::paintBoxContent):
- display/css/DisplayStyle.cpp:
(WebCore::Display::Style::Style):
(WebCore::Display::Style::autoWrap const):
(WebCore::Display::Style::preserveNewline const):
(WebCore::Display::Style::collapseWhiteSpace const):
- display/css/DisplayStyle.h:
(WebCore::Display::Style::color const):
(WebCore::Display::Style::fontCascade const):
(WebCore::Display::Style::fontMetrics const):
(WebCore::Display::Style::whiteSpace const):
(WebCore::Display::Style::tabSize const):
- display/css/DisplayTextBox.cpp: Copied from Source/WebCore/display/DisplayTreeBuilder.h.
(WebCore::Display::TextBox::TextBox):
(WebCore::Display::m_text):
(WebCore::Display::TextBox::debugDescription const):
- display/css/DisplayTextBox.h: Copied from Source/WebCore/display/DisplayTreeBuilder.h.
(WebCore::Display::TextBox::expansion const):
(WebCore::Display::TextBox::text const):
- 8:27 PM Changeset in webkit [267780] by
-
- 2 edits in trunk/Source/WebCore
We should avoid making connections to the GPU Process during garbage collection
https://bugs.webkit.org/show_bug.cgi?id=217112
Reviewed by Tim Horton.
Currently, it's possible to establish a connection to the GPU process from the web content process in the middle
of garbage collection. This may occur if GC occurs after a canvas element and its image buffer has been created,
but before the image buffer has initialized its backend (which, in the case of using the GPU process for
rendering, is a RemoteRenderingBackend). While estimating memory cost for the canvas element, if a remote
rendering backend has not been created yet, we end up creating it underneathensureBackendCreated(), and
subsequently block the web process until the GPU process is finished creating the proxy rendering backend.
When running layout tests in
fast/canvas, this causes some layout tests to occasionally hit assertions under
RemoteImageBufferMessageHandler::waitForCreateImageBufferBackend, due to accessingm_remoteRenderingBackend
(a weak pointer).
To fix this, in the case where the image buffer does not yet have a rendering backend, we should simply return 0
instead of telling the GPU process to allocate the actual image buffer and then returning a non-zero cost.
- platform/graphics/ConcreteImageBuffer.h:
- 8:17 PM Changeset in webkit [267779] by
-
- 5 edits2 adds in trunk
Crash while loading a confluence page
https://bugs.webkit.org/show_bug.cgi?id=217111
Reviewed by Wenson Hsieh.
Source/WebCore:
The crash was caused by MutationObserver::disconnect attempting to unregister
a MutationObserverRegistration from a Node after it had already been removed once.
This happens when MutationObserverRegistration remains in MutationObserver
when there is an ongoing transient mutation observation.
Fixed the bug by setting a boolean MutationObserverRegistration when we've stopped
the observation in MutationObserverRegistration::stopObserving and not unregistering it
in subsequent calls to MutationObserver::disconnect.
Test: fast/dom/MutationObserver/disconnect-twice.html
- dom/MutationObserver.cpp:
(WebCore::MutationObserver::disconnect):
- dom/MutationObserverRegistration.cpp:
(WebCore::MutationObserverRegistration::stopObserving): Added.
- dom/MutationObserverRegistration.h:
LayoutTests:
Added a regression test.
- fast/dom/MutationObserver/disconnect-twice-expected.txt: Added.
- fast/dom/MutationObserver/disconnect-twice.html: Added.
- 7:45 PM Changeset in webkit [267778] by
-
- 3 edits in trunk/LayoutTests
REGRESSION(r267402): [ macOS iOS Release ] imported/w3c/web-platform-tests/user-timing/measure-l3.any.worker.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217118
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 6:59 PM Changeset in webkit [267777] by
-
- 18 edits in trunk/Source/WebCore
[WebGPU] Add platform guards
https://bugs.webkit.org/show_bug.cgi?id=217095
Reviewed by Darin Adler.
Add platform guards around Apple specific implementations. The WebGPU implementation
on Apple platforms is guarded by USE(METAL). Additionally guard uses of the WHLSL
compiler.
No new tests. No change in behavior.
- Modules/webgpu/GPUCanvasContext.cpp:
(WebCore::GPUCanvasContext::platformLayer const):
- platform/graphics/gpu/GPUBindGroup.h:
- platform/graphics/gpu/GPUBindGroupAllocator.h:
- platform/graphics/gpu/GPUBindGroupLayout.h:
- platform/graphics/gpu/GPUBuffer.h:
- platform/graphics/gpu/GPUCommandBuffer.h:
- platform/graphics/gpu/GPUComputePassEncoder.h:
- platform/graphics/gpu/GPUComputePipeline.h:
- platform/graphics/gpu/GPUDevice.h:
- platform/graphics/gpu/GPUProgrammablePassEncoder.h:
- platform/graphics/gpu/GPUQueue.h:
- platform/graphics/gpu/GPURenderPassEncoder.h:
- platform/graphics/gpu/GPURenderPipeline.h:
- platform/graphics/gpu/GPUSampler.h:
- platform/graphics/gpu/GPUShaderModule.h:
- platform/graphics/gpu/GPUSwapChain.h:
- platform/graphics/gpu/GPUTexture.h:
- 6:37 PM Changeset in webkit [267776] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [ iOS release wk2 ] compositing/debug-borders-dynamic.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=217114
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 6:29 PM Changeset in webkit [267775] by
-
- 22 edits5 deletes in trunk/Source
[Preferences] Adopt shared preferences configuration and script in WebKit
https://bugs.webkit.org/show_bug.cgi?id=217075
Reviewed by Darin Adler.
Source/WebKit:
- Shared/WebPreferences.yaml: Removed.
- Shared/WebPreferencesDebug.yaml: Removed.
- Shared/WebPreferencesExperimental.yaml: Removed.
- Shared/WebPreferencesInternal.yaml: Removed.
- Scripts/GeneratePreferences.rb: Removed.
- WebKit.xcodeproj/project.pbxproj:
Remove yaml preferences and preference generator in favor of shared one
in WTF.
- CMakeLists.txt:
- DerivedSources.make:
Update preference generation to use the shared script and preference files.
- Configurations/BaseTarget.xcconfig:
Add new variable, WTF_BUILD_SCRIPTS_DIR, that points to directory where the
shared generator and preference files live for use as input to the generation.
- DerivedSources-input.xcfilelist:
Update for new location of script and preference files.
- Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:
- Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb:
- Scripts/PreferencesTemplates/WebPreferencesInternalDebugFeatures.cpp.erb:
- Scripts/PreferencesTemplates/WebPreferencesStoreDefaultsMap.cpp.erb:
Port support for multiple conditionally-defined defaultValues from WebKitLegacy,
keeping the same DEFAULT_VALUE_FOR_* macro naming and using the macro definitions
in place of existing <%= @pref.defaultValue %> idiom. Also updates for rename
from @internalDebugFeatures to @internalFeatures.
- Shared/WebPreferencesDefaultValues.cpp:
- Shared/WebPreferencesDefaultValues.h:
Remove defaults that are now fully specified in the preference files.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
Replace removed DEFAULT_APPLE_PAY_ENABLED, with the now generated DEFAULT_VALUE_FOR_ApplePayEnabled.
Source/WebKitLegacy/mac:
- Scripts/generate-preferences.sh:
Update to account for new interface requiring the full path to each template.
Source/WTF:
- Scripts/GeneratePreferences.rb:
Simplify input by passing the templates as complete paths, rather than by name + template directory.
- Scripts/Preferences/WebPreferences.yaml:
- Scripts/Preferences/WebPreferencesDebug.yaml:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- Scripts/Preferences/WebPreferencesInternal.yaml:
Fix some mistakes / things left out to make WebKit defaults and names match current WebKit names and defaults.
- wtf/CMakeLists.txt:
Copy all the preferences and scripts into WTF_SCRIPTS_DIR so it can be accessed by WebKit.
- 6:05 PM Changeset in webkit [267774] by
-
- 2 edits in trunk/Tools
Modify END_AX_OBJC_EXCEPTIONS macro to assert to aid debugging of layout tests.
https://bugs.webkit.org/show_bug.cgi?id=217096
Reviewed by Chris Fleizach.
ASSERT_NOT_REACHED on thrown exceptions. This will tell us immediately
the location of a failure instead of silently swallowing the exception
and posibly causing a hang/timeout much harder to find after the fact.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h:
- 5:13 PM Changeset in webkit [267773] by
-
- 4 edits in trunk/Source/WebCore
Fullscreen mode on mlb.com shows white letterboxing when video aspect ratio does not match screen
https://bugs.webkit.org/show_bug.cgi?id=217060
<rdar://problem/68936043>
Reviewed by Darin Adler.
Add a Quirk which sets the background color of fullscreen elements on mlb.com to black.
- page/Quirks.cpp:
(WebCore::Quirks::needsBlackFullscreenBackgroundQuirk const):
- page/Quirks.h:
- style/UserAgentStyle.cpp:
(WebCore::Style::UserAgentStyle::ensureDefaultStyleSheetsForElement):
- 4:38 PM Changeset in webkit [267772] by
-
- 2 edits in trunk/Source/WebKit
[GPU Process] RemoteImageBufferProxy should ensure the state stack of the context is cleared before destruction
https://bugs.webkit.org/show_bug.cgi?id=208876
Reviewed by Tim Horton.
When running canvas layout tests in debug WebKit, the assertion in
~GraphicsContext()which verifies that
m_stack.isEmpty()fires. This occurs because the matching call to restore may still be buffered in the web
process when the remote image buffer proxy in the GPU process is destroyed; however, this may also occur if the
web process terminates without having sent the matching calls to restore the graphics context.
We can fix both of these scenarios by manually unwinding the context's state stack when destroying the
RemoteImageBufferProxy. Original patch by Said Abou-Hallawa.
- GPUProcess/graphics/RemoteImageBufferProxy.h:
(WebKit::RemoteImageBufferProxy::~RemoteImageBufferProxy):
- 4:35 PM Changeset in webkit [267771] by
-
- 2 edits1 add in trunk
[CMake][WebGPU] Add FindDawn module
https://bugs.webkit.org/show_bug.cgi?id=217097
Reviewed by Darin Adler.
Add a FindDawn CMake module to use for a WebGPU implementation on non-Cocoa platforms.
If ENABLE_WEBGPU is on for WinCairo it will attempt to detect Dawn.
- Source/cmake/FindDawn.cmake: Added.
- Source/cmake/OptionsWinCairo.cmake:
- 4:31 PM Changeset in webkit [267770] by
-
- 3 edits in trunk/Source/ThirdParty/ANGLE
Fix EXT_color_buffer_half_float on iOS
https://bugs.webkit.org/show_bug.cgi?id=217107
Reviewed by Kenneth Russell.
- src/libANGLE/Context.cpp:
(gl::Context::generateSupportedExtensions const):
- src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::GenerateTextureFormatCaps):
- 4:24 PM Changeset in webkit [267769] by
-
- 2 edits in trunk/Source/WebCore
[Media in GPU Process] Use VideoLayerManager to manage layers of MediaPlayerPrivateRemote
https://bugs.webkit.org/show_bug.cgi?id=216995
Reviewed by Wenson Hsieh.
A follow-up patch to remove WEBCORE_EXPORT of the VideoLayerManagerObjC constructor.
The constructor is inline, so it does not require WEBCORE_EXPORT.
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.h:
(WebCore::VideoLayerManagerObjC::VideoLayerManagerObjC):
- 3:57 PM Changeset in webkit [267768] by
-
- 3 edits in trunk/Source/WebKit
[PlayStation] Build fix for GPU Process after r267725
https://bugs.webkit.org/show_bug.cgi?id=217098
Unreviewed build fix.
Update playstation specific code for signature changes in the above.
Fix MediaPlayerPrivateRemote constructor when RELEASE_LOG_DISABLED was specified.
- GPUProcess/media/playstation/RemoteMediaPlayerProxyPlayStation.cpp:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
- 3:04 PM Changeset in webkit [267767] by
-
- 3 edits in branches/safari-611.1.2-branch/Source/WebKitLegacy/mac
Cherry-pick r267756. rdar://problem/69765230
Unreviewed, reverting r267397.
SPI is still used <rdar://problem/69749992>
Reverted changeset:
"Remove deprecated script and stylesheet injection SPI,
replaced with more inclusively-named SPI"
https://bugs.webkit.org/show_bug.cgi?id=214936
https://trac.webkit.org/changeset/267397
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267756 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:52 PM Changeset in webkit [267766] by
-
- 9 edits in trunk
CSS serialization expects comments between certain tokens
https://bugs.webkit.org/show_bug.cgi?id=216947
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
The serialize-consecutive-tokens test now passes as expected. We fail the anplusb-selector-parsing
test because we considern-bto be a DimensionToken followed by a NumberToken but this is incorrect.
I'll fix that test in a follow up patch.
- web-platform-tests/css/css-syntax/serialize-consecutive-tokens-expected.txt:
- web-platform-tests/css/selectors/anplusb-selector-parsing-expected.txt:
Source/WebCore:
This patch brings us up to spec on inserting comments while
serializing CSS tokens. The spec says that we should always be
able to round trip a serialized output. Weirdly, for reasons I
don't understand, the spec requires a comment rather than
whitespace so that's what this patch does. Since there are 32
token types building a table for every combination would have been
massive. Instead, this patch uses a constexpr function to generate
the table for the set of next (non-delimiter) tokens that require
a separating comment. This makes it a bit more readable while,
hopefully, not sacrificing too much performance. For delimiters
requiring separating comments, we check for those in a helper
lambda after checking the token table.
- css/parser/CSSParserToken.cpp:
(WebCore::buildNextTokenNeedsCommentTable):
(WebCore::CSSParserToken::serialize const):
- css/parser/CSSParserToken.h:
- css/parser/CSSParserTokenRange.cpp:
(WebCore::CSSParserTokenRange::serialize const):
LayoutTests:
Rebasline CSS tests for better serialization. The css-selectorText
test produces different output since we tokenize the <an-plus-b>
syntax incorrectly. I don't know if this means we evaluate it
incorrectly, however. In a follow up patch I will fix the the
tokenization issue so the comments will no longer appear.
- fast/dom/css-selectorText-expected.txt:
- 2:51 PM Changeset in webkit [267765] by
-
- 11 edits677 adds363 deletes in trunk/JSTests
Update test262 (2020.09.29)
https://bugs.webkit.org/show_bug.cgi?id=217102
Reviewed by Darin Adler.
- .gitattributes:
- test262/config.yaml:
- test262/expectations.yaml:
- test262/latest-changes-summary.txt:
- test262/test/:
- test262/test262-Revision.txt:
- 2:50 PM Changeset in webkit [267764] by
-
- 4 edits in trunk
[watchOS] AVKitSPI build fixes
https://bugs.webkit.org/show_bug.cgi?id=217070
<rdar://problem/69724883>
Rubber-stamped by Eric Carlson.
Source/WebCore/PAL:
- pal/spi/cocoa/AVKitSPI.h: Explicitly import AVPlayer.h and UIKit.h.
Tools:
- Scripts/configure-xcode-for-embedded-development: Copy AVKit headers for watchOS.
- 2:43 PM Changeset in webkit [267763] by
-
- 88 edits in trunk
Move NetworkProcessProxy ownership from WebProcessPool to WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=216041
Reviewed by Brady Eidson.
Source/WebKit:
This patch moves the things on WebProcessPool associated with NetworkProcessProxy ownership and moves them
to WebsiteDataStore. It's pretty mechanical, but it reaches its fingers into a lot of things. Some comments
on interesting parts are below.
Why am I doing this? I'm glad you asked.
WKWebView had a fundamental cookie problem before this change. It had a WKWebsiteDataStore that could point to a cookie store on disk
that could be used in multiple network processes at the same time. This led to problems with cookies being received over the network
in those different processes being unable to be shared until they were written to disk, something that does not happen immediately, especially
on iOS. This problem is even worse with session cookies, which should be kept in memory and never be written to disk. Those processes
did not use shared memory to share the cookies. They just didn't share them, which led to cookie incorrectness. This was unfortunately
the default configuration if you call [[WKWebView alloc] init] more than once, which many developers do. There was also occasional cookie
corruption and loss from multiple processes writing cookies to the same file. All these problems can be worked around by doing what Safari does:
manually setting the WKProcessPool of all WKWebViewConfigurations to the same process pool to only use one network process. This is not intuitive
or well documented, and even though I have spent the majority of WWDC labs for the last 3 years telling developers to do it, most developers do not.
The default behavior should not lead to cookie incorrectness, corruption, or loss. This accomplishes that.
A bigger problem that can't really be worked around well is what we were doing in our WKHTTPCookieStore API. Many developers call setCookie:completionHandler:
to "log in" the user by setting a cookie, then in the completion handler, they open a WKWebView to their page and expect the cookie to be sent. Before this
change, we would not know which process pool to set the cookie in so we would guess. If there were no process pools, we would start writing to disk and hope
it writes fast enough. We can't wait for it to complete because it causes hangs like rdar://problem/66961066. This solution allows to start the network
process of that WebsiteDataStore and set the cookie in that process. We now know that is the only process this WebsiteDataStore will ever use. Now, users
will be able to actually be logged in all the time in such apps.
- NetworkProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
- NetworkProcess/Cookies/WebCookieManager.h:
- NetworkProcess/Cookies/WebCookieManager.messages.in:
- NetworkProcess/Cookies/curl/WebCookieManagerCurl.cpp:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
- NetworkProcess/Cookies/mac/WebCookieManagerMac.mm:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
- NetworkProcess/Cookies/soup/WebCookieManagerSoup.cpp:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::ensureSession):
(WebKit::NetworkProcess::storageSession const):
(WebKit::NetworkProcess::forEachNetworkStorageSession):
(WebKit::NetworkProcess::defaultStorageSession const): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/WebStorage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::close):
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
(WebKit::saveCookies):
(WebKit::NetworkProcess::platformCreateDefaultStorageSession const): Deleted.
- NetworkProcess/curl/NetworkProcessCurl.cpp:
(WebKit::NetworkProcess::platformCreateDefaultStorageSession const): Deleted.
- NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformCreateDefaultStorageSession const): Deleted.
- Platform/IPC/Attachment.h:
- Shared/WebsiteDataStoreParameters.cpp:
(WebKit::WebsiteDataStoreParameters::encode const):
(WebKit::WebsiteDataStoreParameters::decode):
- Shared/WebsiteDataStoreParameters.h:
- UIProcess/API/APIHTTPCookieStore.cpp:
(API::HTTPCookieStore::HTTPCookieStore):
(API::HTTPCookieStore::~HTTPCookieStore):
(API::HTTPCookieStore::cookies):
(API::HTTPCookieStore::cookiesForURL):
(API::HTTPCookieStore::setCookies):
(API::HTTPCookieStore::deleteCookie):
(API::HTTPCookieStore::deleteAllCookies):
(API::HTTPCookieStore::setHTTPCookieAcceptPolicy):
(API::HTTPCookieStore::registerObserver):
(API::HTTPCookieStore::cookieManagerDestroyed):
(API::HTTPCookieStore::registerForNewProcessPoolNotifications): Deleted.
(API::HTTPCookieStore::unregisterForNewProcessPoolNotifications): Deleted.
- UIProcess/API/APIHTTPCookieStore.h:
- UIProcess/API/C/WKContext.cpp:
(WKContextSetUseSeparateServiceWorkerProcess):
(WKContextSetPrimaryWebsiteDataStore):
(WKContextGetCookieManager): Deleted.
(WKContextSetAllowsAnySSLCertificateForServiceWorkerTesting): Deleted.
(WKContextTerminateNetworkProcess): Deleted.
(WKContextGetNetworkProcessIdentifier): Deleted.
- UIProcess/API/C/WKContext.h:
- UIProcess/API/C/WKContextPrivate.h:
- UIProcess/API/C/WKPage.cpp:
(WKPageGetWebsiteDataStore):
- UIProcess/API/C/WKPage.h:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreTerminateNetworkProcess):
(WKWebsiteDataStoreGetNetworkProcessIdentifier):
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _setUseSeparateServiceWorkerProcess:]):
(-[WKProcessPool _terminateNetworkProcess]): Deleted.
(-[WKProcessPool _sendNetworkProcessWillSuspendImminently]): Deleted.
(-[WKProcessPool _sendNetworkProcessPrepareToSuspend:]): Deleted.
(-[WKProcessPool _sendNetworkProcessDidResume]): Deleted.
(-[WKProcessPool _networkProcessIdentifier]): Deleted.
(-[WKProcessPool _makeNextNetworkProcessLaunchFailForTesting]): Deleted.
(-[WKProcessPool _synthesizeAppIsBackground:]): Deleted.
(-[WKProcessPool _setAllowsAnySSLCertificateForServiceWorker:]): Deleted.
(-[WKProcessPool _networkProcessHasEntitlementForTesting:]): Deleted.
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _networkProcessHasEntitlementForTesting:]):
(-[WKWebsiteDataStore _terminateNetworkProcess]):
(-[WKWebsiteDataStore _sendNetworkProcessPrepareToSuspend:]):
(-[WKWebsiteDataStore _sendNetworkProcessWillSuspendImminently]):
(-[WKWebsiteDataStore _sendNetworkProcessDidResume]):
(-[WKWebsiteDataStore _synthesizeAppIsBackground:]):
(-[WKWebsiteDataStore _networkProcessIdentifier]):
(+[WKWebsiteDataStore _makeNextNetworkProcessLaunchFailForTesting]):
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/API/glib/WebKitCookieManager.cpp:
(_WebKitCookieManagerPrivate::cookieManager const):
(_WebKitCookieManagerPrivate::~_WebKitCookieManagerPrivate):
(webkitCookieManagerCreate):
(webkit_cookie_manager_set_persistent_storage):
(webkit_cookie_manager_set_accept_policy):
(webkit_cookie_manager_get_accept_policy):
(webkit_cookie_manager_add_cookie):
(webkit_cookie_manager_get_cookies):
(webkit_cookie_manager_delete_cookie):
- UIProcess/API/glib/WebKitWebContext.cpp:
(webkitWebContextConstructed):
(webkit_web_context_prefetch_dns):
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::addSingleCookie):
(WebKit::WebAutomationSession::deleteAllCookies):
- UIProcess/AuxiliaryProcessProxy.h:
- UIProcess/Cocoa/LegacyCustomProtocolManagerClient.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::updateProcessSuppressionState):
(WebKit::WebProcessPool::platformInitialize):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::networkProcessHasEntitlementForTesting): Deleted.
(WebKit::WebProcessPool::xpcEndpointMessage const): Deleted.
(WebKit::WebProcessPool::sendNetworkProcessXPCEndpointToWebProcess): Deleted.
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::cancel):
(WebKit::DownloadProxy::publishProgress):
(WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
(WebKit::DownloadProxy::willSendRequest):
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync):
- UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::DownloadProxyMap):
(WebKit::DownloadProxyMap::applicationDidEnterBackground):
(WebKit::DownloadProxyMap::applicationWillEnterForeground):
(WebKit::DownloadProxyMap::createDownloadProxy):
(WebKit::DownloadProxyMap::downloadFinished):
(WebKit::DownloadProxyMap::invalidate):
- UIProcess/Downloads/DownloadProxyMap.h:
- UIProcess/Network/CustomProtocols/LegacyCustomProtocolManagerProxy.cpp:
(WebKit::LegacyCustomProtocolManagerProxy::startLoading):
(WebKit::LegacyCustomProtocolManagerProxy::stopLoading):
(WebKit::LegacyCustomProtocolManagerProxy::invalidate):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::allNetworkProcesses):
(WebKit::defaultProcess):
(WebKit::NetworkProcessProxy::defaultNetworkProcess):
(WebKit::NetworkProcessProxy::terminate):
(WebKit::NetworkProcessProxy::didTerminate):
(WebKit::NetworkProcessProxy::sendCreationParametersToNewProcess):
(WebKit::anyProcessPoolAlwaysRunsAtBackgroundPriority):
(WebKit::anyProcessPoolShouldTakeUIBackgroundAssertion):
(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::~NetworkProcessProxy):
(WebKit::NetworkProcessProxy::getLaunchOptions):
(WebKit::NetworkProcessProxy::createDownloadProxy):
(WebKit::NetworkProcessProxy::networkProcessCrashed):
(WebKit::NetworkProcessProxy::didReceiveMessage):
(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):
(WebKit::NetworkProcessProxy::didFinishLaunching):
(WebKit::NetworkProcessProxy::setDomainsWithUserInteraction):
(WebKit::NetworkProcessProxy::addSession):
(WebKit::NetworkProcessProxy::removeSession):
(WebKit::NetworkProcessProxy::websiteDataStoreFromSessionID):
(WebKit::NetworkProcessProxy::establishWorkerContextConnectionToNetworkProcess):
(WebKit::anyProcessPoolHasForegroundWebProcesses):
(WebKit::anyProcessPoolHasBackgroundWebProcesses):
(WebKit::NetworkProcessProxy::updateProcessAssertion):
(WebKit::NetworkProcessProxy::hasSession const): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxyCocoa.mm:
(WebKit::NetworkProcessProxy::XPCEventHandler::handleXPCEvent const):
- UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
(WebKit::WebCookieManagerProxy::~WebCookieManagerProxy):
(WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
(WebKit::WebCookieManagerProxy::deleteCookiesForHostnames):
(WebKit::WebCookieManagerProxy::deleteAllCookies):
(WebKit::WebCookieManagerProxy::deleteCookie):
(WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedSince):
(WebKit::WebCookieManagerProxy::setCookies):
(WebKit::WebCookieManagerProxy::getAllCookies):
(WebKit::WebCookieManagerProxy::getCookies):
(WebKit::WebCookieManagerProxy::startObservingCookieChanges):
(WebKit::WebCookieManagerProxy::stopObservingCookieChanges):
(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::supplementName): Deleted.
(WebKit::WebCookieManagerProxy::create): Deleted.
(WebKit::WebCookieManagerProxy::processPoolDestroyed): Deleted.
(WebKit::WebCookieManagerProxy::processDidClose): Deleted.
(WebKit::WebCookieManagerProxy::refWebContextSupplement): Deleted.
(WebKit::WebCookieManagerProxy::derefWebContextSupplement): Deleted.
- UIProcess/WebCookieManagerProxy.h:
(WebKit::WebCookieManagerProxy::create):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setControlledByAutomation):
(WebKit::WebPageProxy::disableServiceWorkerEntitlementInNetworkProcess):
(WebKit::WebPageProxy::clearServiceWorkerEntitlementOverride):
(WebKit::WebPageProxy::preconnectTo):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::logFrameNavigation):
(WebKit::WebPageProxy::dumpAdClickAttribution):
(WebKit::WebPageProxy::clearAdClickAttribution):
(WebKit::WebPageProxy::setAdClickAttributionOverrideTimerForTesting):
(WebKit::WebPageProxy::setAdClickAttributionConversionURLForTesting):
(WebKit::WebPageProxy::markAdClickAttributionsAsExpiredForTesting):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::urlSchemesWithCustomProtocolHandlers):
(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::~WebProcessPool):
(WebKit::WebProcessPool::languageChanged):
(WebKit::WebProcessPool::sendMemoryPressureEvent):
(WebKit::WebProcessPool::networkProcessCrashed):
(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::removeFromServiceWorkerProcesses):
(WebKit::WebProcessPool::tryTakePrewarmedProcess):
(WebKit::WebProcessPool::initializeNewWebProcess):
(WebKit::WebProcessPool::processDidFinishLaunching):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::updateServiceWorkerUserAgent):
(WebKit::WebProcessPool::pageBeginUsingWebsiteDataStore):
(WebKit::WebProcessPool::download):
(WebKit::WebProcessPool::resumeDownload):
(WebKit::WebProcessPool::registerURLSchemeAsSecure):
(WebKit::WebProcessPool::registerURLSchemeAsBypassingContentSecurityPolicy):
(WebKit::WebProcessPool::registerURLSchemeAsLocal):
(WebKit::WebProcessPool::registerURLSchemeAsNoAccess):
(WebKit::WebProcessPool::registerGlobalURLSchemeAsHavingCustomProtocolHandlers):
(WebKit::WebProcessPool::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers):
(WebKit::WebProcessPool::setCacheModel):
(WebKit::WebProcessPool::setCacheModelSynchronouslyForTesting):
(WebKit::WebProcessPool::createDownloadProxy):
(WebKit::WebProcessPool::terminateServiceWorkers):
(WebKit::WebProcessPool::serviceWorkerProcesses):
(WebKit::WebProcessPool::updateProcessAssertions):
(WebKit::WebProcessPool::isServiceWorkerPageID const):
(WebKit::WebProcessPool::setUseSeparateServiceWorkerProcess):
(WebKit::WebProcessPool::hasServiceWorkerForegroundActivityForTesting const):
(WebKit::WebProcessPool::hasServiceWorkerBackgroundActivityForTesting const):
(WebKit::WebProcessPool::setLegacyCustomProtocolManagerClient): Deleted.
(WebKit::WebProcessPool::networkingProcessConnection): Deleted.
(WebKit::WebProcessPool::ensureNetworkProcess): Deleted.
There seems to be a lot of code removal here, but most of it was duplicate code with
WebsiteDataStore::parameters which is used instead. That which was not duplicate was
moved to NetworkProcessProxy::sendCreationParametersToNewProcess. This was the hardest part of this patch.
(WebKit::WebProcessPool::getNetworkProcessConnection): Deleted.
(WebKit::WebProcessPool::networkProcessIdentifier): Deleted.
(WebKit::WebProcessPool::synthesizeAppIsBackground): Deleted.
(WebKit::WebProcessPool::sendSyncToNetworkingProcess): Deleted.
(WebKit::WebProcessPool::clearCachedCredentials): Deleted.
(WebKit::WebProcessPool::terminateNetworkProcess): Deleted.
(WebKit::WebProcessPool::sendNetworkProcessPrepareToSuspendForTesting): Deleted.
(WebKit::WebProcessPool::sendNetworkProcessWillSuspendImminentlyForTesting): Deleted.
(WebKit::WebProcessPool::sendNetworkProcessDidResume): Deleted.
(WebKit::WebProcessPool::flushCookies): Deleted.
(WebKit::WebProcessPool::didCommitCrossSiteLoadWithDataTransfer): Deleted.
- UIProcess/WebProcessPool.h:
(WebKit::WebProcessPool::sendToNetworkingProcess): Deleted.
(WebKit::WebProcessPool::sendToNetworkingProcessRelaunchingIfNecessary): Deleted.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::setWebsiteDataStore):
(WebKit::WebProcessProxy::getNetworkProcessConnection):
(WebKit::WebProcessProxy::didFinishLaunching):
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::networkProcessHasEntitlementForTesting):
(WebKit::WebsiteDataStore::sendNetworkProcessXPCEndpointToWebProcess):
(WebKit::WebsiteDataStore::sendNetworkProcessXPCEndpointToAllWebProcesses):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::forEachWebsiteDataStore):
(WebKit::WebsiteDataStore::WebsiteDataStore):
(WebKit::WebsiteDataStore::~WebsiteDataStore):
(WebKit::WebsiteDataStore::registerWithSessionIDMap):
(WebKit::WebsiteDataStore::existingDataStoreForSessionID):
(WebKit::WebsiteDataStore::networkProcess):
(WebKit::WebsiteDataStore::networkProcess const):
(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::setServiceWorkerTimeoutForTesting):
(WebKit::WebsiteDataStore::resetServiceWorkerTimeoutForTesting):
(WebKit::WebsiteDataStore::setMaxStatisticsEntries):
(WebKit::WebsiteDataStore::setPruneEntriesDownTo):
(WebKit::WebsiteDataStore::setGrandfatheringTime):
(WebKit::WebsiteDataStore::setMinimumTimeBetweenDataRecordsRemoval):
(WebKit::WebsiteDataStore::dumpResourceLoadStatistics):
(WebKit::WebsiteDataStore::isPrevalentResource):
(WebKit::WebsiteDataStore::isGrandfathered):
(WebKit::WebsiteDataStore::setPrevalentResource):
(WebKit::WebsiteDataStore::setPrevalentResourceForDebugMode):
(WebKit::WebsiteDataStore::isVeryPrevalentResource):
(WebKit::WebsiteDataStore::setVeryPrevalentResource):
(WebKit::WebsiteDataStore::setShouldClassifyResourcesBeforeDataRecordsRemoval):
(WebKit::WebsiteDataStore::setSubframeUnderTopFrameDomain):
(WebKit::WebsiteDataStore::isRegisteredAsSubFrameUnder):
(WebKit::WebsiteDataStore::setSubresourceUnderTopFrameDomain):
(WebKit::WebsiteDataStore::isRegisteredAsSubresourceUnder):
(WebKit::WebsiteDataStore::setSubresourceUniqueRedirectTo):
(WebKit::WebsiteDataStore::setSubresourceUniqueRedirectFrom):
(WebKit::WebsiteDataStore::setTopFrameUniqueRedirectTo):
(WebKit::WebsiteDataStore::setTopFrameUniqueRedirectFrom):
(WebKit::WebsiteDataStore::isRegisteredAsRedirectingTo):
(WebKit::WebsiteDataStore::clearPrevalentResource):
(WebKit::WebsiteDataStore::resetParametersToDefaultValues):
(WebKit::WebsiteDataStore::submitTelemetry):
(WebKit::WebsiteDataStore::scheduleClearInMemoryAndPersistent):
(WebKit::WebsiteDataStore::getResourceLoadStatisticsDataSummary):
(WebKit::WebsiteDataStore::scheduleCookieBlockingUpdate):
(WebKit::WebsiteDataStore::scheduleStatisticsAndDataRecordsProcessing):
(WebKit::WebsiteDataStore::statisticsDatabaseHasAllTables):
(WebKit::WebsiteDataStore::setLastSeen):
(WebKit::WebsiteDataStore::domainIDExistsInDatabase):
(WebKit::WebsiteDataStore::mergeStatisticForTesting):
(WebKit::WebsiteDataStore::insertExpiredStatisticForTesting):
(WebKit::WebsiteDataStore::setNotifyPagesWhenDataRecordsWereScanned):
(WebKit::WebsiteDataStore::setIsRunningResourceLoadStatisticsTest):
(WebKit::WebsiteDataStore::getAllStorageAccessEntries):
(WebKit::WebsiteDataStore::setTimeToLiveUserInteraction):
(WebKit::WebsiteDataStore::logUserInteraction):
(WebKit::WebsiteDataStore::hasHadUserInteraction):
(WebKit::WebsiteDataStore::isRelationshipOnlyInDatabaseOnce):
(WebKit::WebsiteDataStore::clearUserInteraction):
(WebKit::WebsiteDataStore::setGrandfathered):
(WebKit::WebsiteDataStore::setUseITPDatabase):
(WebKit::WebsiteDataStore::setCrossSiteLoadWithLinkDecorationForTesting):
(WebKit::WebsiteDataStore::resetCrossSiteLoadsWithLinkDecorationForTesting):
(WebKit::WebsiteDataStore::deleteCookiesForTesting):
(WebKit::WebsiteDataStore::hasLocalStorageForTesting const):
(WebKit::WebsiteDataStore::hasIsolatedSessionForTesting const):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsShouldDowngradeReferrerForTesting):
(WebKit::WebsiteDataStore::setThirdPartyCookieBlockingMode):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsShouldEnbleSameSiteStrictEnforcementForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsFirstPartyWebsiteDataRemovalModeForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsToSameSiteStrictCookiesForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsFirstPartyHostCNAMEDomainForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsThirdPartyCNAMEDomainForTesting):
(WebKit::WebsiteDataStore::syncLocalStorage):
(WebKit::WebsiteDataStore::setCacheMaxAgeCapForPrevalentResources):
(WebKit::WebsiteDataStore::resetCacheMaxAgeCapForPrevalentResources):
(WebKit::WebsiteDataStore::processPools const):
(WebKit::WebsiteDataStore::allowSpecificHTTPSCertificateForHost):
(WebKit::WebsiteDataStore::getNetworkProcessConnection):
(WebKit::WebsiteDataStore::networkProcessCrashed):
(WebKit::WebsiteDataStore::terminateNetworkProcess):
(WebKit::WebsiteDataStore::sendNetworkProcessPrepareToSuspendForTesting):
(WebKit::WebsiteDataStore::sendNetworkProcessWillSuspendImminentlyForTesting):
(WebKit::WebsiteDataStore::sendNetworkProcessDidResume):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsEnabled):
(WebKit::WebsiteDataStore::setStatisticsTestingCallback):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsDebugMode):
(WebKit::WebsiteDataStore::isResourceLoadStatisticsEphemeral const):
(WebKit::WebsiteDataStore::setAdClickAttributionDebugMode):
(WebKit::WebsiteDataStore::flushCookies):
(WebKit::WebsiteDataStore::setAllowsAnySSLCertificateForWebSocket):
(WebKit::WebsiteDataStore::clearCachedCredentials):
(WebKit::WebsiteDataStore::parameters):
(WebKit::WebsiteDataStore::getLocalStorageDetails):
(WebKit::WebsiteDataStore::resetQuota):
(WebKit::WebsiteDataStore::networkProcessHasEntitlementForTesting):
(WebKit::WebsiteDataStore::renameOriginInWebsiteData):
(WebKit::WebsiteDataStore::hasAppBoundSession const):
(WebKit::WebsiteDataStore::clearAppBoundSession):
(WebKit::WebsiteDataStore::forwardAppBoundDomainsToITPIfInitialized):
(WebKit::WebsiteDataStore::setAppBoundDomainsForITP):
(WebKit::WebsiteDataStore::updateBundleIdentifierInNetworkProcess):
(WebKit::WebsiteDataStore::clearBundleIdentifierInNetworkProcess):
(WebKit::WebsiteDataStore::makeNextNetworkProcessLaunchFailForTesting):
(WebKit::WebsiteDataStore::shouldMakeNextNetworkProcessLaunchFailForTesting):
(WebKit::WebsiteDataStore::maybeRegisterWithSessionIDMap): Deleted.
(WebKit::WebsiteDataStore::existingNonDefaultDataStoreForSessionID): Deleted.
(WebKit::WebsiteDataStore::processPoolForCookieStorageOperations): Deleted.
(WebKit::WebsiteDataStore::isAssociatedProcessPool const): Deleted.
(WebKit::WebsiteDataStore::pendingCookies const): Deleted.
(WebKit::WebsiteDataStore::addPendingCookie): Deleted.
(WebKit::WebsiteDataStore::removePendingCookie): Deleted.
(WebKit::WebsiteDataStore::clearPendingCookies): Deleted.
(WebKit::WebsiteDataStore::didCreateNetworkProcess): Deleted.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- UIProcess/WebsiteData/curl/WebsiteDataStoreCurl.cpp:
(WebKit::WebsiteDataStore::setNetworkProxySettings):
- UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp:
(WebKit::WebsiteDataStore::platformSetNetworkParameters):
(WebKit::WebsiteDataStore::setPersistentCredentialStorageEnabled):
- UIProcess/glib/WebProcessProxyGLib.cpp:
(WebKit::WebProcessProxy::platformGetLaunchOptions):
- UIProcess/soup/WebCookieManagerProxySoup.cpp:
(WebKit::WebCookieManagerProxy::setCookiePersistentStorage):
- UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::setIgnoreTLSErrors):
(WebKit::WebProcessPool::setNetworkProxySettings):
- WebProcess/Network/NetworkProcessConnectionInfo.h:
Tools:
Most changes to tests are just calling a function on the WKWebsiteDataStore instead of the WKProcessPool
because we want to do something with the network process and it has a new owner.
Exceptions are noted inline.
- TestWebKitAPI/Tests/WebKit/NetworkProcessCrashWithPendingConnection.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TestWebKitAPI::downloadAtRate):
- TestWebKitAPI/Tests/WebKitCocoa/IDBCheckpointWAL.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IDBObjectStoreInfoUpgradeToV2.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/NetworkProcessCrashNonPersistentDataStore.mm:
(checkRecoveryAfterCrash):
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
This test was making a WKWebsiteDataStore, getting its resource load statistics directory,
putting things in that directory, then starting the network process and making sure everything
works when initializing the network process. Now, network process initialization happens when a
WKWebsiteDataStore is instantiated, so we need to put things there before instantiating a WKWebsiteDataStore.
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
Before this change, each WKProcessPool had its own network process, which holds the service worker registry
for the WebsiteDataStores used with that process pool. Now, the network process still needs to have a service
worker registry in it, but when we receive a message from it looking for a web process to run the service
worker, we go arbitrarily to the first process pool that has a process we can use. This logic is in
WebProcessPool::establishWorkerContextConnectionToNetworkProcess. Because we use the first process pool each
time, setting the custom user agent to two different things in two different process pools causes only one
to be used. This is not a problem in practice, though, because the only application that uses the SPI to
set a service worker's custom user agent is Safari, which only has one process pool. This test still verifies
that a user ageint is correctly sent.
Similarly, the tests that count service worker processes either have different results or need to be run with
one process pool per parent process. To keep the results the same, I separated the tests into different
TEST(ServiceWorkers, ...) macros which are run in separate parent processes.
The test RestoreFromDiskNonDefaultStore needs to use the same data store for both WKWebViews now because otherwise
there was a race condition in the startup of a new network process that wasn't there before because we were using the
same process pool and therefore the same network process. I added spinning the run loop and sleeping to be able to
reproduce the race condition failure and I use the same WKWebsiteDataStore to use the same network process, which was
the intent of using the same WKProcessPool before. The test still tests that the registration is re-used when we are
not using the default data store.
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(-[CheckSessionCookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[CheckSessionCookieUIDelegate waitForMessage]):
(-[CheckSessionCookieUIDelegate alertCookieHTML]):
(TEST):
This is the whole point of me doing this.
I took a test that was flaky only on iOS (because of different NSHTTPCookieStorage syncing behavior) and made
it flaky nowhere (fingers crossed!) and added a test that correctly handles session cookies like we could not
before this change.
I also re-used some test infrastructure and made it stop using process-global static variables for test state.
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-leaks.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(runWebsiteDataStoreCustomPaths):
(TEST):
- TestWebKitAPI/Tests/WebKitObjC/CustomProtocolsTest.mm:
(-[CloseWhileStartingProtocol startLoading]):
(TestWebKitAPI::runTest):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::findAndDumpWebKitProcessIdentifiers):
(WTR::TestController::networkProcessDidCrash):
(WTR::TestController::terminateNetworkProcess):
(WTR::TestController::platformAdjustContext):
WKContextSetAllowsAnySSLCertificateForServiceWorkerTesting is not needed, so I removed it.
WKContextSetPrimaryWebsiteDataStore isn't needed any more because WKContextRef (WebProcessPool) doesn't
own a network process any more, so it doesn't care which is the default WebsiteDataStore.
In fact, the "default" WebsiteDataStore isn't really important in the network process any more.
- 2:41 PM Changeset in webkit [267762] by
-
- 2 edits in trunk/Source/WebKit
Enable the Web Share Level 2 feature wherever Web Share is enabled
https://bugs.webkit.org/show_bug.cgi?id=217105
Reviewed by Beth Dakin.
No new tests; there are already tests that enable this.
- Shared/WebPreferencesExperimental.yaml:
- 2:38 PM Changeset in webkit [267761] by
-
- 79 edits1 add in trunk
Refactor test runner code to cut down on copy/paste code and long-winded repetitive idioms
https://bugs.webkit.org/show_bug.cgi?id=217028
Reviewed by Sam Weinig.
Source/JavaScriptCore:
- API/JSRetainPtr.h: Added support for JSClassRef.
Tools:
I did a lot of simplifying, but even more is possible. For some reason, the test
code is a hotbed of repeated idioms, and copy and paste rather than helper functions.
Even after the refactoring, I have some doubts about the way this code is written with
so much repeated marshaling for each function.
- DumpRenderTree/AccessibilityController.cpp:
(AccessibilityController::makeWindowObject): Use setGlobalObjectProperty.
(AccessibilityController::createJSClass): Replaced getJSClass with this. Return a
JSRetainPtr to make it clear this passes ownership to the caller.
- DumpRenderTree/AccessibilityController.h: Updated for the above.
- DumpRenderTree/AccessibilityUIElement.cpp:
(uiElementCountForSearchPredicateCallback): Removed unneeded initialization of
JSRetainPtr, which starts out null.
- DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
(_platformTypeConstructor): Use toOptionalBool and createJSString.
(_returnExpression): Use makeValue.
- DumpRenderTree/GCController.cpp:
(GCController::GCController): Deleted.
(GCController::~GCController): Deleted.
(collectCallback): Use a reference and auto.
(collectOnAlternateThreadCallback): Ditto.
(getJSObjectCountCallback): Ditto.
(GCController::makeWindowObject): Use setGlobalObjectProperty.
(AccessibilityController::createJSClass): Replaced getJSClass with this. Return a
JSRetainPtr to make it clear this passes ownership to the caller.
- DumpRenderTree/GCController.h: Updated for the above.
- DumpRenderTree/TestRunner.cpp:
(encodeHostNameCallback): Use createJSString.
(execCommandCallback): Ditto.
(findStringCallback): Ditto.
(isCommandEnabledCallback): Ditto.
(overridePreferenceCallback): Ditto.
(queueLoadCallback): Ditto.
(queueLoadHTMLStringCallback): Ditto.
(TestRunner::makeWindowObject): Use setGlobalObjectProperty.
(TestRunner::createJSClass): Replaced getJSClass with this. Return a
JSRetainPtr to make it clear this passes ownership to the caller.
(TestRunner::staticValues): Made return value const*.
(TestRunner::staticFunctions): Ditto.
(TestRunner::waitToDumpWatchdogTimerFired): Simplified printing.
(TestRunner::cacheTestRunnerCallback): Updated to use object pointers as hash
table values instead of values, since callbacks need to be objects.
(TestRunner::callTestRunnerCallback): Ditto.
(TestRunner::clearTestRunnerCallbacks): Ditto.
(TestRunner::setOpenPanelFiles): Use arrayLength.
- DumpRenderTree/TestRunner.h: Updated for the above.
- DumpRenderTree/ios/AccessibilityControllerIOS.mm:
(AccessibilityController::platformName const): Use createJSString.
- DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(createEmptyJSString): Dleted.
(AccessibilityUIElement::stringForTextMarkerRange): Use createJSString.
(AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
(AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
(AccessibilityUIElement::attributesOfChildren): Ditto.
(AccessibilityUIElement::allAttributes): Ditto.
(AccessibilityUIElement::stringAttributeValue): Ditto.
(AccessibilityUIElement::parameterizedAttributeNames): Ditto.
(AccessibilityUIElement::role): Ditto.
(AccessibilityUIElement::subrole): Ditto.
(AccessibilityUIElement::roleDescription): Ditto.
(AccessibilityUIElement::computedRoleString): Ditto.
(AccessibilityUIElement::title): Ditto.
(AccessibilityUIElement::orientation const): Ditto.
(AccessibilityUIElement::language): Ditto.
(AccessibilityUIElement::valueDescription): Ditto.
(AccessibilityUIElement::ariaDropEffects const): Ditto.
(AccessibilityUIElement::boundsForRange): Ditto.
(AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
(AccessibilityUIElement::attributesOfRowHeaders): Ditto.
(AccessibilityUIElement::attributesOfColumns): Ditto.
(AccessibilityUIElement::attributesOfRows): Ditto.
(AccessibilityUIElement::attributesOfVisibleCells): Ditto.
(AccessibilityUIElement::attributesOfHeader): Ditto.
(AccessibilityUIElement::selectedTextRange): Ditto.
(AccessibilityUIElement::accessibilityValue const): Ditto.
(AccessibilityUIElement::documentEncoding): Ditto.
(AccessibilityUIElement::documentURI): Ditto.
- DumpRenderTree/mac/AccessibilityCommonMac.h: Removed unneeded "extern".
- DumpRenderTree/mac/AccessibilityCommonMac.mm:
(searchPredicateParameterizedAttributeForSearchCriteria): Use arrayLength.
Removed unneeded call to JSValueToObject after JSValueIsObject.
- DumpRenderTree/mac/AccessibilityControllerMac.mm:
(AccessibilityController::platformName const): Use createJSString.
- DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(createEmptyJSString): Deleted.
(selectTextParameterizedAttributeForCriteria): Use arrayLength.
Removed unneeded call to JSValueToObject after JSValueIsObject.
(searchTextParameterizedAttributeForCriteria): Ditto.
(AccessibilityUIElement::accessibilityValue const): Use createJSString.
(AccessibilityUIElement::documentEncoding): Ditto.
(AccessibilityUIElement::documentURI): Ditto.
- DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate didClearWindowObjectInStandardWorldForFrame:]):
Use auto. Pass fewer arguments to makeWindowObject. Simplified object
creation code by using adoptNS instead of release.
(-[FrameLoadDelegate didClearWindowObjectForFrame:inIsolatedWorld:]):
Use createJSString.
- DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::findString): Use arrayLength.
- DumpRenderTree/win/FrameLoadDelegate.cpp:
(FrameLoadDelegate::didClearWindowObjectForFrameInStandardWorld):
Pass fewer arguments to makeWindowObject.
- DumpRenderTree/win/TextInputController.cpp:
(TextInputController::makeWindowObject): Use setGlobalObjectProperty.
(TextInputController::createJSClass): Replaced getJSClass with this. Return a
JSRetainPtr to make it clear this passes ownership to the caller.
(TextInputController::staticValues): Made return value const*.
(TextInputController::staticFunctions): Ditto.
- DumpRenderTree/win/TextInputController.h: Updated for above.
- TestRunnerShared/Bindings/JSBasics.cpp:
(WTR::toOptionalBool): Renamed from JSValueMakeBooleanOrNull.
(WTR::toOptionalDouble): Added.
(WTR::makeValue): Added with overloads for various types.
Replaced JSValueToNullableBoolean and JSValueMakeStringOrNull.
(WTR::createJSString): Added with overloads for various types.
(WTR::property): Added.
(WTR::stringProperty): Added.
(WTR::booleanProperty): Added.
(WTR::numericProperty): Added.
(WTR::objectProperty): Refactored to call property.
(WTR::arrayLength): Added.
(WTR::setGlobalObjectProperty): Added.
(WTR::call): Refactored to let objectProperty do more of the null checking.
(WTR::callConstructor): Ditto.
- TestRunnerShared/Bindings/JSBasics.h: Updated for the above.
- TestRunnerShared/Bindings/JSWrappable.h: Reduced includes a bit.
- TestRunnerShared/Bindings/JSWrapper.h: Added setGlobalObjectProperty.
- TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
(UIScriptContext::UIScriptContext): Pass fewer arguments to makeWindowObject.
(UIScriptContext::runUIScript): Use createJSString.
(UIScriptContext::objectFromRect const): Use setProperty.
- TestRunnerShared/UIScriptContext/UIScriptController.h: Updated for the above.
- TestRunnerShared/UIScriptContext/UIScriptControllerShared.cpp:
(WTR::toDeviceOrientation): Use createJSString and JSStringIsEqualToUTF8CString.
(WTR::UIScriptController::makeWindowObject): Use setGlobalObjectProperty.
- TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
(-[LayoutTestSpellChecker setResultsFromJSValue:inContext:]): Use createJSString
and removed unneeded use of lroundl.
- WebKitTestRunner/DictionaryFunctions.h: Added. Contains convenience functions
for dealing with WKDictionaryRef.
- WebKitTestRunner/EventSenderProxy.h: Initialize data members.
- WebKitTestRunner/GeolocationProviderMock.cpp:
(GeolocationProviderMock::setPosition): Use Optional instead of separate bool.
- WebKitTestRunner/GeolocationProviderMock.h: Updated for the above.
- WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::makeWindowObject): Use setGlobalObjectProperty.
- WebKitTestRunner/InjectedBundle/AccessibilityController.h: Updated for the above.
- WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
(_generateImplementationFile): Use static initialization and a lambda instead of
an if statement to initialize.
(_platformTypeConstructor): Use toOptionalBool and createJSString. Also added
support for nullable doubles and used auto a bit more.
(_returnExpression): Use makeValue.
- InjectedBundle/Bindings/TestRunner.idl: Made the optional arguments to the
setMockGeolocationPosition function "double?" instead of "object".
- WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::getMenuItemChildrenCallback): Use auto and not JSValueToObject.
(WTR::arrayLength): Moved to JSBasics.h/cpp.
(WTR::parseTouchModifier): Added. Factored out of the
EventSendingController::setTouchModifier function.
(WTR::parseModifierArray): Use createJSString and remove unneeded ignored
exception out argument, since that is optional. Also added overload that
gets the context.
(WTR::EventSendingController::EventSendingController): Deleted.
(WTR::EventSendingController::~EventSendingController): Deleted.
(WTR::createMouseMessageBody): Use adoptWK and setValue. Return a WKRetainPtr.
(WTR::EventSendingController::mouseDown): Use postSynchronousPageMessage.
(WTR::EventSendingController::mouseUp): Ditto.
(WTR::EventSendingController::mouseMoveTo): Use setValue and
postSynchronousPageMessages.
(WTR::EventSendingController::mouseForceClick): Ditto.
(WTR::EventSendingController::startAndCancelMouseForceClick): Ditto.
(WTR::EventSendingController::mouseForceDown): Ditto.
(WTR::EventSendingController::mouseForceUp): Ditto.
(WTR::EventSendingController::mouseForceChanged): Ditto.
(WTR::EventSendingController::leapForward): Ditto.
(WTR::EventSendingController::scheduleAsynchronousClick): Use postPageMessage.
(WTR::createKeyDownMessageBody): Use setValue.
(WTR::EventSendingController::keyDown): Use postSynchronousPageMessage.
(WTR::EventSendingController::scheduleAsynchronousKeyDown): Use postPageMessage.
(WTR::EventSendingController::mouseScrollBy): Use setValue and postPageMessage.
(WTR::EventSendingController::mouseScrollByWithWheelAndMomentumPhases): Use
setValue and postPageMessage.
(WTR::EventSendingController::continuousMouseScrollBy): Use setValue and
postSynchronousPageMessage.
(WTR::EventSendingController::contextClick): Use auto and not JSValueToObject.
(WTR::toMonitorWheelEventsOptions): Use booleanProperty.
(WTR::EventSendingController::addTouchPoint): Use setValue and postSynchronousPageMessage.
(WTR::EventSendingController::updateTouchPoint): Ditto.
(WTR::EventSendingController::setTouchModifier): Ditto.
(WTR::EventSendingController::setTouchPointRadius): Ditto.
(WTR::EventSendingController::touchStart): Ditto.
(WTR::EventSendingController::touchMove): Ditto.
(WTR::EventSendingController::touchEnd): Ditto.
(WTR::EventSendingController::touchCancel): Ditto.
(WTR::EventSendingController::clearTouchPoints): Ditto.
(WTR::EventSendingController::releaseTouchPoint): Ditto.
(WTR::EventSendingController::cancelTouchPoint): Ditto.
(WTR::EventSendingController::makeWindowObject): Use setGlobalObjectProperty.
- WebKitTestRunner/InjectedBundle/EventSendingController.h: Updated for the above.
Deleted various unneeded functions.
- WebKitTestRunner/InjectedBundle/GCController.cpp:
(WTR::GCController::GCController): Deleted.
(WTR::GCController::~GCController): Deleted.
(WTR::GCController::makeWindowObject): Use setGlobalObjectProperty.
- WebKitTestRunner/InjectedBundle/GCController.h: Updated for the above.
Also marked the class final.
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didCreatePage): Use booleanValue.
(WTR::InjectedBundle::didReceiveMessage): Use toWK.
(WTR::InjectedBundle::postPageMessage): Added.
(WTR::InjectedBundle::reportLiveDocuments): Use postPageMessage.
(WTR::InjectedBundle::didReceiveMessageToPage): Use dictionaryValue,
booleanValue, postPageMessage, value, and more to streamline.
(WTR::InjectedBundle::booleanForKey): Deleted.
(WTR::InjectedBundle::stringForKey): Deleted.
(WTR::InjectedBundle::beginTesting): Use booleanValue.
(WTR::InjectedBundle::done): Use stringValue.
(WTR::InjectedBundle::closeOtherPages): Use setValue and toWK.
(WTR::InjectedBundle::dumpToStdErr): Use postPageMessage
(WTR::InjectedBundle::outputText): Use toWK.
(WTR::InjectedBundle::postNewBeforeUnloadReturnValue): Use postPageMessage.
(WTR::InjectedBundle::postAddChromeInputField): Ditto.
(WTR::InjectedBundle::postRemoveChromeInputField): Ditto.
(WTR::InjectedBundle::postFocusWebView): Ditto.
(WTR::InjectedBundle::postSetBackingScaleFactor): Ditto.
(WTR::InjectedBundle::postSetWindowIsKey): Use toWK.
(WTR::InjectedBundle::postSetViewSize): Use setValue and toWK.
(WTR::InjectedBundle::postSimulateWebNotificationClick): Use postPageMessage.
(WTR::InjectedBundle::postSetAddsVisitedLinks): Ditto.
(WTR::InjectedBundle::setGeolocationPermission): Ditto.
(WTR::InjectedBundle::setMockGeolocationPosition): Use setValue and postPageMessage,
and use Optional instead of bool/double pairs.
(WTR::InjectedBundle::setMockGeolocationPositionUnavailableError): Use postPageMessage.
(WTR::InjectedBundle::isGeolocationProviderActive const): Use toWK and booleanValue.
(WTR::InjectedBundle::imageCountInGeneralPasteboard const): Use toWK and uint64Value.
(WTR::InjectedBundle::setUserMediaPermission): Use postPageMessage.
(WTR::InjectedBundle::resetUserMediaPermission): Ditto.
(WTR::InjectedBundle::setUserMediaPersistentPermissionForOrigin): Use setValue
and postPageMessage.
(WTR::InjectedBundle::userMediaPermissionRequestCountForOrigin const): Ditto.
(WTR::InjectedBundle::resetUserMediaPermissionRequestCountForOrigin): Uset setValue
and uint64Value.
(WTR::InjectedBundle::setCustomPolicyDelegate): Use setValue and postPageMessage.
(WTR::InjectedBundle::setHidden): Ditto.
(WTR::InjectedBundle::setCacheModel): Ditto.
(WTR::InjectedBundle::shouldProcessWorkQueue const): Use toWK and booleanValue.
(WTR::InjectedBundle::processWorkQueue): Use postPageMessage.
(WTR::InjectedBundle::queueBackNavigation): Ditto.
(WTR::InjectedBundle::queueForwardNavigation): Ditto.
(WTR::InjectedBundle::queueLoad): Use setValue and postPageMessage.
(WTR::InjectedBundle::queueLoadHTMLString): Ditto.
(WTR::InjectedBundle::queueReload): Ditto.
(WTR::InjectedBundle::queueLoadingScript): Ditto.
(WTR::InjectedBundle::queueNonLoadingScript): Ditto.
(WTR::postMessage): Added. Overloads for many types to keep caller code streamlined.
(WTR::postSynchronousMessage): Ditto.
(WTR::postPageMessage): Ditto.
(WTR::postSynchronousPageMessage): Ditto.
- WebKitTestRunner/InjectedBundle/InjectedBundle.h: Updated for the above.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::propertyValue): Deleted. Use functions from JSBasics.h instead.
(WTR::propertyValueDouble): Ditto.
(WTR::propertyValueInt): Ditto.
(WTR::numericWindowProperty): Renamed from numericWindowPropertyValue for brevity
and for consistency with JSBasics.h functions.
(WTR::dumpPath): Use stringProperty, objectProperty, and makeString.
(WTR::rangeToStr): Use auto, numericProperty, and makeString.
(WTR::NavigationTypeToString): Use toWK.
(WTR::string): Renamed from securityOriginToStr. Use makeString.
(WTR::frameToStr): Use auto.
(WTR::InjectedBundlePage::resetAfterTest): Removed unneeded local.
(WTR::dumpFrameDescriptionSuitableForTestResult): Use auto.
(WTR::dumpRequestDescriptionSuitableForTestResult): Ditto.
(WTR::dumpErrorDescriptionSuitableForTestResult): Use auto and toWK.
(WTR::dumpFrameScrollPosition): Update for name change.
(WTR::toJS): Deleted. Use functions from JSBasics.h instead.
(WTR::hasDocumentElement): Use objectProperty.
(WTR::InjectedBundlePage::didClearWindowForFrame): Use setGlobalObjectProperty,
and pass fewer arguments to makeWindowObject.
(WTR::InjectedBundlePage::decidePolicyForNavigationAction): Streamline code a bit.
(WTR::InjectedBundlePage::decidePolicyForResponse): Use makeString.
(WTR::lastFileURLPathComponent): Ditto.
(WTR::InjectedBundlePage::willSetStatusbarText): Ditto.
(WTR::InjectedBundlePage::didReachApplicationCacheOriginQuota): Ditto.
(WTR::InjectedBundlePage::didExceedDatabaseQuota): Ditto.
(WTR::InjectedBundlePage::shouldBeginEditing): Ditto.
(WTR::InjectedBundlePage::shouldEndEditing): Ditto.
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::TestRunner): Use toWK.
(WTR::page): Added.
(WTR::mainFrame): Added.
(WTR::mainFrameJSContext): Added.
(WTR::TestRunner::display): Use page.
(WTR::TestRunner::displayAndTrackRepaints): Use page.
(WTR::toWK): Added overload for double.
(WTR::createWKDictionary): Added.
(WTR::postSynchronousMessageWithReturnValue): Added.
(WTR::postSynchronousMessageReturningBoolean): Added.
(WTR::postSynchronousPageMessageWithReturnValue): Added.
(WTR::postSynchronousPageMessageReturningBoolean): Added.
(WTR::postSynchronousPageMessageReturningUInt64): Added.
(WTR::postSynchronousMessageReturningUInt64): Added.
(WTR::overridePreference): Added.
(WTR::TestRunner::shouldDumpPixels const): Use postSynchronousMessageReturningBoolean.
(WTR::TestRunner::setDumpPixels): Use postSynchronousMessage.
(WTR::TestRunner::whatToDump const): Use postSynchronousMessageReturningUInt64.
(WTR::TestRunner::setWhatToDump): Use postSynchronousMessage.
(WTR::TestRunner::setWaitUntilDone): Use postSynchronousMessage.
(WTR::TestRunner::shouldWaitUntilDone const): Use postSynchronousMessageReturningBoolean.
(WTR::TestRunner::setShouldDumpFrameLoadCallbacks): Use postSynchronousMessage.
(WTR::TestRunner::shouldDumpFrameLoadCallbacks): Use postSynchronousMessageReturningBoolean.
(WTR::TestRunner::addUserScript): Use page.
(WTR::TestRunner::addUserStyleSheet): Ditto.
(WTR::TestRunner::execCommand): Ditto.
(WTR::findOptionsFromArray): Use mainFrameJSContext, arrayLength, and createJSString.
(WTR::TestRunner::findString): Use page.
(WTR::TestRunner::findStringMatchesInPage): Ditto.
(WTR::TestRunner::replaceFindMatchesAtIndices): Use mainFrameJSContext and arrayLength and
removed unneeded call to std::round.
(WTR::TestRunner::clearAllDatabases): Use postSynchronousMessage.
(WTR::TestRunner::syncLocalStorage): Ditto.
(WTR::TestRunner::clearAllApplicationCaches): Use page.
(WTR::TestRunner::clearApplicationCacheForOrigin): Ditto.
(WTR::TestRunner::setAppCacheMaximumSize): Ditto.
(WTR::TestRunner::applicationCacheDiskUsageForOrigin): Ditto.
(WTR::stringArrayToJS): Tweaked coding style a bit.
(WTR::TestRunner::originsWithApplicationCache): Use page.
(WTR::TestRunner::isCommandEnabled): Ditto.
(WTR::TestRunner::setCanOpenWindows): Use postSynchronousMessage.
(WTR::TestRunner::setXSSAuditorEnabled): Use overridePreference.
(WTR::TestRunner::setMediaDevicesEnabled): Ditto.
(WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): Ditto.
(WTR::TestRunner::setCustomUserAgent): Use postSynchronousMessage.
(WTR::TestRunner::setWebAPIStatisticsEnabled): Use overridePreference.
(WTR::TestRunner::setModernMediaControlsEnabled): Ditto.
(WTR::TestRunner::setWebGL2Enabled): Ditto.
(WTR::TestRunner::setWritableStreamAPIEnabled): Ditto.
(WTR::TestRunner::setTransformStreamAPIEnabled): Ditto.
(WTR::TestRunner::setReadableByteStreamAPIEnabled): Ditto.
(WTR::TestRunner::setEncryptedMediaAPIEnabled): Ditto.
(WTR::TestRunner::setPictureInPictureAPIEnabled): Ditto.
(WTR::TestRunner::setGenericCueAPIEnabled): Ditto.
(WTR::TestRunner::setAllowsAnySSLCertificate): Use postSynchronousPageMessage.
(WTR::TestRunner::setShouldSwapToEphemeralSessionOnNextNavigation): Ditto.
(WTR::TestRunner::setShouldSwapToDefaultSessionOnNextNavigation): Ditto.
(WTR::TestRunner::setPluginsEnabled): Use overridePreference.
(WTR::TestRunner::isPageBoxVisible): Use mainFrame.
(WTR::TestRunner::setValueForUser): Removed local.
(WTR::TestRunner::setAudioResult): Ditto.
(WTR::TestRunner::clearBackForwardList): Use page.
(WTR::TestRunner::makeWindowObject): Use setGlobalObjectProperty.
(WTR::TestRunner::showWebInspector): Use page.
(WTR::TestRunner::closeWebInspector): Ditto.
(WTR::TestRunner::evaluateInWebInspector): Ditto.
(WTR::TestRunner::worldIDForWorld): Use range-based for loop.
(WTR::TestRunner::evaluateScriptInIsolatedWorld): Use mainFrame.
(WTR::TestRunner::setTextDirection): Use mainFrame.
(WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation):
Use postSynchronousPageMessage.
(WTR::cacheTestRunnerCallback): Changed map to store objects instead of values.
(WTR::callTestRunnerCallback): Simplify since map has objects. Use mainFrameJSContext.
(WTR::TestRunner::clearTestRunnerCallbacks): Ditto.
(WTR::TestRunner::setAlwaysAcceptCookies): Use postSynchronousMessage.
(WTR::TestRunner::setOnlyAcceptFirstPartyCookies): Use auto and toWK.
(WTR::TestRunner::setUserStyleSheetEnabled): Use toWK.
(WTR::TestRunner::setUserStyleSheetLocation): Use page.
(WTR::TestRunner::setTabKeyCyclesThroughElements): Ditto.
(WTR::TestRunner::grantWebNotificationPermission): Ditto.
(WTR::TestRunner::denyWebNotificationPermission): Ditto.
(WTR::TestRunner::removeAllWebNotificationPermissions): Use mainFrameJSContext.
(WTR::TestRunner::simulateWebNotificationClick): Ditto.
(WTR::TestRunner::setMockGeolocationPosition): Use Optional<double> instead of bool/double
pairs, letting the IDL bindings do the work for us.
(WTR::TestRunner::setMockGeolocationPositionUnavailableError): Removed local.
(WTR::TestRunner::isDoingMediaCapture const): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setUserMediaPersistentPermissionForOrigin): Removed locals.
(WTR::TestRunner::userMediaPermissionRequestCountForOrigin const): Ditto.
(WTR::TestRunner::resetUserMediaPermissionRequestCountForOrigin): DItto.
(WTR::TestRunner::callShouldCloseOnWebView): Use mainFrame.
(WTR::TestRunner::queueLoad): Ditto.
(WTR::TestRunner::queueLoadHTMLString): Removed a local.
(WTR::TestRunner::queueLoadingScript): Ditto.
(WTR::TestRunner::queueNonLoadingScript): Ditto.
(WTR::TestRunner::setRejectsProtectionSpaceAndContinueForAuthenticationChallenges):
Use postPageMessage.
(WTR::TestRunner::setHandlesAuthenticationChallenges): Ditto.
(WTR::TestRunner::setShouldLogCanAuthenticateAgainstProtectionSpace): Ditto.
(WTR::TestRunner::setShouldLogDownloadCallbacks): Ditto.
(WTR::TestRunner::setAuthenticationUsername): Ditto.
(WTR::TestRunner::setAuthenticationPassword): Ditto.
(WTR::TestRunner::secureEventInputIsEnabled const): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setBlockAllPlugins): Use postPageMessage.
(WTR::TestRunner::setPluginSupportedMode): Ditto.
(WTR::TestRunner::failNextNewCodeBlock): Use mainFrameJSContext.
(WTR::TestRunner::numberOfDFGCompiles): Ditto.
(WTR::TestRunner::neverInlineFunction): Ditto.
(WTR::TestRunner::setShouldDecideNavigationPolicyAfterDelay): Use postPageMessage.
(WTR::TestRunner::setShouldDecideResponsePolicyAfterDelay): Ditto.
(WTR::TestRunner::setNavigationGesturesEnabled): Ditto.
(WTR::TestRunner::setIgnoresViewportScaleLimits): Ditto.
(WTR::TestRunner::setShouldDownloadUndisplayableMIMETypes): Ditto.
(WTR::TestRunner::setShouldAllowDeviceOrientationAndMotionAccess): Ditto.
(WTR::TestRunner::terminateNetworkProcess): Use postSynchronousPageMessage.
(WTR::TestRunner::terminateServiceWorkers): Ditto.
(WTR::TestRunner::setUseSeparateServiceWorkerProcess): Ditto.
(WTR::TestRunner::runUIScript): Use postPageMessage.
(WTR::TestRunner::runUIScriptImmediately): Ditto.
(WTR::TestRunner::runUIScriptCallback): Use mainFrameJSContext.
(WTR::TestRunner::setAllowedMenuActions): Use mainFrameJSContext, arrayLength,
and postPageMessage.
(WTR::TestRunner::installCustomMenuAction): Use postPageMessage.
(WTR::TestRunner::clearStatisticsDataForDomain): Use postSynchronousMessage.
(WTR::TestRunner::doesStatisticsDomainIDExistInDatabase): Use
postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsEnabled): Use postSynchronousMessage.
(WTR::TestRunner::isStatisticsEphemeral): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsDebugMode): Use postMessage.
(WTR::TestRunner::setStatisticsPrevalentResourceForDebugMode): Ditto.
(WTR::TestRunner::setStatisticsLastSeen): Ditto.
(WTR::TestRunner::setStatisticsMergeStatistic): Ditto.
(WTR::TestRunner::setStatisticsExpiredStatistic): Ditto.
(WTR::TestRunner::setStatisticsPrevalentResource): Ditto.
(WTR::TestRunner::setStatisticsVeryPrevalentResource): Ditto.
(WTR::TestRunner::dumpResourceLoadStatistics): Use postSynchronousPageMessage.
(WTR::TestRunner::isStatisticsPrevalentResource): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::isStatisticsVeryPrevalentResource): Ditto.
(WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder): Ditto.
(WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder): Ditto.
(WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo): Ditto.
(WTR::TestRunner::setStatisticsHasHadUserInteraction): Use postMessage.
(WTR::TestRunner::isStatisticsHasHadUserInteraction): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::isStatisticsOnlyInDatabaseOnce): Ditto.
(WTR::TestRunner::setStatisticsGrandfathered): Use postSynchronousMessage.
(WTR::TestRunner::setUseITPDatabase): Ditto.
(WTR::TestRunner::isStatisticsGrandfathered): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsSubframeUnderTopFrameOrigin): Use postSynchronousMessage.
(WTR::TestRunner::setStatisticsSubresourceUnderTopFrameOrigin): Ditto.
(WTR::TestRunner::setStatisticsSubresourceUniqueRedirectTo): Ditto.
(WTR::TestRunner::setStatisticsSubresourceUniqueRedirectFrom): Ditto.
(WTR::TestRunner::setStatisticsTopFrameUniqueRedirectTo): Ditto.
(WTR::TestRunner::setStatisticsTopFrameUniqueRedirectFrom): Ditto.
(WTR::TestRunner::setStatisticsCrossSiteLoadWithLinkDecoration): Ditto.
(WTR::TestRunner::setStatisticsTimeToLiveUserInteraction): Ditto.
(WTR::TestRunner::statisticsDidRunTelemetryCallback): Use mainFrameJSContext.
(WTR::TestRunner::statisticsProcessStatisticsAndDataRecords): Use postSynchronousMessage.
(WTR::TestRunner::statisticsUpdateCookieBlocking): Use postMessage.
(WTR::TestRunner::statisticsSubmitTelemetry): Use postSynchronousMessage.
(WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned): Ditto.
(WTR::TestRunner::setStatisticsIsRunningTest): Ditto.
(WTR::TestRunner::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval): Ditto.
(WTR::TestRunner::setStatisticsMinimumTimeBetweenDataRecordsRemoval): Ditto.
(WTR::TestRunner::setStatisticsGrandfatheringTime): Ditto.
(WTR::TestRunner::setStatisticsMaxStatisticsEntries): Ditto.
(WTR::TestRunner::setStatisticsPruneEntriesDownTo): Ditto.
(WTR::TestRunner::statisticsClearInMemoryAndPersistentStore): Use postMessage.
(WTR::TestRunner::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): Ditto.
(WTR::TestRunner::statisticsClearThroughWebsiteDataRemoval): Ditto.
(WTR::TestRunner::statisticsDeleteCookiesForHost): Use postSynchronousMessage.
(WTR::TestRunner::isStatisticsHasLocalStorage): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsCacheMaxAgeCap): Use postSynchronousMessage.
(WTR::TestRunner::hasStatisticsIsolatedSession): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsShouldDowngradeReferrer): Use postMessage.
(WTR::TestRunner::setStatisticsShouldBlockThirdPartyCookies): Ditto.
(WTR::TestRunner::setStatisticsFirstPartyWebsiteDataRemovalMode): Ditto.
(WTR::TestRunner::statisticsSetToSameSiteStrictCookies): Ditto.
(WTR::TestRunner::statisticsSetFirstPartyHostCNAMEDomain): Ditto.
(WTR::TestRunner::statisticsSetThirdPartyCNAMEDomain): Ditto.
(WTR::TestRunner::statisticsResetToConsistentState): Ditto.
(WTR::TestRunner::getAllStorageAccessEntries): Ditto.
(WTR::makeDomainsValue): Factored out. Use mainFrameJSContext.
(WTR::TestRunner::callDidReceiveAllStorageAccessEntriesCallback): Use makeDomainsValue.
(WTR::TestRunner::loadedSubresourceDomains): Use postMessage.
(WTR::TestRunner::callDidReceiveLoadedSubresourceDomainsCallback): Use makeDomainsValue.
(WTR::TestRunner::addMockMediaDevice): Use postSynchronousMessage.
(WTR::TestRunner::clearMockMediaDevices): Ditto.
(WTR::TestRunner::removeMockMediaDevice): Ditto.
(WTR::TestRunner::resetMockMediaDevices): Ditto.
(WTR::TestRunner::setMockCameraOrientation): Ditto.
(WTR::TestRunner::isMockRealtimeMediaSourceCenterEnabled): Use
postSynchronousMessageReturningBoolean.
(WTR::TestRunner::connectMockGamepad): Use postSynchronousMessage.
(WTR::TestRunner::disconnectMockGamepad): Ditto.
(WTR::TestRunner::setMockGamepadDetails): Ditto.
(WTR::TestRunner::setMockGamepadAxisValue): Ditto.
(WTR::TestRunner::setMockGamepadButtonValue): Ditto.
(WTR::TestRunner::setOpenPanelFiles): Use mainFrameJSContext, arrayLength, createJSString,
and postPageMessage.
(WTR::TestRunner::setOpenPanelFilesMediaIcon): Use mainFrameJSContext and postPageMessage.
(WTR::TestRunner::removeAllSessionCredentials): Use postMessage.
(WTR::TestRunner::clearDOMCache): Use postSynchronousMessage.
(WTR::TestRunner::clearDOMCaches): Ditto.
(WTR::TestRunner::hasDOMCache): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::domCacheSize): Use postSynchronousPageMessageReturningUInt64.
(WTR::TestRunner::setAllowStorageQuotaIncrease): Use postSynchronousPageMessage.
(WTR::TestRunner::getApplicationManifestThen): Use postMessage.
(WTR::TestRunner::injectUserScript): Use postSynchronousMessage.
(WTR::TestRunner::sendDisplayConfigurationChangedMessageForTesting): Ditto.
(WTR::TestRunner::setServiceWorkerFetchTimeout): Ditto.
(WTR::TestRunner::addTestKeyToKeychain): Ditto.
(WTR::TestRunner::cleanUpKeychain): Ditto.
(WTR::TestRunner::keyExistsInKeychain): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::serverTrustEvaluationCallbackCallsCount): Use
postSynchronousMessageReturningUInt64.
(WTR::TestRunner::setShouldDismissJavaScriptAlertsAsynchronously): Use
postSynchronousMessage.
(WTR::TestRunner::abortModal): Ditto.
(WTR::TestRunner::dumpAdClickAttribution): Use postSynchronousPageMessage.
(WTR::TestRunner::clearAdClickAttribution): Ditto.
(WTR::TestRunner::clearAdClickAttributionsThroughWebsiteDataRemoval): Ditto.
(WTR::TestRunner::setAdClickAttributionOverrideTimerForTesting): Ditto.
(WTR::TestRunner::setAdClickAttributionConversionURLForTesting): Ditto.
(WTR::TestRunner::markAdClickAttributionsAsExpiredForTesting): Ditto.
(WTR::TestRunner::setOffscreenCanvasEnabled): Use overridePreference.
(WTR::TestRunner::hasAppBoundSession): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::clearAppBoundSession): Use postSynchronousMessage.
(WTR::TestRunner::setAppBoundDomains): Use mainFrameJSContext, arrayLength, createJSString,
and toWK.
(WTR::TestRunner::postMessage): Added.
- WebKitTestRunner/InjectedBundle/TestRunner.h: Updated for the above. Also changed
overridePreference ot a static member function.
- WebKitTestRunner/InjectedBundle/TextInputController.cpp:
(WTR::TextInputController::TextInputController): Deleted.
(WTR::TextInputController::~TextInputController): Deleted.
(WTR::TextInputController::makeWindowObject): Use setGlobalObjectProperty.
(WTR::arrayLength): Deleted. Use the one from JSBasics.h now.
(WTR::createCompositionHighlightData): Use setValue.
- WebKitTestRunner/InjectedBundle/TextInputController.h: Updated for the above.
- WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
(WTR::AccessibilityController::platformName): Use createJSString.
- WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::createEmptyJSString): Deleted. Use createJSString from JSBasics.h now.
(WTR::AccessibilityUIElement::attributesOfLinkedUIElements): Use createJSString.
(WTR::AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
(WTR::AccessibilityUIElement::attributesOfChildren): Ditto.
(WTR::AccessibilityUIElement::allAttributes): Ditto.
(WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue): Ditto.
(WTR::AccessibilityUIElement::stringAttributeValue): Ditto.
(WTR::AccessibilityUIElement::parameterizedAttributeNames): Ditto.
(WTR::AccessibilityUIElement::role): Ditto.
(WTR::AccessibilityUIElement::subrole): Ditto.
(WTR::AccessibilityUIElement::computedRoleString): Ditto.
(WTR::AccessibilityUIElement::title): Ditto.
(WTR::AccessibilityUIElement::orientation const): Ditto.
(WTR::AccessibilityUIElement::language): Ditto.
(WTR::AccessibilityUIElement::valueDescription): Ditto.
(WTR::AccessibilityUIElement::isFocused const): Ditto.
(WTR::AccessibilityUIElement::isSelectedOptionActive const): Ditto.
(WTR::AccessibilityUIElement::isIndeterminate const): Ditto.
(WTR::AccessibilityUIElement::ariaDropEffects const): Ditto.
(WTR::AccessibilityUIElement::boundsForRange): Ditto.
(WTR::AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
(WTR::AccessibilityUIElement::attributesOfRowHeaders): Ditto.
(WTR::AccessibilityUIElement::attributesOfColumns): Ditto.
(WTR::AccessibilityUIElement::attributesOfRows): Ditto.
(WTR::AccessibilityUIElement::attributesOfVisibleCells): Ditto.
(WTR::AccessibilityUIElement::attributesOfHeader): Ditto.
(WTR::AccessibilityUIElement::clearSelectedChildren const): Ditto.
(WTR::AccessibilityUIElement::accessibilityValue const): Ditto.
(WTR::AccessibilityUIElement::documentEncoding): Ditto.
(WTR::AccessibilityUIElement::documentURI): Ditto.
(WTR::AccessibilityUIElement::isSelectable const): Ditto.
(WTR::AccessibilityUIElement::isMultiSelectable const): Ditto.
(WTR::AccessibilityUIElement::isVisible const): Ditto.
(WTR::AccessibilityUIElement::isOffScreen const): Ditto.
(WTR::AccessibilityUIElement::isCollapsed const): Ditto.
(WTR::AccessibilityUIElement::isSingleLine const): Ditto.
(WTR::AccessibilityUIElement::isMultiLine const): Ditto.
(WTR::AccessibilityUIElement::takeFocus): Ditto.
(WTR::AccessibilityUIElement::takeSelection): Ditto.
(WTR::AccessibilityUIElement::addSelection): Ditto.
(WTR::AccessibilityUIElement::removeSelection): Ditto.
(WTR::AccessibilityUIElement::stringForTextMarkerRange): Ditto.
- WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:
(WTR::EventSenderProxy::EventSenderProxy): Initialize in the class definition.
(WTR::EventSenderProxy::~EventSenderProxy): Deleted.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
(WTR::makeJSArray): Return a JSObjectRef. Renamed from makeArrayRefForArray.
(WTR::makeJSObject): Return a JSObjectRef. Renamed from makeObjectRefForDictionary.
(WTR::makeValueRefForValue): Updated for the above.
(WTR::searchPredicateParameterizedAttributeForSearchCriteria): Use toWTFString
and arrayLength.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AccessibilityController::platformName): Use createJSString.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::createEmptyJSString): Deleted. Use createJSString from JSBasics.h instead.
(WTR::convertVectorToObjectArray): Deleted.
(WTR::makeJSArray): Renamed from convertVectorToObjectArray.
(WTR::selectTextParameterizedAttributeForCriteria): Use toWTFString and arrayLength.
(WTR::searchTextParameterizedAttributeForCriteria): Ditto.
(WTR::AccessibilityUIElement::rowHeaders const): Use makeJSArray.
(WTR::AccessibilityUIElement::columnHeaders const): Ditto.
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue const): Ditto.
(WTR::AccessibilityUIElement::searchTextWithCriteria): Ditto.
(WTR::AccessibilityUIElement::accessibilityValue const): Use createJSString.
(WTR::AccessibilityUIElement::documentEncoding): Ditto.
(WTR::AccessibilityUIElement::documentURI): Ditto.
- WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
(WTR::TestRunner::inspectorTestStubURL): Remove locals.
- WebKitTestRunner/StringFunctions.h: Added toWKString overload that converts from
a JSValueRef, JSStringRef, or JSRetainPtr<JSStringRef> and toWK overload that converts
from a const char*.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize): Use toWK.
(WTR::TestController::generateContextConfiguration const): Ditto.
(WTR::TestController::resetPreferencesToConsistentValues): Ditto.
(WTR::TestController::resetStateToConsistentValues): Use setValue.
(WTR::TestController::updateLiveDocumentsAfterTest): Ditto.
(WTR::TestController::checkForWorldLeaks): Use toWK.
(WTR::contentExtensionJSONPath): Use toSTD.
(WTR::TestController::configureContentExtensionForTest): Use toWK.
(WTR::TestController::didReceiveKeyDownMessageFromInjectedBundle): Use stringValue
and uint64Value.
(WTR::TestController::didReceiveLiveDocumentsList): Use dictionaryValue and
uint64Value.
(WTR::TestController::didReceiveMessageFromInjectedBundle): Use dictionaryValue,
stringValue, uint64Value, doubleValue, booleanValue.
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle): Ditto.
(WTR::TestController::setBlockAllPlugins): Use toWK.
(WTR::TestController::setPluginSupportedMode): Ditto.
(WTR::TestController::canAuthenticateAgainstProtectionSpace): Use auto.
(WTR::TestController::didFinishNavigation): Removed local.
(WTR::TestController::didReceiveAuthenticationChallenge): Use auto and toWTFString
instead of toSTD.
(WTR::TestController::setMockGeolocationPosition): Use Optional instead of pairs
of bool and double.
(WTR::TestController::handleCheckOfUserMediaPermissionForOrigin): Use toWK.
(WTR::TestController::decidePolicyForUserMediaPermissionRequestIfPossible): Ditto.
(WTR::TestController::updateBundleIdentifierInNetworkProcess): Use toWK.
- WebKitTestRunner/TestController.h: Updated for the above.
- WebKitTestRunner/TestInvocation.cpp:
(WTR::postPageMessage): Added.
(WTR::TestInvocation::TestIncovation): Use toWTFString.
(WTR::TestInvocation::createTestSettingsDictionary): Use auto and setValue.
(WTR::TestInvocation::invoke): Use postPageMessage and setValue.
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Use postPageMessage
and stringValue.
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): Use
dictionaryValue, booleanValue, value, stringValue, doubleValue, and
optionalDoubleValue.
(WTR::TestInvocation::uiScriptDidComplete): Use postPageMessage and setValue.
(WTR::TestInvocation::didBeginSwipe): Use postPageMessage.
(WTR::TestInvocation::willEndSwipe): Ditto.
(WTR::TestInvocation::didEndSwipe): Ditto.
(WTR::TestInvocation::didRemoveSwipeSnapshot): Ditto.
(WTR::TestInvocation::notifyDownloadDone): Ditto.
(WTR::TestInvocation::didClearStatisticsInMemoryAndPersistentStore): Ditto.
(WTR::TestInvocation::didClearStatisticsThroughWebsiteDataRemoval): Ditto.
(WTR::TestInvocation::didSetShouldDowngradeReferrer): Ditto.
(WTR::TestInvocation::didSetShouldBlockThirdPartyCookies): Ditto.
(WTR::TestInvocation::didSetFirstPartyWebsiteDataRemovalMode): Ditto.
(WTR::TestInvocation::didSetToSameSiteStrictCookies): Ditto.
(WTR::TestInvocation::didSetFirstPartyHostCNAMEDomain): Ditto.
(WTR::TestInvocation::didSetThirdPartyCNAMEDomain): Ditto.
(WTR::TestInvocation::didResetStatisticsToConsistentState): Ditto.
(WTR::TestInvocation::didSetBlockCookiesForHost): Ditto.
(WTR::TestInvocation::didSetStatisticsDebugMode): Ditto.
(WTR::TestInvocation::didSetPrevalentResourceForDebugMode): Ditto.
(WTR::TestInvocation::didSetLastSeen): Ditto.
(WTR::TestInvocation::didMergeStatistic): Ditto.
(WTR::TestInvocation::didSetExpiredStatistic): Ditto.
(WTR::TestInvocation::didSetPrevalentResource): Ditto.
(WTR::TestInvocation::didSetVeryPrevalentResource): Ditto.
(WTR::TestInvocation::didSetHasHadUserInteraction): Ditto.
(WTR::TestInvocation::didReceiveAllStorageAccessEntries): Ditto.
(WTR::TestInvocation::didReceiveLoadedSubresourceDomains): Ditto.
(WTR::TestInvocation::didRemoveAllSessionCredentials): Ditto.
(WTR::TestInvocation::didSetAppBoundDomains): Ditto.
(WTR::TestInvocation::performCustomMenuAction): Ditto.
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
Added JSBasics.h to DictionaryFunctions.h to appropriate targets.
- WebKitTestRunner/WorkQueueManager.cpp:
(WTR::ScriptItem::ScriptItem): Use toWK.
(WTR::WorkQueueManager::queueLoadHTMLString): Ditto.
- WebKitTestRunner/cocoa/UIScriptControllerCocoa.h: Make most functions private.
- WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::overridePreference): Use toWTFString.
- WebKitTestRunner/ios/UIScriptControllerIOS.h: Marked the class final and made
most functions private.
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::arrayLength): Deleted. Use the one in JSBasics.h.
(WTR::parseModifierArray): Use the new toWTFString overload.
(WTR::UIScriptControllerIOS::typeCharacterUsingHardwareKeyboard): Ditto.
- WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::EventSenderProxy): Initialize in the class definition.
(WTR::EventSenderProxy::keyDown): Use toWTFString.
- WebKitTestRunner/mac/UIScriptControllerMac.h: Marked the class final and made
most functions private.
- 2:22 PM Changeset in webkit [267760] by
-
- 9 edits in trunk/Source
[macCatalyst] Focus rings are not painted
https://bugs.webkit.org/show_bug.cgi?id=217073
<rdar://problem/46794111>
Reviewed by Darin Adler.
Source/WebCore:
The logic which paints focus rings on Cocoa platforms is incorrectly
guarded by the ENABLE(FULL_KEYBOARD_ACCESS) flag. This flag is only
enabled on macOS and iOS, resulting in an empty implementation for
GraphicsContext::drawFocusRing on macCatalyst.
To fix, remove the incorrect usage of ENABLE(FULL_KEYBOARD_ACCESS).
- platform/graphics/cocoa/GraphicsContextCocoa.mm:
(WebCore::GraphicsContext::drawFocusRing):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::paintAreaElementFocusRing):
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::platformFocusRingColor const):
Source/WebCore/PAL:
- pal/spi/ios/UIKitSPI.h:
Ensure needed interfaces are available on all IOS_FAMILY platforms.
Source/WebKit:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
Ensure that a default focus ring color is specified on macCatalyst.
- 1:51 PM Changeset in webkit [267759] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Make sure <wbr> gets an inline box too.
https://bugs.webkit.org/show_bug.cgi?id=217100
Reviewed by Antti Koivisto.
<wbr> behaves similarly to <br> when it comes to line breaking. They are not committed to LineBreaker but instead we post-process them.
In this patch the <wbr> content is added to the LineCandidate list as a special item (same as with <br>) and later submitted to the current line as a zero width run.
This behavior matches the spec (and FF) but does not match current trunk/rendering.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineCandidate::InlineContent::trailingWordBreakOpportunity const):
(WebCore::Layout::LineCandidate::InlineContent::appendTrailingLineBreak):
(WebCore::Layout::LineCandidate::InlineContent::appendtrailingWordBreakOpportunity):
(WebCore::Layout::LineCandidate::InlineContent::appendInlineItem):
(WebCore::Layout::LineCandidate::InlineContent::reset):
(WebCore::Layout::LineBuilder::placeInlineContent):
(WebCore::Layout::LineBuilder::nextContentForLine):
(WebCore::Layout::LineCandidate::InlineContent::appendLineBreak): Deleted.
(WebCore::Layout::LineCandidate::InlineContent::setTrailingLineBreak): Deleted.
- 1:40 PM Changeset in webkit [267758] by
-
- 44 edits2 deletes in trunk
Remove IndexedDBWorkers runtime setting now since it is always true
https://bugs.webkit.org/show_bug.cgi?id=217090
Reviewed by Darin Adler.
Source/WebCore:
Removes IndexedDBWorkers runtime setting, allowing us to remove a bunch
of special cases for WorkerGlobalScope constructors. Now instead of explicitly
adding the IndexedDB constructors to WorkerGlobalScope, we use the Exposed
mechanism to have the generators do this for us. While going through each of
the IndexedDB IDLs, I also re-alligned with the current spec, adding comments
for missing functionality as necessary.
- Modules/indexeddb/IDBCursor.idl:
- Modules/indexeddb/IDBCursorWithValue.idl:
- Modules/indexeddb/IDBDatabase.idl:
- Modules/indexeddb/IDBFactory.idl:
- Modules/indexeddb/IDBIndex.idl:
- Modules/indexeddb/IDBKeyRange.idl:
- Modules/indexeddb/IDBObjectStore.idl:
- Modules/indexeddb/IDBOpenDBRequest.idl:
- Modules/indexeddb/IDBRequest.idl:
- Modules/indexeddb/IDBTransaction.idl:
- Modules/indexeddb/IDBVersionChangeEvent.idl:
- Modules/indexeddb/WorkerGlobalScope+IndexedDatabase.idl:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setIndexedDBWorkersEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::indexedDBWorkersEnabled const): Deleted.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setIndexedDBWorkersEnabled): Deleted.
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
- workers/WorkerGlobalScope.idl:
LayoutTests:
Removes calls to setIndexedDBWorkersEnabled, which hasn't been required in quite some time,
and removes workers-disabled.html test, as it is no longer possible nor desirable to do this.
- http/tests/security/cross-origin-worker-indexeddb-allowed.html:
- http/tests/security/cross-origin-worker-indexeddb.html:
- http/tests/security/resources/cross-origin-iframe-for-worker-indexeddb.html:
- http/tests/security/resources/document-for-cross-origin-worker-indexeddb.html:
- platform/wincairo/TestExpectations:
- storage/indexeddb/basics-workers.html:
- storage/indexeddb/cursor-advance-workers.html:
- storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
- storage/indexeddb/dont-commit-on-blocked-private.html:
- storage/indexeddb/dont-commit-on-blocked.html:
- storage/indexeddb/index-basics-workers.html:
- storage/indexeddb/modern/workers-disabled-expected.txt: Removed.
- storage/indexeddb/modern/workers-disabled.html: Removed.
- storage/indexeddb/objectstore-basics-workers.html:
- storage/indexeddb/open-twice-workers.html:
- storage/indexeddb/pending-activity-workers.html:
- storage/indexeddb/pending-version-change-on-exit-private.html:
- storage/indexeddb/pending-version-change-on-exit.html:
- storage/indexeddb/pending-version-change-stuck-private.html:
- storage/indexeddb/pending-version-change-stuck-works-with-terminate-private.html:
- storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
- storage/indexeddb/pending-version-change-stuck.html:
- storage/indexeddb/transaction-complete-workers-private.html:
- storage/indexeddb/transaction-complete-workers.html:
- storage/indexeddb/unprefix-workers.html:
- 1:13 PM Changeset in webkit [267757] by
-
- 2 edits in trunk/Tools
[tvOS] [watchOS] Add support in libTestWTFAlwaysMissing-iOS-v2.tbd
https://bugs.webkit.org/show_bug.cgi?id=217068
<rdar://problem/69724742>
Rubber-stamped by Aakash Jain.
- TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd: Add watchOS and tvOS.
- 12:16 PM Changeset in webkit [267756] by
-
- 3 edits in trunk/Source/WebKitLegacy/mac
Unreviewed, reverting r267397.
SPI is still used <rdar://problem/69749992>
Reverted changeset:
"Remove deprecated script and stylesheet injection SPI,
replaced with more inclusively-named SPI"
https://bugs.webkit.org/show_bug.cgi?id=214936
https://trac.webkit.org/changeset/267397
- 11:24 AM Changeset in webkit [267755] by
-
- 2 edits in trunk/Tools
URL for Apple-iOS-14-Simulator-Debug-WK2-Tests is broken on the dashboard
https://bugs.webkit.org/show_bug.cgi?id=217094
Reviewed by Aakash Jain.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): Remove a space in the queue name.
- 11:12 AM Changeset in webkit [267754] by
-
- 24 edits in trunk/Source/JavaScriptCore
[JSC] Annotate JIT operation functions called from B3 etc.
https://bugs.webkit.org/show_bug.cgi?id=217082
Reviewed by Saam Barati.
There are many math functions that are called from B3 etc. We should make them JIT operations to complete JIT-caging.
- b3/B3LowerMacros.cpp:
- b3/B3LowerMacrosAfterOptimizations.cpp:
- b3/B3MathExtras.cpp:
- b3/B3ReduceLoopStrength.cpp:
(JSC::B3::JSC_DEFINE_JIT_OPERATION):
(JSC::B3::ReduceLoopStrength::reduceByteCopyLoopsToMemcpy):
(JSC::B3::fastForwardCopy32): Deleted.
- b3/B3ReduceLoopStrength.h:
(JSC::B3::fastForwardCopy32):
- b3/B3ReduceStrength.cpp:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGArithMode.cpp:
(JSC::DFG::arithUnaryFunction):
(JSC::DFG::arithUnaryOperation):
(WTF::printInternal):
- dfg/DFGArithMode.h:
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithMod):
(JSC::DFG::SpeculativeJIT::compileArithRounding):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileArithPow):
- ftl/FTLOutput.cpp:
(JSC::FTL::Output::doubleTrunc):
(JSC::FTL::Output::doubleUnary):
(JSC::FTL::Output::doubleStdPow):
(JSC::FTL::Output::doublePow): Deleted.
- ftl/FTLOutput.h:
- jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::callDoubleToDouble):
- jit/ThunkGenerators.cpp:
- runtime/MathCommon.cpp:
(JSC::Math::log1pDoubleImpl):
(JSC::Math::log1pFloatImpl):
(JSC::Math::log1p):
(JSC::Math::JSC_DEFINE_JIT_OPERATION):
(JSC::Math::roundDoubleImpl):
- runtime/MathCommon.h:
- runtime/MathObject.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/Operations.h:
(JSC::jsRemainder):
- 11:00 AM Changeset in webkit [267753] by
-
- 8 edits3 adds in trunk
IndexedDB Index Corruption after upgrade from iOS 13 to iOS 14
https://bugs.webkit.org/show_bug.cgi?id=216962
<rdar://problem/69587004>
Reviewed by Brady Eidson.
Source/WebCore:
There is an implementation error in r255318, which updated index ID in database IndexInfo and IndexRecords
tables: it made changes to original table while iterating records of it. This means modified records can
be modified again, which leads to that two indices have the same index ID. As index ID is supposed to be unique,
some indices and index records cannot be populated and clients will find some indices are missing.
To fix this, we need to change the implementation of ID update and deal with already corrupted tables. For index
ID update, now we create a temporary table for storing the updated records, and replace the original table with
temporary table at the end of iteration. For the corruption issue, we check if IndexInfo table has duplicate
index IDs. If it has, we try recovering IndexInfo and IndexRecords table by removing records with duplicate
index IDs, assigning new IDs to duplicate indices, and adding records with updated index IDs.
API tests: IndexedDB.IndexUpgradeToV2WithMultipleIndices
IndexedDB.IndexUpgradeToV2WithMultipleIndicesHaveSameID
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::indexInfoTableSchema):
(WebCore::IDBServer::SQLiteIDBBackingStore::createAndPopulateInitialDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::migrateIndexInfoTableForIDUpdate):
(WebCore::IDBServer::SQLiteIDBBackingStore::migrateIndexRecordsTableForIDUpdate):
(WebCore::IDBServer::SQLiteIDBBackingStore::removeExistingIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::addExistingIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::handleDuplicateIndexIDs):
(WebCore::IDBServer::SQLiteIDBBackingStore::extractExistingDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::updateOneIndexForAddRecord):
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- Modules/indexeddb/shared/IDBIndexInfo.h:
(WebCore::IDBIndexInfo::setIdentifier):
- Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:
(WebCore::IDBObjectStoreInfo::addExistingIndex):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
(runMultipleIndicesTestWithDatabase):
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2WithMultipleIndices.html: Added.
- TestWebKitAPI/Tests/WebKitCocoa/IndexUpgradeWithMultipleIndices.sqlite3: Added.
- TestWebKitAPI/Tests/WebKitCocoa/IndexUpgradeWithMultipleIndicesHaveSameID.sqlite3: Added.
- 10:55 AM Changeset in webkit [267752] by
-
- 1 copy in tags/Safari-611.1.1.2
Tag Safari-611.1.1.2.
- 10:51 AM Changeset in webkit [267751] by
-
- 8 edits in branches/safari-611.1.1-branch/Source
Versioning.
WebKit-7611.1.1.2
- 10:38 AM Changeset in webkit [267750] by
-
- 73 edits251 deletes in trunk
Remove plist-based ResourceLoadStatistics storage, which has been replaced by database-based storage
https://bugs.webkit.org/show_bug.cgi?id=217063
Reviewed by John Wilander.
Source/WebCore:
ResourceLoadStatistics was initially implemented using plists to store the persistent data on disk.
This caused some performance issues, so a sqlite database backend was implemented and transitioned to.
Now that the transition is complete, let's remove the old plist backend.
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setIsITPDatabaseEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::isITPDatabaseEnabled const): Deleted.
Source/WebKit:
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::setPersistentStorage): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::syncStorageIfNeeded): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::syncStorageImmediately): Deleted.
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.cpp: Removed.
- NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.h: Removed.
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::processStatisticsAndDataRecords):
(WebKit::ResourceLoadStatisticsStore::grandfatherExistingWebsiteData):
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::~WebResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::didDestroyNetworkSession):
(WebKit::WebResourceLoadStatisticsStore::populateMemoryStoreFromDisk):
(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):
(WebKit::WebResourceLoadStatisticsStore::flushAndDestroyPersistentStore): Deleted.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::setUseITPDatabase): Deleted.
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::isITPDatabaseEnabled const): Deleted.
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::destroyResourceLoadStatistics):
(WebKit::NetworkSession::flushAndDestroyPersistentStore): Deleted.
- NetworkProcess/NetworkSession.h:
- Shared/WebPreferencesInternal.yaml:
- Sources.txt:
- SourcesCocoa.txt:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetIsITPDatabaseEnabled): Deleted.
(WKPreferencesGetIsITPDatabaseEnabled): Deleted.
- UIProcess/API/C/WKPreferencesRef.h:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreStatisticsResetToConsistentState):
(WKWebsiteDataStoreSetUseITPDatabase): Deleted.
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _isITPDatabaseEnabled]): Deleted.
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _setUseITPDatabase:completionHandler:]): Deleted.
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setUseITPDatabase): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::setUseITPDatabase): Deleted.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- UIProcess/ios/ResourceLoadStatisticsPersistentStorageIOS.mm: Removed.
- WebKit.xcodeproj/project.pbxproj:
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
Tools:
These three tests API tests have been removed:
ResourceLoadStatistics.ChildProcessesNotLaunched
ResourceLoadStatistics.GrandfatherCallback
ResourceLoadStatistics.ShouldNotGrandfatherOnStartup
Each of those tests has a corresponding test that ends with "Database" that tests the database backend,
so the only test coverage loss was of the code that was removed.
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(ensureITPFileIsCreated):
(TEST):
(isITPDatabaseEnabled): Deleted.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setUseITPDatabase): Deleted.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::setUseITPDatabase): Deleted.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
- http/tests/resourceLoadStatistics/add-blocking-to-redirect-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/add-blocking-to-redirect-database.html: Removed.
- http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-database.html: Removed.
- http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:
- http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import-database.html: Removed.
- http/tests/resourceLoadStatistics/cap-cache-max-age-for-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/cap-cache-max-age-for-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-decoration-same-site-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-decoration-same-site-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-from-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-from-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-without-link-decoration-from-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-without-link-decoration-from-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics-database.html: Removed.
- http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-database.html: Removed.
- http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-database.html: Removed.
- http/tests/resourceLoadStatistics/cookie-deletion-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/cookie-deletion-database.html: Removed.
- http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-database.html: Removed.
- http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-expected.txt:
- http/tests/resourceLoadStatistics/count-third-party-script-loads-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/count-third-party-script-loads-database.html: Removed.
- http/tests/resourceLoadStatistics/count-third-party-script-loads-expected.txt:
- http/tests/resourceLoadStatistics/delete-script-accessible-cookies-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/delete-script-accessible-cookies-database.html: Removed.
- http/tests/resourceLoadStatistics/do-not-block-top-level-navigation-redirect-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/do-not-block-top-level-navigation-redirect-database.html: Removed.
- http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations-database.html: Removed.
- http/tests/resourceLoadStatistics/do-not-remove-blocking-in-redirect-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/do-not-remove-blocking-in-redirect-database.html: Removed.
- http/tests/resourceLoadStatistics/do-not-switch-session-on-navigation-to-prevalent-without-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/do-not-switch-session-on-navigation-to-prevalent-without-interaction-database.php: Removed.
- http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-database.html: Removed.
- http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-expected.txt:
- http/tests/resourceLoadStatistics/downgrade-document-referrer-nested-third-party-iframe.html:
- http/tests/resourceLoadStatistics/downgrade-document-referrer-third-party-iframe.html:
- http/tests/resourceLoadStatistics/downgraded-referrer-for-navigation-with-link-query-from-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/downgraded-referrer-for-navigation-with-link-query-from-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/enable-debug-mode-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/enable-debug-mode-database.html: Removed.
- http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to-database.html: Removed.
- http/tests/resourceLoadStatistics/exemptDomains/app-bound-domains-exempt-from-website-data-deletion-database.html:
- http/tests/resourceLoadStatistics/grandfathering-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/grandfathering-database.html: Removed.
- http/tests/resourceLoadStatistics/leave-empty-document-referrer-alone-third-party-iframe.html:
- http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-database.html: Removed.
- http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-expected.txt:
- http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-database.html: Removed.
- http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-expected.txt:
- http/tests/resourceLoadStatistics/many-inserts-only-insert-once.html:
- http/tests/resourceLoadStatistics/merge-statistic-does-not-overwrite-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/merge-statistic-does-not-overwrite-database.html: Removed.
- http/tests/resourceLoadStatistics/merge-statistic-does-overwrite-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/merge-statistic-does-overwrite-database.html: Removed.
- http/tests/resourceLoadStatistics/merge-statistic-does-partially-overwrite-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/merge-statistic-does-partially-overwrite-database.html: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-expected.txt:
- http/tests/resourceLoadStatistics/operating-dates-all-website-data-removed-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/operating-dates-all-website-data-removed-database.html: Removed.
- http/tests/resourceLoadStatistics/ping-to-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/ping-to-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown-database.html: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown-database.html: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-database.html: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/prune-statistics-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prune-statistics-database.html: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-database.html: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-expected.txt:
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-mixed-statistics-entries-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-mixed-statistics-entries-database.html: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-database.html: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-expected.txt:
- http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode-database.html: Removed.
- http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion-database.html: Removed.
- http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects-database.html: Removed.
- http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-requests-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-requests-database.html: Removed.
- http/tests/resourceLoadStatistics/switch-session-on-navigation-to-prevalent-with-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/switch-session-on-navigation-to-prevalent-with-interaction-database.php: Removed.
- http/tests/resourceLoadStatistics/telemetry-generation-advanced-functionality-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/telemetry-generation-advanced-functionality-database.html: Removed.
- http/tests/resourceLoadStatistics/telemetry-generation-basic-functionality-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/telemetry-generation-basic-functionality-database.html: Removed.
- http/tests/resourceLoadStatistics/telemetry-generation-expected.txt:
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-database.html: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-ephemeral-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-ephemeral-database.html: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-database.html: Removed.
- http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-database.html: Removed.
- http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-database.html: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-database.html: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-expected.txt:
- http/tests/resourceLoadStatistics/website-data-removal-for-site-with-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-with-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-without-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-without-user-interaction-database.html: Removed.
- http/tests/storageAccess/aggregate-sorted-data-with-storage-access-database-expected.txt: Removed.
- http/tests/storageAccess/aggregate-sorted-data-with-storage-access-database.html: Removed.
- http/tests/storageAccess/aggregate-sorted-data-with-storage-access-expected.txt:
- http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database-expected.txt: Removed.
- http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database.html: Removed.
- http/tests/storageAccess/deny-storage-access-under-opener-database-expected.txt: Removed.
- http/tests/storageAccess/deny-storage-access-under-opener-database.html: Removed.
- http/tests/storageAccess/deny-storage-access-under-opener-if-auto-dismiss-database-expected.txt: Removed.
- http/tests/storageAccess/deny-storage-access-under-opener-if-auto-dismiss-database.html: Removed.
- http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture-database-expected.txt: Removed.
- http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture-database.html: Removed.
- http/tests/storageAccess/deny-without-prompt-preserves-gesture-database-expected.txt: Removed.
- http/tests/storageAccess/deny-without-prompt-preserves-gesture-database.html: Removed.
- http/tests/storageAccess/grant-storage-access-under-opener-at-popup-user-gesture-database-expected.txt: Removed.
- http/tests/storageAccess/grant-storage-access-under-opener-at-popup-user-gesture-database.html: Removed.
- http/tests/storageAccess/grant-with-prompt-preserves-gesture-database-expected.txt: Removed.
- http/tests/storageAccess/grant-with-prompt-preserves-gesture-database.html: Removed.
- http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database-expected.txt: Removed.
- http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database.html: Removed.
- http/tests/storageAccess/has-storage-access-crash-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-crash-database.html: Removed.
- http/tests/storageAccess/has-storage-access-false-by-default-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-false-by-default-database.html: Removed.
- http/tests/storageAccess/has-storage-access-false-by-default-ephemeral-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-false-by-default-ephemeral-database.html: Removed.
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction-database.html: Removed.
- http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-database.html: Removed.
- http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database.html: Removed.
- http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database.html: Removed.
- http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-database.html: Removed.
- http/tests/storageAccess/remove-requesting-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/remove-requesting-iframe-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-database.html: Removed.
- http/tests/storageAccess/request-storage-access-crash-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-crash-database.html: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-database.html: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-database.html: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture-database.html: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-iframe-database.html: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-database.html: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-database.html: Removed.
- http/tests/storageAccess/request-storage-access-top-frame-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-top-frame-database.html: Removed.
- http/tests/webAPIStatistics/canvas-read-and-write-data-collection-expected.txt:
- http/tests/webAPIStatistics/font-load-data-collection-expected.txt:
- http/tests/webAPIStatistics/navigator-functions-accessed-data-collection-expected.txt:
- http/tests/webAPIStatistics/screen-functions-accessed-data-collection-expected.txt:
- platform/gtk/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/wk2/TestExpectations:
- platform/wpe/TestExpectations:
- 10:36 AM Changeset in webkit [267749] by
-
- 2 edits in branches/safari-610-branch/Source/WebCore
Cherry-pick r267722. rdar://problem/69586659
Cherry-pick r266899. rdar://problem/69586659
Integrator's note: as some of the symbols present on trunk are not available on branch, special modifications had to be made to this cherry-pick to build.
Address a post-commit review comment after r266887
https://bugs.webkit.org/show_bug.cgi?id=216257
Reviewed by Darin Adler.
Remove a check that currently makes us conditionally set
IsComputedStyleInvalidFlagif there is a computed
style in rare data. There should be no change in behavior; this just makes the code a bit simpler.
- dom/Element.cpp: (WebCore::Element::invalidateStyle): (WebCore::Element::storeDisplayContentsStyle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
git-svn-id: https://svn.webkit.org/repository/webkit/branches/safari-610-branch@267722 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:34 AM Changeset in webkit [267748] by
-
- 4 edits2 adds in branches/safari-610-branch
Cherry-pick r267721. rdar://problem/69586659
Cherry-pick r266887. rdar://problem/69586659
Integrator's note: as some of the symbols present on trunk are not available on branch, special modifications had to be made to this cherry-pick to build.
REGRESSION (r257839): clickpay.com - password placeholder text cannot be replaced
https://bugs.webkit.org/show_bug.cgi?id=216257
<rdar://problem/68150686>
Reviewed by Antti Koivisto.
Source/WebCore:
On clickpay.com, the field in the login form that contains the text "Password" is actually a plain text input,
referred to by the site's script as the "null text input". The page adds a focus event listener to this null
text input, and inside of this focus event listener, it reveals a hidden password field by removing an inline
display: none;style rule on the real password input element, programmatically focuses it, and then hides the
null text input by setting it todisplay: none;via inline style.
However, after the changes in r257839, we no longer attempt to do a style update upon programmatic focus in the
case where the programmatically focused element does not have a renderer yet (this applies to the password field
in this scenario, because it previously haddisplay: none;). When we determine whether the newly displayed
password field is focusable usingElement::isVisibleWithoutResolvingFullStyle, we then attempt to use either
the existing computedRenderStyleon the element, or perform a partial computed style resolution using the
ResolveComputedStyleMode::RenderedOnlyflag.
But in the case where
ElementRareData's computed style exists, it is not guaranteed to be up to date if the
inline style changed since the computed style was last set. In the context of this bug, it's actually Safari's
AutoFill logic (embedded in the injected bundle) that ends up asking for the computed style of the password
input, forcing it to be created and set (though, as demonstrated in the layout test, simply grabbing the
computed style is sufficient to replicate the bug outside of Safari).
The end result is that we'll use this stale computed style, which still believes that the password input is not
displayed, and we end up not focusing the element due to believing that the password input is hidden. To fix
this, we would need to either check whether the element has an invalid style (i.e.needsStyleRecalc()) before
attempting to use the existing computed style, or clear out theElementRareDatacomputed style anytime the
element's style is invalidated. However, both of these approaches will cause us to perform partial style
resolution much more aggressively, leading to a 2-3% regression in Speedometer.
To address the bug without hampering our performance wins from r257839, we add a new node flag so that we can
remember when computed styles are no longer valid due to style invalidation, and consult this flag in
Element::isVisibleWithoutResolvingFullStyleto avoid using the existing computed style.
Test: fast/forms/programmatic-focus-after-display.html
- dom/Element.cpp: (WebCore::Element::invalidateStyle): (WebCore::Element::resolveComputedStyle): (WebCore::Element::isVisibleWithoutResolvingFullStyle const):
- dom/Node.h: (WebCore::Node::setHasValidStyle):
LayoutTests:
Add a new layout test to verify that the bug does not occur. See WebCore/ChangeLog for more details.
- fast/forms/programmatic-focus-after-display-expected.txt: Added.
- fast/forms/programmatic-focus-after-display.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
git-svn-id: https://svn.webkit.org/repository/webkit/branches/safari-610-branch@267721 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:21 AM Changeset in webkit [267747] by
-
- 2 edits in branches/safari-611.1.2-branch/Source/WebCore
Cherry-pick r267706. rdar://problem/69751604
REGRESSION (r267329): Crash due to null-dereference of frame pointer in DOMSelection::rangeCount
https://bugs.webkit.org/show_bug.cgi?id=217053
Reviewed by Sam Weinig.
Later as a follow-up it would be nice to add a test case, but not obvious how to
make a simple one quickly.
- page/DOMSelection.cpp: (WebCore::DOMSelection::rangeCount const): Fixed the null check.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267706 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:52 AM Changeset in webkit [267746] by
-
- 4 edits2 deletes in branches/safari-610-branch
Revert r266887. rdar://problem/69586659
- 9:52 AM Changeset in webkit [267745] by
-
- 2 edits in branches/safari-610-branch/Source/WebCore
Revert r266899. rdar://problem/69586659
- 9:47 AM Changeset in webkit [267744] by
-
- 70 edits2 copies11 adds in trunk
Add stubs for AudioWorklet
https://bugs.webkit.org/show_bug.cgi?id=217059
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that AudioWorklet / AudioWorkletNode / AudioParamMap interfaces are exposed.
- web-platform-tests/webaudio/idlharness.https.window-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/active-processing.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/processing-after-resume.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audioworklet-connections.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audioworklet.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-stereo-panner-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-addmodule-resolution.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam-iterable.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam-size.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-messageport.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-postmessage-sharedarraybuffer.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-suspend.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletglobalscope-sample-rate.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletglobalscope-timing-info.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-automatic-pull.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-channel-count.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-construction.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-constructor-options.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-disconnected-input.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-onerror.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-output-channel-count.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-options.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-process-frozen-array.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-process-zero-outputs.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-promises.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/baseaudiocontext-audioworklet.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/extended-audioworkletnode-with-parameters.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/process-getter.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/process-parameters.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/processor-construction-port.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/simple-input-output.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/suspended-context-messageport.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/active-processing.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/active-processing.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/cors-check.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/no-cors.https-expected.txt:
Source/WebCore:
Add stubs for AudioWorklet, AudioWorkletNode and AudioParamMap:
- https://www.w3.org/TR/webaudio/#audioworklet
- https://www.w3.org/TR/webaudio/#audioworkletnode
- https://www.w3.org/TR/webaudio/#audioparammap
No new tests, rebaselined existing tests.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/webaudio/AudioNode.cpp:
(WebCore::convertEnumerationToString):
- Modules/webaudio/AudioNode.h:
- Modules/webaudio/AudioParamMap.cpp: Added.
(WebCore::AudioParamMap::initializeMapLike):
(WebCore::AudioParamMap::add):
- Modules/webaudio/AudioParamMap.h: Added.
(WebCore::AudioParamMap::create):
(WebCore::AudioParamMap::map const):
- Modules/webaudio/AudioParamMap.idl: Added.
- Modules/webaudio/AudioWorklet.cpp: Added.
(WebCore::AudioWorklet::create):
(WebCore::AudioWorklet::AudioWorklet):
- Modules/webaudio/AudioWorklet.h: Added.
- Modules/webaudio/AudioWorklet.idl: Added.
- Modules/webaudio/AudioWorkletNode.cpp: Added.
(WebCore::AudioWorkletNode::create):
(WebCore::AudioWorkletNode::AudioWorkletNode):
(WebCore::AudioWorkletNode::~AudioWorkletNode):
(WebCore::AudioWorkletNode::process):
- Modules/webaudio/AudioWorkletNode.h: Added.
(WebCore::AudioWorkletNode::parameters):
(WebCore::AudioWorkletNode::port):
- Modules/webaudio/AudioWorkletNode.idl: Added.
- Modules/webaudio/AudioWorkletNodeOptions.h: Added.
- Modules/webaudio/AudioWorkletNodeOptions.idl: Added.
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::BaseAudioContext):
- Modules/webaudio/BaseAudioContext.h:
(WebCore::BaseAudioContext::audioWorklet):
- Modules/webaudio/BaseAudioContext.idl:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
- css/DOMCSSPaintWorklet.cpp:
(WebCore::DOMCSSPaintWorklet::ensurePaintWorklet):
(WebCore::PaintWorklet::addModule):
- css/DOMCSSPaintWorklet.h:
- dom/Document.cpp:
(WebCore::Document::ensurePaintWorklet):
- dom/Document.h:
- dom/EventNames.h:
- page/Settings.yaml:
- worklets/Worklet.cpp:
(WebCore::Worklet::addModule):
- worklets/Worklet.h:
- worklets/Worklet.idl:
- worklets/WorkletOptions.h: Copied from Source/WebCore/worklets/Worklet.idl.
- worklets/WorkletOptions.idl: Copied from Source/WebCore/worklets/Worklet.idl.
Source/WebKit:
Add experimental feature flag for AudioWorklet API.
- Shared/WebPreferencesExperimental.yaml:
LayoutTests:
Skip tests that are timing out because we don't support Worklet.addModule() yet.
- TestExpectations:
- webaudio/AudioParam/worklet-warnings-expected.txt:
- 9:47 AM Changeset in webkit [267743] by
-
- 2 edits in trunk/Tools
[resultsdbpy] Restrict incoming traffic to localhost
https://bugs.webkit.org/show_bug.cgi?id=217089
<rdar://problem/69749845>
Reviewed by Aakash Jain.
- Scripts/libraries/resultsdbpy/resultsdbpy/model/docker-compose.yml: Restrict incoming traffic to localhost.
- 9:41 AM Changeset in webkit [267742] by
-
- 18 edits in trunk/Source/WebCore
[GPU Process] Several layout tests in fast/canvas crash under GraphicsContext::clipToImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=217026
<rdar://problem/69663834>
Reviewed by Simon Fraser.
When using the GPU Process for rendering, calling
GraphicsContext::clipToImageBuffercurrently results in a
crash, due to the platformCGContextRefbeing null. This causes the following 4 canvas-related tests to fail:
- fast/canvas/2d.fillText.gradient.html
- fast/canvas/2d.text.draw.fill.maxWidth.gradient.html
- fast/canvas/canvas-text-alignment.html
- fast/canvas/gradient-text-with-shadow.html
In all four of these tests, the
clipToImageBuffercall comes fromCanvasRenderingContext2D::drawTextInternal
method, while creating the image used to provide the mask when there is a gradient or pattern fill. This is
tricky to support when using the GPU process with display list items, sinceImageBuffers cannot be generally
sent to the GPU process through IPC. Instead of painting anImageBufferand sending it over IPC, we can
introduce a newGraphicsContextmethod that clips to an image that is painted via aWTF::Functionthat is
passed in, and receives aGraphicsContext&. When using a display-list-backedGraphicsContext, we can create
a newDisplayListrecording context and use the givenFunctionto populate the display list with items,
which can then be sent to the GPU process through IPC. When using a platformCGContextRef-backed
GraphicsContext, we instead create a newImageBuffercompatible with the current context, and then use this
ImageBufferto callclipToImageBuffer. We then refactordrawTextInternalso that it uses this new
GraphicsContextmethod. See below for more details.
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):
Refactor this to use
clipToDrawingCommandsinstead ofclipToImageBuffer.
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::clipToDrawingCommands):
Introduce a new
GraphicsContextmethod that takes a function which draws into a givenGraphicsContext. When
there is noGraphicsContextImplpresent, we create a newImageBuffercompatible with thisGraphicsContext,
paint into it using the givenFunction, and lastly pass this paintedImageBufferintoclipToImageBuffer.
- platform/graphics/GraphicsContext.h:
- platform/graphics/GraphicsContextImpl.h:
- platform/graphics/cairo/GraphicsContextImplCairo.cpp:
(WebCore::GraphicsContextImplCairo::clipToDrawingCommands):
Add an unimplemented method stub. Since the only call site of
GraphicsContext::clipToDrawingCommandsis behind
aUSE(CG)guard, leaving this unimplemented for the time being won't result in any regression in behavior.
- platform/graphics/cairo/GraphicsContextImplCairo.h:
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::clipToImageBuffer):
It's not strictly necessary to fix these layout tests, but we should still add a check for
clipToImageBuffer
here with a call toGraphicsContextImpl::clipToImageBuffereven thoughclipToImageBufferis unimplemented,
to ensure that we at least avoid crashing if anything calls into this codepath.
- platform/graphics/displaylists/DisplayList.h:
- platform/graphics/displaylists/DisplayListDrawingContext.h:
(WebCore::DisplayList::DrawingContext::takeDisplayList):
Add a helper function to extract the
DisplayListout of aDisplayList::DrawingContext.
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::ClipToDrawingCommands::ClipToDrawingCommands):
(WebCore::DisplayList::ClipToDrawingCommands::apply const):
Apply the
ClipToDrawingCommandsitem by usingDisplayList::Replayerto replay the given display list items
back in a new platform CG-backed image buffer in the GPU process.
(WebCore::DisplayList::operator<<):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::ClipToDrawingCommands::create):
(WebCore::DisplayList::ClipToDrawingCommands::destination const):
(WebCore::DisplayList::ClipToDrawingCommands::colorSpace const):
(WebCore::DisplayList::ClipToDrawingCommands::drawingCommands const):
(WebCore::DisplayList::ClipToDrawingCommands::encode const):
(WebCore::DisplayList::ClipToDrawingCommands::decode):
(WebCore::DisplayList::Item::encode const):
(WebCore::DisplayList::Item::decode):
Add a new
ClipToDrawingCommandsdisplay list item, with support for IPC encoding and decoding.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::clipToDrawingCommands):
Implement the display-list-backed
clipToDrawingCommandsmethod by creating a newDisplayList::DrawingContext
and playing the given drawing function back into theDrawingContext. This populates the recording context with
a display list, which we can use to create a serializable display list item.
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::clipToDrawingCommands):
Add another unimplemented method stub.
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
- platform/graphics/win/GraphicsContextImplDirect2D.cpp:
(WebCore::GraphicsContextImplDirect2D::clipToDrawingCommands):
Add another unimplemented method stub.
- platform/graphics/win/GraphicsContextImplDirect2D.h:
- 9:34 AM Changeset in webkit [267741] by
-
- 3 edits in trunk/Source/WebCore
[Media in GPU Process] Use VideoLayerManager to manage layers of MediaPlayerPrivateRemote
https://bugs.webkit.org/show_bug.cgi?id=216995
Patch by Peng Liu <Peng Liu> on 2020-09-29
Reviewed by Zalan Bujtas.
A follow-up patch to fix a build failure.
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.h:
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:
(WebCore::VideoLayerManagerObjC::~VideoLayerManagerObjC):
- 9:27 AM Changeset in webkit [267740] by
-
- 2 edits in trunk/Tools
Limit number of tests to log in case of large number of JSC test failures
https://bugs.webkit.org/show_bug.cgi?id=217085
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeJSCTestsResults.start):
- 9:27 AM Changeset in webkit [267739] by
-
- 2 edits in trunk/Tools
[ews] Refactor NUM_API_FAILURES_TO_DISPLAY
https://bugs.webkit.org/show_bug.cgi?id=217086
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeAPITestsResults):
(AnalyzeAPITestsResults.analyzeResults):
- 9:04 AM Changeset in webkit [267738] by
-
- 5 edits in trunk
[macOS] Deny access to 'com.apple.awdd' in the WebContent sandbox
https://bugs.webkit.org/show_bug.cgi?id=216975
Reviewed by Darin Adler.
Source/WebKit:
This has already been done on iOS in <https://trac.webkit.org/changeset/254376>, and should be done on macOS as well.
- WebProcess/com.apple.WebProcess.sb.in:
LayoutTests:
- fast/sandbox/mac/sandbox-mach-lookup-expected.txt:
- fast/sandbox/mac/sandbox-mach-lookup.html:
- 9:03 AM Changeset in webkit [267737] by
-
- 3 edits in trunk/Tools
Limit maximum number of webkitpy failures to display
https://bugs.webkit.org/show_bug.cgi?id=217087
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(WebKitPyTest):
(WebKitPyTest.getResultSummary):
- BuildSlaveSupport/ews-build/steps_unittest.py:
(test_lot_of_failures): Added unit-tests.
- 9:02 AM Changeset in webkit [267736] by
-
- 1 edit1 add in trunk/Tools
[build.webkit.org] Add unit-test to detect invalid triggers in config.json
https://bugs.webkit.org/show_bug.cgi?id=216898
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/build.webkit.org-config/loadConfig_unittest.py: Added.
(ConfigDotJSONTest):
(ConfigDotJSONTest.get_config):
(ConfigDotJSONTest.test_builder_keys):
(ConfigDotJSONTest.test_multiple_scheduers_for_builder):
(ConfigDotJSONTest.test_schduler_contains_valid_builder_name):
(ConfigDotJSONTest.test_single_builder_for_triggerable_scheduler):
- 8:52 AM Changeset in webkit [267735] by
-
- 11 edits3 adds in trunk/Source/WebCore
Implement asynchronous OffscreenCanvas placeholder updates for TextureMapperGL-based compositor
https://bugs.webkit.org/show_bug.cgi?id=202798
Reviewed by Simon Fraser.
Implement asynchronous updates for users of the Nicosia compositor
(i.e. GTK, WPE). This allows OffscreenCanvas-controlled canvases to
update visually while the main thread is blocked.
No new tests. Covered by existing tests.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::transferControlToOffscreen):
- html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::create):
(WebCore::OffscreenCanvas::setPlaceholderCanvas):
(WebCore::OffscreenCanvas::pushBufferToPlaceholder):
(WebCore::OffscreenCanvas::commitToPlaceholderCanvas):
- html/OffscreenCanvas.h:
- html/canvas/PlaceholderRenderingContext.cpp:
(WebCore::PlaceholderRenderingContext::PlaceholderRenderingContext):
(WebCore::PlaceholderRenderingContext::platformLayer const):
- html/canvas/PlaceholderRenderingContext.h:
- platform/TextureMapper.cmake:
- platform/graphics/ImageBufferPipe.cpp: Added.
(WebCore::ImageBufferPipe::create):
- platform/graphics/ImageBufferPipe.h: Added.
- platform/graphics/nicosia/NicosiaImageBufferPipe.cpp: Added.
(Nicosia::NicosiaImageBufferPipeSource::NicosiaImageBufferPipeSource):
(Nicosia::NicosiaImageBufferPipeSource::handle):
(Nicosia::NicosiaImageBufferPipeSource::platformLayer const):
(Nicosia::NicosiaImageBufferPipeSource::swapBuffersIfNeeded):
(Nicosia::NicosiaImageBufferPipe::NicosiaImageBufferPipe):
(Nicosia::NicosiaImageBufferPipe::source const):
(Nicosia::NicosiaImageBufferPipe::platformLayer const):
(WebCore::ImageBufferPipe::create):
- platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
(WebCore::TextureMapperPlatformLayerProxy::activateOnCompositingThread):
(WebCore::TextureMapperPlatformLayerProxy::scheduleUpdateOnCompositorThread):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::containsPaintedContent const):
(WebCore::RenderLayerBacking::contentChanged):
- 6:19 AM Changeset in webkit [267734] by
-
- 11 edits in trunk/Source/WebCore
[LFC][Integration] Generalize run iterator for non-text runs
https://bugs.webkit.org/show_bug.cgi?id=217083
Reviewed by Zalan Bujtas.
Add RunIterator base for TextRunIterator.
Add type traits.
Naming improvements.
- dom/Position.cpp:
(WebCore::Position::upstream const):
(WebCore::Position::downstream const):
- editing/TextIterator.cpp:
(WebCore::TextIterator::handleTextRun):
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::textRunsFor const):
(WebCore::LayoutIntegration::LineLayout::runFor const):
(WebCore::LayoutIntegration::LineLayout::elementRunFor const): Deleted.
- layout/integration/LayoutIntegrationLineLayout.h:
- layout/integration/LayoutIntegrationRunIterator.cpp:
(WebCore::LayoutIntegration::RunIterator::RunIterator):
(WebCore::LayoutIntegration::RunIterator::traverseNextTextRunInVisualOrder):
(WebCore::LayoutIntegration::RunIterator::traverseNextTextRunInTextOrder):
(WebCore::LayoutIntegration::RunIterator::operator== const):
(WebCore::LayoutIntegration::RunIterator::atEnd const):
(WebCore::LayoutIntegration::TextRunIterator::TextRunIterator):
(WebCore::LayoutIntegration::runFor):
(WebCore::LayoutIntegration::TextRunIterator::traverseNextInVisualOrder): Deleted.
(WebCore::LayoutIntegration::TextRunIterator::traverseNextInTextOrder): Deleted.
(WebCore::LayoutIntegration::TextRunIterator::operator== const): Deleted.
(WebCore::LayoutIntegration::TextRunIterator::atEnd const): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::ElementRunIterator): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::atEnd const): Deleted.
(WebCore::LayoutIntegration::elementRunFor): Deleted.
- layout/integration/LayoutIntegrationRunIterator.h:
(WebCore::LayoutIntegration::RunIterator::RunIterator):
(WebCore::LayoutIntegration::RunIterator::operator!= const):
(WebCore::LayoutIntegration::RunIterator::operator* const):
(WebCore::LayoutIntegration::RunIterator::operator-> const):
(WebCore::LayoutIntegration::TextRunIterator::TextRunIterator):
(WebCore::LayoutIntegration::TextRunIterator::operator++):
(WebCore::LayoutIntegration::TextRunIterator::operator* const):
(WebCore::LayoutIntegration::TextRunIterator::operator-> const):
(WebCore::LayoutIntegration::TextRunIterator::get const):
(WebCore::LayoutIntegration::Run::isText const):
(WebCore::LayoutIntegration::Run::minimumCaretOffset const):
(WebCore::LayoutIntegration::Run::maximumCaretOffset const):
(WebCore::LayoutIntegration::TextRun::isLastTextRunOnLine const):
(WebCore::LayoutIntegration::TextRun::isLastTextRun const):
(isType):
(WebCore::LayoutIntegration::TextRunIterator::operator bool const): Deleted.
(WebCore::LayoutIntegration::TextRunIterator::operator!= const): Deleted.
(WebCore::LayoutIntegration::TextRunIterator::operator== const): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::ElementRunIterator): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::operator bool const): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::operator* const): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::operator-> const): Deleted.
(WebCore::LayoutIntegration::TextRun::isLastOnLine const): Deleted.
(WebCore::LayoutIntegration::TextRun::isLast const): Deleted.
- layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:
(WebCore::LayoutIntegration::LegacyPath::isText const):
(WebCore::LayoutIntegration::LegacyPath::minimumCaretOffset const):
(WebCore::LayoutIntegration::LegacyPath::maximumCaretOffset const):
(WebCore::LayoutIntegration::LegacyPath::isLastTextRunOnLine const):
(WebCore::LayoutIntegration::LegacyPath::isLastTextRun const):
(WebCore::LayoutIntegration::LegacyPath::isLastOnLine const): Deleted.
(WebCore::LayoutIntegration::LegacyPath::isLast const): Deleted.
- layout/integration/LayoutIntegrationRunIteratorModernPath.h:
(WebCore::LayoutIntegration::ModernPath::isText const):
(WebCore::LayoutIntegration::ModernPath::minimumCaretOffset const):
(WebCore::LayoutIntegration::ModernPath::maximumCaretOffset const):
(WebCore::LayoutIntegration::ModernPath::isLastTextRunOnLine const):
(WebCore::LayoutIntegration::ModernPath::isLastTextRun const):
(WebCore::LayoutIntegration::ModernPath::isLastOnLine const): Deleted.
(WebCore::LayoutIntegration::ModernPath::isLast const): Deleted.
- rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::linesBoundingBox const):
(WebCore::RenderLineBreak::boundingBoxForRenderTreeDump const):
(WebCore::RenderLineBreak::absoluteRects const):
(WebCore::RenderLineBreak::absoluteQuads const):
- rendering/RenderText.cpp:
(WebCore::containsOffset):
- 6:12 AM Changeset in webkit [267733] by
-
- 6 edits in trunk/Source/WebCore
[LFC][IFC] LineBreaker renames
https://bugs.webkit.org/show_bug.cgi?id=217067
Reviewed by Antti Koivisto.
The following functions and structures have evolved over time. Let's sync up their names.
LineBreaker::shouldWrapInlineContent -> processInlineContent -> it's not just a "should wrap now" function anymore.
LineBreaker::tryWrappingInlineContent -> processOverflowingContent -> It does both wrapping and breaking.
LineBreaker::wrapTextContent -> processOverflowingTextContent same as above
struct WrappedTextContent -> TrailingTextContent -> it holds information about the trailing content after wrapping/breaking.
LineBreaker::Result::Action::Split -> Break -> closer to spec term.
(This patch also changes some unsigned to size_t.)
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
- layout/inlineformatting/InlineLineBreaker.cpp:
(WebCore::Layout::LineBreaker::processInlineContent):
(WebCore::Layout::LineBreaker::processOverflowingContent const):
(WebCore::Layout::LineBreaker::processOverflowingTextContent const):
(WebCore::Layout::LineBreaker::tryBreakingTextRun const):
(WebCore::Layout::LineBreaker::shouldWrapInlineContent): Deleted.
(WebCore::Layout::LineBreaker::tryWrappingInlineContent const): Deleted.
(WebCore::Layout::LineBreaker::wrapTextContent const): Deleted.
- layout/inlineformatting/InlineLineBreaker.h:
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::layoutInlineContent):
(WebCore::Layout::LineBuilder::placeInlineContent):
(WebCore::Layout::LineBuilder::nextContentForLine):
(WebCore::Layout::LineBuilder::handleFloatsAndInlineContent):
- layout/inlineformatting/InlineLineBuilder.h:
- 2:04 AM Changeset in webkit [267732] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, attempt to fix WinCairo build failure part 2
https://bugs.webkit.org/show_bug.cgi?id=217071
- ftl/FTLOperations.h:
- 1:50 AM Changeset in webkit [267731] by
-
- 3 edits in trunk/Source/JavaScriptCore
Unreviewed, attempt to fix WinCairo build failure
https://bugs.webkit.org/show_bug.cgi?id=217071
- ftl/FTLOperations.h:
- tools/JSDollarVM.cpp:
- 12:44 AM Changeset in webkit [267730] by
-
- 6 edits2 adds in trunk
Data URL image is not rendered if there is whitespace between the mime type and and "base64" string
https://bugs.webkit.org/show_bug.cgi?id=216900
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-09-29
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/data-urls/processing.any-expected.txt:
- web-platform-tests/fetch/data-urls/processing.any.worker-expected.txt:
Source/WebCore:
According to https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs,
spaces are allowed in the data URL to allow better formatting. This
means spaces may appear before and after the comma and the semicolon
(if it exits in the Data URL).
Test: fast/images/image-data-url-with-spaces.html
- platform/network/DataURLDecoder.cpp:
(WebCore::DataURLDecoder::DecodeTask::process):
LayoutTests:
In the new test, 16 cases are included to cover all the permutations of
adding spaces before and after the comma and the semicolon. PNG and JPEG
formats are used to ensure the mime type is tested.
- fast/images/image-data-url-with-spaces-expected.html: Added.
- fast/images/image-data-url-with-spaces.html: Added.
- 12:20 AM Changeset in webkit [267729] by
-
- 2 edits in trunk/Source/WebKit
[GTK] Stop using the default website data store for the inspector
https://bugs.webkit.org/show_bug.cgi?id=217034
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2020-09-29
Reviewed by Michael Catanzaro.
The GTK should never use the default website data store. Use a dedicated website data store for the inspector
with its own configuration to store persistent data.
- UIProcess/Inspector/gtk/WebInspectorProxyGtk.cpp:
(WebKit::inspectorWebsiteDataStore):
(WebKit::WebInspectorProxy::platformCreateFrontendPage):