Timeline
Jun 20, 2020:
- 11:10 PM Changeset in webkit [263324] by
-
- 2 edits in trunk/Source/WebKit
[AppSSO] Should do null check on m_page in dismissViewController()
https://bugs.webkit.org/show_bug.cgi?id=213415
<rdar://problem/59672418>
Reviewed by Alexey Proskuryakov.
- UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:
(WebKit::SOAuthorizationSession::dismissViewController):
- 7:49 PM Changeset in webkit [263323] by
-
- 5 edits in trunk/Source
RecoveryOS: PAL::getAVPlayerLayerClass() will crash when AVFoundation is missing
https://bugs.webkit.org/show_bug.cgi?id=213437
<rdar://problem/64563064>
Reviewed by Eric Carlson.
Check PAL::isAVFoundationAvailable() before calling PAL::getAVPlayerLayerClass();
Source/WebCore:
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:
(WebCore::VideoLayerManagerObjC::setVideoLayer):
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(WebCore::PlatformCALayerCocoa::layerTypeForPlatformLayer):
(WebCore::PlatformCALayerCocoa::PlatformCALayerCocoa):
(WebCore::PlatformCALayerCocoa::clone const):
(WebCore::PlatformCALayerCocoa::avPlayerLayer const):
Source/WebKit:
- WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm:
(WebKit::PlatformCALayerRemoteCustom::clone const):
- 7:13 PM Changeset in webkit [263322] by
-
- 6 edits in trunk/Source/WebCore
Crash under ScrollController::startSnapRubberbandTimer() firing
https://bugs.webkit.org/show_bug.cgi?id=213439
<rdar://problem/63986013>
Reviewed by Tim Horton.
A wholesale destruction of the ScrollingTree (e.g. via ScrollingCoordinatorMac::pageDestroyed()) never
ran the code to stop CFRunLoopTimers in ScrollController, which could lead to this crash.
Fix by calling removeAllNodes() in ThreadedScrollingTree::invalidate().
Add an assertion in ScrollController's destructor that stopAllTimers() has been called, and have
ScrollAnimator's destructor call stopAllTimers() too.
- page/scrolling/ScrollingTree.h:
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::invalidate):
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::~ScrollAnimator):
- platform/cocoa/ScrollController.h:
- platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::~ScrollController):
(WebCore::ScrollController::stopAllTimers):
- 6:13 PM Changeset in webkit [263321] by
-
- 4 edits in trunk
REGRESSION(r259219): Sleep assertion remains active if WKWebView is closed or WebContent process crashes
https://bugs.webkit.org/show_bug.cgi?id=213434
<rdar://problem/57541662>
Reviewed by Eric Carlson.
Source/WebKit:
Tests: TestWebKitAPI tests:
SleepDisabler.Basic
SleepDisabler.Pause
SleepDisabler.Mute
SleepDisabler.Unmute
SleepDisabler.DisableAudioTrack
SleepDisabler.Loop
SleepDisabler.ChangeSrc
SleepDisabler.Load
SleepDisabler.Unload
SleepDisabler.Navigate
SleepDisabler.NavigateBack
SleepDisabler.Reload
SleepDisabler.Close
SleepDisabler.Crash
Ensure the SleepDisablers are cleared when the WebProcess closes or crashes.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
Tools:
- TestWebKitAPI/Tests/WebKit/SleepDisabler.mm:
(SleepDisabler::loadPlayingPage):
(SleepDisabler::hasSleepDisablerShouldBecomeEqualTo):
(TEST_F):
- 4:35 PM Changeset in webkit [263320] by
-
- 7 edits in trunk/Source/WebKit
[iOS, macOS] Allow access to the container manager to support Mail InjectedBundle
https://bugs.webkit.org/show_bug.cgi?id=213357
<rdar://problem/63837247>
Reviewed by Darin Adler.
The Mail Injected Bundle requires access to the container manager to support certain OS operations. We do not need
this access for web browsing, and should limit this access to this one case.
This patch creates a dynamic mach extension to the container manager for this single use case. It also denies the
non-extension access case with a backtrace so we can see if any other clients are hitting this.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 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):
- WebProcess/com.apple.WebProcess.sb.in:
- 4:16 PM Changeset in webkit [263319] by
-
- 2 edits in trunk/Tools
Bring up watchOS/tvOS on build.webkit.org (Follow-up fix x2)
https://bugs.webkit.org/show_bug.cgi?id=213402
<rdar://problem/64542588>
Unreviewed test fix.
- Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl: Native Macs never
use 32 bit tool binaries.
- 8:24 AM Changeset in webkit [263318] by
-
- 9 edits1 copy4 adds in trunk
[LFC][TFC][Quirk] Table height needs quirk handling
https://bugs.webkit.org/show_bug.cgi?id=213430
Reviewed by Antti Koivisto.
Source/WebCore:
In quirks mode the used table height of an empty table is 0, while in standards mode
we take the specified value into account and size the table accordingly.
Tests: fast/layoutformattingcontext/empty-table-with-specified-height-quirk-simple.html
fast/layoutformattingcontext/empty-table-with-specified-height-standards-simple.html
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- layout/FormattingContext.h:
- layout/blockformatting/BlockFormattingContext.h:
(WebCore::Layout::BlockFormattingContext::Quirks::geometry const):
- layout/blockformatting/BlockFormattingContextQuirks.cpp:
(WebCore::Layout::BlockFormattingContext::Quirks::stretchedInFlowHeight):
- layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:
(WebCore::Layout::TableWrapperBlockFormattingContext::computeHeightAndMarginForTableBox):
- layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.h:
(WebCore::Layout::TableWrapperBlockFormattingContext::Quirks::Quirks):
- layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContextQuirks.cpp: Copied from Source/WebCore/layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.h.
(WebCore::Layout::TableWrapperBlockFormattingContext::Quirks::usedTableHeight const):
LayoutTests:
- fast/layoutformattingcontext/empty-table-with-specified-height-quirk-simple-expected.html: Added.
- fast/layoutformattingcontext/empty-table-with-specified-height-quirk-simple.html: Added.
- fast/layoutformattingcontext/empty-table-with-specified-height-standards-simple-expected.html: Added.
- fast/layoutformattingcontext/empty-table-with-specified-height-standards-simple.html: Added.
- 12:08 AM Changeset in webkit [263317] by
-
- 4 edits in trunk/LayoutTests
[Windows] fast/forms/search-field-buttons-do-not-have-focus-rings.html is failing
https://bugs.webkit.org/show_bug.cgi?id=213422
Reviewed by Tim Horton.
Refactor this test so that it doesn't attempt to hard-code the position and sizes of the search field buttons.
To do this, we use an internal helper to grab thedivelements that correspond to the results and cancel
buttons, and then use their bounding rects to place the opaquedivs to cover these buttons.
- fast/forms/search-field-buttons-do-not-have-focus-rings-expected.html:
- fast/forms/search-field-buttons-do-not-have-focus-rings.html:
- platform/win/TestExpectations:
Jun 19, 2020:
- 9:20 PM Changeset in webkit [263316] by
-
- 11 edits1 add in trunk
[JSC] Check Gigacage usage before launching VM
https://bugs.webkit.org/show_bug.cgi?id=213410
Reviewed by Mark Lam.
JSTests:
- stress/exhaust-gigacage-and-allocate-vm.js: Added.
(foo):
Source/bmalloc:
Add Gigacage::footprint and Gigacage::size functions to expose usage to API users.
Rename Gigacage::size to Gigacage::maxSize.
- bmalloc/Gigacage.cpp:
(Gigacage::ensureGigacage):
(Gigacage::size):
(Gigacage::footprint):
- bmalloc/Gigacage.h:
(Gigacage::maxSize):
(Gigacage::alignment):
(Gigacage::mask):
(Gigacage::size):
(Gigacage::footprint):
- bmalloc/Heap.cpp:
(bmalloc::Heap::gigacageSize):
- bmalloc/Heap.h:
Source/JavaScriptCore:
Since VM allocates JSBigInt from Gigacage, it is possible that VM creation fails when Gigacage is exhausted.
As a work-around for internal testing, we insert ad-hoc Gigacage usage check before launching a new agent.
If 80% of Gigacage is used, we fail to launch a new VM gracefully.
- assembler/testmasm.cpp:
(JSC::testCagePreservesPACFailureBit):
- jsc.cpp:
(functionDollarAgentStart):
Source/WTF:
- wtf/Gigacage.h:
(Gigacage::footprint):
(Gigacage::maxSize):
(Gigacage::size):
- 9:06 PM Changeset in webkit [263315] by
-
- 2 edits1 add in trunk
Typed array constructor behaves differently when length is not passed or when undefined is passed
https://bugs.webkit.org/show_bug.cgi?id=184232
Patch by James Darpinian <James Darpinian> on 2020-06-19
Reviewed by Yusuke Suzuki.
Passing undefined for length should have the same effect as omitting the argument. It was being
treated as 0 instead.
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayView):
- 9:02 PM Changeset in webkit [263314] by
-
- 8 edits12 adds in trunk/LayoutTests
fast/text/international/system-language/navigator-language/navigator-language tests are failing on Catalina and iOS
<rdar://problem/64468227>
Unreviewed test gardening.
Rather than marking the tests as flakey, we can just commit -expected results for every OS.
- fast/text/international/system-language/navigator-language/navigator-language-en-US-expected.txt:
- fast/text/international/system-language/navigator-language/navigator-language-es-ES-expected.txt:
- fast/text/international/system-language/navigator-language/navigator-language-es-MX-expected.txt:
- fast/text/international/system-language/navigator-language/navigator-language-pt-BR-expected.txt:
- fast/text/international/system-language/navigator-language/navigator-language-zh-Hant-expected.txt:
- platform/ios/TestExpectations:
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-en-expected.txt: Added.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-es-419-expected.txt: Added.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-es-MX-expected.txt: Added.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-es-expected.txt: Added.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-fr-expected.txt: Added.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-hi-expected.txt: Added.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-ja-expected.txt: Added.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-ru-expected.txt: Added.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-zh-HK-expected.txt: Added.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-zh-Hant-HK-expected.txt: Added.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-zh-Hant-expected.txt: Added.
- platform/mac/TestExpectations:
- 8:50 PM Changeset in webkit [263313] by
-
- 15 edits in trunk/Source
[Cocoa] Delay issuing ManagedSession & Network Extension sandbox extensions until a load is actually issued
https://bugs.webkit.org/show_bug.cgi?id=213414
<rdar://problem/64548684>
Reviewed by Per Arne Vollan.
Source/WebCore:
setHasConsumedSandboxExtensions() can now get called several times, every time a WebPage is created.
Once a sandbox extension has been consumed, there is no going back so return early if the state is
already "Consumed".
- platform/cocoa/NetworkExtensionContentFilter.mm:
(WebCore::NetworkExtensionContentFilter::setHasConsumedSandboxExtensions):
- platform/cocoa/ParentalControlsContentFilter.mm:
(WebCore::ParentalControlsContentFilter::setHasConsumedSandboxExtension):
Source/WebKit:
Delay issuing ManagedSession & Network Extension sandbox extensions until a load is actually issued.
This is a Safari launch time optimization since the checks needed to decide whether or not to issue
the extensions are expensive and there is no reason to issue them as soon as the process launches
(especially in the case of a prewarmed process).
- Shared/Cocoa/LoadParametersCocoa.mm:
(WebKit::LoadParameters::platformEncode const):
(WebKit::LoadParameters::platformDecode):
- Shared/LoadParameters.h:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::addPlatformLoadParameters):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::addPlatformLoadParameters):
(WebKit::WebPageProxy::loadRequestWithNavigationShared):
(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::loadDataWithNavigationShared):
(WebKit::WebPageProxy::loadAlternateHTML):
(WebKit::WebPageProxy::loadWebArchiveData):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::hasNetworkExtensionSandboxAccess const):
(WebKit::WebProcessProxy::markHasNetworkExtensionSandboxAccess):
(WebKit::WebProcessProxy::hasManagedSessionSandboxAccess const):
(WebKit::WebProcessProxy::markHasManagedSessionSandboxAccess):
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::platformDidReceiveLoadParameters):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 8:17 PM Changeset in webkit [263312] by
-
- 15 edits in trunk
[JSC] Attempt to reduce timeout failures on Apple Watch Series 3
https://bugs.webkit.org/show_bug.cgi?id=213419
Reviewed by Mark Lam.
JSTests:
Look into timeout tests, and
- If the test is using too many iterations, decrease the count.
- If the test is still useful while iteration count is not so much, try attaching
slow!to see the effect on the bot.
- stress/memcpy-typed-loops.js:
- stress/op_bitand.js:
- stress/op_bitor.js:
- stress/op_bitxor.js:
- stress/op_mul-ConstVar.js:
- stress/op_mul-VarConst.js:
- stress/op_mul-VarVar.js:
- stress/op_sub-ConstVar.js:
- stress/op_sub-VarConst.js:
- stress/op_sub-VarVar.js:
- stress/set-iteration-oas.js:
- stress/value-to-boolean.js:
Source/JavaScriptCore:
- tools/JSDollarVM.cpp:
(JSC::functionUseJIT):
(JSC::JSDollarVM::finishCreation):
- 7:44 PM Changeset in webkit [263311] by
-
- 8 edits2 adds in trunk
[AutoSizing] Resolve viewport units against the preferred content size
https://bugs.webkit.org/show_bug.cgi?id=213408
<rdar://problem/64267539>
Reviewed by Tim Horton.
Source/WebCore:
Instead of resolving the viewport units against the maximum content size constraints, let's use the preferred content size.
It ensures that content with vw, vh units does not grow beyond the preferred content size.
Test: fast/dynamic/size-to-content-autosize-with-viewport-units.html
- page/FrameView.cpp:
(WebCore::FrameView::performSizeToContentAutoSize):
(WebCore::FrameView::enableAutoSizeMode): Let's "ignore" viewport units during the initial
pass and use the preferred width to finalize the vw vh unit values (we don't really ignore them, but they are resolved against a [ 1, 1 ] viewport).
This approach fails if the main content has 100vw with overflow hidden. Such content would end up with a [ 1, 1 ] size (we might want to detect it
and resolved the values against the horizontal constraint).
(WebCore::FrameView::overrideViewportWidthForCSSViewportUnits):
(WebCore::FrameView::resetOverriddenViewportWidthForCSSViewportUnits):
- page/FrameView.h:
- testing/Internals.cpp:
(WebCore::Internals::enableSizeToContentAutoSizeMode):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- fast/dynamic/size-to-content-autosize-with-viewport-units-expected.txt: Added.
- fast/dynamic/size-to-content-autosize-with-viewport-units.html: Added.
- 7:37 PM Changeset in webkit [263310] by
-
- 5 edits in trunk/Tools
Bring up watchOS/tvOS on build.webkit.org (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=213402
<rdar://problem/64542588>
Unreviewed build-fix.
- BuildSlaveSupport/build.webkit.org-config/config.json: Use arm64_32 to build watchOS device.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): watchOS device should be considered 32 bit.
- Scripts/configure-xcode-for-embedded-development: Force-copy MediaAccessibility.framework.
- Scripts/webkitdirs.pm:
(extractNonMacOSHostConfiguration): Native Macs never use 32 bit tool binaries.
- 7:26 PM Changeset in webkit [263309] by
-
- 4 edits in trunk/Source/WebCore
[macOS] Move progress bar painting code off of Carbon API
https://bugs.webkit.org/show_bug.cgi?id=213405
<rdar://problem/63958537>
Reviewed by Tim Horton.
Source/WebCore:
Adopts CoreUI constants and AppKit SPI (
-[NSAppearance _drawInRect:context:options:]) when painting progress
elements. This is being done in light of recent changes around howHIThemeDrawTrackdraws progress bars on
recent versions of macOS; it has been recommended to us that we move away from using Carbon, and instead use
AppKit.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintProgressBar):
The
NSControlSizetoCUISizemapping here looks counterintuitive, but matches our current behavior. This is
becausekThemeLargeProgressBarandkThemeLargeIndeterminateBarboth map tokCUISizeRegular, while
kThemeMediumIndeterminateBarandkThemeMediumProgressBarmap tokCUISizeSmall.
Source/WebCore/PAL:
Add forward declarations for CoreUI SPI on non-internal SDKs.
- pal/spi/mac/CoreUISPI.h:
- 6:22 PM Changeset in webkit [263308] by
-
- 5 edits3 deletes in trunk/Tools
Delete dead code for old ews api tests
https://bugs.webkit.org/show_bug.cgi?id=213421
Rubber-stamped by Alexey Proskuryakov.
- Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.run_api_tests_command): Deleted.
- Scripts/webkitpy/common/net/apitestresults.py: Removed.
- Scripts/webkitpy/common/net/apitestresults_unittest.py: Removed.
- Scripts/webkitpy/port/base.py:
(Port.bindings_results_directory):
(Port.api_results_directory): Deleted.
- Scripts/webkitpy/tool/bot/apitestresultsreader.py: Removed.
- Scripts/webkitpy/tool/steps/runtests.py:
(RunTests._run_api_tests): Deleted.
- Scripts/webkitpy/tool/steps/steps_unittest.py:
(test_runtests_api_debug): Deleted.
- 6:07 PM Changeset in webkit [263307] by
-
- 7 edits in trunk/Source/WebKit
Unreviewed, reverting r263287.
Caused tests to exit early with crashes on Catalina.
Reverted changeset:
"[iOS, macOS] Allow access to the container manager to support Mail InjectedBundle"
https://bugs.webkit.org/show_bug.cgi?id=213357
https://trac.webkit.org/changeset/263287
- 6:04 PM Changeset in webkit [263306] by
-
- 2 edits in trunk/Source/WebKit
Crash under WebKit::ProcessAndUIAssertion::updateRunInBackgroundCount()
https://bugs.webkit.org/show_bug.cgi?id=213417
<rdar://problem/63477676>
Reviewed by Darin Adler.
Make sure |this| is still alive in ProcessAndUIAssertion::processAssertionWasInvalidated()
after calling ProcessAssertion::processAssertionWasInvalidated() and before calling
updateRunInBackgroundCount(). Calling ProcessAssertion::processAssertionWasInvalidated()
notifies the client and the client may destroy the assertion as a result.
- UIProcess/ios/ProcessAssertionIOS.mm:
(WebKit::ProcessAndUIAssertion::processAssertionWasInvalidated):
- 5:57 PM Changeset in webkit [263305] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening on Windows
Mark a test as failing while it's being investigated.
- platform/win/TestExpectations:
- 5:53 PM Changeset in webkit [263304] by
-
- 6 edits in trunk
Remove setVelocity() from PannerNode
https://bugs.webkit.org/show_bug.cgi?id=213360
Patch by Clark Wang <clark_wang@apple.com> on 2020-06-19
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Re-baselined previous test that now passes with velocity removed.
- web-platform-tests/webaudio/historical-expected.txt:
Source/WebCore:
Removed setVelocity() and other velocity dependencies, as per spec: https://www.w3.org/TR/webaudio/#pannernode.
Simplified dopplerRate, since sourceVelocity is always zero.
Re-baselined previous test that now passes with velocity removed.
- Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::PannerNode):
(WebCore::PannerNode::dopplerRate):
- Modules/webaudio/PannerNode.h:
- Modules/webaudio/PannerNode.idl:
- 5:43 PM Changeset in webkit [263303] by
-
- 3 edits2 adds in trunk
REGRESSION (r263253): Search field results and cancel buttons have their own focus rings
https://bugs.webkit.org/show_bug.cgi?id=213413
<rdar://problem/64548419>
Reviewed by Tim Horton.
Source/WebCore:
After r263253,
paintCellAndSetFocusedElementNeedsRepaintIfNecessaryis used when painting the buttons in a
search field's shadow root. However, the renderer that is passed in (which is used to determine whether we
should additionally draw focus rings) is the input element's renderer rather than the renderers of the results
and cancel buttons themselves. This means that when the search field is focused, we will draw focus rings around
each of the buttons in the shadow root as well.
Address this by using
box(the buttons' RenderBoxes) instead.
Test: fast/forms/search-field-buttons-do-not-have-focus-rings.html
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
LayoutTests:
Add a ref test to verify that the search and cancel buttons don't draw individual focus rings. This test works
by verifying that no focus ring around either the cancel or results button bleeds outside of the bounds of a div
that obscures the buttons.
- fast/forms/search-field-buttons-do-not-have-focus-rings-expected.html: Added.
- fast/forms/search-field-buttons-do-not-have-focus-rings.html: Added.
- 5:16 PM Changeset in webkit [263302] by
-
- 7 edits in trunk
Crash in WebCore::Range::borderAndTextRects
https://bugs.webkit.org/show_bug.cgi?id=209379
Patch by Pinki Gyanchandani <pgyanchandani@apple.com> on 2020-06-19
Reviewed by Darin Adler.
When a parentless node is moved to a new document, then all ranges associated with this node and its children also should
be updated with new document information.
Test woould be submitted later.
- dom/Document.cpp:
(WebCore::Document::parentlessNodeMoveToNewDocument):
- dom/Document.h:
- dom/Node.cpp:
(WebCore::Node::moveNodeToNewDocument):
- dom/Range.cpp:
(WebCore::Range::parentlessNodeMoveToNewDocumentAffectsRange):
(WebCore::Range::updateRangeForParentlessNodeMoveToNewDocument):
- dom/Range.h:
- 5:11 PM Changeset in webkit [263301] by
-
- 7 edits2 deletes in trunk
Unreviewed, reverting r263121.
Broke media/video-fullscreen-only-playback.html on Catalina
Debug
Reverted changeset:
"Don't claim to support fullscreen mode unless
fullScreenEnabled setting is enabled"
https://bugs.webkit.org/show_bug.cgi?id=213142
https://trac.webkit.org/changeset/263121
- 5:07 PM Changeset in webkit [263300] by
-
- 3 edits in trunk/Tools
Bring up watchOS/tvOS on build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=213402
<rdar://problem/64542588>
Unreviewed infrastructure fix.
- BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build): Add tvOS and watchOS.
- BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
(ShouldBuildTest.test_should_build):
- 5:07 PM Changeset in webkit [263299] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, reverting r263223.
Broke compositing/video/video-border-radius-clipping.html on
Mac release wk1
Reverted changeset:
"Unreviewed, re-landing r262904."
https://bugs.webkit.org/show_bug.cgi?id=213063
https://trac.webkit.org/changeset/263223
- 5:02 PM Changeset in webkit [263298] by
-
- 6 edits in trunk/Source/WebKit
com.apple.WebKit.Networking crash: suspended with locked system files (observations.db)
https://bugs.webkit.org/show_bug.cgi?id=213391
<rdar://problem/64494167>
Reviewed by Chris Dumez.
ITP is the only database that attempts to close when
NetworkProcess::didClose() is called. This causes the network process
to sometimes crash if the database is still closing when checking for
locked system files. Instead, we should only flush the
memory store to disk when calling NetworkProcess::didClose (in the
memory store case), and only close the database when the network session is destroyed.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::didDestroyNetworkSession):
(WebKit::WebResourceLoadStatisticsStore::destroyResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::flushAndDestroyPersistentStore):
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
Split into two functions, one to flush and destroy the persistent
store, and one to destroy the memory or database store.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didClose):
Only flush the persistent store here, as described above.
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::flushAndDestroyPersistentStore):
- NetworkProcess/NetworkSession.h:
- 5:00 PM Changeset in webkit [263297] by
-
- 3 edits2 adds in trunk
[CG] REGRESSION (r256892): Luminance SVG mask is not applied when accelerated drawing is enabled
https://bugs.webkit.org/show_bug.cgi?id=213403
<rdar://problem/64489419>
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-06-19
Reviewed by Simon Fraser.
Source/WebCore:
Test: svg/masking/mask-css-luminance.html
If the ImageBuffer is backed by an IOSurface, its context has to be flushed
out before convertToLuminanceMask() can access its data.
- platform/graphics/ConcreteImageBuffer.h:
LayoutTests:
- svg/masking/mask-css-luminance-expected.html: Added.
- svg/masking/mask-css-luminance.html: Added.
- 4:40 PM Changeset in webkit [263296] by
-
- 7 edits1 add in trunk
[WebAuthn] Provide a _WKWebAuthenticationPanelUpdatePINInvalid update to UI clients if the returned PIN from the client is not valid
https://bugs.webkit.org/show_bug.cgi?id=213404
<rdar://problem/64543894>
Reviewed by Brent Fulgham.
Source/WebKit:
Provide a _WKWebAuthenticationPanelUpdatePINInvalid update to UI clients if the returned PIN from the client is not valid such that clients can
reuse the same logic to handle invalid pin from the authenticator. This change makes their life easier.
Covered by API tests.
- UIProcess/API/APIWebAuthenticationPanelClient.h:
(API::WebAuthenticationPanelClient::requestPin const):
- UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.mm:
(WebKit::WebAuthenticationPanelClient::requestPin const):
Now, only null strings are intepreted as cancels.
- UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::continueMakeCredentialAfterResponseReceived):
(WebKit::CtapAuthenticator::continueGetAssertionAfterResponseReceived):
(WebKit::CtapAuthenticator::continueGetPinTokenAfterRequestPin):
(WebKit::CtapAuthenticator::continueRequestAfterGetPinToken):
This patch also removes potential null pointer dereferences.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-pin-get-pin-token-fake-pin-invalid-error-retry.html: Added.
- 4:37 PM Changeset in webkit [263295] by
-
- 10 edits in trunk/Source
[macOS] Connections to the preference daemon are established before entering the sandbox
https://bugs.webkit.org/show_bug.cgi?id=213379
Reviewed by Darin Adler.
Source/WebCore/PAL:
Use correct parameter types in _CFPrefsSetDirectModeEnabled and _CFPrefsSetReadOnly, and move
_CFPrefsSetDirectModeEnabled inside an Objective-C guard, since BOOL only seems to be a builtin
type in Objective-C.
- pal/spi/cf/CFUtilitiesSPI.h:
Source/WebKit:
On macOS, connections to the preference daemon are established before entering the sandbox. These connections also persist
after entering the sandbox and denying access to the preference daemon. There should not be attempts to connect to the
preference daemon before entering the sandbox, since these attempts will not be stopped by the sandbox. This patch moves
code that connects to the preference daemon to be executed after the sandbox has been entered. That includes code to
prevent connections to the Dock and code to initialize WebKit logging. Also, instead of calling [NSBundle bundleForClass:],
call [NSBundle bundleWithIdentifier:], since calling [NSBundle bundleForClass:] will connect to the preference daemon.
Finally, allow the syscall SYS_gethostuuid, since that is needed by CoreFoundation when there is no access to the
preference daemon.
No new tests. This should be covered by existing tests. It would be nice to have a test to make sure that there are no
connections to the preference daemon just before entering the sandbox, but I am not aware of how to implement this.
- NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::initializeSandbox):
- Shared/AuxiliaryProcess.cpp:
(WebKit::AuxiliaryProcess::initialize):
- Shared/Cocoa/WebKit2InitializeCocoa.mm:
(WebKit::runInitializationCode):
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceMain):
- Shared/mac/AuxiliaryProcessMac.mm:
(WebKit::webKit2Bundle):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::initializeSandbox):
- WebProcess/com.apple.WebProcess.sb.in:
- 4:12 PM Changeset in webkit [263294] by
-
- 1 copy in tags/Safari-610.1.17.1
Tag Safari-610.1.17.1.
- 3:50 PM Changeset in webkit [263293] by
-
- 5 edits in trunk/Source
Avoid initializing RenderTheme singleton unnecessarily in the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=213406
Reviewed by Per Arne Vollan.
Avoid initializing RenderTheme singleton unnecessarily in the UIProcess. Instead, introduce
a static function to get the focus ring color on iOS.
Source/WebCore:
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::systemFocusRingColor):
(WebCore::RenderThemeIOS::platformFocusRingColor const):
Source/WebKit:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- 3:40 PM Changeset in webkit [263292] by
-
- 2 edits in trunk/Source/JavaScriptCore
toString of String doesn't check integrity of structureID in one path.
https://bugs.webkit.org/show_bug.cgi?id=213338
Reviewed by Saam Barati.
- runtime/StringPrototype.cpp:
(JSC::stringProtoFuncToString):
- 3:22 PM Changeset in webkit [263291] by
-
- 8 edits8 adds in trunk/Tools
Bring up watchOS/tvOS on build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=213402
<rdar://problem/64542588>
Reviewed by Aakash Jain.
- BuildSlaveSupport/build.webkit.org-config/config.json: Add AppleTV and watchOS builders.
- BuildSlaveSupport/build.webkit.org-config/factories.py:
(BuildFactory.init): Support AppleTV and watchOS.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS13.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS13@2x.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS13Simulator.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS13Simulator@2x.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOS6.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOS6@2x.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOSSimulator6.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOSSimulator6@2x.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
- BuildSlaveSupport/build.webkit.org-config/steps.py:
- BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
- 3:13 PM Changeset in webkit [263290] by
-
- 6 edits in trunk
Have a memory monitor thread in jsc shell when running tests using --memory-limited
https://bugs.webkit.org/show_bug.cgi?id=213389
Reviewed by Mark Lam.
Source/JavaScriptCore:
When testing on iOS, there are times high memory usage from a JSC test
will jetsam our entire test runner. This makes it so we don't get any test
results from that test run, which can make it difficult to track testing
results.
This patch introduces an optional memory monitoring thread to the JSC
shell. It's a best effort approach. If memory usage exceeds the passed
in threshold, we crash the process. Similar to how the timeout mechanism
works. On Cocoa platforms, we also perform this check in the low memory
warning handler.
Currently, we use this feature when running JSC stress tests in
"--memory-limited" mode.
- jsc.cpp:
(crashIfExceedingMemoryLimit):
(startMemoryMonitoringThreadIfNeeded):
(jscmain):
Tools:
- Scripts/run-jsc-stress-tests:
- Scripts/webkitruby/jsc-stress-test-writer-default.rb:
- Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
- 2:43 PM Changeset in webkit [263289] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed build fix after r263288.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- 2:31 PM Changeset in webkit [263288] by
-
- 9 edits in trunk/Source/WebKit
Use ASCIILiteral more for SandboxExtension functions
https://bugs.webkit.org/show_bug.cgi?id=213400
Reviewed by Per Arne Vollan.
Use ASCIILiteral more for SandboxExtension functions. Functions like createHandleForMachLookup() / createHandleForIOKitClassExtension()
don't need to take in Strings, ASCIILiteral is enough.
- Shared/Cocoa/SandboxExtensionCocoa.mm:
(WebKit::createHandlesForResources):
(WebKit::SandboxExtension::createReadOnlyHandlesForFiles):
(WebKit::SandboxExtension::createHandleForGenericExtension):
(WebKit::SandboxExtension::createHandleForMachLookup):
(WebKit::SandboxExtension::createHandlesForMachLookup):
(WebKit::SandboxExtension::createHandleForIOKitClassExtension):
(WebKit::SandboxExtension::createHandlesForIOKitClassExtensions):
- Shared/SandboxExtension.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::mediaRelatedMachServices):
(WebKit::nonBrowserServices):
(WebKit::diagnosticServices):
(WebKit::agxCompilerClasses):
(WebKit::WebProcessPool::platformInitializeWebProcess):
- UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::enableRemoteInspectorIfNeeded):
- UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::singleton):
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didChooseFilesForOpenPanelWithDisplayStringAndIcon):
(WebKit::WebPageProxy::creationParameters):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::grantAccessToAssetServices):
- 2:12 PM Changeset in webkit [263287] by
-
- 7 edits in trunk/Source/WebKit
[iOS, macOS] Allow access to the container manager to support Mail InjectedBundle
https://bugs.webkit.org/show_bug.cgi?id=213357
<rdar://problem/63837247>
Reviewed by Darin Adler.
The Mail Injected Bundle requires access to the container manager to support certain OS operations. We do not need
this access for web browsing, and should limit this access to this one case.
This patch creates a dynamic mach extension to the container manager for this single use case. It also denies the
non-extension access case with a backtrace so we can see if any other clients are hitting this.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 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):
- WebProcess/com.apple.WebProcess.sb.in:
- 2:08 PM Changeset in webkit [263286] by
-
- 1 copy in tags/Safari-609.3.5.0.1
Tag Safari-609.3.5.0.1.
- 2:03 PM Changeset in webkit [263285] by
-
- 4 edits in trunk/Source
AX: web process crash in AXObjectCache::postNotification.
https://bugs.webkit.org/show_bug.cgi?id=213398
Reviewed by Chris Fleizach.
AXObjectCache was being instantiated on the AX secondary thread.
Therefore the timers for the different delayed notifications where
initialized with the secondary thread. When postNotification was triggered
on the main thread as it should, and the timer was accessed, the timer
would assert/crash for being accessed in a thread different than where
it was created. This change guaranties that AXObjectCache is always
created on the main thread.
Source/WebCore:
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::enableAccessibility):
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::postNotification):
Source/WebKit:
- WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:
(-[WKAccessibilityWebPageObjectBase axObjectCache]):
(-[WKAccessibilityWebPageObjectBase accessibilityPluginObject]):
(-[WKAccessibilityWebPageObjectBase accessibilityRootObjectWrapper]):
(-[WKAccessibilityWebPageObjectBase setWebPage:]):
(-[WKAccessibilityWebPageObjectBase setHasMainFramePlugin:]):
(-[WKAccessibilityWebPageObjectBase setRemoteParent:]):
- 2:03 PM Changeset in webkit [263284] by
-
- 5 edits in trunk/Source/ThirdParty/ANGLE
[ANGLE] Correct Catalyst guards
https://bugs.webkit.org/show_bug.cgi?id=211410
<rdar://problem/62891185>
Reviewed by Dean Jackson.
- src/libANGLE/renderer/gl/eagl/DeviceEAGL.cpp: Do not compile on Mac.
- src/libANGLE/renderer/gl/eagl/DeviceEAGL.h: Definitions should not be available on Mac.
- src/libANGLE/renderer/gl/eagl/DisplayEAGL.h: Definitions should not be available on Mac.
- src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm: Do not compile on Mac.
- 2:00 PM Changeset in webkit [263283] by
-
- 3 edits1 add in trunk
Make $vm properties non-configurable, non-enumerable, and non-writable.
https://bugs.webkit.org/show_bug.cgi?id=213395
Reviewed by Saam Barati and Yusuke Suzuki.
JSTests:
- stress/dollarVM-properties-should-not-be-enumerable.js: Added.
Source/JavaScriptCore:
$vm provides functions for test development and VM debugging. There's no reason
for them to be configurable, enumerable, and writable.
We particularly don't want them to be enumerable as this can trip up some fuzzers.
Fuzzers should not be fuzzing the $vm object which doesn't exist in real world
uses of JavaScriptCore.
- tools/JSDollarVM.cpp:
(JSC::JSDollarVM::finishCreation):
(JSC::JSDollarVM::addFunction):
(JSC::JSDollarVM::addConstructibleFunction):
- 1:13 PM Changeset in webkit [263282] by
-
- 2 edits in trunk/Source/WebCore
[iOS] RenderThemeIOS::cssValueToSystemColorMap() does an unnecessary linear search under systemColorFromCSSValueID()
https://bugs.webkit.org/show_bug.cgi?id=213396
Reviewed by Timothy Hatcher.
RenderThemeIOS::cssValueToSystemColorMap() does an unnecessary linear search under systemColorFromCSSValueID().
cssValueToSystemColorMap() already has the selector, yet it passes a CSSValueID to systemColorFromCSSValueID() which
then does a linear search to match the CSSValueID to a selector. This was very inefficient / unfortunate.
This patch introduces a systemColorFromCSSValueIDSelector() which takes in a selector instead of a CSSValueID. I have
also moved the constructor of the LocalCurrentTraitCollection variable to the call site so that we don't keep
constructing / destroying it for each loop iteration. The traces show us spending a lot of time in its constructor /
destructor.
- rendering/RenderThemeIOS.mm:
(WebCore::systemColorFromCSSValueIDSelector):
(WebCore::RenderThemeIOS::cssValueToSystemColorMap):
- 12:59 PM Changeset in webkit [263281] by
-
- 33 edits in trunk
[WebGL2] Uniform Buffer Objects
https://bugs.webkit.org/show_bug.cgi?id=209518
Patch by James Darpinian <James Darpinian> on 2020-06-19
Reviewed by Dean Jackson.
All uniform buffer object conformance tests pass.
Implemented Uniform Buffer Object related functions:
bindBufferBase, bindBufferRange, getUniformIndices, getActiveUniforms, getUniformBlockIndex,
getActiveUniformBlockParameter, getActiveUniformBlockName, uniformBlockBinding
Additionally, fixed many tangentially related issues:
getIntegeri_v and getInteger64i_v were not present.
drawArraysInstances and drawElementsInstanced did not work for WebGL 2.
drawRangeElements was not implemented.
WebGLAny did not support Vector<unsigned>, so Uint32Arrays could not be returned from WebGL functions.
The maximum uniform location length was wrong for WebGL 2.
Transform feedback indexed binding points weren't being tracked.
Some functions in ExtensionsGLANGLE didn't call makeContextCurrent.
New WebGL 2 buffer usage types COPY and READ weren't supported in bufferData.
pause/resumeTransformFeedback were unimplemented.
getParameter(READ_BUFFER) was unimplemented.
readBuffer conformance test was incorrect.
- bindings/js/JSDOMConvertWebGL.cpp:
(WebCore::convertToJSValue):
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::~WebGL2RenderingContext):
(WebCore::WebGL2RenderingContext::initializeNewContext):
(WebCore::WebGL2RenderingContext::drawRangeElements):
(WebCore::WebGL2RenderingContext::setIndexedBufferBinding):
(WebCore::WebGL2RenderingContext::bindBufferBase):
(WebCore::WebGL2RenderingContext::bindBufferRange):
(WebCore::WebGL2RenderingContext::getIndexedParameter):
(WebCore::WebGL2RenderingContext::getUniformIndices):
(WebCore::WebGL2RenderingContext::getActiveUniforms):
(WebCore::WebGL2RenderingContext::getUniformBlockIndex):
(WebCore::WebGL2RenderingContext::getActiveUniformBlockParameter):
(WebCore::WebGL2RenderingContext::getActiveUniformBlockName):
(WebCore::WebGL2RenderingContext::uniformBlockBinding):
- html/canvas/WebGL2RenderingContext.h:
- html/canvas/WebGLAny.h:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::validateLocationLength):
(WebCore::WebGLRenderingContextBase::validateBufferDataParameters):
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didFinishLoading):
- platform/graphics/GraphicsContextGL.h:
- platform/graphics/angle/ExtensionsGLANGLE.cpp:
(WebCore::ExtensionsGLANGLE::getTranslatedShaderSourceANGLE):
(WebCore::ExtensionsGLANGLE::blitFramebuffer):
(WebCore::ExtensionsGLANGLE::renderbufferStorageMultisample):
(WebCore::ExtensionsGLANGLE::drawBuffersEXT):
(WebCore::ExtensionsGLANGLE::getBooleanvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getBufferParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getFloatvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getFramebufferAttachmentParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getIntegervRobustANGLE):
(WebCore::ExtensionsGLANGLE::getProgramivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getRenderbufferParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getShaderivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getTexParameterfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getTexParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getUniformfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getUniformivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getVertexAttribfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getVertexAttribivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getVertexAttribPointervRobustANGLE):
(WebCore::ExtensionsGLANGLE::readPixelsRobustANGLE):
(WebCore::ExtensionsGLANGLE::texImage2DRobustANGLE):
(WebCore::ExtensionsGLANGLE::texParameterfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::texParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::texSubImage2DRobustANGLE):
(WebCore::ExtensionsGLANGLE::compressedTexImage2DRobustANGLE):
(WebCore::ExtensionsGLANGLE::compressedTexSubImage2DRobustANGLE):
(WebCore::ExtensionsGLANGLE::compressedTexImage3DRobustANGLE):
(WebCore::ExtensionsGLANGLE::compressedTexSubImage3DRobustANGLE):
(WebCore::ExtensionsGLANGLE::texImage3DRobustANGLE):
(WebCore::ExtensionsGLANGLE::texSubImage3DRobustANGLE):
(WebCore::ExtensionsGLANGLE::getQueryivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getQueryObjectuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getBufferPointervRobustANGLE):
(WebCore::ExtensionsGLANGLE::getIntegeri_vRobustANGLE):
(WebCore::ExtensionsGLANGLE::getInternalformativRobustANGLE):
(WebCore::ExtensionsGLANGLE::getVertexAttribIivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getVertexAttribIuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getUniformuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getActiveUniformBlockivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getInteger64vRobustANGLE):
(WebCore::ExtensionsGLANGLE::getInteger64i_vRobustANGLE):
(WebCore::ExtensionsGLANGLE::getBufferParameteri64vRobustANGLE):
(WebCore::ExtensionsGLANGLE::samplerParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::samplerParameterfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getSamplerParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getSamplerParameterfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getFramebufferParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getProgramInterfaceivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getBooleani_vRobustANGLE):
(WebCore::ExtensionsGLANGLE::getMultisamplefvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getTexLevelParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getTexLevelParameterfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getPointervRobustANGLERobustANGLE):
(WebCore::ExtensionsGLANGLE::readnPixelsRobustANGLE):
(WebCore::ExtensionsGLANGLE::getnUniformfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getnUniformivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getnUniformuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::texParameterIivRobustANGLE):
(WebCore::ExtensionsGLANGLE::texParameterIuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getTexParameterIivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getTexParameterIuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::samplerParameterIivRobustANGLE):
(WebCore::ExtensionsGLANGLE::samplerParameterIuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getSamplerParameterIivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getSamplerParameterIuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getQueryObjectivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getQueryObjecti64vRobustANGLE):
(WebCore::ExtensionsGLANGLE::getQueryObjectui64vRobustANGLE):
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLOpenGL::getIntegeri_v):
(WebCore::GraphicsContextGLOpenGL::getInteger64v):
(WebCore::GraphicsContextGLOpenGL::getInteger64i_v):
(WebCore::GraphicsContextGLOpenGL::drawArraysInstanced):
(WebCore::GraphicsContextGLOpenGL::drawElementsInstanced):
(WebCore::GraphicsContextGLOpenGL::getUniformBlockIndex):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockiv):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockName):
(WebCore::GraphicsContextGLOpenGL::uniformBlockBinding):
(WebCore::GraphicsContextGLOpenGL::drawRangeElements):
(WebCore::GraphicsContextGLOpenGL::pauseTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::resumeTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::bindBufferRange):
(WebCore::GraphicsContextGLOpenGL::getUniformIndices):
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp:
(WebCore::GraphicsContextGLOpenGL::getIntegeri_v):
- platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp:
(WebCore::GraphicsContextGLOpenGL::getInteger64v):
(WebCore::GraphicsContextGLOpenGL::getInteger64i_v):
- 12:52 PM Changeset in webkit [263280] by
-
- 2 edits in trunk/Source/WTF
-Wsign-compare in isValidOptionSet
https://bugs.webkit.org/show_bug.cgi?id=213383
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-06-19
Reviewed by Darin Adler.
The OptionSet's StorageType is always unsigned, even if the enum's underlying value is not.
Match this in isValidOptionSet to avoid -Wsign-compare during validity checking.
- wtf/OptionSet.h:
(WTF::isValidOptionSet):
- 12:39 PM Changeset in webkit [263279] by
-
- 15 edits2 moves2 adds in branches/safari-610.1.17-branch
Reintroduce content to branch.
This reverts r263238.
- 11:43 AM Changeset in webkit [263278] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Drop std::call_once() from RenderThemeIOS::cssValueToSystemColorMap()
https://bugs.webkit.org/show_bug.cgi?id=213392
Reviewed by Geoffrey Garen.
Drop std::call_once() from RenderThemeIOS::cssValueToSystemColorMap() since this function
is always called from the main thread.
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::cssValueToSystemColorMap):
- 11:07 AM Changeset in webkit [263277] by
-
- 2 edits in trunk/Source/JavaScriptCore
functionCpuClflush checks that the second argument is Int32 but it actually expects it to be UInt32
https://bugs.webkit.org/show_bug.cgi?id=213388
Patch by Tuomas Karkkainen <tuomas.webkit@apple.com> on 2020-06-19
Reviewed by Saam Barati.
This changes the check from isInt32() to isUInt32() so that the logic is consistent.
- tools/JSDollarVM.cpp:
- 10:15 AM Changeset in webkit [263276] by
-
- 3 edits in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Update test expectations after r263268.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- 10:11 AM Changeset in webkit [263275] by
-
- 8 edits in trunk
AX: Make isolated tree enablement status dependent on client preference
https://bugs.webkit.org/show_bug.cgi?id=213355
<rdar://problem/64506577>
Reviewed by Zalan Bujtas.
Source/WebKit:
We don't want the isolated tree mode in all clients (like Mail or Dictionary).
As a result, we can set this setting to off and allow safari and mini browser turn on more directly.
- Shared/WebPreferences.yaml:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _setAccessibilityIsolatedTreeEnabled:]):
(-[WKPreferences _accessibilityIsolatedTreeEnabled]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
(WebKit::InjectedBundle::setAccessibilityIsolatedTreeEnabled):
- WebProcess/InjectedBundle/InjectedBundle.h:
Tools:
- MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate defaultConfiguration]):
- 10:07 AM Changeset in webkit [263274] by
-
- 4 edits in trunk/Source
Enable referrer policy attribute support by default
https://bugs.webkit.org/show_bug.cgi?id=213285
Patch by Rob Buis <rbuis@igalia.com> on 2020-06-19
Reviewed by Youenn Fablet.
Enable referrer policy attribute support by default by flipping the switch.
Source/WebCore:
- page/RuntimeEnabledFeatures.h:
Source/WebKit:
- Shared/WebPreferences.yaml:
- 9:45 AM Changeset in webkit [263273] by
-
- 2 edits in trunk/WebDriverTests
[WebDriver][GTK] Some tests fails to click elements because element is outside visible rect
https://bugs.webkit.org/show_bug.cgi?id=211330
Unreviewed test gardening.
These tests have been passing since r262861 landed.
- TestExpectations.json:
- 9:34 AM Changeset in webkit [263272] by
-
- 3 edits in trunk/Source/WebKit
LibWebRTCSocketClient::sendTo is too verbose in case of error
https://bugs.webkit.org/show_bug.cgi?id=213380
Reviewed by Eric Carlson.
Only log error message if the error code is different from the previous one.
- NetworkProcess/webrtc/LibWebRTCSocketClient.cpp:
(WebKit::LibWebRTCSocketClient::sendTo):
- NetworkProcess/webrtc/LibWebRTCSocketClient.h:
- 9:30 AM Changeset in webkit [263271] by
-
- 3 edits in trunk/Source/WebKit
Web Inspector: RemoteInspector::singleton() slows down MobileSafari launch
https://bugs.webkit.org/show_bug.cgi?id=213381
<rdar://problem/64533003>
Reviewed by Darin Adler.
RemoteInspector::singleton() is expensive according to traces. It was called in WebProcessPool::initializeNewWebProcess()
which happens on MobileSafari launch because we prewarm a WebProcess. However, there is no reason to initialize remote
Web Inspector at this point. Per associated comment, Remote Web Inspector needs to be initialized once there is a
sub process hosting one of our Web View. As a result, I moved the initialization call to WebPageProxy::initializeWebPage()
which is when we actually send the IPC to the WebProcess to create the WebPage that is backing the UI-side WebView.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::initializeWebPage):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::initializeNewWebProcess):
- 9:21 AM Changeset in webkit [263270] by
-
- 13 edits in trunk/Source
Move Prefixed WebAudio interfaces behind their own feature flag
https://bugs.webkit.org/show_bug.cgi?id=213356
Reviewed by Darin Adler.
Source/WebCore:
Move Prefixed WebAudio interfaces behind their own feature flag, on by default. This will
allow us to easily disable the prefixed API and will also allow it to live independently
from the unprefixed API.
- Modules/webaudio/AudioContext.idl:
- Modules/webaudio/WebKitAudioContext.idl:
- Modules/webaudio/WebKitAudioPannerNode.idl:
- Modules/webaudio/WebKitOfflineAudioContext.idl:
- bindings/js/WebCoreBuiltinNames.h:
- page/Settings.yaml:
Source/WebKit:
- Shared/WebPreferences.yaml:
Source/WebKitLegacy/mac:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKitLegacy/win:
- WebView.cpp:
(WebView::notifyPreferencesChanged):
- 9:18 AM Changeset in webkit [263269] by
-
- 2 edits in trunk/Source/WebKit
Enable stale-while-revalidate support by default
https://bugs.webkit.org/show_bug.cgi?id=213286
Patch by Rob Buis <rbuis@igalia.com> on 2020-06-19
Reviewed by Youenn Fablet.
Enable stale-while-revalidate support for Mac/GTK/WPE by changing the default
to true. Note that platforms that do not support speculative loads, which s-w-r
relies on, will not see any change in bahavior.
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
- 8:39 AM Changeset in webkit [263268] by
-
- 3 edits2 adds in trunk
[LFC][TFC] Do not special-case empty tables
https://bugs.webkit.org/show_bug.cgi?id=213378
Reviewed by Antti Koivisto.
Source/WebCore:
Now that min/max-width support is added, empty tables can just go through the normal width computation path.
Test: fast/layoutformattingcontext/table-min-max-width-empty-content-simple.html
- layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:
(WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox):
LayoutTests:
- fast/layoutformattingcontext/table-min-max-width-empty-content-simple-expected.html: Added.
- fast/layoutformattingcontext/table-min-max-width-empty-content-simple.html: Added.
- 8:31 AM Changeset in webkit [263267] by
-
- 3 edits in trunk/Tools
Improve handling of trac downtime by commit-queue
https://bugs.webkit.org/show_bug.cgi?id=213377
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py: Load contributors.json from disk when loading from trac fails.
(ValidateCommiterAndReviewer.load_contributors_from_disk):
(ValidateCommiterAndReviewer.load_contributors_from_trac):
(ValidateCommiterAndReviewer.load_contributors):
- BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test
- 8:28 AM Changeset in webkit [263266] by
-
- 2 edits in trunk/LayoutTests
Mac wk2 Debug] webaudio/biquad-bandpass.html is flaky crashing with alert WTFCrash - WebCore::WebKitAudioContext::~WebKitAudioContext() + 654 (WebKitAudioContext.cpp:209).
https://bugs.webkit.org/show_bug.cgi?id=213375
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 7:35 AM Changeset in webkit [263265] by
-
- 7 edits in trunk
REGRESSION(r262254?): [WPE] imported/w3c/web-platform-tests/webxr/idlharness.https.window.html is failing
https://bugs.webkit.org/show_bug.cgi?id=212897
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/webxr/idlharness.https.window-expected.txt: Updated expectations.
Source/WebCore:
WPT tests were updated in r262254 and they already include the latest changes in the specs. Among others the
XR interface was renamed to XRSystem. We were already using that name in the C++ code but not in the JS interface.
The WPT update brings in another set of changes like the new XRLayer which is already not supported (I am
adding it soon in another patch). Last but not least, the new tests include checks for the XRPermissionStatus interface
which is not going to be implemented soon as it requires the Permission API which is not supported in WebKit yet. All in
all, this patch renames XR to XRSystem and marks as failing the XRLayer (temporarily) and XRPermissionStatus checks.
No new tests as there is no change in functionality.
- Modules/webxr/WebXRSystem.idl: Rename XR to XRSystem.
- bindings/js/WebCoreBuiltinNames.h: Ditto.
LayoutTests:
- platform/wpe/TestExpectations: Re-enable the idlharness.https.window.html test.
- 6:52 AM Changeset in webkit [263264] by
-
- 71 edits7 copies9 adds in trunk/WebDriverTests
[WebDriver][WPE] Update imported selenium to a version with the WPE WebDriver
https://bugs.webkit.org/show_bug.cgi?id=213263
Reviewed by Carlos Garcia Campos.
Updated Selenium tests to 0d7e57a7079c, which added the WPE WebDriver.
- imported/selenium/common/src/web/button.png: Added.
- imported/selenium/common/src/web/formPage.html:
- imported/selenium/common/src/web/inputs.html:
- imported/selenium/common/src/web/relative_locators.html: Added.
- imported/selenium/common/src/web/screen/screen.css:
- imported/selenium/common/src/web/selectableItems.html:
- imported/selenium/common/src/web/simpleTest.html:
- imported/selenium/common/src/web/upload.html:
- imported/selenium/common/src/web/upload_invisible.html:
- imported/selenium/common/src/web/xhtmlTest.html:
- imported/selenium/importer.json: Modified hash and skipped folders
- imported/selenium/py/conftest.py:
- imported/selenium/py/selenium/init.py:
- imported/selenium/py/selenium/common/exceptions.py:
- imported/selenium/py/selenium/webdriver/init.py:
- imported/selenium/py/selenium/webdriver/common/action_chains.py:
- imported/selenium/py/selenium/webdriver/common/actions/action_builder.py:
- imported/selenium/py/selenium/webdriver/common/actions/input_device.py:
- imported/selenium/py/selenium/webdriver/common/actions/interaction.py:
- imported/selenium/py/selenium/webdriver/common/actions/key_actions.py:
- imported/selenium/py/selenium/webdriver/common/actions/mouse_button.py:
- imported/selenium/py/selenium/webdriver/common/actions/pointer_actions.py:
- imported/selenium/py/selenium/webdriver/common/actions/pointer_input.py:
- imported/selenium/py/selenium/webdriver/common/alert.py:
- imported/selenium/py/selenium/webdriver/common/desired_capabilities.py:
- imported/selenium/py/selenium/webdriver/common/html5/application_cache.py:
- imported/selenium/py/selenium/webdriver/common/options.py: Added.
- imported/selenium/py/selenium/webdriver/common/proxy.py:
- imported/selenium/py/selenium/webdriver/common/timeouts.py: Added.
- imported/selenium/py/selenium/webdriver/common/utils.py:
- imported/selenium/py/selenium/webdriver/common/window.py: Copied from WebDriverTests/imported/selenium/py/selenium/init.py.
- imported/selenium/py/selenium/webdriver/remote/command.py:
- imported/selenium/py/selenium/webdriver/remote/errorhandler.py:
- imported/selenium/py/selenium/webdriver/remote/remote_connection.py:
- imported/selenium/py/selenium/webdriver/remote/switch_to.py:
- imported/selenium/py/selenium/webdriver/remote/utils.py:
- imported/selenium/py/selenium/webdriver/remote/webdriver.py:
- imported/selenium/py/selenium/webdriver/remote/webelement.py:
- imported/selenium/py/selenium/webdriver/safari/permissions.py: Copied from WebDriverTests/imported/selenium/py/selenium/init.py.
- imported/selenium/py/selenium/webdriver/safari/remote_connection.py: Copied from WebDriverTests/imported/selenium/py/test/selenium/webdriver/remote/remote_firefox_profile_tests.py.
- imported/selenium/py/selenium/webdriver/safari/service.py:
- imported/selenium/py/selenium/webdriver/safari/webdriver.py:
- imported/selenium/py/selenium/webdriver/support/color.py:
- imported/selenium/py/selenium/webdriver/support/event_firing_webdriver.py:
- imported/selenium/py/selenium/webdriver/support/expected_conditions.py:
- imported/selenium/py/selenium/webdriver/support/relative_locator.py: Added.
- imported/selenium/py/selenium/webdriver/support/select.py:
- imported/selenium/py/selenium/webdriver/support/wait.py:
- imported/selenium/py/selenium/webdriver/webkitgtk/options.py:
- imported/selenium/py/selenium/webdriver/webkitgtk/webdriver.py:
- imported/selenium/py/selenium/webdriver/wpewebkit/init.py: Copied from WebDriverTests/imported/selenium/py/selenium/init.py.
- imported/selenium/py/selenium/webdriver/wpewebkit/options.py: Copied from WebDriverTests/imported/selenium/py/selenium/webdriver/webkitgtk/options.py.
- imported/selenium/py/selenium/webdriver/wpewebkit/service.py: Copied from WebDriverTests/imported/selenium/py/selenium/webdriver/safari/service.py.
- imported/selenium/py/selenium/webdriver/wpewebkit/webdriver.py: Copied from WebDriverTests/imported/selenium/py/selenium/webdriver/webkitgtk/webdriver.py.
- imported/selenium/py/test/selenium/webdriver/common/alerts_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/api_example_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/appcache_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/click_scrolling_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/cookie_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/correct_event_firing_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/driver_element_finding_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/element_attribute_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/executing_async_javascript_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/form_handling_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/frame_switching_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/interactions_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/page_load_timeout_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/page_loading_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/position_and_size_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/proxy_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/rendered_webelement_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/select_class_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/select_element_handling_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/takes_screenshots_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/timeout_tests.py: Added.
- imported/selenium/py/test/selenium/webdriver/common/typing_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/w3c_interaction_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/webdriverwait_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/window_switching_tests.py:
- imported/selenium/py/test/selenium/webdriver/common/window_tests.py:
- imported/selenium/py/test/selenium/webdriver/remote/remote_firefox_profile_tests.py:
- imported/selenium/py/test/selenium/webdriver/safari/launcher_tests.py:
- imported/selenium/py/test/selenium/webdriver/support/event_firing_webdriver_tests.py:
- imported/selenium/py/test/selenium/webdriver/support/expected_conditions_tests.py: Added.
- imported/selenium/py/test/selenium/webdriver/support/relative_by_tests.py: Added.
- 6:40 AM Changeset in webkit [263263] by
-
- 2 edits in trunk/Tools
[WPE] Warn potential issues when creating WindowViewBackend
https://bugs.webkit.org/show_bug.cgi?id=213326
Reviewed by Philippe Normand.
Make it easier to debug eventual GL issues when starting up MiniBrowser in
windowed mode.
- wpe/backends/WindowViewBackend.cpp:
(WPEToolingBackends::WaylandEGLConnection::singleton):
(WPEToolingBackends::WindowViewBackend::WindowViewBackend):
- 6:34 AM Changeset in webkit [263262] by
-
- 4 edits in trunk/LayoutTests
[GTK] Garden some flaky crashes and start expect reorg
Unreviewed test gardening.
Also start new section in the top of the file to follow the glib
expectation grouping.
- platform/gtk-wayland/TestExpectations:
- platform/gtk/TestExpectations:
- platform/glib/TestExpectations:
- 6:18 AM Changeset in webkit [263261] by
-
- 5 edits in trunk/Tools
[webkitpy][WPE] Default to headless if _display_server is xfvb
https://bugs.webkit.org/show_bug.cgi?id=213327
Reviewed by Philippe Normand.
Xvfb is used as the default display server for some scripts, and the
equivalent for WPE is the headless one.
WTR and the API tests already create only HeadlessViewBackends, but the
WebDriver tests create them through MiniBrowser, which requires the
'--headless' parameter.
- Scripts/run-webdriver-tests: Do not override _display_server
- Scripts/webkitpy/port/base.py:
(Port.init): Define _display_server for all ports to avoid
eventually needing to override it.
- Scripts/webkitpy/port/wpe.py:
(WPEPort.init): Default to 'headless' if _display_server is 'xvfb'
- Scripts/webkitpy/w3c/wpt_runner.py:
(main): Dot not override _display_server
- 5:43 AM Changeset in webkit [263260] by
-
- 6 edits2 adds in trunk
[LFC][BFC] Min/max-width should always be resolved against the containing block width
https://bugs.webkit.org/show_bug.cgi?id=213365
Reviewed by Antti Koivisto.
Source/WebCore:
Even when neighboring floats shrink the available horizontal space, the min/max(normal) widths should
be resolved against the containing block's logical width.
Test: fast/layoutformattingcontext/float-avoider-available-horizontal-space2.html
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):
- layout/blockformatting/BlockFormattingContext.h:
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::computedWidthAndMargin):
- layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:
(WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox):
LayoutTests:
- fast/layoutformattingcontext/float-avoider-available-horizontal-space2-expected.html: Added.
- fast/layoutformattingcontext/float-avoider-available-horizontal-space2.html: Added.
- 5:27 AM Changeset in webkit [263259] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r253360): [GTK] Page starts loading during animation in back/forward gesture
https://bugs.webkit.org/show_bug.cgi?id=205650
Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2020-06-19
Reviewed by Carlos Garcia Campos.
r253360 changed the swipe gesture to start loading the page during the gesture, relying on
freezing the layer tree state to prevent unwanted redraws. However, it was implemented for
AC mode, but didn't prevent redraws in non-accelerated mode. Add a simple check to skip
redraws in this case.
- WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::display): Skip drawing if layer tree state is frozen.
- 12:49 AM Changeset in webkit [263258] by
-
- 17 edits in trunk
Add support for fetching registrable domains with resource load statistics
https://bugs.webkit.org/show_bug.cgi?id=213291
Source/WebKit:
Reviewed by Adrian Perez de Castro and Youenn Fablet.
WebsiteDataStore::fetchData() doesn't return anything for resource load statistics because
NetworkProcess::fetchWebsiteData() doesn't handle WebsiteDataType::ResourceLoadStatistics.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::allDomains const): Query all registrable domains from database.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::allDomains const): Return all registrable domains in memory map.
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::registrableDomains): Get the list of registrable domains.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::fetchWebsiteData): Handle WebsiteDataType::ResourceLoadStatistics.
- Shared/WebsiteData/WebsiteData.cpp:
(WebKit::WebsiteData::encode const): Encode registrableDomainsWithResourceLoadStatistics.
(WebKit::WebsiteData::decode): Decode registrableDomainsWithResourceLoadStatistics.
- Shared/WebsiteData/WebsiteData.h:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreRemoveITPDataForDomain): Use WebsiteDataRecord::addResourceLoadStatisticsRegistrableDomain()
instead of the display name.
- UIProcess/WebsiteData/WebsiteDataRecord.cpp:
(WebKit::WebsiteDataRecord::addResourceLoadStatisticsRegistrableDomain): Add the given registrable domain to the list.
- UIProcess/WebsiteData/WebsiteDataRecord.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchDataAndApply): Handle registrable domains with resource load statistics.
(WebKit::WebsiteDataStore::removeData): Use resourceLoadStatisticsRegistrableDomains instead of the display name.
Tools:
Reviewed by Adrian Perez de Castro.
Update GLib ITP unit test to check also fetch and remove.
- TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(testWebsiteDataITP):
- 12:43 AM Changeset in webkit [263257] by
-
- 2 edits in trunk/Tools
Change my (Tomoki Imai's) status to committer
Unreviewed, just updating contributors.json for myself.
- Scripts/webkitpy/common/config/contributors.json:
- 12:32 AM Changeset in webkit [263256] by
-
- 4 edits in trunk/Source/WebCore
[WebXR] unsigned long in IDL should be translated as unsigned in C++ code
https://bugs.webkit.org/show_bug.cgi?id=213020
Reviewed by Darin Adler.
The "unsigned long" type definition in IDL must be translated to unsigned in C++ code.
I'm also replacing the very long XRFrameRequestCallback::Identifier by simply unsigned as it
isn't adding anything.
No new test required as there is no change in functionality, just removing an alias.
- Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::requestAnimationFrame):
(WebCore::WebXRSession::cancelAnimationFrame):
- Modules/webxr/WebXRSession.h:
- Modules/webxr/XRFrameRequestCallback.h:
(WebCore::XRFrameRequestCallback::callbackId):
(WebCore::XRFrameRequestCallback::setCallbackId):
- 12:04 AM Changeset in webkit [263255] by
-
- 25 edits1 copy57 adds in trunk
[Cocoa] Unify "font:" CSS shorthand values between macOS and iOS family
https://bugs.webkit.org/show_bug.cgi?id=213332
<rdar://problem/64479189>
Reviewed by Tim Horton and Darin Adler.
Source/WebCore:
They exist on all Cocoa platforms, so we might as well hook them up.
This unifies the shorthand CSS value handling from RenderThemeMac and
RenderThemeIOS into RenderThemeCocoa. This has two effects:
- It hooks up the -apple-system keywords on macOS (they previously were only implemented for the iOS family).
- It hooks up the CSS2 keywords (caption, menu, etc.) on the iOS family (they previously were only implemented on Mac).
All these fonts have been around since Mojave, so there is no need to
introduce any new platform guards.
Tests: fast/text/text-styles/-apple-system/-apple-system-body.html
fast/text/text-styles/-apple-system/-apple-system-caption1.html
fast/text/text-styles/-apple-system/-apple-system-caption2.html
fast/text/text-styles/-apple-system/-apple-system-footnote.html
fast/text/text-styles/-apple-system/-apple-system-headline.html
fast/text/text-styles/-apple-system/-apple-system-short-body.html
fast/text/text-styles/-apple-system/-apple-system-short-caption1.html
fast/text/text-styles/-apple-system/-apple-system-short-footnote.html
fast/text/text-styles/-apple-system/-apple-system-short-headline.html
fast/text/text-styles/-apple-system/-apple-system-short-subheadline.html
fast/text/text-styles/-apple-system/-apple-system-subheadline.html
fast/text/text-styles/-apple-system/-apple-system-tall-body.html
fast/text/text-styles/-apple-system/-apple-system-title0.html
fast/text/text-styles/-apple-system/-apple-system-title1.html
fast/text/text-styles/-apple-system/-apple-system-title2.html
fast/text/text-styles/-apple-system/-apple-system-title3.html
fast/text/text-styles/-apple-system/-apple-system-title4.html
fast/text/text-styles/-webkit-control.html
fast/text/text-styles/-webkit-mini-control.html
fast/text/text-styles/-webkit-small-control.html
fast/text/text-styles/bogus.html
fast/text/text-styles/caption.html
fast/text/text-styles/icon.html
fast/text/text-styles/menu.html
fast/text/text-styles/message-box.html
fast/text/text-styles/small-caption.html
fast/text/text-styles/status-bar.html
- css/CSSValueKeywords.in: All Cocoa ports should be able to parse these values
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::fontWithFamilySpecialCase): Move code that used to be in the Mac and
iOS implementations of platformFontWithFamilySpecialCase() (inside FontCacheMac.mm
and FontCacheIOS.mm) to be shared to be shared inside fontWithFamilySpecialCase().
- platform/graphics/cocoa/FontDescriptionCocoa.cpp: Remove platform guards.
(WebCore::convertArray):
(WebCore::matchSystemFontUse):
- platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp: Ditto.
(WebCore::SystemFontDatabaseCoreText::createTextStyleFont):
- platform/graphics/ios/FontCacheIOS.mm: Move code from here into FontCacheCoreText.
(WebCore::platformFontWithFamilySpecialCase):
- platform/graphics/mac/FontCacheMac.mm: Ditto.
(WebCore::platformFontWithFamilySpecialCase):
- platform/mac/ThemeMac.h: Delete systemFontSizeFor(NSControlSize) because
<rdar://problem/60350699> is fixed.
- platform/mac/ThemeMac.mm: Ditto.
(WebCore::ThemeMac::controlFont const):
(WebCore::ThemeMac::systemFontSizeFor): Deleted.
- rendering/RenderThemeCocoa.h: Previously, code was calling
RenderThemeIOS::contentSizeCategory(), which was a static function. Now, both Mac
and iOS need to be able to call this. However, the implementation of this function
is different between Mac and iOS. So, turn it from a static function in RenderThemeIOS
into a method in RenderThemeCocoa, and give RenderThemeCocoa a singleton() function
that downcasts the return of RenderTheme::singleton(). This way, instead of calling
RenderThemeIOS::contentSizeCategory(), code can call
RenderThemeCocoa::singleton().contentSizeCategory().
- rendering/RenderThemeCocoa.mm: Move code from RenderThemeIOS and RenderThemeMac
into RenderThemeCocoa.
(WebCore::RenderThemeCocoa::singleton):
(WebCore::RenderThemeCocoa::cachedSystemFontDescription const):
(WebCore::cssWeightOfSystemFont):
(WebCore::RenderThemeCocoa::updateCachedSystemFontDescription const):
- rendering/RenderThemeIOS.h: Ditto.
- rendering/RenderThemeIOS.mm: Ditto.
(WebCore::RenderThemeIOS::contentSizeCategory const):
(WebCore::attachmentActionFont):
(WebCore::attachmentTitleFont):
(WebCore::RenderThemeIOS::contentSizeCategory): Deleted.
(WebCore::RenderThemeIOS::cachedSystemFontDescription const): Deleted.
(WebCore::cssWeightOfSystemFont): Deleted.
(WebCore::RenderThemeIOS::updateCachedSystemFontDescription const): Deleted.
- rendering/RenderThemeMac.h: Ditto.
- rendering/RenderThemeMac.mm: Ditto.
(WebCore::RenderThemeMac::contentSizeCategory const):
(WebCore::RenderThemeMac::setFontFromControlSize const):
(WebCore::RenderThemeMac::controlSizeForSystemFont const):
(WebCore::toFontWeight): Deleted.
(WebCore::RenderThemeMac::updateCachedSystemFontDescription const): Deleted.
Source/WebCore/PAL:
- pal/spi/cocoa/CoreTextSPI.h:
The implementation of RenderThemeMac::contentSizeCategory() needs to use
kCTFontContentSizeCategoryL.
Source/WTF:
All Cocoa platforms support kCTUIFontTextStyleTitle0 and kCTUIFontTextStyleTitle4.
- wtf/PlatformHave.h:
LayoutTests:
- TestExpectations:
- fast/text/text-styles/-apple-system/-apple-system-body-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-body.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-caption1-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-caption1.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-caption2-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-caption2.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-footnote-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-footnote.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-headline-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-headline.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-short-body-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-short-body.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-short-caption1-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-short-caption1.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-short-footnote-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-short-footnote.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-short-headline-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-short-headline.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-short-subheadline-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-short-subheadline.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-subheadline-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-subheadline.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-tall-body-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-tall-body.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-title0-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-title0.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-title1-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-title1.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-title2-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-title2.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-title3-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-title3.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-title4-expected-mismatch.html: Added.
- fast/text/text-styles/-apple-system/-apple-system-title4.html: Added.
- fast/text/text-styles/-webkit-control-expected-mismatch.html: Added.
- fast/text/text-styles/-webkit-control.html: Added.
- fast/text/text-styles/-webkit-mini-control-expected-mismatch.html: Added.
- fast/text/text-styles/-webkit-mini-control.html: Added.
- fast/text/text-styles/-webkit-small-control-expected-mismatch.html: Added.
- fast/text/text-styles/-webkit-small-control.html: Added.
- fast/text/text-styles/bogus-expected.html: Added.
- fast/text/text-styles/bogus.html: Added.
- fast/text/text-styles/caption-expected-mismatch.html: Added.
- fast/text/text-styles/caption.html: Added.
- fast/text/text-styles/icon-expected-mismatch.html: Added.
- fast/text/text-styles/icon.html: Added.
- fast/text/text-styles/menu-expected-mismatch.html: Added.
- fast/text/text-styles/menu.html: Added.
- fast/text/text-styles/message-box-expected-mismatch.html: Added.
- fast/text/text-styles/message-box.html: Added.
- fast/text/text-styles/small-caption-expected-mismatch.html: Added.
- fast/text/text-styles/small-caption.html: Added.
- fast/text/text-styles/status-bar-expected-mismatch.html: Added.
- fast/text/text-styles/status-bar.html: Added.
- platform/ios/TestExpectations:
- platform/ios/fast/css/css2-system-fonts-expected.txt:
- platform/mac/TestExpectations:
- platform/mac/fast/text/international/system-language/system-font-punctuation-expected.txt:
- platform/mac-mojave/fast/text/international/system-language/system-font-punctuation-expected.txt: Added.