Timeline
Apr 1, 2020:
- 10:22 PM Changeset in webkit [259378] by
-
- 2 edits in trunk/Source/WebCore
Crash in WebCore::HTMLDocumentParser::insert
https://bugs.webkit.org/show_bug.cgi?id=209892
Reviewed by Darin Adler.
Speculative fix to check that the parser hasn't been detached before running preload scanner.
No new tests since there is no reproduction and I couldn't come up with one.
- html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::insert):
- 8:55 PM Changeset in webkit [259377] by
-
- 2 edits in trunk/LayoutTests
[iOS] svg/as-background-image/tiled-background-image.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=209885
Unreviewed test gardening.
- platform/ios/TestExpectations: Mark test as flaky.
- 7:31 PM Changeset in webkit [259376] by
-
- 2 edits in trunk/Source/WebCore
Remove the unnecessary null check for document
https://bugs.webkit.org/show_bug.cgi?id=209819
Reviewed by Ryosuke Niwa.
No new tests, covered by existing test.
- dom/Node.cpp:
(WebCore::Node::removedFromAncestor):
- 5:35 PM Changeset in webkit [259375] by
-
- 3 edits in trunk/Source/WebCore
Remove some PLATFORM(IOS_FAMILY) guards in TextFieldInputType
https://bugs.webkit.org/show_bug.cgi?id=209883
Reviewed by Darin Adler.
Refactor what is currently a compile-time IOS_FAMILY guard into a runtime check behind a private helper method
on TextFieldInputType. This makes the intention behind the iOS-specific logic more self-evident; no change in
behavior.
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::handleFocusEvent):
(WebCore::TextFieldInputType::handleBlurEvent):
(WebCore::TextFieldInputType::createDataListDropdownIndicator):
(WebCore::TextFieldInputType::shouldOnlyShowDataListDropdownButtonWhenFocusedOrEdited const):
(WebCore::TextFieldInputType::didSetValueByUserEdit):
(WebCore::TextFieldInputType::listAttributeTargetChanged):
- html/TextFieldInputType.h:
- 5:19 PM Changeset in webkit [259374] by
-
- 14 edits1 delete in trunk
[Cocoa] UTI from MIME type cache can be removed after r258915
https://bugs.webkit.org/show_bug.cgi?id=209787
Unreviewed rollout of r257828.
Source/WebCore:
In r257828, a UTI from MIME type cache was added to avoid connecting to a launch services daemon in the
WebContent process, but after <https://trac.webkit.org/changeset/258915> this cache is not strictly needed
anymore, since r258915 solves the problem of avoiding to connect to the daemon in a general way.
- platform/network/mac/UTIUtilities.h:
- platform/network/mac/UTIUtilities.mm:
(WebCore::UTIFromMIMETypeCachePolicy::createValueForKey):
(WebCore::mapUTIFromMIMEType): Deleted.
(WebCore::additionalMIMETypes): Deleted.
(WebCore::createUTIFromMIMETypeMap): Deleted.
(WebCore::setUTIFromMIMETypeMap): Deleted.
- testing/Internals.cpp:
(WebCore::Internals::getUTIFromMIMEType): Deleted.
- testing/Internals.h:
- testing/Internals.idl:
- testing/Internals.mm:
(WebCore::Internals::getUTIFromMIMEType): Deleted.
Source/WebKit:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/UTIFromMIMEType.mm: Removed.
- 5:16 PM Changeset in webkit [259373] by
-
- 2 edits in trunk/Source/WebCore/PAL
Fix the build.
- pal/spi/ios/ManagedConfigurationSPI.h:
- 5:13 PM Changeset in webkit [259372] by
-
- 2 edits in trunk/Tools
run-javascriptcore-tests: runJSCStressTests shouldn't exit the program
https://bugs.webkit.org/show_bug.cgi?id=209887
Reviewed by Darin Adler.
- Scripts/run-javascriptcore-tests:
(runJSCStressTests): Exit the function, not the program.
- 4:47 PM Changeset in webkit [259371] by
-
- 2 edits in trunk/Websites/webkit.org
Removed the update nag from the old WebKit Nightly start page
https://bugs.webkit.org/show_bug.cgi?id=179214
Reviewed by Darin Adler.
- wp-content/themes/webkit/nightly-start.php:
- 4:15 PM Changeset in webkit [259370] by
-
- 8 edits in trunk
Intl.NumberFormat.prototype.format must preserve sign of -0
https://bugs.webkit.org/show_bug.cgi?id=209880
Reviewed by Keith Miller.
JSTests:
- test262/config.yaml:
This test was skipped as ICU version-dependent, but it shouldn't be.
- test262/expectations.yaml:
Mark four test cases as passing.
Source/JavaScriptCore:
The spec changed here two years ago:
https://github.com/tc39/ecma402/pull/232
- runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::formatNumber):
Do NOT throw away the sign of -0.
LayoutTests:
- js/intl-numberformat-expected.txt:
- js/script-tests/intl-numberformat.js:
Fix test accordingly.
- 4:03 PM Changeset in webkit [259369] by
-
- 2 edits in trunk/Source/WebCore/PAL
Use ManagedConfiguration umbrella instead of including specific headers
https://bugs.webkit.org/show_bug.cgi?id=209884
<rdar://problem/59244126>
Reviewed by Wenson Hsieh.
- pal/spi/ios/ManagedConfigurationSPI.h:
- 3:50 PM Changeset in webkit [259368] by
-
- 9 edits in trunk/Source/WebInspectorUI
Web Inspector: Use ECMAScript Numeric Separators for numbers with 5 or more digits
https://bugs.webkit.org/show_bug.cgi?id=209879
Reviewed by Joseph Pecoraro.
Instead of
1000000write1_000_000so it's easier to read.
- UserInterface/Base/Utilities.js:
- UserInterface/Controllers/JavaScriptLogViewController.js:
- UserInterface/Controllers/TimelineManager.js:
- UserInterface/Models/Gradient.js:
(WI.Gradient.prototype.stringFromStops):
- UserInterface/Models/HeapAllocationsInstrument.js:
(WI.HeapAllocationsInstrument.prototype.startInstrumentation):
- UserInterface/Protocol/Connection.js:
(InspectorBackend.Connection.prototype._dispatchResponse):
- UserInterface/Views/Layers3DContentView.js:
(WI.Layers3DContentView.prototype.initialLayout):
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype._updateLoadTimeStatistic):
- 3:32 PM Changeset in webkit [259367] by
-
- 3 edits in trunk/Source/WebCore
http/tests/navigation/page-cache-fontfaceset.html is flaky crashing
https://bugs.webkit.org/show_bug.cgi?id=209881
<rdar://problem/61114827>
Reviewed by Darin Adler.
Make sure CSSFontSelector::m_beginLoadingTimer uses a SuspendableTimer instead of a regular
timer so that it cannot fire while in the back/forward cache and start a load.
No new tests, covered by existing test.
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::CSSFontSelector):
(WebCore::CSSFontSelector::clearDocument):
- css/CSSFontSelector.h:
- 3:29 PM Changeset in webkit [259366] by
-
- 8 edits in trunk
[macOS] Deny mach-lookup access to "com.apple.lsd.mapdb" in sandbox
https://bugs.webkit.org/show_bug.cgi?id=209814
Reviewed by Darin Adler.
Source/WebKit:
This was done for iOS in <https://trac.webkit.org/changeset/258915>, and in order to be able to do this
on macOS, checking in with Launch Services and updating the process name needs to be done after the
Launch Services database mapping has been done in WebProcess::platformInitializeWebProcess. Also, the
previous call to RegisterApplication has been replaced with a call to launchServicesCheckIn, since
RegisterApplication is an AppKit function, and should be avoided since the WebContent process is not
a NSApplication anymore.
Test: fast/sandbox/mac/sandbox-mach-lookup.html
- Shared/mac/AuxiliaryProcessMac.mm:
(WebKit::AuxiliaryProcess::launchServicesCheckIn):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::updateProcessName):
(WebKit::WebProcess::platformInitializeProcess):
- WebProcess/com.apple.WebProcess.sb.in:
LayoutTests:
- fast/sandbox/mac/sandbox-mach-lookup-expected.txt:
- fast/sandbox/mac/sandbox-mach-lookup.html:
- 2:52 PM Changeset in webkit [259365] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk1 Debug ] inspector/page/overrideSetting-ICECandidateFilteringEnabled.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=209882
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 2:51 PM Changeset in webkit [259364] by
-
- 5 edits in trunk/Source/WebCore
ASSERTION FAILED: m_wrapper on webgl/max-active-contexts-webglcontextlost-prevent-default.html
https://bugs.webkit.org/show_bug.cgi?id=209863
<rdar://problem/61164936>
Reviewed by Darin Adler.
The HTMLCanvasElement JS wrapper needs to stay alive as long as JS events may need to be fired.
When the canvas has a WebGL context, the WebGL context may cause contextlost / contextrestored
/ contextchanged events at any point, unless the context is unrecoverably lost. To fix the
issue, we now override virtualHasPendingActivity() in HTMLCanvasElement and return true if
it has a WebGL context that is not unrecoverably lost and if relevant WebGL event listeners
are registed.
No new tests, covered by existing test.
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::~HTMLCanvasElement):
(WebCore::HTMLCanvasElement::virtualHasPendingActivity const):
(WebCore::HTMLCanvasElement::stop):
(WebCore::HTMLCanvasElement::eventListenersDidChange):
- html/HTMLCanvasElement.h:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::isContextUnrecoverablyLost const):
- html/canvas/WebGLRenderingContextBase.h:
- 2:15 PM Changeset in webkit [259363] by
-
- 8 edits in trunk/Source/WebCore
CRASH in MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer(), uncaught ObjC exception
https://bugs.webkit.org/show_bug.cgi?id=209827
<rdar://problem/61113080>
Reviewed by Eric Carlson.
-[AVSampleBufferAudioRenderer init] can, in exceptional conditions, return nil. Passing a
nil object, or another object that AVSampleBufferRenderSynchronizer considers "invalid", into
-[AVSampleBufferRenderSynchronizer addRenderer:] will throw an exception. Protect against this
scenario in two ways:
- Check the return value of -[AVSampleBufferAudioRenderer init], and if nil, log an error, log to console, and set the network state to "DecodeError".
- Wrap calls to -addRenderer: in @try/@catch blocks, which if caught, log an error, assert, and set the network state to "DecodeError".
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::failedToCreateRenderer):
- Modules/mediasource/MediaSource.h:
- platform/graphics/MediaSourcePrivateClient.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::failedToCreateAudioRenderer):
(WebCore::MediaSourcePrivateAVFObjC::failedToCreateVideoRenderer):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
- 2:01 PM Changeset in webkit [259362] by
-
- 4 edits in trunk
Regression(r257963) didFailProvisionalNavigation delegate no longer gets called when cancelling a cross-site provisional navigation
https://bugs.webkit.org/show_bug.cgi?id=209873
<rdar://problem/61132068>
Reviewed by Alex Christensen.
Source/WebKit:
ProvisionalPageProxy::cancel() was calling didFailProvisionalLoadForFrame() was not passing a valid
FrameInfoData struct as parameter. As a result, FrameInfoData::isMainFrame ended up being false
instead of true. This was an issue because NavigationState::NavigationClient::didFailProvisionalNavigationWithError()
was relying on this flag to decide whether to call webViewDidFailProvisionalNavigationWithError or
webViewNavigationDidFailProvisionalLoadInSubframeWithError, since r257963.
Change is covered by new API tests.
- UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::cancel):
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- 1:59 PM Changeset in webkit [259361] by
-
- 3 edits in trunk/LayoutTests
[ Mac wk2 Debug ] webrtc/datachannel/multiple-connections.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=209878
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
- 1:40 PM Changeset in webkit [259360] by
-
- 4 edits9 adds in trunk
[GPUP][PlayStation] Enable GPU Process
https://bugs.webkit.org/show_bug.cgi?id=209865
Reviewed by Eric Carlson.
.:
Enable GPU Process for development builds as an experimental feature.
- Source/cmake/OptionsPlayStation.cmake:
Source/WebKit:
A generic LayerHostingContext is provided in this patch. It may make sense for
this to be platform specific but it may also be possible to have some shared
implementation with Cocoa ports. Once there are more implementations that
can be decided.
Add stubs for building out the GPU Process on the PlayStation port. No
implementation is provided at this time but the GPU Process will compile
and link with these changes.
- GPUProcess/media/playstation/RemoteMediaPlayerProxyPlayStation.cpp: Added.
(WebKit::RemoteMediaPlayerProxy::prepareForPlayback):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerFirstVideoFrameAvailable):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged):
(WebKit::RemoteMediaPlayerProxy::enterFullscreen):
(WebKit::RemoteMediaPlayerProxy::exitFullscreen):
- GPUProcess/playstation/GPUProcessMainPlayStation.cpp: Added.
(WebKit::initializeAuxiliaryProcess<GPUProcess>):
(WebKit::GPUProcessMain):
- GPUProcess/playstation/GPUProcessPlayStation.cpp: Added.
(WebKit::GPUProcess::initializeProcess):
(WebKit::GPUProcess::initializeProcessName):
(WebKit::GPUProcess::initializeSandbox):
- Platform/generic/LayerHostingContext.h: Added.
- PlatformPlayStation.cmake:
- WebProcess/GPU/media/playstation/VideoLayerRemotePlayStation.cpp: Added.
(WebKit::createVideoLayerRemote):
- 12:30 PM Changeset in webkit [259359] by
-
- 4 edits in trunk
ASSERTION FAILED: m_wrapper on imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay.html
https://bugs.webkit.org/show_bug.cgi?id=209684
<rdar://problem/60987285>
Reviewed by Darin Adler.
Source/WebCore:
Make sure the JS wrapper does not get collected while the HTMLMediaElement is in a state where
is may still fire events (and there are JS event listeners registered). In particular, it used
to be possible for the wrapper to get collected because media playback had started and we would
crash trying to fire the very early 'canplay' JS event.
No new tests, covered by existing test.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::virtualHasPendingActivity const):
LayoutTests:
Unmark the test as crashing.
- platform/mac/TestExpectations:
- 12:15 PM Changeset in webkit [259358] by
-
- 10 edits1 copy in trunk
[PlayStation] Use OBJECT libraries for WebCore and PAL
https://bugs.webkit.org/show_bug.cgi?id=209835
Reviewed by Ross Kirsling.
.:
When compiling WebCore in debug mode ranlib was having issues with the size of
libWebCore.a. This is similar to what happened with Visual Studio and WinCairo.
Additionally hidden visibility defaults are added for the port.
- Source/cmake/OptionsPlayStation.cmake:
Source/WebCore:
After moving to object libraries MediaStrategy's constructor and destructor were
being reported as linker errors despite being set to default. Moving the definitions
to a source file stopped these issues.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/MediaStrategy.cpp: Copied from Source/WebCore/platform/MediaStrategy.h.
- platform/MediaStrategy.h:
Source/WebKit:
Use the object libraries when building WebKit.
- PlatformPlayStation.cmake:
Tools:
Use the object libraries when compiling TestWebCore.
- TestWebKitAPI/PlatformPlayStation.cmake:
- 12:10 PM Changeset in webkit [259357] by
-
- 4 edits1 add in trunk
Delete IC incorrectly caches for proxies
https://bugs.webkit.org/show_bug.cgi?id=209777
Patch by Justin Michaud <justin@justinmichaud.com> on 2020-04-01
Reviewed by Mark Lam.
JSTests:
- stress/delete-property-ic-proxy.js: Added.
(obj1.this.foo1):
(foo1.foo2):
(foo1):
(foo2.foo3):
(foo2):
- stress/delete-property-inline-cache.js:
Source/JavaScriptCore:
Proxy's do not change their structure ID when properties are added, so we cannot cache deletes
for them.
- jit/Repatch.cpp:
(JSC::tryCacheDeleteBy):
- 11:47 AM Changeset in webkit [259356] by
-
- 2 edits in trunk/LayoutTests
[ iOS wk2 ] crypto/subtle/rsa-indexeddb-non-exportable-private.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=209869
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 11:42 AM Changeset in webkit [259355] by
-
- 70 edits in trunk/Source
Bindings that override getOwnPropertySlotByIndex need to say they MayHaveIndexedAccessors
https://bugs.webkit.org/show_bug.cgi?id=209762
Reviewed by Darin Adler.
Source/JavaScriptCore:
Change indexingType to indexingModeIncludingHistory to more
clearly indicate the expected range of possible valid values.
- runtime/StructureInlines.h:
(JSC::Structure::create):
Source/WebCore:
There may be places where we rely on this for semantic
correctness. I couldn't find any right now but we might as
well be conservative since this isn't a performance regression.
- bindings/js/JSDOMWindowProperties.h:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
- bindings/scripts/test/JS/JSInterfaceName.h:
(WebCore::JSInterfaceName::createStructure):
- bindings/scripts/test/JS/JSMapLike.h:
(WebCore::JSMapLike::createStructure):
- bindings/scripts/test/JS/JSReadOnlyMapLike.h:
(WebCore::JSReadOnlyMapLike::createStructure):
- bindings/scripts/test/JS/JSReadOnlySetLike.h:
(WebCore::JSReadOnlySetLike::createStructure):
- bindings/scripts/test/JS/JSSetLike.h:
(WebCore::JSSetLike::createStructure):
- bindings/scripts/test/JS/JSTestActiveDOMObject.h:
(WebCore::JSTestActiveDOMObject::createStructure):
- bindings/scripts/test/JS/JSTestCEReactions.h:
(WebCore::JSTestCEReactions::createStructure):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.h:
(WebCore::JSTestCEReactionsStringifier::createStructure):
- bindings/scripts/test/JS/JSTestCallTracer.h:
(WebCore::JSTestCallTracer::createStructure):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
(WebCore::JSTestClassWithJSBuiltinConstructor::createStructure):
- bindings/scripts/test/JS/JSTestDOMJIT.h:
(WebCore::JSTestDOMJIT::createStructure):
- bindings/scripts/test/JS/JSTestEnabledBySetting.h:
(WebCore::JSTestEnabledBySetting::createStructure):
- bindings/scripts/test/JS/JSTestEnabledForContext.h:
(WebCore::JSTestEnabledForContext::createStructure):
- bindings/scripts/test/JS/JSTestEventConstructor.h:
(WebCore::JSTestEventConstructor::createStructure):
- bindings/scripts/test/JS/JSTestEventTarget.h:
(WebCore::JSTestEventTarget::createStructure):
- bindings/scripts/test/JS/JSTestException.h:
(WebCore::JSTestException::createStructure):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
(WebCore::JSTestGenerateIsReachable::createStructure):
- bindings/scripts/test/JS/JSTestGlobalObject.h:
(WebCore::JSTestGlobalObject::createStructure):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h:
(WebCore::JSTestIndexedSetterNoIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h:
(WebCore::JSTestIndexedSetterThrowingException::createStructure):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h:
(WebCore::JSTestIndexedSetterWithIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h:
(WebCore::JSTestInterfaceLeadingUnderscore::createStructure):
- bindings/scripts/test/JS/JSTestIterable.h:
(WebCore::JSTestIterable::createStructure):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
(WebCore::JSTestJSBuiltinConstructor::createStructure):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
(WebCore::JSTestMediaQueryListListener::createStructure):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h:
(WebCore::JSTestNamedAndIndexedSetterThrowingException::createStructure):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedConstructor.h:
(WebCore::JSTestNamedConstructor::createStructure):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h:
(WebCore::JSTestNamedDeleterNoIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h:
(WebCore::JSTestNamedDeleterThrowingException::createStructure):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h:
(WebCore::JSTestNamedDeleterWithIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h:
(WebCore::JSTestNamedDeleterWithIndexedGetter::createStructure):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.h:
(WebCore::JSTestNamedGetterCallWith::createStructure):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h:
(WebCore::JSTestNamedGetterNoIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h:
(WebCore::JSTestNamedGetterWithIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h:
(WebCore::JSTestNamedSetterNoIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h:
(WebCore::JSTestNamedSetterThrowingException::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h:
(WebCore::JSTestNamedSetterWithIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h:
(WebCore::JSTestNamedSetterWithIndexedGetter::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h:
(WebCore::JSTestNamedSetterWithOverrideBuiltins::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h:
(WebCore::JSTestNamedSetterWithUnforgableProperties::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h:
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::createStructure):
- bindings/scripts/test/JS/JSTestNode.h:
- bindings/scripts/test/JS/JSTestObj.h:
(WebCore::JSTestObj::createStructure):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
(WebCore::JSTestOverloadedConstructors::createStructure):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h:
(WebCore::JSTestOverloadedConstructorsWithSequence::createStructure):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
(WebCore::JSTestOverrideBuiltins::createStructure):
- bindings/scripts/test/JS/JSTestPluginInterface.h:
(WebCore::JSTestPluginInterface::createStructure):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h:
(WebCore::JSTestPromiseRejectionEvent::createStructure):
- bindings/scripts/test/JS/JSTestSerialization.h:
(WebCore::JSTestSerialization::createStructure):
- bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.h:
(WebCore::JSTestSerializationIndirectInheritance::createStructure):
- bindings/scripts/test/JS/JSTestSerializationInherit.h:
(WebCore::JSTestSerializationInherit::createStructure):
- bindings/scripts/test/JS/JSTestSerializationInheritFinal.h:
(WebCore::JSTestSerializationInheritFinal::createStructure):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
(WebCore::JSTestSerializedScriptValueInterface::createStructure):
- bindings/scripts/test/JS/JSTestStringifier.h:
(WebCore::JSTestStringifier::createStructure):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h:
(WebCore::JSTestStringifierAnonymousOperation::createStructure):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.h:
(WebCore::JSTestStringifierNamedOperation::createStructure):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h:
(WebCore::JSTestStringifierOperationImplementedAs::createStructure):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h:
(WebCore::JSTestStringifierOperationNamedToString::createStructure):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h:
(WebCore::JSTestStringifierReadOnlyAttribute::createStructure):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h:
(WebCore::JSTestStringifierReadWriteAttribute::createStructure):
- bindings/scripts/test/JS/JSTestTypedefs.h:
(WebCore::JSTestTypedefs::createStructure):
- 11:22 AM Changeset in webkit [259354] by
-
- 2 edits in trunk/LayoutTests
[ Mojave wk1 Release ] platform/mac/media/media-source/videoplaybackquality-decompressionsession.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=209866
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 10:02 AM Changeset in webkit [259353] by
-
- 3 edits in trunk/Source/WebCore
Don't use raw pointers in ShadowRoot.
https://bugs.webkit.org/show_bug.cgi?id=209843
<rdar://problem/61069603>
Reviewed by Brent Fulgham.
- dom/Element.cpp:
(WebCore::Element::addShadowRoot):
- dom/ShadowRoot.h:
- 9:48 AM Changeset in webkit [259352] by
-
- 8 edits in trunk
Unreviewed, reverting r259328.
https://bugs.webkit.org/show_bug.cgi?id=209861
Introduced API test failures (Requested by perarne on
#webkit).
Reverted changeset:
"[macOS] Deny mach-lookup access to "com.apple.lsd.mapdb" in
sandbox"
https://bugs.webkit.org/show_bug.cgi?id=209814
https://trac.webkit.org/changeset/259328
- 9:33 AM Changeset in webkit [259351] by
-
- 2 edits in trunk/Source/WebKit
Convert app-bound domain categorization parameter to a method
https://bugs.webkit.org/show_bug.cgi?id=209842
<rdar://problem/61128744>
Reviewed by John Wilander.
SSIA.
Covered by existing TestWebKitAPI tests.
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- 9:21 AM Changeset in webkit [259350] by
-
- 2 edits in trunk/Source/WebKit
Deprecate WKWebsiteDataStore._indexedDBDatabaseDirectory
https://bugs.webkit.org/show_bug.cgi?id=209243
Patch by Alex Christensen <achristensen@webkit.org> on 2020-04-01
Reviewed by David Kilzer.
Luckily it's read-only, but we have a way to get the configuration, so let's encourage that instead.
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- 9:18 AM Changeset in webkit [259349] by
-
- 2 edits in trunk/Tools
Unreviewed, add new committer to contributors.json
- Scripts/webkitpy/common/config/contributors.json:
- 9:13 AM Changeset in webkit [259348] by
-
- 2 edits in trunk/Source/WebCore
Notify accessibility when a node is removed from its ancestor.
https://bugs.webkit.org/show_bug.cgi?id=209819
Reviewed by Chris Fleizach.
Covered by existing tests in LayoutTests/accessibility.
- dom/Node.cpp:
(WebCore::Node::removedFromAncestor):
- 9:04 AM Changeset in webkit [259347] by
-
- 5 edits in trunk/Source/WebCore
Unreviewed, reverting r259282.
https://bugs.webkit.org/show_bug.cgi?id=209860
Caused memory corruption (Requested by ap on #webkit).
Reverted changeset:
"Scroll latching state is not a stack"
https://bugs.webkit.org/show_bug.cgi?id=209790
https://trac.webkit.org/changeset/259282
- 9:01 AM Changeset in webkit [259346] by
-
- 2 edits in trunk/Source/WebKit
Make WebPasteboardProxy::didModifyContentsOfPasteboard robust when pasteboardName is null
https://bugs.webkit.org/show_bug.cgi?id=209848
<rdar://problem/61121810>
Reviewed by Megan Gardner and David Kilzer.
Add more IPC message checks in WebPasteboardProxy; see below for more detail.
- UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
Rename what is currently MESSAGE_CHECK to MESSAGE_CHECK_COMPLETION, and introduce two more message check macros:
MESSAGE_CHECK_WITH_RETURN_VALUE, which supports a return value, and MESSAGE_CHECK, which returns with no value.
(WebKit::WebPasteboardProxy::canAccessPasteboardData const):
Replace the early returns when pasteboardName is empty or when the web process for the given connection is null
withMESSAGE_CHECKs. When the web content process is well-behaved, these early returns should never be hit.
(WebKit::WebPasteboardProxy::didModifyContentsOfPasteboard):
Similarly, replace this early return with a message check, and additionally
MESSAGE_CHECKwhen the pasteboard
name is empty. This addresses the main issue caught by this radar.
(WebKit::WebPasteboardProxy::setPasteboardBufferForType):
- 8:31 AM Changeset in webkit [259345] by
-
- 2024 edits453 adds1091 deletes in trunk
Bump libwebrtc to M82
https://bugs.webkit.org/show_bug.cgi?id=209542
Source/ThirdParty/libwebrtc:
Patch by youenn fablet <youenn@apple.com> and Victor M. Jaquez <vjaquez@igalia.com> on 2020-04-01
Reviewed by Eric Carlson.
- CMakeLists.txt:
- Source/webrtc: Updated.
- Source/webrtc/audio/utility/channel_mixer.cc: Added cstring.h include.
- Source/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h: Added memoty.h include.
- libwebrtc.xcodeproj/project.pbxproj:
Source/WebCore:
Patch by youenn fablet <youenn@apple.com> on 2020-04-01
Reviewed by Eric Carlson.
Removed dtx/rtx support since this is no longer MTI and associatedStatId as obsolete.
Update mock connection according new virtual pure methods.
Covered by existing tests.
- Modules/mediastream/RTCStatsReport.h:
- Modules/mediastream/RTCStatsReport.idl:
- Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.cpp:
(WebCore::fillRTCRTPStreamStats):
- Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:
(WebCore::toRTCEncodingParameters):
(WebCore::toRTCHeaderExtensionParameters):
(WebCore::fromRTCHeaderExtensionParameters):
(WebCore::toRTCRtpSendParameters):
(WebCore::toRTCRtpTransceiverDirection):
- testing/MockLibWebRTCPeerConnection.h:
Source/WebKit:
Patch by Victor M. Jaquez <vjaquez@igalia.com> on 2020-04-01
Reviewed by Eric Carlson and Youenn Fablet.
Update include paths to latest libwebrtc paths.
- WebProcess/Network/webrtc/LibWebRTCResolver.h:
- WebProcess/Network/webrtc/LibWebRTCSocketFactory.h:
LayoutTests:
Patch by youenn fablet <youenn@apple.com> on 2020-04-01
Reviewed by Eric Carlson.
This test is no longer feasible since TCP private IP address candidates are now no longer allowed.
- webrtc/datachannel/basic-tcp-expected.txt: Removed.
- webrtc/datachannel/basic-tcp.html: Removed.
- 8:28 AM Changeset in webkit [259344] by
-
- 2 edits in trunk/Source/bmalloc
Update check for aarch64
https://bugs.webkit.org/show_bug.cgi?id=209322
<rdar://problem/61135818>
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-04-01
Reviewed by Mark Lam.
Update BPlatform.h to follow the corresponding change in WTF's PlatformCPU.h.
- bmalloc/BPlatform.h:
- 7:44 AM Changeset in webkit [259343] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening, failures in EWS GTK-WK2
https://bugs.webkit.org/show_bug.cgi?id=209855
Unreviewed gardening.
Garden failures happening in EWS GTK-WK2 but not in GTK test bot.
- platform/gtk/TestExpectations:
- 6:31 AM Changeset in webkit [259342] by
-
- 25 edits in trunk/JSTests
[JSC] Reenable non-cloop LLint, JIT and DFG on 32-bit platforms
https://bugs.webkit.org/show_bug.cgi?id=191163
Patch by Paulo Matos <Paulo Matos> on 2020-04-01
Reviewed by Adrian Perez de Castro.
Re-enable tests for 32bits.
- stress/op_add.js:
- stress/op_bitand.js:
- stress/op_bitor.js:
- stress/op_bitxor.js:
- stress/op_lshift-ConstVar.js:
- stress/op_lshift-VarConst.js:
- stress/op_lshift-VarVar.js:
- stress/op_mod-ConstVar.js:
- stress/op_mod-VarConst.js:
- stress/op_mod-VarVar.js:
- stress/op_mul-ConstVar.js:
- stress/op_mul-VarConst.js:
- stress/op_mul-VarVar.js:
- stress/op_rshift-ConstVar.js:
- stress/op_rshift-VarConst.js:
- stress/op_rshift-VarVar.js:
- stress/op_sub-ConstVar.js:
- stress/op_sub-VarConst.js:
- stress/op_sub-VarVar.js:
- stress/op_urshift-ConstVar.js:
- stress/op_urshift-VarConst.js:
- stress/op_urshift-VarVar.js:
- stress/spread-forward-call-varargs-stack-overflow.js:
- stress/value-to-boolean.js:
- 6:27 AM Changeset in webkit [259341] by
-
- 4 edits in trunk
[Flatpak SDK] Migration to version 0.2
https://bugs.webkit.org/show_bug.cgi?id=209850
Reviewed by Carlos Alberto Lopez Perez.
Tools:
Version 0.2 of the SDK is now built with Buildstream instead of
flatpak-builder. With this new version it will be easier to add
new dependencies and hack on dependencies shipped by the SDK.
Sadly I haven't found a nice way to upgrade smoothly without
removing the UserFlatpak directory. In theory this shouldn't be
needed but then old SDK branches would accumulate there, wasting
disk-space.
- flatpak/flatpakutils.py:
(Console):
(Console.colored_message):
(Console.error_message):
(Console.warning_message):
(check_flatpak):
(FlatpakObject.flatpak):
(FlatpakRepo.init):
(FlatpakRepo):
(FlatpakRepo.is_app_installed):
(FlatpakPackage.init):
(FlatpakPackage.install):
(FlatpakPackage.update):
(WebkitFlatpak.init):
(WebkitFlatpak.clean_args):
(WebkitFlatpak._reset_repository):
(WebkitFlatpak.setup_gstbuild):
(WebkitFlatpak.main):
(WebkitFlatpak.run):
(WebkitFlatpak.setup_dev_env):
(WebkitFlatpak._get_packages):
LayoutTests:
- http/conf/flatpak-httpd.conf: Switch back to /usr/lib/apache2
path for modules. The 0.1 version of the SDK installed those in
/usr/ but in retrospective, this was a mistake.
- 6:16 AM Changeset in webkit [259340] by
-
- 5 edits in trunk/LayoutTests
[GTK] Gardening, update baselines
https://bugs.webkit.org/show_bug.cgi?id=209852
Unreviewed gardening.
Update GTK baselines after r259296.
- platform/gtk/css2.1/20110323/margin-applies-to-006-expected.txt:
- platform/gtk/fast/forms/form-hides-table-expected.txt:
- platform/gtk/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-012-expected.txt:
- platform/gtk/tables/mozilla_expected_failures/dom/appendCol1-expected.txt:
- 5:15 AM Changeset in webkit [259339] by
-
- 2 edits in trunk/Tools
[GTK] MiniBrowser: valgrind claims 'Invalid write of size 8' on close
https://bugs.webkit.org/show_bug.cgi?id=209471
Reviewed by Adrian Perez de Castro.
This is because we need to remove the weak pointer added in child windows to their parent.
- MiniBrowser/gtk/BrowserWindow.c:
(browserWindowDispose): Remove the parentWindow weak ref.
(browser_window_class_init): Add dispose.
- 2:08 AM Changeset in webkit [259338] by
-
- 6 edits in trunk/Source
Support resolution of IPv6 STUN/TURN addresses
https://bugs.webkit.org/show_bug.cgi?id=209808
Reviewed by Eric Carlson.
Source/WebCore:
Add family access to IPAddress to support both IPv4 and IPv6.
Store IPAddress internal value as IPv6 and cast them to IPv4 on demand.
- platform/network/DNS.h:
- platform/network/soup/DNSResolveQueueSoup.cpp:
(WebCore::resolvedWithObserverCallback):
Source/WebKit:
Update code to support IPv6 addresses when doing DNS resolution of TURN/STUN servers.
Refactor code to share more code between Cocoa ports and non Cocoa ports.
Manually tested with external IPv6 TURN servers.
- NetworkProcess/webrtc/NetworkRTCProvider.cpp:
(WebKit::NetworkRTCProvider::createResolver):
- NetworkProcess/webrtc/NetworkRTCResolverCocoa.cpp:
(WebKit::resolvedName):
- 12:54 AM Changeset in webkit [259337] by
-
- 3 edits in trunk/Source/ThirdParty/libwebrtc
Use kVTVideoEncoderSpecification_RequiredLowLatency instead of kVTVideoEncoderList_EncoderID
https://bugs.webkit.org/show_bug.cgi?id=209800
Reviewed by Eric Carlson.
For recent OS versions, disable use of VCP.
Instead, use VTB compression session with kVTVideoEncoderSpecification_RequiredLowLatency set to true.
We keep MacOS code path checking frame size for public builds running on devices without hardware encoders.
- Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
- Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
(isStandardFrameSize): Deleted.
Mar 31, 2020:
- 8:19 PM Changeset in webkit [259336] by
-
- 4 edits in trunk/Source/WebKit
Dismiss color picker on color selection on MacCatalyst
https://bugs.webkit.org/show_bug.cgi?id=209840
<rdar://problem/46793808>
Reviewed by Darin Adler.
To have correct behavior on mac, we need to dismiss the color picker popover once
a color has been selected.
- UIProcess/ios/forms/WKFormColorControl.mm:
(-[WKColorPopover initWithView:]):
- UIProcess/ios/forms/WKFormColorPicker.h:
- UIProcess/ios/forms/WKFormColorPicker.mm:
(-[WKColorPicker initWithView:]):
(-[WKColorPicker initWithView:inPopover:]):
(-[WKColorPicker colorMatrixView:didTapColorButton:]):
- 7:49 PM Changeset in webkit [259335] by
-
- 5 edits in trunk/Source/WebCore
Make FrameView and Frame TextStream-loggable
https://bugs.webkit.org/show_bug.cgi?id=209826
Reviewed by Darin Adler.
Provide operator<<(TextStream&, ...) for Frame and FrameView so they can be logged.
Only basic data logging currently; this can be adjusted as necessary.
- page/Frame.cpp:
(WebCore::operator<<):
- page/Frame.h:
- page/FrameView.cpp:
(WebCore::operator<<):
- page/FrameView.h:
- 7:32 PM Changeset in webkit [259334] by
-
- 3 edits2 adds in trunk
[MultiColumn] Call RenderTreeBuilder::multiColumnDescendantInserted only when the enclosing fragmented flow has changed
https://bugs.webkit.org/show_bug.cgi?id=209816
<rdar://problem/60742191>
Reviewed by Antti Koivisto.
Source/WebCore:
Just because an element goes from out-of-flow to in-flow, it does not necessarily mean that the enclosing flow is going to change.
This patch ensure that we only call RenderTreeBuilder::multiColumnDescendantInserted when the flow actually gains new content.
Test: fast/multicol/absolute-to-static-change-same-enclosing-flow.html
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::childFlowStateChangesAndAffectsParentBlock):
LayoutTests:
- fast/multicol/absolute-to-static-change-same-enclosing-flow-expected.txt: Added.
- fast/multicol/absolute-to-static-change-same-enclosing-flow.html: Added.
- 7:29 PM Changeset in webkit [259333] by
-
- 11 edits in trunk/Source
Add type traits for ScrollableArea, and other cleanup
https://bugs.webkit.org/show_bug.cgi?id=209838
Reviewed by Chris Dumez.
Source/WebCore:
Make it possible to use type casts on ScrollableArea so that EventHandler code can stop
passing around so many different types.
Because ScrollView inherits from both Widget and ScrollableArea, expand out its SPECIALIZE_TYPE_TRAITS macros.
Mark RenderLayer and RenderListBox ScrollableArea overrides as final.
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::platformPrepareForWheelEvents): Null-check page and return early.
- platform/ScrollView.h:
(isType):
- platform/ScrollableArea.h:
(WebCore::ScrollableArea::isScrollView const):
(WebCore::ScrollableArea::isRenderLayer const):
(WebCore::ScrollableArea::isListBox const):
(WebCore::ScrollableArea::isPDFPlugin const):
- rendering/RenderLayer.h:
(isType):
- rendering/RenderListBox.h:
(isType):
Source/WebCore/../WebKit:
Because PDFPlugin inherits from both Plugin and ScrollableArea, expand out its SPECIALIZE_TYPE_TRAITS macros
and change the macros to use the isFoo() pattern.
- WebProcess/Plugins/Netscape/NetscapePlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.h:
(isType):
- WebProcess/Plugins/Plugin.h:
(WebKit::Plugin::isPluginProxy const):
(WebKit::Plugin::isNetscapePlugin const):
(WebKit::Plugin::isPDFPlugin const):
- WebProcess/Plugins/PluginProxy.h:
- 7:06 PM Changeset in webkit [259332] by
-
- 2 edits in trunk/Source/WTF
Update check for aarch64
https://bugs.webkit.org/show_bug.cgi?id=209322
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-03-31
Reviewed by Mark Lam.
CPU(ARM64) is used on Linux, so checking to avoid Apple platforms doesn't make much sense.
The comment implying that this is an Apple architecture also no longer makes sense.
- wtf/PlatformCPU.h:
- 6:42 PM Changeset in webkit [259331] by
-
- 5 edits in trunk
Requests for messageHandlers() in the DOMWindow should be ignored for non-app-bound navigations
https://bugs.webkit.org/show_bug.cgi?id=209836
<rdar://problem/61071607>
Reviewed by Brent Fulgham.
Source/WebCore:
Ignore calls for WebKitNamespace::messageHandlers() and add release
logging if the domain is not app-bound.
- page/WebKitNamespace.cpp:
(WebCore::WebKitNamespace::messageHandlers):
Tools:
Most of this patch is changes to the tests, which formerly relied
on message handlers to test script injection protections. I rewrote
three tests to remove the use of message handlers which were used to
confirm normal script injection behavior before enabling In-App
Browser Privacy. Since normal script injection behavior is tested in
WKUserContentController.mm already it is unecessary to test here.
I removed one test, IgnoreAppBoundDomainsAcceptsUserScripts, which
fully relied on message handler use and could not be tested without
somehow disabling this feature.
- TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST):
(-[TestInAppBrowserScriptMessageHandler userContentController:didReceiveScriptMessage:]): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/in-app-browser-privacy-local-file.html:
Add a message handler to this page to demonstrate that message
handlers work for app-bound navigations (file:// protocol is always
app-bound).
- 6:22 PM Changeset in webkit [259330] by
-
- 18 edits4 adds in trunk
Datalist option's label not used
https://bugs.webkit.org/show_bug.cgi?id=201768
<rdar://problem/55361186>
Reviewed by Darin Adler.
Source/WebCore:
Refactor DataListSuggestionInformation's suggestions to include label text as well as values, and then adjust
TextFieldInputType::suggestions() to match label text as well as values for ports that are capable of showing
label text in datalist suggestion UI.
Test: fast/forms/datalist/datalist-option-labels.html
- html/DataListSuggestionInformation.h:
Introduce DataListSuggestion, a wrapper around a value and label. Currently, the list of datalist suggestions
is only aVector<String>; change it to be aVector<DataListSuggestion>instead.
(WebCore::DataListSuggestion::encode const):
(WebCore::DataListSuggestion::decode):
(WebCore::DataListSuggestionInformation::encode const):
(WebCore::DataListSuggestionInformation::decode):
Move encoding and decoding for DataListSuggestionInformation out of WebCoreArgumentCoders and into WebCore.
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::listAttributeTargetChanged):
(WebCore::TextFieldInputType::suggestions):
When computing suggestions, match label text in addition to values on ports that display label text in the
chrome; for the time being, this is only the case for macOS, but will be extended to iOS as well in a future
patch. Note that we don't plumb label text if it is already the same as the value, to avoid duplicate strings
from showing up.
(WebCore::TextFieldInputType::didCloseSuggestions):
- html/TextFieldInputType.h:
- loader/EmptyClients.h:
- page/ChromeClient.h:
Add a chrome client hook to return whether or not the client shows label text in its datalist UI.
- platform/DataListSuggestionsClient.h:
Source/WebKit:
Add support on macOS for showing option labels in datalist suggestions.
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<DataListSuggestionInformation>::encode): Deleted.
(IPC::ArgumentCoder<DataListSuggestionInformation>::decode): Deleted.
- Shared/WebCoreArgumentCoders.h:
Remove WebCoreArgumentCoders logic for encoding and decoding DataListSuggestionInformation. See
DataListSuggestionInformation.h in WebCore for more detail.
- UIProcess/gtk/WebDataListSuggestionsDropdownGtk.cpp:
(WebKit::WebDataListSuggestionsDropdownGtk::show):
Tweak GTK code to adjust for the change from
StringtoDataListSuggestion.
- UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:
(-[WKDataListSuggestionsControl didSelectOptionAtIndex:]):
(-[WKDataListSuggestionsControl textSuggestions]):
(-[WKDataListSuggestionsControl suggestionAtIndex:]):
Adjust some iOS codepaths to use DataListSuggestion::value as the value string to display.
- UIProcess/mac/WebDataListSuggestionsDropdownMac.mm:
Tweak several UI constants. A suggestion cell may now be either 20 or 40pt tall, depending on whether it has
label text to show.
Currently, the maximum combined height of the table view cells is 120 (not including spacing between cells and
vertical padding around the top and bottom of the table view), since the maximum number of cells to show is 6
and each cell is 20pt tall. Maintain this constant by making the maximum cell height 120, which accomodates
either three labeled cells, or 6 unlabeled cells (i.e. to match shipping behavior).
(-[WKDataListSuggestionView initWithFrame:]):
(-[WKDataListSuggestionView layout]):
Maintain two text fields or value and (optionally) label text:
_valueFieldand_labelField. The value field
fills the bounds of the cell in the case where there is no label text, but fills only the top half of the cell
in the case where there is label text. The label field takes the bottom half of the cell in this case.
Additionally, add a divider view that may appear at the very bottom of each cell. This divider view is present
when one or more suggestions in the datalist are labeled.
(-[WKDataListSuggestionView setValue:label:]):
Renamed from -setText:. Add a label string argument as well.
(-[WKDataListSuggestionView setShouldShowBottomDivider:]):
Add getters and setters for the -shouldShowBottomDivider property, which can be used to make the divider view
visible or hidden.
(-[WKDataListSuggestionView shouldShowBottomDivider]):
(-[WKDataListSuggestionView setBackgroundStyle:]):
Use -[NSColor secondaryLabelColor] for the label text field.
(shouldShowDividersBetweenCells):
Add a helper method to determine whether the table view should be showing clear dividers between each item.
We only do so if there are one or more labels to be shown.
(-[WKDataListSuggestionsController initWithInformation:inView:]):
(-[WKDataListSuggestionsController currentSelectedString]):
(-[WKDataListSuggestionsController updateWithInformation:]):
(-[WKDataListSuggestionsController moveSelectionByDirection:]):
Drive-by fix: scroll to reveal each selected row when using the arrow keys to navigate between items.
(-[WKDataListSuggestionsController dropdownRectForElementRect:]):
(-[WKDataListSuggestionsController tableView:heightOfRow:]):
Return either
dropdownRowHeightWithoutLabelordropdownRowHeightWithLabel, depending on whether there is
label text to be shown in that suggestion cell.
(-[WKDataListSuggestionsController tableView:viewForTableColumn:row:]):
(-[WKDataListSuggestionView setText:]): Deleted.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::canShowDataListSuggestionLabels const):
- WebProcess/WebCoreSupport/WebChromeClient.h:
Source/WebKitLegacy/mac:
See WebCore/ChangeLog and WebKit/ChangeLog for more details.
- WebCoreSupport/WebChromeClient.h:
LayoutTests:
Add a test to verify that when datalist suggestions incorporate option labels into the displayed text
suggestions, they are matched against when changing the value of the input field, and can be selected. This is
expected to be the case on macOS, but not on other platforms (for the time being).
- fast/forms/datalist/datalist-option-labels-expected.txt: Added.
- fast/forms/datalist/datalist-option-labels.html: Added.
- platform/gtk/fast/forms/datalist/datalist-option-labels-expected.txt: Added.
- platform/ios/fast/forms/datalist/datalist-option-labels-expected.txt: Added.
- 5:55 PM Changeset in webkit [259329] by
-
- 3 edits in trunk/Source/WebInspectorUI
Added new WebSocket icon
https://bugs.webkit.org/show_bug.cgi?id=209433
Reviewed by Joseph Pecoraro.
Drive-by: remove unused #doc-orig
- UserInterface/Images/DocumentIcons.svg:
- UserInterface/Views/ResourceIcons.css:
(.resource-icon.resource-type-websocket .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-websocket .icon):
- 5:45 PM Changeset in webkit [259328] by
-
- 8 edits in trunk
[macOS] Deny mach-lookup access to "com.apple.lsd.mapdb" in sandbox
https://bugs.webkit.org/show_bug.cgi?id=209814
Reviewed by Darin Adler.
Source/WebKit:
This was done for iOS in <https://trac.webkit.org/changeset/258915>, and in order to be able to do this
on macOS, checking in with Launch Services and updating the process name needs to be done after the
Launch Services database mapping has been done in WebProcess::platformInitializeWebProcess. Also, the
previous call to RegisterApplication has been replaced with a call to launchServicesCheckIn, since
RegisterApplication is an AppKit function, and should be avoided since the WebContent process is not
a NSApplication anymore.
Test: fast/sandbox/mac/sandbox-mach-lookup.html
- Shared/mac/AuxiliaryProcessMac.mm:
(WebKit::AuxiliaryProcess::launchServicesCheckIn):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::updateProcessName):
(WebKit::WebProcess::platformInitializeProcess):
- WebProcess/com.apple.WebProcess.sb.in:
LayoutTests:
- fast/sandbox/mac/sandbox-mach-lookup-expected.txt:
- fast/sandbox/mac/sandbox-mach-lookup.html:
- 5:31 PM Changeset in webkit [259327] by
-
- 3 edits in branches/safari-609-branch/Source/WebCore
Cherry-pick r259305. rdar://problem/61131083
Invalid memory access @ WebCore::FrameLoader::dispatchDidCommitLoad
https://bugs.webkit.org/show_bug.cgi?id=209786
Patch by Pinki Gyanchandani <pgyanchandani@apple.com> on 2020-03-31
Reviewed by Ryosuke Niwa.
No new tests. Reduced test would be added later. Currently issue is verified with the original testcase in associated radar-58416328.
Webkit1 only issue, where m_client.dispatchDidCommitLoad in FrameLoader::dispatchDidCommitLoad could cause the frame
to be destroyed, and m_frame still being accessed outside. Changes made to protect the DocumentLoader and Frame.
- loader/DocumentLoader.cpp: (WebCore::DocumentLoader::finishedLoading): (WebCore::DocumentLoader::handleSubstituteDataLoadNow):
- loader/FrameLoader.cpp: (WebCore::FrameLoader::receivedFirstData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259305 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:31 PM Changeset in webkit [259326] by
-
- 2 edits in branches/safari-609-branch/Source/WebCore
Cherry-pick r259244. rdar://problem/61131078
Assertion failure in HTMLFormElement::formElementIndex
https://bugs.webkit.org/show_bug.cgi?id=209643
Reviewed by Darin Adler.
The bug was caused by FormAssociatedElement::findAssociatedForm finding a wrong form element
when it's called on an element which appears later in the removed subtree.
When we find the new form element to associate this element with, check to make sure its root
element is that of the tree scope. This condition will be false if this element is in in the midst
of being removed.
- html/FormAssociatedElement.cpp: (WebCore::FormAssociatedElement::findAssociatedForm):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:12 PM Changeset in webkit [259325] by
-
- 5 edits in trunk/Source
[PlayStation] Fix build breaks after r259112
https://bugs.webkit.org/show_bug.cgi?id=209830
Unreviewed build fix.
Source/WebCore:
Add USE(GLIB) guards around RunLoopSourcePriority usage.
- platform/ScrollAnimationKinetic.cpp:
(WebCore::ScrollAnimationKinetic::ScrollAnimationKinetic):
Source/WebKit:
Replace PLATFORM(WPE) with USE(LIBWPE) within WebWheelEvent.
- Shared/WebEvent.h:
- Shared/WebWheelEvent.cpp:
(WebKit::WebWheelEvent::encode const):
(WebKit::WebWheelEvent::decode):
- 5:09 PM Changeset in webkit [259324] by
-
- 10 edits in trunk
Send correct UserContentControllerIdentifier after using SPI WKWebpagePreferences._userContentController
https://bugs.webkit.org/show_bug.cgi?id=209833
Reviewed by Tim Hatcher.
Source/WebKit:
Covered by an API test. I knew something was broken in r259307 and this was it.
- Shared/UserContentControllerParameters.cpp:
(WebKit::UserContentControllerParameters::encode const):
(WebKit::UserContentControllerParameters::decode):
- Shared/UserContentControllerParameters.h:
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::parameters const):
- UIProcess/WebPageProxy.cpp:
- WebProcess/WebPage/WebPage.cpp:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
- 5:05 PM Changeset in webkit [259323] by
-
- 4 edits in trunk/Source/WebKit
Deduplicate WebsiteDataStore::parameters() of Cocoa port and non-Cocoa port
https://bugs.webkit.org/show_bug.cgi?id=209644
Reviewed by Youenn Fablet.
WinCairo WTR was failing an assertion ensuring
ResourceLoadStatistics was enabled in
NetworkSession::setThirdPartyCookieBlockingMode while running
LayoutTests with useEphemeralSession=true becuase
ResourceLoadStatisticsParameters was not set in
WebsiteDataStoreParameters.
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::platformSetNetworkParameters): Added.
(WebKit::WebsiteDataStore::parameters): Deleted.
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::parameters):
- UIProcess/WebsiteData/WebsiteDataStore.h:
- 4:58 PM Changeset in webkit [259322] by
-
- 4 edits in trunk
Allow WKAppBoundDomains to be initialized with eTLD+1 only (no protocol)
https://bugs.webkit.org/show_bug.cgi?id=209839
<rdar://problem/61129400>
Reviewed by Darin Adler.
Source/WebKit:
Create a convenience mode for WKAppBoundDomains that assumes https if the user does
not supply the full URL. This doesn't effect the behavior of the app-bound domains
because we only deal in RegistrableDomains.
Tested by TestWebKitAPI.
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::initializeAppBoundDomains): If the protocol is missing from
a domain supplied by WKAppBoundDomains, assume it was https.
Tools:
- TestWebKitAPI/Info.plist:
- 4:47 PM Changeset in webkit [259321] by
-
- 2 edits in trunk/LayoutTests
[ Catalina ] editing/mac/selection/context-menu-select-editability.html is failing on Catalina
https://bugs.webkit.org/show_bug.cgi?id=204246
Unreviewed test gardening.
- platform/mac/TestExpectations: Remove failure expectation since the test is now passing.
- 4:41 PM Changeset in webkit [259320] by
-
- 15 edits in trunk/Source/JavaScriptCore
[JSC] Introduce UCPUStrictInt32 for result type of DFG operations
https://bugs.webkit.org/show_bug.cgi?id=209832
Reviewed by Saam Barati.
Let's introduce UCPUStrictInt32 to DFG operations to offload StrictInt32 code into operations C++ code.
UCPUStrictInt32 is the same size to UCPURegister, and it is used for StrictInt32, which requires upper 32-bits
are zeroed.
- assembler/CPU.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetCharCodeAt):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):
(JSC::DFG::SpeculativeJIT::compileDoubleAsInt32):
(JSC::DFG::SpeculativeJIT::setIntTypedArrayLoadResult):
(JSC::DFG::SpeculativeJIT::compileBitwiseNot):
(JSC::DFG::SpeculativeJIT::compileBitwiseOp):
(JSC::DFG::SpeculativeJIT::compileShiftOp):
(JSC::DFG::SpeculativeJIT::compileArithAdd):
(JSC::DFG::SpeculativeJIT::compileArithAbs):
(JSC::DFG::SpeculativeJIT::compileArithClz32):
(JSC::DFG::SpeculativeJIT::compileArithSub):
(JSC::DFG::SpeculativeJIT::compileArithNegate):
(JSC::DFG::SpeculativeJIT::compileArithMul):
(JSC::DFG::SpeculativeJIT::compileArithDiv):
(JSC::DFG::SpeculativeJIT::compileArithMod):
(JSC::DFG::SpeculativeJIT::compileArithRounding):
(JSC::DFG::SpeculativeJIT::compileArithMinMax):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
(JSC::DFG::SpeculativeJIT::compileVarargsLength):
(JSC::DFG::SpeculativeJIT::compileGetRestLength):
(JSC::DFG::SpeculativeJIT::compileArrayIndexOf):
(JSC::DFG::SpeculativeJIT::compileGetEnumerableLength):
(JSC::DFG::SpeculativeJIT::compileGetArgumentCountIncludingThis):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::strictInt32Result):
(JSC::DFG::SpeculativeJIT::int32Result): Deleted.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileStringCodePointAt):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileArithClz32):
(JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf):
(JSC::FTL::DFG::LowerDFGToB3::compileVarargsLength):
(JSC::FTL::DFG::LowerDFGToB3::mapHashString):
(JSC::FTL::DFG::LowerDFGToB3::compileMapHash):
(JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty):
(JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom):
(JSC::FTL::DFG::LowerDFGToB3::doubleToInt32):
(JSC::FTL::DFG::LowerDFGToB3::sensibleDoubleToInt32):
- ftl/FTLOperations.cpp:
(JSC::FTL::operationSwitchStringAndGetBranchOffset):
(JSC::FTL::operationTypeOfObjectAsTypeofType):
- ftl/FTLOperations.h:
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- runtime/MathCommon.cpp:
(JSC::operationToInt32):
(JSC::operationToInt32SensibleSlow):
- runtime/MathCommon.h:
(JSC::toUCPUStrictInt32):
- 4:03 PM Changeset in webkit [259319] by
-
- 2 edits in trunk/LayoutTests
[ Mojave wk1 Release ] fast/canvas/webgl/texImage2D-mse-flipY-true.html is timing out.
https://bugs.webkit.org/show_bug.cgi?id=209837
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 3:41 PM Changeset in webkit [259318] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk1 Debug] inspector/injected-script/avoid-getter-invocation.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=209073
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 3:38 PM Changeset in webkit [259317] by
-
- 4 edits in trunk/Source/WebKit
[macOS] Update sandbox rules for correct sanitizer paths in current OS releases
https://bugs.webkit.org/show_bug.cgi?id=209818
<rdar://problem/58422996>
Reviewed by Per Arne Vollan.
Update the sandbox rules to allow access to the new system Asan library
locations.
- GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in: Note: Don't bother leaving
the old location in this sandbox, since it is not being used on any shipping
software.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
- 3:19 PM Changeset in webkit [259316] by
-
- 11 edits in trunk/Source
IndexedDB: destroy WebIDBServer when session is removed in network process
https://bugs.webkit.org/show_bug.cgi?id=209606
<rdar://problem/59310081>
Reviewed by Geoffrey Garen.
Source/WebCore:
Rename immediateCloseForUserDelete to immediateClose as we now use it in destructor of IDBServer to make sure
everything in database finishes correctly.
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::~IDBServer):
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesModifiedSince):
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesForOrigins):
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::immediateClose):
(WebCore::IDBServer::UniqueIDBDatabase::immediateCloseForUserDelete): Deleted.
- Modules/indexeddb/server/UniqueIDBDatabase.h:
Source/WebKit:
Tested manually to verify WebIDBServer is removed and its thread ends when session is removed.
- NetworkProcess/IndexedDB/WebIDBServer.cpp:
(WebKit::WebIDBServer::~WebIDBServer):
(WebKit::WebIDBServer::addConnection):
(WebKit::WebIDBServer::removeConnection):
(WebKit::WebIDBServer::close):
- NetworkProcess/IndexedDB/WebIDBServer.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::destroySession):
(WebKit::NetworkProcess::connectionToWebProcessClosed):
Source/WTF:
Add function to kill CrossThreadTaskHandler and make thread finish. Also add a callback to be called before
thread finishes.
- wtf/CrossThreadTaskHandler.cpp:
(WTF::CrossThreadTaskHandler::CrossThreadTaskHandler):
(WTF::CrossThreadTaskHandler::setCompletionCallback):
(WTF::CrossThreadTaskHandler::kill):
- wtf/CrossThreadTaskHandler.h:
- 3:09 PM Changeset in webkit [259315] by
-
- 12 edits in trunk/Source
Regression(r253357) DeviceMotionEvent acceleration and rotationRate are null
https://bugs.webkit.org/show_bug.cgi?id=209831
<rdar://problem/60720953>
Reviewed by Darin Adler.
Source/WebCore:
The issue was that DeviceMotionClientIOS::motionChanged() would only initialize the
acceleration and rotationRate if [m_motionManager gyroAvailable] returned YES. After
r253357, m_motionManager is nil because we get motion data from the UIProcess so
[m_motionManager gyroAvailable] would always resolve to NO.
To address the issue, I made the rotationRate parameters to motionChanged() optional
and we rely on them being set to know if gyro data is available. Note that I did not
make the acceleration optional because according to [1], all devices have an
accelerometer.
[1] https://developer.apple.com/documentation/coremotion/cmmotionmanager/1616094-devicemotionavailable?language=objc
- platform/ios/DeviceMotionClientIOS.h:
- platform/ios/DeviceMotionClientIOS.mm:
(WebCore::DeviceMotionClientIOS::motionChanged):
- platform/ios/DeviceOrientationUpdateProvider.h:
- platform/ios/MotionManagerClient.h:
(WebCore::MotionManagerClient::motionChanged):
- platform/ios/WebCoreMotionManager.mm:
(-[WebCoreMotionManager sendAccelerometerData:]):
Source/WebKit:
- UIProcess/ios/WebDeviceOrientationUpdateProviderProxy.h:
- UIProcess/ios/WebDeviceOrientationUpdateProviderProxy.mm:
(WebKit::WebDeviceOrientationUpdateProviderProxy::motionChanged):
- WebProcess/WebCoreSupport/WebDeviceOrientationUpdateProvider.cpp:
(WebKit::WebDeviceOrientationUpdateProvider::deviceMotionChanged):
- WebProcess/WebCoreSupport/WebDeviceOrientationUpdateProvider.h:
- WebProcess/WebCoreSupport/WebDeviceOrientationUpdateProvider.messages.in:
- 3:07 PM Changeset in webkit [259314] by
-
- 11 edits in branches/safari-610.1.7-branch
Cherry-pick r258436. rdar://problem/61125864
[ iOS and Mac wk2 ] http/tests/in-app-browser-privacy/ tests failing
https://bugs.webkit.org/show_bug.cgi?id=209016
<rdar://problem/60329530>
Reviewed by Chris Dumez.
Source/WebKit:
This patch adds a function to re-initialize app bound domains for
in-app-browser-privacy tests, since they are only initialized once
when the WebsiteDataStore is created. This causes issues if the tests
are run in parallel with other tests with different app-bound domains.
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp: (WKWebsiteDataStoreReinitializeAppBoundDomains):
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: (WebKit::WebsiteDataStore::clearAppBoundDomains): (WebKit::WebsiteDataStore::reinitializeAppBoundDomains):
- UIProcess/WebsiteData/WebsiteDataStore.h:
Tools:
Re-initialize the app-bound domains when the correct
TestOptions parameter is set.
- WebKitTestRunner/TestController.cpp: (WTR::TestController::createWebViewWithOptions): (WTR::TestController::reinitializeAppBoundDomains):
- WebKitTestRunner/TestController.h:
LayoutTests:
Use TestOptions to trigger the re-initialization of app-bound domains.
- http/tests/in-app-browser-privacy/app-bound-domain.html:
- http/tests/in-app-browser-privacy/switch-session-on-navigation-to-app-bound-domain.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258436 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:29 PM Changeset in webkit [259313] by
-
- 2 edits in trunk/Source/WebCore
[iPadOS] Unable to scrub videos on nba.com
https://bugs.webkit.org/show_bug.cgi?id=209829
<rdar://problem/58804360>
Patch by Antoine Quint <Antoine Quint> on 2020-03-31
Reviewed by Dean Jackson.
Opt nba.com into the simulated mouse events dispatch quirk.
- page/Quirks.cpp:
(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const):
- 2:25 PM Changeset in webkit [259312] by
-
- 4 edits in trunk/LayoutTests
Unreviewed test gardening for iOS and macOS.
- platform/ios-simulator-wk2/TestExpectations: Skip a test that is consistently timing out.
- platform/ios/TestExpectations: Skip a crashing test, add failure expectation for webkit.org/b/208023
- platform/mac/TestExpectations: Add failure expectation for webkit.org/b/208023
- 2:11 PM Changeset in webkit [259311] by
-
- 3 edits in branches/safari-609-branch/Source/WebCore
Cherry-pick r258326. rdar://problem/61113047
Remove no longer used code in LibWebRTCMediaEndpoint to handle remote streams
https://bugs.webkit.org/show_bug.cgi?id=208919
Reviewed by Eric Carlson.
These stream APIs are legacy now and not useful anymore.
Stop implementing the corresponding callbacks and remove related code.
Coverd by existing tests.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp: (WebCore::LibWebRTCMediaEndpoint::addRemoteStream): Deleted. (WebCore::LibWebRTCMediaEndpoint::addRemoteTrack): Deleted. (WebCore::LibWebRTCMediaEndpoint::OnAddStream): Deleted.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258326 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:57 PM Changeset in webkit [259310] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION: ASSERTION FAILED: regExpObjectNode in JSC::DFG::StrengthReductionPhase::handleNode
https://bugs.webkit.org/show_bug.cgi?id=209824
Reviewed by Mark Lam.
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
It's true that we need to verify lastIndex even when a RegExp is neither global nor sticky,
but if DFG's already converted RegExpExec to RegExpExecNonGlobalOrSticky, that means we've thrown away
the RegExpObject node, so we shouldn't try to reverify lastIndex when we reconsider folding to constant.
- 1:38 PM Changeset in webkit [259309] by
-
- 4 edits in branches/safari-610.1.7-branch/Source/WebKit
Cherry-pick r258600. rdar://problem/61082995
Add internal debugging when initializing an app-bound session
https://bugs.webkit.org/show_bug.cgi?id=209190
<rdar://problem/60371620>
Reviewed by Brent Fulgham.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
- NetworkProcess/cocoa/NetworkSessionCocoa.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::SessionWrapper::initialize): (WebKit::NetworkSessionCocoa::NetworkSessionCocoa): (WebKit::NetworkSessionCocoa::initializeEphemeralStatelessSession): (WebKit::NetworkSessionCocoa::sessionWrapperForTask): (WebKit::NetworkSessionCocoa::appBoundSession): (WebKit::NetworkSessionCocoa::isolatedSession):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:21 PM Changeset in webkit [259308] by
-
- 5 edits in trunk/Source/WebCore
Append Upgrade-Insecure-Requests header in CachedResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=209664
Patch by Rob Buis <rbuis@igalia.com> on 2020-03-31
Reviewed by Youenn Fablet.
Append Upgrade-Insecure-Requests header in CachedResourceLoader, following
the fetch spec [1, step 3].
[1] https://fetch.spec.whatwg.org/#concept-main-fetch
- loader/FormSubmission.cpp:
(WebCore::FormSubmission::populateFrameLoadRequest):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::addExtraFieldsToMainResourceRequest):
(WebCore::FrameLoader::loadDifferentDocumentItem):
(WebCore::createWindow):
(WebCore::FrameLoader::addHTTPUpgradeInsecureRequestsIfNeeded): Deleted.
- loader/FrameLoader.h:
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
- 1:13 PM Changeset in webkit [259307] by
-
- 30 edits4 adds in trunk
Add SPI WKWebpagePreferences._userContentController
https://bugs.webkit.org/show_bug.cgi?id=209795
Reviewed by Tim Hatcher.
Source/WebKit:
This will allow us to switch which WKUserContentController we are using at decidePolicyForNavigationAction time
like we do WKWebsiteDataStores. This is only allowed with main frame navigations.
To do this I moved UserContentControllerParameters into their own struct.
I remove unused WebsitePoliciesData.websiteDataStoreParameters.
I pass an API::WebsitePolicies* further down the chain instead of switching to Optional<WebsitePoliciesData>,
which allows us to access the WebUserContentControllerProxy* from the former in WebPageProxy::creationParameters.
I removed an unused WebsitePolicies constructor.
I added a missing copied member variable in WebsitePolicies::copy.
- NetworkProcess/NetworkSession.cpp:
- Shared/UserContentControllerParameters.cpp: Added.
(WebKit::UserContentControllerParameters::encode const):
(WebKit::UserContentControllerParameters::decode):
- Shared/UserContentControllerParameters.h: Added.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- Shared/WebsitePoliciesData.cpp:
(WebKit::WebsitePoliciesData::encode const):
(WebKit::WebsitePoliciesData::decode):
- Shared/WebsitePoliciesData.h:
- Sources.txt:
- UIProcess/API/APIWebsitePolicies.cpp:
(API::WebsitePolicies::copy const):
(API::WebsitePolicies::setUserContentController):
(API::WebsitePolicies::data):
(API::WebsitePolicies::WebsitePolicies): Deleted.
- UIProcess/API/APIWebsitePolicies.h:
- UIProcess/API/C/WKPage.cpp:
(WKPageUpdateWebsitePolicies):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateWebpagePreferences:]):
- UIProcess/API/Cocoa/WKWebpagePreferences.mm:
(-[WKWebpagePreferences _userContentController]):
(-[WKWebpagePreferences _setUserContentController:]):
- UIProcess/API/Cocoa/WKWebpagePreferencesPrivate.h:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
- UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::ProvisionalPageProxy):
(WebKit::ProvisionalPageProxy::initializeWebPage):
(WebKit::ProvisionalPageProxy::goToBackForwardItem):
- UIProcess/ProvisionalPageProxy.h:
- UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::parameters const):
(WebKit::WebUserContentControllerProxy::contentRuleListData const):
(WebKit::WebUserContentControllerProxy::contentRuleListData): Deleted.
- UIProcess/UserContent/WebUserContentControllerProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponseShared):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::addWebUserContentControllerProxy):
- UIProcess/WebProcessProxy.h:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_processDisplayName):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage):
Tools:
- TestWebKitAPI/SourcesCocoa.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
(-[TestUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
- TestWebKitAPI/cocoa/TestUIDelegate.h: Added.
- TestWebKitAPI/cocoa/TestUIDelegate.mm: Added.
(-[TestUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[TestUIDelegate waitForAlert]):
- 1:08 PM Changeset in webkit [259306] by
-
- 2 edits in trunk/Source/WebKit
Remove call to PageConfiguration::setUserContentController added in r225765
https://bugs.webkit.org/show_bug.cgi?id=209828
<rdar://problem/61114052>
Reviewed by Brian Weinstein.
r225765 added a way for a certain Mac application to use WKWebViewConfiguration._pageGroup to set its WKUserContentController.
That Mac application has transitioned to setting the WKUserContentController manually, and this workaround needs to be removed
for that application's WKUserContentControllers to continue working as desired. I verified this fixes that application, and
it is the only user of WKWebViewConfiguration._pageGroup and all other applications will have no change in behavior.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setupPageConfiguration:]):
- 12:56 PM Changeset in webkit [259305] by
-
- 3 edits in trunk/Source/WebCore
Invalid memory access @ WebCore::FrameLoader::dispatchDidCommitLoad
https://bugs.webkit.org/show_bug.cgi?id=209786
Patch by Pinki Gyanchandani <pgyanchandani@apple.com> on 2020-03-31
Reviewed by Ryosuke Niwa.
No new tests. Reduced test would be added later. Currently issue is verified with the original testcase in associated radar-58416328.
Webkit1 only issue, where m_client.dispatchDidCommitLoad in FrameLoader::dispatchDidCommitLoad could cause the frame
to be destroyed, and m_frame still being accessed outside. Changes made to protect the DocumentLoader and Frame.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::handleSubstituteDataLoadNow):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::receivedFirstData):
- 12:55 PM Changeset in webkit [259304] by
-
- 3 edits in trunk/Source/WebCore
Buildfix after r259928.
Replace outer function with its virtual implementation in
child class.
Unreviewed build fix.
- workers/WorkerAnimationController.cpp:
(WebCore::WorkerAnimationController::virtualHasPendingActivity const):
(WebCore::WorkerAnimationController::hasPendingActivity const): Deleted.
- workers/WorkerAnimationController.h:
- 12:40 PM Changeset in webkit [259303] by
-
- 16 edits in trunk/Source/WebCore
[iPad] Use AVAudioSession to detect AirPlay route changes
https://bugs.webkit.org/show_bug.cgi?id=209789
<rdar://problem/58065279>
Reviewed by Jer Noble.
Source/WebCore:
No new tests: changes only affect playback on device to an actual AirPlay device, which
is not testable on our current testing infrastructure.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::checkPlaybackTargetCompatablity): Drive-by fix: pass log identifier
into lambda so the method name is logged.
(WebCore::HTMLMediaElement::setIsPlayingToWirelessTarget): Ditto.
(WebCore::HTMLMediaElement::setWirelessPlaybackTarget): Update logging.
(WebCore::HTMLMediaElement::setShouldPlayToPlaybackTarget): Call setIsPlayingToWirelessTarget
so we kick off a media player compatibility check.
- platform/audio/PlatformMediaSessionManager.h: Remove unused instance variables.
- platform/audio/ios/MediaSessionHelperIOS.mm:
(MediaSessionHelperiOS::activeAudioRouteDidChange): Change parameter to bool as it is always
present.
(MediaSessionHelperiOS::activeVideoRouteDidChange): Remove parameters, use the new
MediaPlaybackTargetCocoa create method and ask it if the target supports AirPlay.
(-[WebMediaSessionHelper initWithCallback:]): Listen for AVAudioSessionRouteChangeNotification.
(-[WebMediaSessionHelper activeOutputDeviceDidChange:]): Update for new notification source.
(-[WebMediaSessionHelper activeAudioRouteDidChange:]): Deleted.
- platform/audio/ios/MediaSessionManagerIOS.h:
- platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::sessionWillBeginPlayback): Set playback target on session
that is about to begin playback.
(WebCore::MediaSessionManageriOS::activeVideoRouteDidChange): Save the target and state.
- platform/graphics/MediaPlaybackTarget.h:
- platform/graphics/avfoundation/MediaPlaybackTargetCocoa.h:
- platform/graphics/avfoundation/MediaPlaybackTargetCocoa.mm:
(WebCore::MediaPlaybackTargetCocoa::create): Create a target from the application's currently
active AVOutputContext.
(WebCore::MediaPlaybackTargetCocoa::supportsAirPlayVideo const): New.
(WebCore::MediaPlaybackTargetCocoa::hasActiveRoute const): Use new API if available instead
of just checking for the AVOutputContext name.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setWirelessPlaybackTarget): Log.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setShouldPlayToPlaybackTarget):
- platform/mock/MediaPlaybackTargetMock.h:
Source/WebCore/PAL:
- pal/cocoa/AVFoundationSoftLink.h:
- pal/cocoa/AVFoundationSoftLink.mm:
- pal/spi/cocoa/AVFoundationSPI.h:
- 12:19 PM Changeset in webkit [259302] by
-
- 5 edits in trunk
REGRESSION: [ Mac wk2 Release ] Flaky crash in WebCore::MediaPlayer::createVideoFullscreenLayer
https://bugs.webkit.org/show_bug.cgi?id=209668
<rdar://problem/60976297>
Reviewed by Darin Adler.
Source/WebCore:
Null check m_player and m_videoElement before calling createVideoFullscreenLayer().
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::createVideoFullscreenLayer):
- platform/cocoa/VideoFullscreenModelVideoElement.mm:
(WebCore::VideoFullscreenModelVideoElement::createVideoFullscreenLayer):
LayoutTests:
- platform/mac-wk2/TestExpectations:
- 11:22 AM Changeset in webkit [259301] by
-
- 2 edits in trunk/LayoutTests
[ Mac Debug ] ASSERTION FAILED: m_videoFullscreenMode on media/media-fullscreen-return-to-inline.html
https://bugs.webkit.org/show_bug.cgi?id=209823
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 10:40 AM Changeset in webkit [259300] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Add additional IPC permission needed by Security.framework
https://bugs.webkit.org/show_bug.cgi?id=209815
<rdar://problem/60892378>
Reviewed by Per Arne Vollan.
Add missing permission needed for recent macOS releases.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- 10:39 AM Changeset in webkit [259299] by
-
- 7 edits in trunk/Source/WebCore
ASSERTION FAILED: m_wrapper on imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay.html
https://bugs.webkit.org/show_bug.cgi?id=209684
<rdar://problem/60987285>
Reviewed by Darin Adler.
I have not been able to reproduce so this is a speculative fix. HTMLMediaElement::virtualHasPendingActivity()
was checking MainThreadGenericEventQueue::hasPendingEvents() but this would return false for a short amount
of time where we've removed the last event from the queue and before we've actually fired the event. To
address the issue, we now rely on MainThreadGenericEventQueue::hasPendingActivity() which keeps returning
true after we've dequeued the last event, until we've fired it.
No new tests, covered by imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay.html.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::virtualHasPendingActivity const):
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::virtualHasPendingActivity const):
- dom/GenericEventQueue.cpp:
(WebCore::MainThreadGenericEventQueue::dispatchOneEvent):
(WebCore::MainThreadGenericEventQueue::hasPendingActivity const):
(WebCore::MainThreadGenericEventQueue::hasPendingEvents const): Deleted.
- dom/GenericEventQueue.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::virtualHasPendingActivity const):
- html/track/TrackListBase.cpp:
(WebCore::TrackListBase::virtualHasPendingActivity const):
- 10:35 AM Changeset in webkit [259298] by
-
- 18 edits6 adds in trunk
requestAnimationFrame and cancelAnimationFrame should be present on DedicatedWorkerGlobalScope
https://bugs.webkit.org/show_bug.cgi?id=202525
Reviewed by Simon Fraser.
Source/WebCore:
Implement AnimationFrameProvider on DedicatedWorkerGlobalScope,
This allows use of requestAnimationFrame and cancelAnimationFrame
inside a dedicated worker thread. This is useful to control animation
when using OffscreenCanvas, and this implementation is only enabled
with the OffscreenCanvas build flag and runtime setting.
Specification: https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html#animation-frames
No new tests. Covered by existing tests.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
- dom/RequestAnimationFrameCallback.h:
- workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::requestAnimationFrame):
(WebCore::DedicatedWorkerGlobalScope::cancelAnimationFrame):
- workers/DedicatedWorkerGlobalScope.h:
- workers/DedicatedWorkerGlobalScope.idl:
- workers/WorkerAnimationController.cpp: Added.
- workers/WorkerAnimationController.h: Added.
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
- workers/WorkerGlobalScope.h:
(WebCore::WorkerGlobalScope::requestAnimationFrameEnabled const):
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
- workers/WorkerThread.cpp:
(WebCore::WorkerParameters::isolatedCopy const):
- workers/WorkerThread.h:
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::ServiceWorkerThread):
LayoutTests:
Add PASS expectations for DedicatedWorkerGlobalScope.AnimationFrameProvider on platforms where
OffscreenCanvas is enabled.
- platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/workers/WorkerGlobalScope_requestAnimationFrame.tentative.worker-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/workers/WorkerGlobalScope_requestAnimationFrame.tentative.worker-expected.txt: Added.
- 10:28 AM Changeset in webkit [259297] by
-
- 3 edits in trunk/Source/WebKit
Silence preference write sandbox violations in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=209806
Reviewed by Brent Fulgham.
When CFPrefs direct mode is enabled in the WebContent process, the UI process will notify the WebContent about preference changes.
When receiving these notifications, the WebContent process will use the CFPrefs API to update the value of these preferences
in-process, which will also attempt to write these values to disk. Writing the preference values to disk is unnecessary, and will
also be denied by the sandbox, so the sandbox violations should be silenced.
No new tests, no behavior change.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- WebProcess/com.apple.WebProcess.sb.in:
- 10:03 AM Changeset in webkit [259296] by
-
- 16 edits2 adds in trunk
[Tables] Infinite recursion in RenderTreeBuilder::attach
https://bugs.webkit.org/show_bug.cgi?id=209771
<rdar://problem/59923112>
Reviewed by Simon Fraser.
Source/WebCore:
Let's construct a COLGROUP wrapper when a COL element is inserted into a <table>. The rest of the table code assumes such structure.
(https://www.w3.org/TR/html52/tabular-data.html#the-col-element)
Test: fast/table/anonymous-colgroup-simple.html
- rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::RenderTableCol):
(WebCore::RenderTableCol::updateFromElement):
- rendering/RenderTableCol.h:
- rendering/updating/RenderTreeBuilderTable.cpp:
(WebCore::RenderTreeBuilder::Table::findOrCreateParentForChild):
LayoutTests:
- fast/table/anonymous-colgroup-simple-expected.txt: Added.
- fast/table/anonymous-colgroup-simple.html: Added.
- 9:52 AM Changeset in webkit [259295] by
-
- 3 edits in trunk/Tools
Delete code for security EWS from old EWS (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=209683
Revert 233220.
Unreviewed follow-up fix.
- Scripts/webkitpy/common/net/statusserver_mock.py:
- Scripts/webkitpy/tool/commands/queues.py:
- 9:10 AM Changeset in webkit [259294] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [ iOS wk2 ] fast/forms/input-text-scroll-left-on-blur.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=209812
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 9:09 AM Changeset in webkit [259293] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION: (r259236) [ iOS and Catalina wk2 Debug ] ASSERTION FAILED: m_debugLoggingEnabled in WebKit::ResourceLoadStatisticsStore::debugBroadcastConsoleMessage
https://bugs.webkit.org/show_bug.cgi?id=209810
<rdar://problem/61106971>
Unreviewed, covered by existing tests.
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::debugBroadcastConsoleMessage):
Remove the assertion sincedebugBroadcastConsoleMessageis also called when turning off
debug logging mode viasetResourceLoadStatisticsDebugMode. Fundamentally, it's just a
wrapper function forbroadcastConsoleMessageanyways, so it doesn't need to be gated.
- 8:40 AM Changeset in webkit [259292] by
-
- 2 edits in trunk/LayoutTests
Flaky Test: media/track/track-in-band-metadata-display-order.html
https://bugs.webkit.org/show_bug.cgi?id=206226
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations: Mark test as flaky.
- 8:13 AM Changeset in webkit [259291] by
-
- 1 edit15 adds in trunk/LayoutTests
[WPE] Gardening, add missing expectation files
https://bugs.webkit.org/show_bug.cgi?id=209807
Unreviewed gardening.
- platform/wpe/fast/css/vertical-text-overflow-ellipsis-text-align-center-mixed-expected.txt: Added.
- platform/wpe/fast/css/vertical-text-overflow-ellipsis-text-align-justify-mixed-expected.txt: Added.
- platform/wpe/fast/css/vertical-text-overflow-ellipsis-text-align-left-mixed-expected.txt: Added.
- platform/wpe/fast/css/vertical-text-overflow-ellipsis-text-align-right-mixed-expected.txt: Added.
- platform/wpe/fast/html/details-marker-style-mixed-expected.txt: Added.
- platform/wpe/fast/html/details-writing-mode-mixed-expected.txt: Added.
- platform/wpe/fast/multicol/tall-image-behavior-lr-mixed-expected.txt: Added.
- platform/wpe/fast/writing-mode/background-vertical-lr-mixed-expected.txt: Added.
- platform/wpe/fast/writing-mode/background-vertical-rl-mixed-expected.txt: Added.
- platform/wpe/fast/writing-mode/basic-vertical-line-mixed-expected.txt: Added.
- platform/wpe/fast/writing-mode/border-styles-vertical-lr-mixed-expected.txt: Added.
- platform/wpe/fast/writing-mode/border-styles-vertical-rl-mixed-expected.txt: Added.
- platform/wpe/fast/writing-mode/vertical-baseline-alignment-mixed-expected.txt: Added.
- platform/wpe/fast/writing-mode/vertical-lr-replaced-selection-mixed-expected.txt: Added.
- platform/wpe/fast/writing-mode/vertical-rl-replaced-selection-mixed-expected.txt: Added.
- 8:01 AM Changeset in webkit [259290] by
-
- 5 edits in trunk
Fix SDP filtering after https://trac.webkit.org/changeset/258545
https://bugs.webkit.org/show_bug.cgi?id=209799
Reviewed by Eric Carlson.
Source/WebCore:
Covered by updated test.
- Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::filterSDP const):
Do not return early in case of filtering of mDNS candidate inlined in SDP description.
LayoutTests:
- webrtc/datachannel/mdns-ice-candidates-expected.txt:
- webrtc/datachannel/mdns-ice-candidates.html:
- 7:53 AM Changeset in webkit [259289] by
-
- 2 edits in trunk/Source/WebCore
Ensure that RealtimeMediaSource::setShouldApplyRotation is called on the main thread
https://bugs.webkit.org/show_bug.cgi?id=209797
Reviewed by Eric Carlson.
Hop to the main thread before calling setShouldApplyRotation on the source.
- platform/mediastream/RealtimeOutgoingVideoSource.cpp:
(WebCore::RealtimeOutgoingVideoSource::setSource):
(WebCore::RealtimeOutgoingVideoSource::applyRotation):
- 7:52 AM Changeset in webkit [259288] by
-
- 5 edits in trunk/Source/WebCore
The relative frame and hit test of isolated objects must be dispatched to the main thread.
https://bugs.webkit.org/show_bug.cgi?id=209792
Reviewed by Chris Fleizach.
The relative frame of isolated objects must be calculated on the main
thread because it requires the scroll ancestor to convert to the
appropriate scroll offset. The relative frame cannot be cached because
the scroll offset can change.
Accordingly, the hit test cannot rely on a cached relative frame and
must be dispatched to be computed on the main thread as well.
- accessibility/AXObjectCache.h:
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData): Do not cache the relative frame any longer.
(WebCore::AXIsolatedObject::accessibilityHitTest const): Dispatched to the main thread.
(WebCore::AXIsolatedObject::relativeFrame const): Dispatched to the main thread.
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper position]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityHitTest:]):
- 7:20 AM Changeset in webkit [259287] by
-
- 2 edits in trunk/Source/WebKit
Several refactorings done in the MemoryPressureMonitor.cpp
https://bugs.webkit.org/show_bug.cgi?id=209464
Reviewed by Adrian Perez de Castro.
1) toIntegralType() parses the C-string str interpreting its content
as anunsigned long long intwhich is more appropriate for
the size_t (unsigned integer type) variables used by the
MemoryPressureMonitor functions in counterpoint of atoll() what
returns along long int.
This change also controls if the parsing was succesful. In negative
case returnsnotSet.
2) Added the getCgroupFileValue() function what encapsulates the
manipulation of the opened files in the/sys/fs/cgrouphierarchy.
This change simplify the code avoding unnecessary code repetion.
3) getCgroupControllerPath() now checks if there is a
name=systemd
controller listed in the/proc/self/cgroup. This important for
cgroup v2 activated withsystemd.unified_cgroup_hierarchy=yes
through the Linux kernel cmdline. The unified hierarchy simplies
path of the controllers under the same directory (check the
"Deprecated v1 Core Features" section in the Linux Kernel
documentation fir cgroup v2 [1]):
Multiple hierarchies including named ones are not supported
[1] https://www.kernel.org/doc/Documentation/cgroup-v2.txt
4) Because 3) the patch composited for cgroupV2 changes
getMemoryUsageWithCgroup() slightly. The name of the controller
is not needed anymore.
5) For cgroup v2, the MemoryTotal is calculated as the minimum
between memory.high and memory.max.
- UIProcess/linux/MemoryPressureMonitor.cpp:
(WebKit::lowWatermarkPages):
(WebKit::getCgroupFileValue):
(WebKit::getMemoryTotalWithCgroup):
(WebKit::getMemoryUsageWithCgroup):
(WebKit::getCgroupControllerPath):
(WebKit::systemMemoryUsedAsPercentage):
(WebKit::getCgroupController): Deleted.
- 7:13 AM Changeset in webkit [259286] by
-
- 3 edits2 adds in trunk
Nullptr crash in InlineTextBox::emphasisMarkExistsAndIsAbove
https://bugs.webkit.org/show_bug.cgi?id=207034
Reviewed by Zalan Bujtas.
Source/WebCore:
The repro case was fixed in https://bugs.webkit.org/show_bug.cgi?id=209695.
Test: editing/selection/selection-update-during-anonymous-inline-teardown.html
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::emphasisMarkExistsAndIsAbove const):
Also add a null check to be sure.
LayoutTests:
- editing/selection/selection-update-during-anonymous-inline-teardown-expected.txt: Added.
- editing/selection/selection-update-during-anonymous-inline-teardown.html: Added.
- 5:58 AM Changeset in webkit [259285] by
-
- 2 edits2 adds in trunk/LayoutTests
[GTK] Gardening, update TestExpectations and add baseline
https://bugs.webkit.org/show_bug.cgi?id=209803
Unreviewed gardening.
- platform/gtk/TestExpectations:
- platform/gtk/imported/w3c/web-platform-tests/css/selectors/focus-visible-009-expected.txt: Added.
- 2:38 AM Changeset in webkit [259284] by
-
- 16 edits in trunk/Source
[GTK][WPE] Jumpy rendering of fixed-element layers while scrolling
https://bugs.webkit.org/show_bug.cgi?id=209466
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Avoid intermittent state application that can occur when asynchronous
scrolling is done on the dedicated thread while the general scene update
is being done in parallel on the composition thread, leading to partial
scrolling updates that visually present themselves as e.g. fixed
elements "jumping" around the view.
Instead of the staging state of a given Nicosia::CompositionLayer, the
scrolling nodes now update the base state with the given scrolling
change. At the end of the update, inside the UpdateScope descructor,
the updated states inside the scene are flushed into the staging phase
before they are adopted by the composition thread.
- page/scrolling/nicosia/ScrollingTreeFixedNode.cpp:
(WebCore::ScrollingTreeFixedNode::applyLayerPositions):
- page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::repositionScrollingLayers):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::repositionRelatedLayers):
- page/scrolling/nicosia/ScrollingTreeOverflowScrollProxyNode.cpp:
(WebCore::ScrollingTreeOverflowScrollProxyNode::applyLayerPositions):
- page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::repositionScrollingLayers):
- page/scrolling/nicosia/ScrollingTreePositionedNode.cpp:
(WebCore::ScrollingTreePositionedNode::applyLayerPositions):
- page/scrolling/nicosia/ScrollingTreeStickyNode.cpp:
(WebCore::ScrollingTreeStickyNode::applyLayerPositions):
- platform/graphics/nicosia/NicosiaPlatformLayer.h:
(Nicosia::CompositionLayer::accessStaging): Deleted.
- platform/graphics/nicosia/NicosiaSceneIntegration.cpp:
(Nicosia::SceneIntegration::SceneIntegration):
(Nicosia::SceneIntegration::invalidate):
(Nicosia::SceneIntegration::UpdateScope::~UpdateScope):
- platform/graphics/nicosia/NicosiaSceneIntegration.h:
(Nicosia::SceneIntegration::create):
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::syncPosition):
Don't signal the related attribute delta flag since this change is now
strictly applied by the scrolling thread.
(WebCore::CoordinatedGraphicsLayer::syncBoundsOrigin): Ditto.
Source/WebKit:
Move the Nicosia::SceneIntegration ownership into the
CompositingCoordinator class, along with the SceneIntegration::Client
inheritance. LayerTreeHost in turn now implements the updateScene()
method that triggers a scene update when invoked.
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::CompositingCoordinator::CompositingCoordinator):
(WebKit::CompositingCoordinator::invalidate):
(WebKit::CompositingCoordinator::attachLayer):
(WebKit::CompositingCoordinator::requestUpdate):
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
- WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::LayerTreeHost):
(WebKit::LayerTreeHost::~LayerTreeHost):
(WebKit::LayerTreeHost::updateScene):
(WebKit::LayerTreeHost::sceneIntegration): Deleted.
(WebKit::LayerTreeHost::requestUpdate): Deleted.
- WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:
- 2:10 AM Changeset in webkit [259283] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r258829): [CoordinatedGraphics] Web view not updated after cross site navigation with PSON enabled
https://bugs.webkit.org/show_bug.cgi?id=209741
Reviewed by Žan Doberšek.
Since r258829, the drawing area proxy of a provisional page ignores all messages until the load is
committed. This is causing 2 problems for coordinated graphics drawing area. When not in accelerated compositing
mode, Update message is sent before the commit is loaded, and the web process keeps waiting for the DidUpdate
response message forever. When accelerated compositing mode is forced, the EnterAcceleratedCompositing message
is also sent before the load is committed and ignored, so the UI process doesn't know it's in accelerated mode.
- WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::scheduleRenderingUpdate): Return early if layer tree is frozen. This
ensures that Update messages are not sent to the UI process while layer tree is frozen.
(WebKit::DrawingAreaCoordinatedGraphics::enterAcceleratedCompositingMode): Disable layer flush on the newly
created LayerTreeHost if layer tree is frozen. This ensures that EnterAcceleratedCompositing message is sent
after the first layer flush once the layer tree is no longer frozen.