Timeline
Jun 22, 2020:
- 10:55 PM Changeset in webkit [263388] by
-
- 5 edits2 adds in trunk
REGRESSION(r258741): [GTK] anchor-file-blob-download-includes-backslash.html is failing
https://bugs.webkit.org/show_bug.cgi?id=209329
Reviewed by Adrian Perez de Castro.
Source/WebCore:
Sanitize the suggested filename. We replace characters that can be problematic in filenames with '_' to match
what Chromium and Firefox do.
- platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::sanitizeFilename):
(WebCore::ResourceResponse::platformSuggestedFilename const):
LayoutTests:
Rebaseline tests.
- platform/gtk/TestExpectations:
- platform/gtk/fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-backslash-expected.txt: Added.
- platform/gtk/fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-doublequote-expected.txt: Added.
- platform/gtk/fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-slashes-expected.txt:
- 10:51 PM Changeset in webkit [263387] by
-
- 2 edits in trunk/Tools
[GTK] MiniBrowser: set a base directory for website data and cache
https://bugs.webkit.org/show_bug.cgi?id=213368
Reviewed by Michael Catanzaro.
Stop using the default ones.
- MiniBrowser/gtk/main.c:
(activate):
- 10:49 PM Changeset in webkit [263386] by
-
- 14 edits in trunk
[GTK][WPE] Add API to configure and handle DOM cache to WebKitWebsiteDataManager
https://bugs.webkit.org/show_bug.cgi?id=213337
Reviewed by Adrian Perez de Castro.
Source/WebKit:
The default path is always used even for apps setting a base data directory. We should handle
WebsiteDataType::DOMCache to configure the directory and allow to fetch and clear it.
- UIProcess/API/glib/WebKitWebsiteData.cpp:
(recordContainsSupportedDataTypes):
(toWebKitWebsiteDataTypes):
- UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
(webkitWebsiteDataManagerGetProperty):
(webkitWebsiteDataManagerSetProperty):
(webkitWebsiteDataManagerConstructed):
(webkit_website_data_manager_class_init):
(webkitWebsiteDataManagerGetDataStore):
(webkit_website_data_manager_get_dom_cache_directory):
(toWebsiteDataTypes):
- UIProcess/API/gtk/WebKitWebsiteData.h:
- UIProcess/API/gtk/WebKitWebsiteDataManager.h:
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
- UIProcess/API/wpe/WebKitWebsiteData.h:
- UIProcess/API/wpe/WebKitWebsiteDataManager.h:
- UIProcess/API/wpe/docs/wpe-1.0-sections.txt:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::websiteDataStoreFromSessionID): GTK and WPE ports don't use the default website
data store, so only use it when it already exists. Use the process pool website data store instead.
Tools:
Handle new website data in MiniBrowser and add a unit test.
- MiniBrowser/gtk/main.c:
(gotWebsiteDataCallback):
- TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(testWebsiteDataConfiguration):
(testWebsiteDataDOMCache):
(beforeAll):
- TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::Test):
- 10:27 PM Changeset in webkit [263385] by
-
- 2 edits in trunk/Source/JavaScriptCore
Attempt to fix watchOS simulator build.
- assembler/FastJITPermissions.h:
(threadSelfRestrictRWXToRW):
(threadSelfRestrictRWXToRX):
- 10:04 PM Changeset in webkit [263384] by
-
- 5 edits in trunk/Tools
[ews] Add JSC-Only builders for MIPS and ARMv7 architectures
https://bugs.webkit.org/show_bug.cgi?id=213366
Reviewed by Aakash Jain.
In a follow-up patch the built product of these bots will be consumed
by the EWS JSC-Only testing bots.
- BuildSlaveSupport/ews-build/config.json:
- BuildSlaveSupport/ews-build/factories.py:
(JSCBuildFactory):
(JSCBuildFactory.init):
- BuildSlaveSupport/ews-build/factories_unittest.py:
(TestBuildFactory):
(TestBuildFactory.test_jsc_mipsel_factory):
(TestBuildFactory.test_jsc_armv7_factory):
- BuildSlaveSupport/ews-build/loadConfig.py:
- 9:13 PM Changeset in webkit [263383] by
-
- 22 edits in trunk/Source
Storage Access API: Add the capability to call the Storage Access API as a quirk, on behalf of websites that should be doing it themselves
https://bugs.webkit.org/show_bug.cgi?id=213418
<rdar://problem/64549429>
Reviewed by Alex Christensen.
Source/WebCore:
No new tests. This patch adds quirks for specific websites.
The general functionality that's touched has tests under
LayoutTests/http/tests/storageAccess/.
- dom/Document.h:
(WebCore::Document::isTopDocument const):
New convenience function.
(WebCore::Document::setUserDidInteractWithPage):
Use of the new convenience function.
(WebCore::Document::userDidInteractWithPage const):
Use of the new convenience function.
- dom/DocumentStorageAccess.cpp:
(WebCore::DocumentStorageAccess::hasStorageAccessQuickCheck):
(WebCore::DocumentStorageAccess::hasStorageAccess):
(WebCore::DocumentStorageAccess::hasStorageAccessForDocumentQuirk):
(WebCore::DocumentStorageAccess::requestStorageAccess):
(WebCore::DocumentStorageAccess::requestStorageAccessQuickCheck):
(WebCore::DocumentStorageAccess::requestStorageAccessForDocumentQuirk):
(WebCore::DocumentStorageAccess::requestStorageAccessForNonDocumentQuirk):
(WebCore::DocumentStorageAccess::requestStorageAccessQuirk):
These functions are split up to allow quirks to call directly into the
implementation of the Storage Access API without the JavaScript
promise that goes with the web API. It also allows for quirks to call
the API without an iframe document.
- dom/DocumentStorageAccess.h:
- dom/Element.cpp:
(WebCore::Element::dispatchMouseEvent):
The two existing quirks are for click events.
- loader/ResourceLoadObserver.h:
(WebCore::ResourceLoadObserver::setDomainsWithUserInteraction):
(WebCore::ResourceLoadObserver::hasHadUserInteraction const):
These two new functions allow the Storage Access API quirks
to synchronously check if it's worth calling the API or not.
If there has been no user interaction for the requesting
domain, there is no need to call the API.
- page/Quirks.cpp:
(WebCore::Quirks::triggerOptionalStorageAccessQuirk const):
This is the new quirks function, hiding the specifics of
certain elements clicked and for which websites. It also
calls the Storage Access API.
- page/Quirks.h:
Source/WebKit:
These changes are for forwarding ITP's knowledge of user interaction
for specific quirks domains to the WebKit::WebProcessPool where it in
turn can be distributed to all existing and new Web Content processes.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::needsUserInteractionQuirk const):
(WebKit::WebResourceLoadStatisticsStore::callUpdatePrevalentDomainsToBlockCookiesForHandler):
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- Shared/WebProcessDataStoreParameters.h:
(WebKit::WebProcessDataStoreParameters::encode const):
(WebKit::WebProcessDataStoreParameters::decode):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setDomainsWithUserInteraction):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::webProcessDataStoreParameters):
(WebKit::WebProcessPool::setDomainsWithUserInteraction):
- UIProcess/WebProcessPool.h:
- WebProcess/WebCoreSupport/WebResourceLoadObserver.cpp:
(WebKit::WebResourceLoadObserver::hasHadUserInteraction const):
- WebProcess/WebCoreSupport/WebResourceLoadObserver.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::setWebsiteDataStoreParameters):
(WebKit::WebProcess::setDomainsWithUserInteraction):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- 9:00 PM Changeset in webkit [263382] by
-
- 2 edits in trunk/WebDriverTests
[WebDriver][GTK] Mark two scrolling tests as fail
Unreviewed test gardening.
They are failing because element.location expects Get_Element_Rect to
return page coordinates instead of the browsing context coordinates.
There an open issue at https://github.com/w3c/webdriver/issues/1533
to clarify the correct behavior. Meanwhile, we should mark them as
failure.
The change that introduced this new behavior was r262997, and its bug
is used as the reference bug for these expectations.
- TestExpectations.json:
- 8:25 PM Changeset in webkit [263381] by
-
- 26 edits3 copies in trunk
Introduce BaseAudioContext interface
https://bugs.webkit.org/show_bug.cgi?id=213491
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline WPT test now that more checks are passing.
- web-platform-tests/webaudio/idlharness.https.window-expected.txt:
Source/WebCore:
Introduce BaseAudioContext interface as per W3C WebAudio specification:
No new tests, rebaselined existing test.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::close):
(WebCore::AudioContext::createMediaElementSource):
(WebCore::AudioContext::createMediaStreamSource):
(WebCore::AudioContext::createMediaStreamDestination):
- Modules/webaudio/AudioContext.h:
- Modules/webaudio/AudioContext.idl:
- Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::contextForBindings const):
- Modules/webaudio/AudioNode.h:
- Modules/webaudio/AudioNode.idl:
- Modules/webaudio/BaseAudioContext.cpp: Copied from Source/WebCore/Modules/webaudio/AudioContext.cpp.
(WebCore::BaseAudioContext::isSampleRateRangeGood):
(WebCore::AudioContextBase::AudioContextBase):
(WebCore::BaseAudioContext::BaseAudioContext):
(WebCore::BaseAudioContext::constructCommon):
(WebCore::BaseAudioContext::~BaseAudioContext):
(WebCore::BaseAudioContext::lazyInitialize):
(WebCore::BaseAudioContext::clear):
(WebCore::BaseAudioContext::uninitialize):
(WebCore::BaseAudioContext::isInitialized const):
(WebCore::BaseAudioContext::addReaction):
(WebCore::BaseAudioContext::setState):
(WebCore::BaseAudioContext::stop):
(WebCore::BaseAudioContext::suspend):
(WebCore::BaseAudioContext::resume):
(WebCore::BaseAudioContext::activeDOMObjectName const):
(WebCore::AudioContextBase::document const):
(WebCore::BaseAudioContext::hostingDocumentIdentifier const):
(WebCore::BaseAudioContext::isSuspended const):
(WebCore::BaseAudioContext::visibilityStateChanged):
(WebCore::BaseAudioContext::wouldTaintOrigin const):
(WebCore::BaseAudioContext::createBuffer):
(WebCore::BaseAudioContext::decodeAudioData):
(WebCore::BaseAudioContext::createBufferSource):
(WebCore::BaseAudioContext::createScriptProcessor):
(WebCore::BaseAudioContext::createBiquadFilter):
(WebCore::BaseAudioContext::createWaveShaper):
(WebCore::BaseAudioContext::createPanner):
(WebCore::BaseAudioContext::createConvolver):
(WebCore::BaseAudioContext::createDynamicsCompressor):
(WebCore::BaseAudioContext::createAnalyser):
(WebCore::BaseAudioContext::createGain):
(WebCore::BaseAudioContext::createDelay):
(WebCore::BaseAudioContext::createChannelSplitter):
(WebCore::BaseAudioContext::createChannelMerger):
(WebCore::BaseAudioContext::createOscillator):
(WebCore::BaseAudioContext::createPeriodicWave):
(WebCore::BaseAudioContext::notifyNodeFinishedProcessing):
(WebCore::BaseAudioContext::derefFinishedSourceNodes):
(WebCore::BaseAudioContext::refNode):
(WebCore::BaseAudioContext::derefNode):
(WebCore::BaseAudioContext::derefUnfinishedSourceNodes):
(WebCore::BaseAudioContext::lock):
(WebCore::BaseAudioContext::tryLock):
(WebCore::BaseAudioContext::unlock):
(WebCore::BaseAudioContext::isAudioThread const):
(WebCore::BaseAudioContext::isGraphOwner const):
(WebCore::BaseAudioContext::addDeferredFinishDeref):
(WebCore::BaseAudioContext::handlePreRenderTasks):
(WebCore::BaseAudioContext::handlePostRenderTasks):
(WebCore::BaseAudioContext::handleDeferredFinishDerefs):
(WebCore::BaseAudioContext::markForDeletion):
(WebCore::BaseAudioContext::scheduleNodeDeletion):
(WebCore::BaseAudioContext::deleteMarkedNodes):
(WebCore::BaseAudioContext::markSummingJunctionDirty):
(WebCore::BaseAudioContext::removeMarkedSummingJunction):
(WebCore::BaseAudioContext::eventTargetInterface const):
(WebCore::BaseAudioContext::markAudioNodeOutputDirty):
(WebCore::BaseAudioContext::handleDirtyAudioSummingJunctions):
(WebCore::BaseAudioContext::handleDirtyAudioNodeOutputs):
(WebCore::BaseAudioContext::addAutomaticPullNode):
(WebCore::BaseAudioContext::removeAutomaticPullNode):
(WebCore::BaseAudioContext::updateAutomaticPullNodes):
(WebCore::BaseAudioContext::processAutomaticPullNodes):
(WebCore::AudioContextBase::scriptExecutionContext const):
(WebCore::BaseAudioContext::nodeWillBeginPlayback):
(WebCore::shouldDocumentAllowWebAudioToAutoPlay):
(WebCore::BaseAudioContext::willBeginPlayback):
(WebCore::BaseAudioContext::willPausePlayback):
(WebCore::BaseAudioContext::startRendering):
(WebCore::BaseAudioContext::mediaCanStart):
(WebCore::BaseAudioContext::mediaState const):
(WebCore::BaseAudioContext::pageMutedStateDidChange):
(WebCore::BaseAudioContext::isPlayingAudioDidChange):
(WebCore::BaseAudioContext::finishedRendering):
(WebCore::BaseAudioContext::dispatchEvent):
(WebCore::BaseAudioContext::incrementActiveSourceCount):
(WebCore::BaseAudioContext::decrementActiveSourceCount):
(WebCore::BaseAudioContext::suspendRendering):
(WebCore::BaseAudioContext::resumeRendering):
(WebCore::BaseAudioContext::suspendPlayback):
(WebCore::BaseAudioContext::mayResumePlayback):
(WebCore::BaseAudioContext::postTask):
(WebCore::BaseAudioContext::origin const):
(WebCore::BaseAudioContext::addConsoleMessage):
(WebCore::BaseAudioContext::clearPendingActivity):
(WebCore::BaseAudioContext::makePendingActivity):
(WebCore::BaseAudioContext::logChannel const):
- Modules/webaudio/BaseAudioContext.h: Copied from Source/WebCore/Modules/webaudio/AudioContext.h.
(WebCore::AudioContextBase::AutoLocker::AutoLocker):
(WebCore::AudioContextBase::AutoLocker::~AutoLocker):
(WebCore::BaseAudioContext::destination):
(WebCore::BaseAudioContext::activeSourceCount const):
(WebCore::BaseAudioContext::listener):
(WebCore::BaseAudioContext::state const):
(WebCore::BaseAudioContext::isClosed const):
(WebCore::BaseAudioContext::connectionCount const):
(WebCore::BaseAudioContext::audioThread const):
(WebCore::BaseAudioContext::maxNumberOfChannels):
(WebCore::BaseAudioContext::destinationNode const):
(WebCore::BaseAudioContext::userGestureRequiredForAudioStart const):
(WebCore::BaseAudioContext::pageConsentRequiredForAudioStart const):
(isType):
- Modules/webaudio/BaseAudioContext.idl: Copied from Source/WebCore/Modules/webaudio/AudioContext.idl.
- Modules/webaudio/OfflineAudioContext.cpp:
(WebCore::OfflineAudioContext::OfflineAudioContext):
- Modules/webaudio/OfflineAudioContext.h:
- Modules/webaudio/OfflineAudioContext.idl:
- Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::PannerNode):
- Modules/webaudio/PannerNode.h:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
- dom/EventTargetFactory.in:
- testing/Internals.cpp:
(WebCore::Internals::setAudioContextRestrictions):
- testing/Internals.h:
- testing/Internals.idl:
- 6:28 PM Changeset in webkit [263380] by
-
- 21 edits1 add in trunk
Allow building JavaScriptCore Mac+arm64 in public SDK build
https://bugs.webkit.org/show_bug.cgi?id=213472
Reviewed by Sam Weinig.
.:
- Source/cmake/OptionsFTW.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
We used to only builld code for fast permission switching when using the
Apple internal SDK. However, with arm64 on macOS, this is no longer a viable
implementation strategy.
This patch makes it so we can build JSC on macOS+arm64 using the public Xcode
SDK.
- ENABLE_FAST_JIT_PERMISSIONS is removed. We now use runtime checks instead.
- In the new suite of OS betas, pthreads has added API for fast permissions switching. We now use this API instead of using the non-public SDK found in the kernel headers.
- We fall back to the separated W/X heaps when fast permissions checking is not supported. This all happens at runtime.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::fillNops):
- assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::fillNops):
- assembler/FastJITPermissions.h: Added.
(useFastJITPermissions):
(threadSelfRestrictRWXToRW):
(threadSelfRestrictRWXToRX):
(fastJITPermissionsIsSupported):
- assembler/LinkBuffer.cpp:
(JSC::memcpyWrapper):
(JSC::LinkBuffer::copyCompactAndLinkCode):
- assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::fillNops):
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::link):
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::link):
- jit/ExecutableAllocator.cpp:
(JSC::initializeJITPageReservation):
- jit/ExecutableAllocator.h:
(JSC::performJITMemcpy):
(JSC::useFastJITPermissions): Deleted.
- runtime/JSCConfig.h:
- runtime/Options.cpp:
(JSC::Options::recomputeDependentOptions):
- runtime/OptionsList.h:
Source/WTF:
- wtf/PlatformEnable.h:
- wtf/PlatformEnableCocoa.h:
- wtf/PlatformHave.h:
- 6:23 PM Changeset in webkit [263379] by
-
- 3 edits2 deletes in trunk
[Win] fast/dom/Window/alert-with-unmatched-utf16-surrogate-should-not-crash.html is failing
https://bugs.webkit.org/show_bug.cgi?id=213452
Reviewed by Yusuke Suzuki.
Tools:
If window.alert() was given an invalid UTF-16 sequence, Windows
DumpRenderTree output it without any conversions. It should output
"(null)" to match with WebKitTestRunner behavior.
- DumpRenderTree/win/UIDelegate.cpp:
(toMessage): Added
(UIDelegate::runJavaScriptAlertPanelWithMessage):
(UIDelegate::runJavaScriptConfirmPanelWithMessage):
(UIDelegate::runJavaScriptTextInputPanelWithPrompt):
(UIDelegate::runBeforeUnloadConfirmPanelWithMessage):
(UIDelegate::setStatusText):
LayoutTests:
- platform/win/fast/dom/Window/alert-with-unmatched-utf16-surrogate-should-not-crash-expected.txt: Removed.
- platform/wincairo/fast/dom/Window/alert-with-unmatched-utf16-surrogate-should-not-crash-expected.txt: Removed.
- 4:54 PM Changeset in webkit [263378] by
-
- 4 edits in trunk/Source/WebCore
AXIsolatedTree::generateSubtree should properly assign the generated subtree to its parent node.
https://bugs.webkit.org/show_bug.cgi?id=213435
Reviewed by Darin Adler.
AXIsolatedTree::generateSubtree now properly updates the children IDs
of the parent node of the subtree being generated.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::generateIsolatedTree):
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateChildrenIDs):
(WebCore::AXIsolatedTree::generateSubtree): Takes the parent object
instead of the parent ID. This allows to retrieve the children IDs of
the parent object.
(WebCore::AXIsolatedTree::createSubtree):
(WebCore::AXIsolatedTree::updateSubtree):
(WebCore::AXIsolatedTree::updateChildren):
(WebCore::AXIsolatedTree::setRootNode):
(WebCore::AXIsolatedTree::removeSubtree):
(WebCore::AXIsolatedTree::appendNodeChanges): R-value parameter instead
of by reference.
- accessibility/isolatedtree/AXIsolatedTree.h:
- 4:44 PM Changeset in webkit [263377] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: adjust height of undocked title area to match macOS Big Sur
https://bugs.webkit.org/show_bug.cgi?id=213490
Reviewed by Timothy Hatcher.
- UserInterface/Views/Variables.css:
(body.mac-platform:not(.big-sur):not(.docked)): Added.
(body.mac-platform.big-sur:not(.docked)): Added.
(body.mac-platform:not(.docked)): Deleted.
- UserInterface/Base/Platform.js:
Add logic for detecting macOS Big Sur (and Catalina).
- 4:43 PM Changeset in webkit [263376] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Elements: Node: use a
WI.ContextMenuinstead of a<select>for listener filtering
https://bugs.webkit.org/show_bug.cgi?id=213492
Reviewed by Timothy Hatcher.
- UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WI.DOMNodeDetailsSidebarPanel.prototype.initialLayout):
(WI.DOMNodeDetailsSidebarPanel.prototype._populateEventListenersFilterContextMenu): Added.
- UserInterface/Views/DOMNodeDetailsSidebarPanel.css:
(.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter > select): Deleted.
- Localizations/en.lproj/localizedStrings.js:
- 4:42 PM Changeset in webkit [263375] by
-
- 4 edits in trunk/Source/ThirdParty/libwebrtc
libwebrtc fails to build on arm64
https://bugs.webkit.org/show_bug.cgi?id=213476
Reviewed by Maciej Stachowiak.
- Configurations/libvpx.xcconfig:
- Configurations/libwebrtc.xcconfig:
- Configurations/opus.xcconfig:
Use architecture conditionals instead of SDK conditionals for code that is
architecture-dependent.
Remove an macOS-version-dependent definition of EXCLUDED_SOURCE_FILE_NAMES
which is no longer used after r232665.
- 4:01 PM Changeset in webkit [263374] by
-
- 2 edits in trunk/Source/WebKit
[macOS] WebPageProxy::setPromisedDataForImage should sanitize its filename
https://bugs.webkit.org/show_bug.cgi?id=213486
<rdar://problem/56522262>
Reviewed by Megan Gardner.
Ensure that the filename passed into WebPageProxy::setPromisedDataForImage is sanitized in the UI process prior
to being used as a suggested filename when writing a dragged image to the pasteboard.
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::setPromisedDataForImage):
- 3:25 PM Changeset in webkit [263373] by
-
- 3 edits in trunk/Source/WebKit
WebEx can not share video from Safari on arm64
https://bugs.webkit.org/show_bug.cgi?id=213481
Reviewed by Dean Jackson.
- UIProcess/UserMediaProcessManager.cpp:
(WebKit::needsAppleCameraService):
(WebKit::UserMediaProcessManager::willCreateMediaStream):
(WebKit::UserMediaProcessManager::revokeSandboxExtensionsIfNeeded):
Pass sandbox extension for "com.apple.applecamerad" to the Web Content
process after the user allows camera access, when running on hardware which requires it.
- WebProcess/com.apple.WebProcess.sb.in:
Make it possible to dynamically extend the sandbox as above.
- 3:17 PM Changeset in webkit [263372] by
-
- 2 edits in trunk/Source/WebKit
Cannot play back encrypted media on arm64
https://bugs.webkit.org/show_bug.cgi?id=213483
Reviewed by Jer Noble and Per Arne Vollan.
- WebProcess/com.apple.WebProcess.sb.in:
Extend the sandbox as necessary for encrypted media support.
- 3:17 PM Changeset in webkit [263371] by
-
- 2 edits in trunk/Source/bmalloc
Only use vm_kernel_page_size on arm architectures
https://bugs.webkit.org/show_bug.cgi?id=213474
Reviewed by Sam Weinig.
We don't want to use this under catalyst.
- bmalloc/VMAllocate.h:
(bmalloc::vmPageSizePhysical):
- 3:17 PM Changeset in webkit [263370] by
-
- 2 edits in trunk/Source/WTF
Fix the build
- wtf/TranslatedProcess.h:
(WTF::isX86BinaryRunningOnARM):
- 2:57 PM Changeset in webkit [263369] by
-
- 2 edits in trunk/Source/WebKit
[WPE][GTK] Public API should not allow trying to register a special URI scheme
https://bugs.webkit.org/show_bug.cgi?id=209900
<rdar://problem/61200217>
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-06-22
Reviewed by Adrian Perez de Castro
Epiphany prior to 3.36 registers a scheme handler for ftp. This introduced criticals. Let's
use g_warning() instead, and avoid hardcoding the list of disallowed schemes.
- UIProcess/API/glib/WebKitWebContext.cpp:
(webkit_web_context_register_uri_scheme):
- 2:55 PM Changeset in webkit [263368] by
-
- 2 edits in trunk/Tools
[ macOS iOS ] (r263321): TestWebKitAPI.SleepDisabler.Load & TestWebKitAPI.SleepDisabler.Reload are constant failures
https://bugs.webkit.org/show_bug.cgi?id=213475
<rdar://problem/64603555>
Reviewed by Eric Carlson.
Looks like the SleepDisabler can come and go while the TestWebKitAPI process is spinning, so make the
Reload and Load tests more deterministic by only checking SleepDisabler after getting a "playing" message
from the WebContent process.
- TestWebKitAPI/Tests/WebKit/SleepDisabler.mm:
(SleepDisabler::runAndWaitUntilPlaying):
(SleepDisabler::loadPlayingPage):
(TEST_F):
- 2:53 PM Changeset in webkit [263367] by
-
- 2 edits in trunk/Tools
resultsdbpy: Make architecture differences explicit
https://bugs.webkit.org/show_bug.cgi?id=213473
<rdar://problem/64602736>
Rubber-stamped by Aakash Jain.
- resultsdbpy/resultsdbpy/view/static/js/configuration.js:
(Configuration.prototype.toString):
- 2:24 PM Changeset in webkit [263366] by
-
- 3 edits in trunk/Source/WebKit
dlopen() always fails on arm64, cannot load soft-linked libraries
https://bugs.webkit.org/show_bug.cgi?id=213480
Reviewed by Alexey Proskuryakov and Per Arne Vollan.
- Shared/mac/AuxiliaryProcessMac.mm:
(WebKit::initializeSandboxParameters):
Expose the auxiliary process' CPU family as a parameter to the sandbox profile,
so that it can be used to predicate sandbox expressions.
- WebProcess/com.apple.WebProcess.sb.in:
Allow mremap_encrypted from the Web Content process, because the arm64 dlopen() needs it.
- 2:05 PM Changeset in webkit [263365] by
-
- 6 edits1 add in trunk/Source
Disable the JS JIT when running in a translated process
https://bugs.webkit.org/show_bug.cgi?id=213478
Reviewed by Saam Barati.
Source/JavaScriptCore:
- runtime/Options.cpp:
(JSC::Options::recomputeDependentOptions):
Based on our performance experiements, disable the JavaScript JIT
(but not the regular expression, DOM, or Wasm JIT) when running
in a translated process.
Source/WTF:
- wtf/PlatformHave.h:
- wtf/TranslatedProcess.h: Added.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
Add a helper function that can be used to determine that the current process
is being translated; currently the only case is an x86_64 process running on arm64e.
- 1:48 PM Changeset in webkit [263364] by
-
- 65 edits in trunk
Update macOS version macros
https://bugs.webkit.org/show_bug.cgi?id=213484
Reviewed by Alexey Proskuryakov.
Source/bmalloc:
- Configurations/Base.xcconfig:
- Configurations/DebugRelease.xcconfig:
Source/JavaScriptCore:
- Configurations/Base.xcconfig:
- Configurations/DebugRelease.xcconfig:
- Configurations/Version.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig:
Source/ThirdParty:
- gtest/xcode/Config/DebugProject.xcconfig:
- gtest/xcode/Config/ReleaseProject.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/Base.xcconfig:
- Configurations/DebugRelease.xcconfig:
- Configurations/Version.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig:
Source/ThirdParty/libwebrtc:
- Configurations/Base.xcconfig:
- Configurations/DebugRelease.xcconfig:
- Configurations/Version.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig:
Source/WebCore:
- Configurations/Base.xcconfig:
- Configurations/DebugRelease.xcconfig:
- Configurations/Version.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig:
Source/WebCore/PAL:
- Configurations/Base.xcconfig:
- Configurations/DebugRelease.xcconfig:
- Configurations/Version.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig:
Source/WebInspectorUI:
- Configurations/DebugRelease.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig:
Source/WebKit:
- Configurations/Base.xcconfig:
- Configurations/DebugRelease.xcconfig:
- Configurations/Version.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/Base.xcconfig:
- Configurations/DebugRelease.xcconfig:
- Configurations/Version.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig:
Source/WTF:
- Configurations/Base.xcconfig:
- Configurations/DebugRelease.xcconfig:
Tools:
- ContentExtensionTester/Configurations/Base.xcconfig:
- ContentExtensionTester/Configurations/DebugRelease.xcconfig:
- DumpRenderTree/mac/Configurations/Base.xcconfig:
- DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
- ImageDiff/cg/Configurations/Base.xcconfig:
- ImageDiff/cg/Configurations/DebugRelease.xcconfig:
- MiniBrowser/Configurations/Base.xcconfig:
- MiniBrowser/Configurations/DebugRelease.xcconfig:
- TestWebKitAPI/Configurations/Base.xcconfig:
- TestWebKitAPI/Configurations/DebugRelease.xcconfig:
- WebEditingTester/Configurations/Base.xcconfig:
- WebEditingTester/Configurations/DebugRelease.xcconfig:
- WebKitTestRunner/Configurations/Base.xcconfig:
- WebKitTestRunner/Configurations/DebugRelease.xcconfig:
- lldb/lldbWebKitTester/Configurations/Base.xcconfig:
- lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:
- 1:46 PM Changeset in webkit [263363] by
-
- 3 edits in trunk/Source/WebKit
sysctl() fails due to sandbox violation
https://bugs.webkit.org/show_bug.cgi?id=213482
Reviewed by Maciej Stachowiak.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
Extend the sandbox as necessary to make sysctl calls work.
- 1:24 PM Changeset in webkit [263362] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
WebGL cannot create a context if there is no GPU on the PCIe bus
https://bugs.webkit.org/show_bug.cgi?id=213479
Reviewed by Maciej Stachowiak and Dean Jackson.
- src/gpu_info_util/SystemInfo_macos.mm:
(angle::GetSystemInfo):
Do not bail from WebGL initialization if there are no GPUs on the PCIe bus.
Instead, continue on to context creation, and allow the system frameworks
to return an error if there truly is no GPU.
- 1:22 PM Changeset in webkit [263361] by
-
- 5 edits in trunk/Tools
API Test WeakLinking.WeakImport fails on arm64
https://bugs.webkit.org/show_bug.cgi?id=213477
Reviewed by Alexey Proskuryakov.
- TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd:
- TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS.tbd:
- TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-macOS-v2.tbd:
- TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-macOS.tbd:
Add this architecture to the TBD files.
- 12:59 PM Changeset in webkit [263360] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r263121): [ Catalina Debug ] media/video-fullscreen-only-playback.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=213407
<rdar://problem/64545587>
Unreviewed speculative change as I have not been able to reproduce the reported bug.
- media/video-fullscreen-only-playback.html:
- 12:26 PM Changeset in webkit [263359] by
-
- 7 edits in trunk
Added getFloatTimeDomainData method to AnalyserNode
https://bugs.webkit.org/show_bug.cgi?id=213393
Patch by Clark Wang <clark_wang@apple.com> on 2020-06-22
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Re-baselined test to show a new passing test.
- web-platform-tests/webaudio/idlharness.https.window-expected.txt:
Source/WebCore:
Added getFloatTimeDomainData method, as per spec: https://www.w3.org/TR/webaudio/#analysernode.
Implementation of RealtimeAnalyser::getFloatTimeDomainData(Float32Array* destinationArray) is based on:
https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/modules/webaudio/realtime_analyser.cc.
Removed nullable option from some AnalyserNode methods.
Re-baselined existing tests to show new passing test.
- Modules/webaudio/AnalyserNode.h:
- Modules/webaudio/AnalyserNode.idl:
- Modules/webaudio/RealtimeAnalyser.cpp:
(WebCore::RealtimeAnalyser::getFloatFrequencyData):
(WebCore::RealtimeAnalyser::getByteFrequencyData):
(WebCore::RealtimeAnalyser::getFloatTimeDomainData):
(WebCore::RealtimeAnalyser::getByteTimeDomainData):
- Modules/webaudio/RealtimeAnalyser.h:
- 11:58 AM Changeset in webkit [263358] by
-
- 2 edits in trunk/Tools
Bring up watchOS/tvOS on build.webkit.org (Follow-up fix x3)
https://bugs.webkit.org/show_bug.cgi?id=213402
<rdar://problem/64542588>
Reviewed by Alexey Proskuryakov.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): 64 bit is more correct for watchOS embedded builds.
- 10:43 AM Changeset in webkit [263357] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, re-landing r262904.
r263223 should fix the test flakiness we saw.
Re-landed changeset:
"[Cocoa] Build callOnMainThread on WTF::RunLoop rather than on
a timer"
https://bugs.webkit.org/show_bug.cgi?id=213063
https://trac.webkit.org/changeset/262904
- 10:20 AM Changeset in webkit [263356] by
-
- 16 edits8 adds in trunk
Add referrerpolicy attribute support for <link>
https://bugs.webkit.org/show_bug.cgi?id=213342
Patch by Rob Buis <rbuis@igalia.com> on 2020-06-22
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Fix wrong resource file name usage.
- web-platform-tests/referrer-policy/generic/multiple-headers-and-values.html:
- web-platform-tests/referrer-policy/generic/multiple-headers-combined.html:
- web-platform-tests/referrer-policy/generic/multiple-headers-one-invalid.html:
- web-platform-tests/referrer-policy/generic/multiple-headers-one-unknown-token.html:
- web-platform-tests/referrer-policy/generic/multiple-headers.html:
Source/WebCore:
Add support for referrerpolicy attribute handling on
link prefetch/preload/stylesheet.
Tests: http/tests/security/referrer-policy-attribute-style-no-referrer.html
http/wpt/preload/refferer-policy.html
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::setReferrerPolicyForBindings):
(WebCore::HTMLLinkElement::referrerPolicyForBindings const):
(WebCore::HTMLLinkElement::referrerPolicy const):
- html/HTMLLinkElement.h:
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
- html/parser/HTMLResourcePreloader.cpp:
(WebCore::PreloadRequest::resourceRequest):
- loader/LinkLoader.cpp:
(WebCore::LinkLoader::loadLinksFromHeader):
(WebCore::LinkLoader::preloadIfNeeded):
(WebCore::LinkLoader::prefetchIfNeeded):
- loader/LinkLoader.h:
LayoutTests:
Add a tests for <link rel="stylesheet">, <link rel="preload"> and the
referrerpolicy attribute.
Unskip the referrer-policy/generic/link-rel-prefetch.html test.
- TestExpectations:
- http/tests/security/referrer-policy-attribute-style-no-referrer-expected.html: Added.
- http/tests/security/referrer-policy-attribute-style-no-referrer.html: Added.
- http/tests/security/resources/green-background.css: Added.
(body):
- http/tests/security/resources/green-if-no-referrer-css.php: Added.
- http/tests/security/resources/pass-if-no-referrer.php: Added.
- http/wpt/preload/refferer-policy-expected.txt: Added.
- http/wpt/preload/refferer-policy.html: Added.
- http/wpt/preload/resources/referrer-img.py: Added.
(main):
- 10:01 AM Changeset in webkit [263355] by
-
- 2 edits in trunk/Source/WebCore
Fix build error with release build and "#define LOG_DISABLED 0"
https://bugs.webkit.org/show_bug.cgi?id=213420
Reviewed by Sam Weinig.
AnimationBase::updateStateMachine() uses LOG_ERROR so needs to test ERROR_DISABLED not LOG_DISABLED.
- page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::updateStateMachine):
- 9:58 AM Changeset in webkit [263354] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r263150): http/tests/ssl/applepay/ApplePayInstallmentItems.https.html is failing
https://bugs.webkit.org/show_bug.cgi?id=213466
<rdar://problem/64537600>
Reviewed by Tim Horton.
- http/tests/ssl/applepay/ApplePayInstallmentItems.https.html: Restored two lines of code
that were accidentally removed in r263150 and are necessary for the test to pass.
- 9:34 AM Changeset in webkit [263353] by
-
- 7 edits in trunk
Fix the case of "null type Blob slice" in wpt/FileAPI/blob/Blob-slice.html
https://bugs.webkit.org/show_bug.cgi?id=213370
Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-06-22
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/FileAPI/blob/Blob-slice-expected.txt:
Source/WebCore:
- fileapi/Blob.h:
(WebCore::Blob::slice const):
Remove unnecessary default arguments
These default arguments are introduced in r83873
but we don't need them because WebIDL binding handles them.
- fileapi/Blob.idl:
- Update the definition of
Blob.slice()to match the latest spec. https://w3c.github.io/FileAPI/#blob-section
- We should use empty string as a default value by step 4-a of https://w3c.github.io/FileAPI/#dfn-slice
- In the previous code, we use
optional DOMString?for the _contentType_ arguments forBlob.slice(). Then, our codegen generates a code which usesconvert<IDLNullable<IDLDOMString>>and it returnsString()if the JS value isnull. This caused the failure case in this change.
LayoutTests:
- http/tests/local/fileapi/send-sliced-dragged-file-expected.txt:
- http/tests/local/fileapi/send-sliced-dragged-file.html:
- 9:31 AM Changeset in webkit [263352] by
-
- 3 edits in trunk/Source/WebCore
Code cleanup in WebAccessibilityObjectWrapper updateObjectBackingStore and position.
https://bugs.webkit.org/show_bug.cgi?id=213438
Reviewed by Darin Adler.
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase updateObjectBackingStore]):
Removed unnecessary call to axBackingObject.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper position]):
Check for isIsolatedTreeEnabled instead of for the request thread,
since isolated tree mode = 1 runs on the main thread.
- 9:15 AM Changeset in webkit [263351] by
-
- 6 edits in trunk
[WebRTC] Add support for freeze/pause receiver stats
https://bugs.webkit.org/show_bug.cgi?id=212938
<rdar://problem/64141493>
Reviewed by Eric Carlson.
Source/WebCore:
Covered by updated tests.
Receiver stats are useful to check for freezes.
Let's introduce it in 'track' stats for now, we will later on move all
'receiver' stats to its own object once we fully align with spec.
- Modules/mediastream/RTCStatsReport.h:
- Modules/mediastream/RTCStatsReport.idl:
- Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.cpp:
(WebCore::fillRTCMediaStreamTrackStats):
LayoutTests:
- webrtc/video-mediastreamtrack-stats.html:
- 9:09 AM Changeset in webkit [263350] by
-
- 2 edits in trunk/Source/WebCore
Image
crossoriginmutations should be considered "relevant mutations"
https://bugs.webkit.org/show_bug.cgi?id=213335
Patch by Rob Buis <rbuis@igalia.com> on 2020-06-22
Reviewed by Darin Adler.
As follow up to r263345, this check is not needed after all since the for loop
already does the same check.
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::bestFitSourceFromPictureElement):
- 8:26 AM Changeset in webkit [263349] by
-
- 21 edits in trunk/Source/WebCore
Unreviewed, reverting r263331.
This commit was causing 50+ iOS debug tests to crash.
Reverted changeset:
"Convert DateComponents parsing code to use Optional based
return values rather than out-parameters"
https://bugs.webkit.org/show_bug.cgi?id=213440
https://trac.webkit.org/changeset/263331
- 8:06 AM Changeset in webkit [263348] by
-
- 3 edits in trunk/LayoutTests
[ macOS iOS ] REGRESSION: fast/mediastream/mediastrea mtrack-video-frameRate-clon e-increasing.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=213461
Unreviewed test gardening
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 7:32 AM Changeset in webkit [263347] by
-
- 2 edits in trunk/Tools
[ews] Switch contributors.json url from trac to svn server
https://bugs.webkit.org/show_bug.cgi?id=213457
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(ValidateCommiterAndReviewer):
(ValidateCommiterAndReviewer.load_contributors_from_trac):
- 5:28 AM Changeset in webkit [263346] by
-
- 7 edits2 adds in trunk
[WebXR] Add a preliminary implementation of XRWebGLLayer
https://bugs.webkit.org/show_bug.cgi?id=213022
Reviewed by Carlos Garcia Campos.
LayoutTests/imported/w3c:
Added new expectations.
- web-platform-tests/webxr/xrWebGLLayer_constructor.https-expected.txt: Added.
- web-platform-tests/webxr/xrWebGLLayer_framebuffer_sameObject.https-expected.txt: Added.
Source/WebCore:
Added a preliminary implementation of XRWebGLLayer. It does not have any functionality at the moment so
it cannot be used to render WebXR stuff. This patch adds all the machinery required to create and properly
initialize the layer according to the spec.
Two new wpt tests are passing now.
- Modules/webxr/WebXRSession.h: Expose session mode.
- Modules/webxr/WebXRWebGLLayer.cpp:
(WebCore::WebXRWebGLLayer::create): Implemented spec for XRWebGLLayer creation.
(WebCore::WebXRWebGLLayer::computeNativeWebGLFramebufferResolution): Added with mock implementation.
(WebCore::WebXRWebGLLayer::computeRecommendedWebGLFramebufferResolution): Added.
(WebCore::WebXRWebGLLayer::WebXRWebGLLayer):
(WebCore::WebXRWebGLLayer::framebuffer const): Returned type should be a pointer.
(WebCore::WebXRWebGLLayer::framebufferWidth const): Return framebuffer width if available, otherwise return
the base context width.
(WebCore::WebXRWebGLLayer::framebufferHeight const): Ditto but with heights.
(WebCore::WebXRWebGLLayer::getNativeFramebufferScaleFactor): Implemented.
- Modules/webxr/WebXRWebGLLayer.h: New methods and type adjustments.
LayoutTests:
- platform/wpe/TestExpectations: Added 2 more tests that are passing now.
- 3:49 AM Changeset in webkit [263345] by
-
- 10 edits in trunk
Image
crossoriginmutations should be considered "relevant mutations"
https://bugs.webkit.org/show_bug.cgi?id=213335
Patch by Rob Buis <rbuis@igalia.com> on 2020-06-22
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update improved test result.
- web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/drawimage_crossorigin.sub-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations-expected.txt:
Source/WebCore:
Make crossorigin attribute's state changes relevant mutations [1]. This change
also fixes several picture related mutations to be relevant [2].
Test: imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations.html
[1] https://html.spec.whatwg.org/#reacting-to-dom-mutations:attr-img-crossorigin
[2] https://html.spec.whatwg.org/#reacting-to-dom-mutations
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::bestFitSourceFromPictureElement):
(WebCore::HTMLImageElement::evaluateDynamicMediaQueryDependencies):
(WebCore::HTMLImageElement::selectImageSource):
(WebCore::parseCrossoriginState):
(WebCore::HTMLImageElement::attributeChanged):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::insertedIntoAncestor):
(WebCore::HTMLImageElement::removedFromAncestor):
- html/HTMLImageElement.h:
- html/HTMLPictureElement.cpp:
(WebCore::HTMLPictureElement::sourcesChanged):
- html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedIntoAncestor):
(WebCore::HTMLSourceElement::removedFromAncestor):
(WebCore::HTMLSourceElement::parseAttribute):
- html/HTMLSourceElement.h:
- loader/ImageLoader.h:
- 2:23 AM Changeset in webkit [263344] by
-
- 2 edits in trunk/Tools
[Flatpak SDK] Persist sccache auth token across flatpak updates
https://bugs.webkit.org/show_bug.cgi?id=213427
Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-22
Reviewed by Žan Doberšek.
After a successful flatpak update check if an sccache auth token exists and reuse it when
updating the sccache config file.
- flatpak/flatpakutils.py:
(WebkitFlatpak.save_config):
- 12:50 AM Changeset in webkit [263343] by
-
- 4 edits in trunk/LayoutTests
[GTK] Ping attribute tests have been timeout since r204720
https://bugs.webkit.org/show_bug.cgi?id=162017
Reviewed by Adrian Perez de Castro.
The tests are using "TouchEvent" in window to check whether it's a touch screen and use
uiController.singleTapAtPoint() instead of the eventSender. TouchEvent is always added to the window object when
building with touch events enabled, which is the case of the GTK port. However, the ontouch event handlers are
added at runtime only when there's an actual touch screen (EnabledAtRuntime=TouchEvents). So, we can check
"ontouchstart" in window instead.
- http/tests/inspector/network/ping-type.html:
- http/tests/navigation/ping-attribute/resources/utilities.js:
(clickElement):
- platform/gtk/TestExpectations:
- 12:18 AM Changeset in webkit [263342] by
-
- 2 edits in trunk/Source/WebKit
WebKit fails to leave audio routing arbitration during navigation, closing.
https://bugs.webkit.org/show_bug.cgi?id=213426
<rdar://problem/64395051>
Unreviewed build fix for an unannotated switch fall-through between switch labels.
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _audioRoutingArbitrationStatus]):
Jun 21, 2020:
- 11:51 PM Changeset in webkit [263341] by
-
- 3 edits in trunk/Source/WTF
[WTF] Ensure ASCIILiteral is ASCII characters at compile time
https://bugs.webkit.org/show_bug.cgi?id=213449
Reviewed by Ross Kirsling.
The purpose of ASCIILiteral is ensure that this is compile-time (do not need to consider about ownership) ASCII characters.
By usingisASCIIandASSERT_UNDER_CONSTEXPR_CONTEXT, we can make sure that this C string does not include non ASCII characters.
For example,
auto globalVariable = "ラーメン (Ramen in Japanese)"_s;
becomes compile error.
- wtf/ASCIICType.h:
(WTF::isASCII):
- wtf/text/ASCIILiteral.h:
(WTF::StringLiterals::operator _s):
- 11:50 PM Changeset in webkit [263340] by
-
- 5 edits in trunk
[WTF] URL should support dataLog
https://bugs.webkit.org/show_bug.cgi?id=213450
Reviewed by Mark Lam.
Source/WTF:
Add URL::dump(PrintStream&) to support
dataLog(url)which is extremely useful for WTF / JSC developers.
- wtf/URL.cpp:
(WTF::URL::dump const):
- wtf/URL.h:
Tools:
Add test for URL::dump.
- TestWebKitAPI/Tests/WTF/URL.cpp:
(TestWebKitAPI::TEST_F):
- 9:43 PM Changeset in webkit [263339] by
-
- 2 edits in trunk/WebDriverTests
[WebDriver][GTK] Some executing_async_javascript_tests.py tests are failing with TimeoutExceptions
https://bugs.webkit.org/show_bug.cgi?id=211496
Unreviewed test gardening.
The two tests started passing with the updated selenium imported
tests from r263264;
- TestExpectations.json:
- 9:41 PM Changeset in webkit [263338] by
-
- 2 edits in trunk/WebDriverTests
WebDriver: several tests in imported/selenium/py/test/selenium/webdriver/common/visibility_tests.py fail
https://bugs.webkit.org/show_bug.cgi?id=182334
Unreviewed test gardening.
The last two remaining tests from this bug started passing after the
imported selenium tests were updated in r263264.
- TestExpectations.json:
- 9:39 PM Changeset in webkit [263337] by
-
- 2 edits in trunk/WebDriverTests
WebDriver: two selenium alert tests are failing
https://bugs.webkit.org/show_bug.cgi?id=181727
Unreviewed test gardening.
These tests also have been passing since r262861.
- TestExpectations.json:
- 9:38 PM Changeset in webkit [263336] by
-
- 2 edits in trunk/WebDriverTests
[WebDriver][GTK] Gardening failures related to missing selenium files
Unreviewed test gardening.
The relative_by_tests require some JS fragments built by Bazel,
Selenium's build tool.
- TestExpectations.json:
- 3:58 PM Changeset in webkit [263335] by
-
- 2 edits in trunk/JSTests
Attempt to unskip stress test array-buffer-view-watchpoint-can-be-fired-really-add-in-dfg.js on most architectures
https://bugs.webkit.org/show_bug.cgi?id=213433
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-06-21
Reviewed by Darin Adler.
- stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js:
- 3:47 PM Changeset in webkit [263334] by
-
- 43 edits in trunk/Source/WebCore
Convert much of the SVG string parsing code to use Optional based return values rather than out-parameters
https://bugs.webkit.org/show_bug.cgi?id=213416
Reviewed by Darin Adler.
Update SVG parsers to use Optional style return programming rather than out parameters.
To make things even nicer, SVGPathSource based parsers now have a type per-parse function,
which makes working with them much easier. In the future, we should consider exanding these
new types to be used by SVGPathConsumer family of classes as well.
- WebCore.xcodeproj/project.pbxproj:
Add SVGPathSegValue.h, which was missing from the Xcode project.
- svg/SVGAngleValue.cpp:
(WebCore::parseAngleType):
(WebCore::SVGAngleValue::setValueAsString):
Adopt updated parseNumber() function, and do a drive by removal of an easy to remove
upconvertedCharacters.
- svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::calculateToAtEndOfDurationValue):
(WebCore::SVGAnimateMotionElement::calculateFromAndToValues):
(WebCore::SVGAnimateMotionElement::calculateFromAndByValues):
(WebCore::SVGAnimateMotionElement::calculateDistance):
Now uses new parsePoint() function. Using Optional.valueOr() where
the old code would have had parsePoint() doing the clearing.
- svg/SVGAnimationElement.cpp:
(WebCore::parseKeySplines):
Now returns an Optional<Vector<UnitBezier>>.
(WebCore::SVGAnimationElement::parseAttribute):
Now uses new parseKeySplines, and does an explicit clear on parse failure (old code
did it implicitly in the parse function).
- svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::parseAttribute):
- svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::parseAttribute):
- svg/SVGFEDropShadowElement.cpp:
(WebCore::SVGFEDropShadowElement::parseAttribute):
- svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::parseAttribute):
- svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::parseAttribute):
- svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::parseAttribute):
- svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::parseAttribute):
Adopt Optional based parseNumberOptionalNumber.
- svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::parseAttribute):
- svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::parseAttribute):
Simplify by using the SVGPreserveAspectRatioValue constructor
which calls parse. No need for three lines.
- svg/SVGFitToViewBox.cpp:
(WebCore::SVGFitToViewBox::parseAttribute):
Adopt new Optional based parseViewBox.
Simplify by using the SVGPreserveAspectRatioValue constructor
which calls parse. No need for three lines.
(WebCore::SVGFitToViewBox::parseViewBox):
Convert to be Optional based, and adopt new parseNumber functions.
- svg/SVGFitToViewBox.h:
Updated signatures for new Optional based functions.
- svg/SVGGlyphRefElement.cpp:
(WebCore::parseFloat):
Adopt Optional based parseNumber.
- svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::buildHorizontalKerningPair const):
- svg/SVGHKernElement.h:
- svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::buildVerticalKerningPair const):
- svg/SVGVKernElement.h:
Convert to be Optional based. Update a few callers to use makeString.
- svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::addKerningPair const):
(WebCore::SVGToOTFFontConverter::appendKERNSubtable):
Adopt new Optional based kerning pair builders. Add some moves
to avoid some copies.
- svg/SVGLengthValue.cpp:
(WebCore::SVGLengthValue::setValueAsString):
Adopt Optional based parseNumber.
- svg/SVGNumberList.h:
(WebCore::SVGNumberList::parse):
Adopt Optional based parseNumber.
- svg/SVGParserUtilities.cpp:
(WebCore::genericParseNumber):
(WebCore::parseNumber):
(WebCore::genericParseArcFlag):
(WebCore::parseArcFlag):
(WebCore::parseNumberOptionalNumber):
(WebCore::parsePoint):
(WebCore::parseRect):
(WebCore::parseGlyphName):
(WebCore::parseUnicodeRange):
(WebCore::parseKerningUnicodeString):
(WebCore::genericParseFloatPoint):
(WebCore::parseFloatPoint):
(WebCore::parseSVGNumber): Deleted.
(WebCore::parseNumberFromString): Deleted.
(WebCore::parseDelimitedString): Deleted.
(WebCore::parseFloatPoint2): Deleted.
(WebCore::parseFloatPoint3): Deleted.
- svg/SVGParserUtilities.h:
(WebCore::isSVGSpace):
(WebCore::skipOptionalSVGSpaces):
(WebCore::skipOptionalSVGSpacesOrDelimiter):
- Converts parse* functions to return Optional values rather than using outparameters.
- Removes unused parseSVGNumber and parseDelimitedString.
- Removes parseFloatPoint2 and parseFloatPoint3. They weren't useful enough to keep around.
- Renames parseNumberFromString to parseNumber. The argument is a String, it's clear enough.
- Replace boolean skip parameters with new enum SuffixSkippingPolicy.
- Make parseFloatPoint have two overloads rather than being templatized to be consistent.
- svg/SVGPathBlender.cpp:
(WebCore::pullFromSources):
(WebCore::SVGPathBlender::blendMoveToSegment):
(WebCore::SVGPathBlender::blendLineToSegment):
(WebCore::SVGPathBlender::blendLineToHorizontalSegment):
(WebCore::SVGPathBlender::blendLineToVerticalSegment):
(WebCore::SVGPathBlender::blendCurveToCubicSegment):
(WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
(WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
(WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
(WebCore::SVGPathBlender::blendArcToSegment):
(WebCore::SVGPathBlender::canBlendPaths):
(WebCore::SVGPathBlender::blendAnimatedPath):
Update to adopt new SVGPathSource interface. Added pullFromSources helper
which substantially simplifies pulling from both the from and to source at
the same time and is now possible due to all the SVGPathSource functions
returning the segment types rather than taking them as out parameters.
- svg/SVGPathByteStreamSource.cpp:
(WebCore::SVGPathByteStreamSource::nextCommand):
(WebCore::SVGPathByteStreamSource::parseSVGSegmentType):
(WebCore::SVGPathByteStreamSource::parseMoveToSegment):
(WebCore::SVGPathByteStreamSource::parseLineToSegment):
(WebCore::SVGPathByteStreamSource::parseLineToHorizontalSegment):
(WebCore::SVGPathByteStreamSource::parseLineToVerticalSegment):
(WebCore::SVGPathByteStreamSource::parseCurveToCubicSegment):
(WebCore::SVGPathByteStreamSource::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathByteStreamSource::parseCurveToQuadraticSegment):
(WebCore::SVGPathByteStreamSource::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathByteStreamSource::parseArcToSegment):
- svg/SVGPathByteStreamSource.h:
Adopt new SVGPathSource interface.
- svg/SVGPathParser.cpp:
(WebCore::SVGPathParser::parseMoveToSegment):
(WebCore::SVGPathParser::parseLineToSegment):
(WebCore::SVGPathParser::parseLineToHorizontalSegment):
(WebCore::SVGPathParser::parseLineToVerticalSegment):
(WebCore::SVGPathParser::parseCurveToCubicSegment):
(WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathParser::parseCurveToQuadraticSegment):
(WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathParser::parseArcToSegment):
(WebCore::SVGPathParser::parsePathData):
Adapt to new SVGPathSource interface. Code reads a bit nicer now
that we don't have a ton of local variables in each method. Could
be made nicer in the future by adopting Segment types in the path
consumer code.
- svg/SVGPathSegListSource.cpp:
(WebCore::SVGPathSegListSource::nextCommand):
(WebCore::SVGPathSegListSource::parseSVGSegmentType):
(WebCore::SVGPathSegListSource::parseMoveToSegment):
(WebCore::SVGPathSegListSource::parseLineToSegment):
(WebCore::SVGPathSegListSource::parseLineToHorizontalSegment):
(WebCore::SVGPathSegListSource::parseLineToVerticalSegment):
(WebCore::SVGPathSegListSource::parseCurveToCubicSegment):
(WebCore::SVGPathSegListSource::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathSegListSource::parseCurveToQuadraticSegment):
(WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathSegListSource::parseArcToSegment):
- svg/SVGPathSegListSource.h:
Adopt new SVGPathSource interface.
- svg/SVGPathSource.h:
Update interface to return Optionals, with a specific type for
segment kind that be parsed.
- svg/SVGPathStringSource.cpp:
(WebCore::nextCommandHelper):
(WebCore::SVGPathStringSource::nextCommand):
(WebCore::parseSVGSegmentTypeHelper):
(WebCore::SVGPathStringSource::parseSVGSegmentType):
(WebCore::SVGPathStringSource::parseMoveToSegment):
(WebCore::SVGPathStringSource::parseLineToSegment):
(WebCore::SVGPathStringSource::parseLineToHorizontalSegment):
(WebCore::SVGPathStringSource::parseLineToVerticalSegment):
(WebCore::SVGPathStringSource::parseCurveToCubicSegment):
(WebCore::SVGPathStringSource::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathStringSource::parseCurveToQuadraticSegment):
(WebCore::SVGPathStringSource::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathStringSource::parseArcToSegment):
(WebCore::parseArcToSegmentHelper): Deleted.
- svg/SVGPathStringSource.h:
Adopt new SVGPathSource interface. Replace out of line helpers (or use of things
like parseFloatPoint2) with generic lambda helpers, helping to keep the code more
localized.
- svg/SVGPointList.h:
(WebCore::SVGPointList::parse):
Adopt Optional based parseNumber.
- svg/SVGTransformList.h:
- svg/SVGTransformable.cpp:
(WebCore::parseTransformParamList):
(WebCore::SVGTransformable::parseTransformValue):
(WebCore::SVGTransformable::parseAndSkipType):
(WebCore::SVGTransformable::parseTransformType):
- svg/SVGTransformable.h:
Convert parseTransformValue/parseAndSkipType to be Optional based.
- svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::parseViewSpec):
Adopt Optional based parseViewBox.
- svg/properties/SVGAnimationAdditiveValueFunctionImpl.h:
Adopt Optional based parseNumber.
- svg/properties/SVGPropertyTraits.h:
(WebCore::SVGPropertyTraits<float>::fromString):
(WebCore::SVGPropertyTraits<float>::parse):
(WebCore::SVGPropertyTraits<FloatPoint>::fromString):
(WebCore::SVGPropertyTraits<FloatPoint>::parse):
(WebCore::SVGPropertyTraits<FloatRect>::fromString):
(WebCore::SVGPropertyTraits<FloatRect>::parse):
Adopt Optional based parsers.
- 1:33 PM Changeset in webkit [263333] by
-
- 2 edits in trunk/Tools
[Flatpak] Nightly runner fails to extract zip files
https://bugs.webkit.org/show_bug.cgi?id=213445
Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-21
Reviewed by Darin Adler.
- Scripts/webkit-flatpak-run-nightly: Ensure the buffered zip data is written to disk before
extraction.
- 1:20 PM Changeset in webkit [263332] by
-
- 3 edits in trunk/LayoutTests
compositing/video/video-border-radius-clipping.html was a flaky failure after r263223
https://bugs.webkit.org/show_bug.cgi?id=213424
Reviewed by Darin Adler.
The last attempt to unflake this test was r253310. Let's try again.
I took a screen recording of a few hundred loads of this test @ r263222,
and it looks like it was always possible for canplaythrough and seeked
to fire before the video had rendered its first frame. So, this is a
test issue.
The screen recording seems to show that waiting for
requestAnimationFrame ensures that the video renders its first frame.
This might be for a principled system vsync reason, or just a lucky
delay. Either way, the test seems less flaky now.
This might mean that we can remove the previous seeked event workaround,
but I chose not to tempt fate, and left it in place.
- compositing/video/video-border-radius-clipping-expected.html:
- compositing/video/video-border-radius-clipping.html:
- media/video-test.js:
(_eventCallback):
(waitForEvent):
- 12:58 PM Changeset in webkit [263331] by
-
- 21 edits in trunk/Source/WebCore
Convert DateComponents parsing code to use Optional based return values rather than out-parameters
https://bugs.webkit.org/show_bug.cgi?id=213440
Reviewed by Darin Adler.
Rework DateComponents and Date/Time related InputTypes to use Optional based programming
for parsing results. Also take the opportunity to remove unicode upconversion from
DateComponent parsing and instead separate UChar and LChar variants via templates.
- html/BaseDateAndTimeInputType.cpp:
- html/BaseDateAndTimeInputType.h:
- html/DateInputType.cpp:
- html/DateInputType.h:
- html/DateTimeInputType.cpp:
- html/DateTimeInputType.h:
- html/DateTimeLocalInputType.cpp:
- html/DateTimeLocalInputType.h:
- html/HTMLInputElement.cpp:
- html/HTMLInputElement.h:
- html/InputType.cpp:
- html/InputType.h:
- html/MonthInputType.cpp:
- html/MonthInputType.h:
- html/TimeInputType.cpp:
- html/TimeInputType.h:
- html/WeekInputType.cpp:
- html/WeekInputType.h:
- Removes parseToDateComponentsInternal. No need it and parseToDateComponents.
- Makes parseToDateComponents pure virtual. The old code had a default implementations down in InputType, but it had no callers.
- Remove iOS vs. non-iOS difference for dateType(). It is now available on InputType on all platforms.
- Make setMillisecondToDateComponents and parseToDateComponents return an Optional.
- platform/DateComponents.cpp:
- platform/DateComponents.h:
- Replace member function based interfaces for parsing/setting explicit time offsets with new factory functions that return Optional<DateComponents>.
- These factories are implemented using the existing member functions, which are now private.
- Make max/min constants constexpr.
- Make parse* member functions templates to allow factory parse functions to call them without upconverting.
- Replace header guard with #pragma once.
- 11:43 AM Changeset in webkit [263330] by
-
- 1 edit3 adds in trunk/LayoutTests
fast/text/international/system-language/navigator-language/navigator-language tests are failing on Mojave
<rdar://problem/64468227>
Unreviewed test gardening.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-en-US-expected.txt: Added.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-es-ES-expected.txt: Added.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-pt-BR-expected.txt: Added.
- 10:13 AM Changeset in webkit [263329] by
-
- 3 edits2 adds in trunk
[LFC] Add basic support for width: fit-content
https://bugs.webkit.org/show_bug.cgi?id=213444
Reviewed by Antti Koivisto.
Source/WebCore:
At this point this is just a shrink-to-fit sizing (missing the case when the available horizontal space is not specified).
Test: fast/layoutformattingcontext/fit-content-width-simple.html
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::computedWidthValue):
LayoutTests:
- fast/layoutformattingcontext/fit-content-width-simple-expected.html: Added.
- fast/layoutformattingcontext/fit-content-width-simple.html: Added.
- 8:34 AM Changeset in webkit [263328] by
-
- 14 edits1 add in trunk
WebKit fails to leave audio routing arbitration during navigation, closing.
https://bugs.webkit.org/show_bug.cgi?id=213426
<rdar://problem/64395051>
Reviewed by Eric Carlson.
Source/WebCore:
When setting the AudioSession category, make sure to leave routing arbitration before bailing out early. Also,
HTMLMediaElement::canProduceAudio() should returnfalsewhen the element's document is suspended or stopped.
Otherwise, the AudioSession will continue in theMediaPlaybackcategory indefinitely, and routing arbitration
will remain active.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::canProduceAudio const):
- platform/audio/mac/AudioSessionMac.mm:
(WebCore::AudioSession::setCategory):
Source/WebKit:
Add testing SPIs to verify whether a WebPage successfully entered or left audio routing
arbitration. Notify the Arbitration proxy when the page is shut down, which ensures arbitration
will end if the client closes the WKWebView.
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _audioRoutingArbitrationStatus]):
- UIProcess/API/mac/WKWebViewTestingMac.mm:
- UIProcess/Media/AudioSessionRoutingArbitratorProxy.h:
(WebKit::AudioSessionRoutingArbitratorProxy::arbitrationStatus const):
- UIProcess/Media/cocoa/AudioSessionRoutingArbitratorProxyCocoa.mm:
(WebKit::AudioSessionRoutingArbitratorProxy::processDidTerminate):
(WebKit::AudioSessionRoutingArbitratorProxy::beginRoutingArbitrationWithCategory):
(WebKit::AudioSessionRoutingArbitratorProxy::endRoutingArbitration):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shutDown):
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::audioSessionRoutingArbitrator):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/AudioRoutingArbitration.mm: Added.
(AudioRoutingArbitration::statusShouldBecomeEqualTo):
(TEST_F):
- 6:51 AM Changeset in webkit [263327] by
-
- 6 edits2 adds in trunk
[LFC][TFC] Add support for percentage min/max-width
https://bugs.webkit.org/show_bug.cgi?id=213436
Reviewed by Antti Koivisto.
Source/WebCore:
- The table generates a principal block container box called the table wrapper box that contains the table box itself and any caption boxes.
- The table wrapper box establishes a block formatting context, and the table box establishes a table formatting context.
- The computed values of properties 'position', 'float', 'margin-*', 'top', 'right', 'bottom', and 'left' on the table element are used on the table wrapper box and not the table box; all other values of non-inheritable properties are used on the table box and not the table wrapper box.
- In a block formatting context, each box's left outer edge touches the left edge of the containing block. This is true even in the presence of floats, unless the box establishes a new block formatting context (in which case the box itself may become narrower due to the floats)
Now consider the following case:
<div style="display: block; width: 500px;">
<div style="float: left; width: 100px;"></div>
<div style="display: table; width: 10%;"></div>
</div>
- We create a table wrapper box to wrap the "display: table" block level box (#1).
- The table wrapper box's width property is set to auto (#3).
- Since it establishes a new block formatting context, the available horizontal space gets shrunk by the float (#4)
- The table wrapper box's used width computes to 500px - 100px -> 400px;
Now we are inside the BFC established by the table wrapper box and try to resolve the table's width -> %10.
According to the normal BFC rules, it should compute to 10% of the containing block's logical width: 400px -> 40px.
However in practice it computes to 50px (10% of 500px).
Similar setup with non-table content would resolve the inner block level box's width to 40px;
<div style="display: block; width: 500px">
<div style="float: left; width: 100px;"></div>
<div style="display: block; overflow: hidden;">
<div style="display: block; width: 10%"></div>
</div>
</div>
This needs clarification.
Test: fast/layoutformattingcontext/float-avoider-available-horizontal-space3.html
- layout/FormattingContext.h:
(WebCore::Layout::FormattingContext::isTableWrapperBlockFormattingContext const):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
- layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:
(WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox):
- layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.h:
LayoutTests:
- fast/layoutformattingcontext/float-avoider-available-horizontal-space3-expected.html: Added.
- fast/layoutformattingcontext/float-avoider-available-horizontal-space3.html: Added.
- 2:13 AM Changeset in webkit [263326] by
-
- 2 edits in trunk/Source/WebKit
[WPE][GTK] Specify underlying storage type for InputMethodState::Hint
https://bugs.webkit.org/show_bug.cgi?id=213401
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-06-21
Reviewed by Carlos Garcia Campos.
Using unsigned types for flags enums seems nice to do.
- Shared/glib/InputMethodState.h:
- 2:11 AM Changeset in webkit [263325] by
-
- 3 edits in trunk/Source/WebKit
[WPE][GTK] Add autocleanup for WebKitWebsitePolicies
https://bugs.webkit.org/show_bug.cgi?id=213399
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-06-21
Reviewed by Carlos Garcia Campos.
Add missing autocleanups.
- UIProcess/API/gtk/WebKitAutocleanups.h:
- UIProcess/API/wpe/WebKitAutocleanups.h: