Timeline
Apr 14, 2020:
- 11:20 PM Changeset in webkit [260118] by
-
- 10 edits3 adds in trunk
[Async overflow scroll] Backgrounds missing on gmail sometimes
https://bugs.webkit.org/show_bug.cgi?id=210506
<rdar://problem/60523869>
Reviewed by Zalan Bujtas.
Source/WebCore:
When painting the scrolled contents layers of accelerated overflow:scroll, RenderBlock::paint()
needs to not short-circuit when the dirty rect is outside a clipping rect, because accelerated
overflow involves overdraw for tiles outside the visible area.
There were two code paths that made this mostly work: overflowRectForPaintRejection() tested for
usesCompositedScrolling(), and the #if PLATFORM(IOS_FAMILY) made it work on iOS.
For content involving flexbox, overflowRectForPaintRejection() gave the wrong answer because
flex layout would sometimes clear m_overflow, even on an overflow:scroll element.
So remove overflowRectForPaintRejection(), and instead revert to the simple visualOverflowRect(),
but first check a bit that's passed down from compositing code that indicates that
we're painting the contents of composited scroll
Test: compositing/scrolling/async-overflow-scrolling/mac/overflow-in-flex-empty-tiles.html
- rendering/PaintPhase.h:
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::overflowRectForPaintRejection const): Deleted.
- rendering/RenderBox.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintForegroundForFragments):
LayoutTests:
Test with a scroller inside a flexbox; programmatically scrolls the scroller to the bottom,
then mouseWheels up to reveal new tiles.
- TestExpectations:
- compositing/scrolling/async-overflow-scrolling/mac/overflow-in-flex-empty-tiles-expected.html: Added.
- compositing/scrolling/async-overflow-scrolling/mac/overflow-in-flex-empty-tiles.html: Added.
- platform/mac/TestExpectations: Test is macOS-only because it uses wheel events.
- 10:30 PM Changeset in webkit [260117] by
-
- 2 edits in trunk/Tools
WKTR always enables capturing audio/video in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=210319
Reviewed by Tim Horton.
Capturing in the GPUProcess should be off by default. GPU capture can be enabled at runtime via
the --internal-feature flag of run-webkit-tests.
- WebKitTestRunner/TestOptions.h:
- 9:13 PM Changeset in webkit [260116] by
-
- 4 edits in trunk/Source/WebKit
File Upload Menus presented from odd locations.
https://bugs.webkit.org/show_bug.cgi?id=210523
<rdar://problem/60390846>
Use the existing context menu targeted preview code to ensure that the
file menus are presented in a good location.
Reviewed by Wenson Hsieh.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
- 8:10 PM Changeset in webkit [260115] by
-
- 2 edits in trunk/LayoutTests
[GTK] Garden media/media-source/media-source-seek-back flaky crashes
Unreviewed test gardening.
- platform/gtk/TestExpectations:
- 7:46 PM Changeset in webkit [260114] by
-
- 4 edits in trunk/Source/WebCore
Content expanding is broken on icourse163.org
https://bugs.webkit.org/show_bug.cgi?id=210510
<rdar://problem/45951820>
Reviewed by Simon Fraser.
www.icourse163.org's animation code expects a decimal point in the rAF timestamp (millisecond resolution).
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::serviceRequestAnimationFrameCallbacks):
- page/Quirks.cpp:
(WebCore::Quirks::needsMillisecondResolutionForHighResTimeStamp const):
- page/Quirks.h:
- 7:35 PM Changeset in webkit [260113] by
-
- 18 edits2 copies1 add in trunk
Web Inspector: Debugger: add a Step next that steps by expression
https://bugs.webkit.org/show_bug.cgi?id=210324
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
Step next is a hybrid of Step over and Step into which continues execution to the next pause
opportunity within the current (or ancestor) call frame. It is especially useful when trying
to debug minified code, such as trying to continue toc()ina() && b() && c();, where
Step over would continue to the next statement (i.e. after the;) and Step in would
continue to the first line insidea()(and would require a Step out to get back).
- inspector/protocol/Debugger.json:
- inspector/agents/InspectorDebuggerAgent.h:
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::stepNext): Added.
- debugger/Debugger.h:
- debugger/Debugger.cpp:
(JSC::Debugger::stepNextExpression): Added.
(JSC::Debugger::atExpression):
(JSC::Debugger::clearNextPauseState):
Source/WebInspectorUI:
Step next is a hybrid of Step over and Step into which continues execution to the next pause
opportunity within the current (or ancestor) call frame. It is especially useful when trying
to debug minified code, such as trying to continue toc()ina() && b() && c();, where
Step over would continue to the next statement (i.e. after the;) and Step in would
continue to the first line insidea()(and would require a Step out to get back).
- UserInterface/Controllers/DebuggerManager.js:
(WI.DebuggerManager.prototype.stepNext): Added.
- UserInterface/Base/Main.js:
(WI.contentLoaded):
(WI.debuggerStepNext): Added.
- UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel):
(WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerPaused):
(WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerResumed):
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Images/StepNext.svg: Added.
LayoutTests:
- inspector/debugger/stepping/stepNext.html: Added.
- inspector/debugger/stepping/stepNext-expected.txt: Added.
- inspector/debugger/stepping/stepInto.html:
- inspector/debugger/stepping/stepInto-expected.txt:
- inspector/debugger/stepping/stepOut.html:
- inspector/debugger/stepping/stepOut-expected.txt:
- inspector/debugger/stepping/stepOver.html:
- inspector/debugger/stepping/stepOver-expected.txt:
Renamed functions for clarity and added additional test cases from other commands.
- 6:24 PM Changeset in webkit [260112] by
-
- 2 edits in trunk/Source/WebKit
dictionaryValueOfType() in WebCoreArgumentCodersMac.mm can be replaced with dynamic_cf_cast<>()
<https://webkit.org/b/210456>
Reviewed by Darin Adler.
- Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::dictionaryValueOfType): Delete.
(IPC::extractDictionaryValue): Add.
- Use dynamic_cf_cast<>() in place of manually checking the CFTypeID of each object.
(IPC::createArchiveList):
- Call new extractDictionaryValue() template function to verify values are the correct types in the dictionary and to set the output variables.
- 6:08 PM Changeset in webkit [260111] by
-
- 2 edits in trunk/Source/WebKit
Use CFArrayGetValues() in createArchiveList() in WebCoreArgumentCodersMac.mm
<https://webkit.org/b/210519>
Reviewed by Darin Adler.
- Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::createArchiveList):
- Use CFArrayGetValues() to copy array more efficiently.
- 6:07 PM Changeset in webkit [260110] by
-
- 2 edits in branches/safari-610.1.10-branch/Source/WebKit
Cherry-pick r260104. rdar://problem/61800020
REGRESSION (r259898): Tabs occasionally go blank and get stuck that way
https://bugs.webkit.org/show_bug.cgi?id=210520
<rdar://problem/61776830>
Reviewed by Simon Fraser.
- UIProcess/Cocoa/WebViewImpl.mm: (WebKit::WebViewImpl::setAcceleratedCompositingRootLayer): setThumbnailView calls setAcceleratedCompositingRootLayer in order to reconnect the existing root layer. After r259898, this would cause us to go down the process-swap path, and hide the root layer, and nothing would ever come along and fix it.
If setAcceleratedCompositingRootLayer is called with the existing root
layer, that cannot be a process swap, so ignore it and proceed as before.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:59 PM Changeset in webkit [260109] by
-
- 3 edits in trunk/Websites/webkit.org
Unreviewed, check in some more files for a blog post.
- blog-files/speculation-in-jsc/full-add-cfg.graffle:
- blog-files/speculation-in-jsc/full-add-cfg.svg:
- 4:58 PM Changeset in webkit [260108] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Don't show tooltips for tabs
https://bugs.webkit.org/show_bug.cgi?id=210464
Reviewed by Devin Rousso.
Don't show tooltips when they match the name of the tab. We no longer truncate tab names
so the tooltip is redundant.
Only show tooltips for settings and search (pinned tabs).
- UserInterface/Views/TabBarItem.js:
(WI.TabBarItem):
(WI.TabBarItem.prototype.set title):
- 4:57 PM Changeset in webkit [260107] by
-
- 3 edits in trunk/Websites/webkit.org
Unreviewed, check in some more files for a blog post.
- blog-files/speculation-in-jsc/full-add-cfg.graffle:
- blog-files/speculation-in-jsc/full-add-cfg.svg:
- 4:57 PM Changeset in webkit [260106] by
-
- 3 edits in trunk/JSTests
Skip all low executable memory wasm tests on arm64
https://bugs.webkit.org/show_bug.cgi?id=210522
Reviewed by Tadeu Zagallo.
In my original JIT islands patch, I only skipped one of the "low executable
memory" tests. But the others are also causing problems on the iOS JSC test
runners, so let's just skip them all.
- wasm/lowExecutableMemory/exports-oom.js:
- wasm/lowExecutableMemory/imports-oom.js:
- 4:54 PM Changeset in webkit [260105] by
-
- 1 edit2 adds in trunk/Websites/webkit.org
Unreviewed, check in some more files for a blog post.
- blog-files/speculation-in-jsc/full-add-cfg.graffle: Added.
- blog-files/speculation-in-jsc/full-add-cfg.svg: Added.
- 4:53 PM Changeset in webkit [260104] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r259898): Tabs occasionally go blank and get stuck that way
https://bugs.webkit.org/show_bug.cgi?id=210520
<rdar://problem/61776830>
Reviewed by Simon Fraser.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::setAcceleratedCompositingRootLayer):
setThumbnailView calls setAcceleratedCompositingRootLayer in order to reconnect the
existing root layer. After r259898, this would cause us to go down the
process-swap path, and hide the root layer, and nothing would ever
come along and fix it.
If setAcceleratedCompositingRootLayer is called with the existing root
layer, that cannot be a process swap, so ignore it and proceed as before.
- 4:33 PM Changeset in webkit [260103] by
-
- 3 edits2 adds in trunk/Websites/webkit.org
Unreviewed, check in some more files for a blog post.
- blog-files/speculation-in-jsc/dfg-pipeline-dark.graffle: Added.
- blog-files/speculation-in-jsc/dfg-pipeline-dark.svg: Added.
- blog-files/speculation-in-jsc/ftl-pipeline-dark.graffle
- blog-files/speculation-in-jsc/ftl-pipeline-dark.svg:
- 3:35 PM Changeset in webkit [260102] by
-
- 30 edits1 move8 adds in trunk
Adopt interface AVAudioRoutingArbiter for Mac
https://bugs.webkit.org/show_bug.cgi?id=210167
Source/WebCore:
Reviewed by Eric Carlson.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/audio/ios/AudioSessionIOS.mm:
(WebCore::AudioSession::setCategory):
(WebCore::categoryName): Deleted.
- platform/audio/mac/AudioSessionMac.mm: Renamed from Source/WebCore/platform/audio/mac/AudioSessionMac.cpp.
(WebCore::AudioSession::setCategory):
(WebCore::AudioSession::categoryOverride const):
(WebCore::AudioSession::setCategoryOverride):
Fix unified build failures.
- platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.h:
Source/WebCore/PAL:
Reviewed by Eric Carlson.
Add softlink for AVAudioRoutingArbiter.
- pal/cocoa/AVFoundationSoftLink.h:
- pal/cocoa/AVFoundationSoftLink.mm:
Source/WebKit:
<rdar://problem/59113994>
Reviewed by Eric Carlson.
Add a new cross-process object pair, AudioSessionRouterAbitrator/Proxy which passes routing
arbitration commands from WebContent -> UIProcess. Because the UIProcess can represent
multiple WebContent processes, it must track all outstanding arbitration requests globally.
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::initializeGPUProcess):
- Sources.txt:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::mediaRelatedMachServices):
- UIProcess/Media/AudioSessionRoutingArbitratorProxy.cpp: Added.
(WebKit::AudioSessionRoutingArbitratorProxy::AudioSessionRoutingArbitratorProxy):
(WebKit::AudioSessionRoutingArbitratorProxy::~AudioSessionRoutingArbitratorProxy):
(WebKit::AudioSessionRoutingArbitratorProxy::beginRoutingArbitrationWithCategory):
(WebKit::AudioSessionRoutingArbitratorProxy::leaveRoutingArbitration):
- UIProcess/Media/AudioSessionRoutingArbitratorProxy.h: Added.
(WebKit::AudioSessionRoutingArbitratorProxy::category const):
(WebKit::AudioSessionRoutingArbitratorProxy::destinationId):
- UIProcess/Media/AudioSessionRoutingArbitratorProxy.messages.in: Added.
- UIProcess/Media/cocoa/AudioSessionRoutingArbitratorProxyCocoa.mm: Added.
(WebKit::SharedArbitrator::sharedInstance):
(WebKit::SharedArbitrator::beginRoutingArbitrationForArbitrator):
(WebKit::SharedArbitrator::leaveRoutingArbitrationForArbitrator):
(WebKit::AudioSessionRoutingArbitratorProxy::AudioSessionRoutingArbitratorProxy):
(WebKit::AudioSessionRoutingArbitratorProxy::~AudioSessionRoutingArbitratorProxy):
(WebKit::AudioSessionRoutingArbitratorProxy::beginRoutingArbitrationWithCategory):
(WebKit::AudioSessionRoutingArbitratorProxy::leaveRoutingArbitration):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy):
- UIProcess/WebProcessProxy.h:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_processDisplayName):
- WebProcess/WebProcess.cpp:
- WebProcess/cocoa/AudioSessionRoutingArbitrator.cpp: Added.
(WebKit::AudioSessionRoutingArbitrator::AudioSessionRoutingArbitrator):
(WebKit::AudioSessionRoutingArbitrator::supplementName):
(WebKit::AudioSessionRoutingArbitrator::beginRoutingArbitrationWithCategory):
(WebKit::AudioSessionRoutingArbitrator::leaveRoutingAbritration):
- WebProcess/cocoa/AudioSessionRoutingArbitrator.h: Added.
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::AudioFactory::createAudioCaptureSource):
- WebProcess/com.apple.WebProcess.sb.in:
Source/WTF:
Reviewed by Eric Carlson.
Add macro HAVE_AVAUDIO_ROUTING_ARBITER.
- wtf/PlatformHave.h:
Tools:
Reviewed by Eric Carlson.
Add test for softlink of AVAudioRoutingArbiter.
- TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST):
- 3:01 PM Changeset in webkit [260101] by
-
- 2 edits in trunk/Source/WebKit
createArchiveList() in WebCoreArgumentCodersMac.mm should do more validity checks
<https://webkit.org/b/210448>
<rdar://problem/61677029>
Reviewed by Darin Adler.
- Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::createArchiveList): Add more validity checks.
- 2:50 PM Changeset in webkit [260100] by
-
- 2 edits in trunk/Source/WebCore
ReadableStreamDefaultController::enqueue should check for worker terminated exception
https://bugs.webkit.org/show_bug.cgi?id=210485
Reviewed by Mark Lam.
Make sure to not assert in case of enqueue exception if we are in a terminating worker.
This is covered by WPT fetch/api/basic/stream-response.any.worker.html and fetch/api/basic/stream-safe-creation.any.worker.html.
- bindings/js/ReadableStreamDefaultController.h:
(WebCore::ReadableStreamDefaultController::enqueue):
- 2:36 PM Changeset in webkit [260099] by
-
- 3 edits in trunk/Source/WebCore
Protect MediaStreamTrackPrivate and RealtimeMediaSource when iterating its observers
https://bugs.webkit.org/show_bug.cgi?id=210488
Reviewed by Eric Carlson.
Making sure explicitly that the track private and source remain alive while looping from its observers.
- platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::forEachObserver const):
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::forEachObserver const):
- 2:30 PM Changeset in webkit [260098] by
-
- 2 edits in trunk/Source/WebKit
Do more checking before reusing precompiled sandbox
https://bugs.webkit.org/show_bug.cgi?id=210304
<rdar://problem/61155623>
Reviewed by Darin Adler.
We recently discovered that the system sandbox framework version does not always change
when breaking changes in the sandbox format are made. This can lead to the precompiled
version of a sandbox not working properly when a sandbox version changes.
To guard against this, make the following changes:
- Compare the SANDBOX_BUILD_ID in place when the sandbox was compiled to the value on the current system. SANDBOX_BUILD_ID, which is a GUID, is always regenerated when the sandbox framework is rebuilt.
- Compare the OS version in place when the sandbox was compiled to the value on the current system. This will trigger us recompiling sandboxes even when the sandbox framework did not change, but this is a small performance cost that would only happen after a software update.
- Shared/mac/AuxiliaryProcessMac.mm:
(WebKit::compileAndCacheSandboxProfile):
(WebKit::tryApplyCachedSandbox):
- 2:26 PM Changeset in webkit [260097] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening, update expectations after r260062
https://bugs.webkit.org/show_bug.cgi?id=210516
Unreviewed gardening.
- platform/gtk/TestExpectations:
- 1:59 PM Changeset in webkit [260096] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Elements: Computed: de-indent items in the Variables section so that wrapped content doesn't line up with the
--
https://bugs.webkit.org/show_bug.cgi?id=210384
Reviewed by Timothy Hatcher.
- UserInterface/Views/ComputedStyleDetailsPanel.css:
(.sidebar > .panel.details.css-style > .content > .computed .property):
- 1:33 PM Changeset in webkit [260095] by
-
- 3 edits in trunk/LayoutTests
[GTK][WPE] Fix navigator-detached-no-crash expectations
Unreviewed test gardening.
- platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt:
Upload the correct expectation file.
- platform/wpe/TestExpectations: Removed failing expectation.
- 1:30 PM Changeset in webkit [260094] by
-
- 1 edit2 adds in trunk/Websites/webkit.org
Unreviewed, check in some more files for a blog post.
- blog-files/speculation-in-jsc/ftl-pipeline-dark.graffle: Added.
- blog-files/speculation-in-jsc/ftl-pipeline-dark.svg: Added.
- 1:27 PM Changeset in webkit [260093] by
-
- 7 edits1 add in trunk
[iOS] Content filtering needs access to the frontboard service
https://bugs.webkit.org/show_bug.cgi?id=210505
Reviewed by Geoffrey Garen.
Source/WebKit:
Content filtering in the WebContent process needs access to the frontboard service on iOS. Issue an extension
to this service when content filtering is enabled.
API test: WebKit.WebFilterFeatureHasFrontboardServiceAccess
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/WebFilter.mm: Added.
(isManagedSessionMethodOverride):
(TEST):
- 1:23 PM Changeset in webkit [260092] by
-
- 7 edits in trunk
AX: Smart Invert doesn't handle the picture elements on foxnews.com
<https://webkit.org/b/210472>
Patch by James Craig <jcraig@apple.com> on 2020-04-14
Reviewed by Chris Fleizach.
Source/WebCore:
Tests: accessibilty/smart-invert.html
accessibilty/smart-invert-reference.html
Filled out more variants in the test cases, and removed the unnecessary :not() selector.
- css/html.css:
(@media (inverted-colors) img, picture, video):
(@media (inverted-colors) img:not(picture>img), picture, video): Deleted.
LayoutTests:
Filled out more variants in the test cases, and removed the unnecessary :not() selector.
- accessibility/smart-invert-expected.txt:
- accessibility/smart-invert-reference-expected.html:
- accessibility/smart-invert-reference.html:
- accessibility/smart-invert.html:
- 1:23 PM Changeset in webkit [260091] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Console: treat long strings as non-simple so they aren't truncated
https://bugs.webkit.org/show_bug.cgi?id=210511
<rdar://problem/49570592>
Reviewed by Joseph Pecoraro.
Treat strings longer than 140 characters (
WI.FormattedValue.MaxPreviewStringLength) as not
simple so thatWI.ConsoleMessageViewmakes itself expandable, which will show the full
length string when expanded (the truncated string is still shown when collapsed).
- UserInterface/Views/FormattedValue.js:
(WI.FormattedValue.isSimpleString): Added.
(WI.FormattedValue.hasSimpleDisplay):
- UserInterface/Views/ConsoleMessageView.js:
(WI.ConsoleMessageView.prototype._shouldConsiderObjectLossless):
- 12:15 PM Changeset in webkit [260090] by
-
- 7 edits in trunk/Source
[iPadOS] Wikipedia articles lay out incorrectly in 1/3 multitasking window
https://bugs.webkit.org/show_bug.cgi?id=210501
<rdar://problem/54856323>
Reviewed by Tim Horton.
Source/WebCore:
In a 1/3 multitasking window, Safari currently uses the
-[WKWebView _allowsViewportShrinkToFit]SPI to force
pages to shrink down by fitting the content width to the view width. This legacy method of shrinking to fit
involves laying the page out at the normal view width (320px in 1/3 multitasking), and then scaling the page
down such that any amount of horizontal overflow fits within the view.
In iOS 13, a new style of shrinking to fit was introduced in support of two new features: page zoom controls
(accessible via the page formatting menu), and on-by-default page scaling when loading desktop sites on certain
models of iPad where the page width is less than cutoffs of 1112px (in landscape) and 1024px (in portrait). This
new method of shrinking to fit involves laying out at a larger width (computed from a combination of the minimum
effective device width and layout size scale factor), and scaling to fit the effective layout size scale factor
instead of the entire contents of the page. This means that while we may still get horizontal scrolling after
shrinking to fit, the overall layout of the page is preserved.
Currently, in 1/3 multitasking, Safari still relies on the former to scale pages down to fit, which means that
Wikipedia articles (among other websites) do not lay out sensibly. Moreover, even if Safari adopted the second
mechanism for shrinking to fit, layout issues would still exist (albeit to a lesser degree), since we'd still
attempt to shrink the content width down to fit due to the fact that the desktop version of Wikipedia doesn't
have a meta viewport. While we wouldn't get a broken layout, we'd still have a blank column running down the
right side of the page, which is less than ideal.
It's clear that in this case, attempting to shrink page content down to fit the view is suboptimal (at best, it
leads to a large portion of the page being blank; at worst, it completely breaks page layout). To address this
bug for now, add a parallel minimumEffectiveDeviceWidth value that takes effect when ignoring scaling
constraints (i.e. when we're in a multitasking window), and scale the page down to fit this value instead of
fitting the full content width when computing initial scale inViewportConfiguration::initialScaleFromSize.
Maintaining this value separately from m_minimumEffectiveDeviceWidth makes it much easier to ensure that the
effects of this change are only ever active when the quirk is applied, and also when the view is embedded in a
multitasking window.
- page/Quirks.cpp:
(WebCore::Quirks::shouldLayOutAtMinimumWindowWidthWhenIgnoringScalingConstraints const):
Introduce a quirk to fix layout issues in multitasking mode on the desktop version of Wikipedia.
- page/Quirks.h:
- page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::initialScaleFromSize const):
(WebCore::ViewportConfiguration::setMinimumEffectiveDeviceWidth):
(WebCore::ViewportConfiguration::setMinimumEffectiveDeviceWidthWhenIgnoringScalingConstraints):
- page/ViewportConfiguration.h:
Add a minimum effective device width value that only takes effect when ignoring scaling constraints, and update
shouldIgnoreMinimumEffectiveDeviceWidth()andminimumEffectiveDeviceWidth()to not always returntrueand
0(respectively) when ignoring scaling constraints, if m_minimumEffectiveDeviceWidthWhenIgnoringScalingConstraints
is set.
(WebCore::ViewportConfiguration::minimumEffectiveDeviceWidth const):
(WebCore::ViewportConfiguration::shouldIgnoreMinimumEffectiveDeviceWidth const):
(WebCore::ViewportConfiguration::shouldShrinkToFitMinimumEffectiveDeviceWidthWhenIgnoringScalingConstraints const):
Source/WebKit:
Apply the viewport quirk if needed; see WebCore/ChangeLog for more details.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):
- 12:14 PM Changeset in webkit [260089] by
-
- 2 edits in branches/safari-610.1.10-branch/Source/WebKitLegacy/mac
Cherry-pick r260043. rdar://problem/61784032
REGRESSION (r259843): "Missing Plug-In" when dragging an image into Mail Compose
https://bugs.webkit.org/show_bug.cgi?id=210458
<rdar://problem/61735361>
Reviewed by Wenson Hsieh.
- WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): r259843 changed this code from making a dictionary with a set of key->object mappings to making a dictionary with an array of keys as its only key and an array of objects as that key's value. Not quite the same thing.
Go back to dictionaryWithObjects:forKeys:.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:12 PM Changeset in webkit [260088] by
-
- 5 edits in trunk/Source/WebCore
Factor PseudoElement creation calls into a single Element::ensurePseudoElement(pseudoId) method
https://bugs.webkit.org/show_bug.cgi?id=210495
Reviewed by Antti Koivisto.
To support webkit.org/b/207290 we need a way to ensure a PseudoElement is available for ::before and ::after
pseudo-elements on a given Element. We now use a Element::ensurePseudoElement(pseudoId) method to do this and
replace existing places where we would do something similar.
- dom/Element.cpp:
(WebCore::Element::ensurePseudoElement):
- dom/Element.h:
- rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:
(WebCore::RenderTreeUpdater::GeneratedContent::updatePseudoElement):
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolvePseudoStyle):
- 12:09 PM Changeset in webkit [260087] by
-
- 2 edits in trunk/JSTests
Unreviewed, reduce iteration count and introduce early return to make typed-array-subarray-can-throw-oom-error.js execution time short while throwing an error
https://bugs.webkit.org/show_bug.cgi?id=210507
- stress/typed-array-subarray-can-throw-oom-error.js:
(canThrow):
(bar):
(get bar):
- 12:05 PM Changeset in webkit [260086] by
-
- 3 edits2 adds in trunk
Scroll snap in subframes is often broken
https://bugs.webkit.org/show_bug.cgi?id=210503
Reviewed by Darin Adler.
Source/WebCore:
RenderBox::findEnclosingScrollableContainer() incorrectly consulted the scrollability
of the main frame, causing snapping in subframes to be broken any time the main frame
was not scrollable.
Test: tiled-drawing/scrolling/scroll-snap/scroll-snap-async-iframe.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::findEnclosingScrollableContainer const):
LayoutTests:
- tiled-drawing/scrolling/scroll-snap/scroll-snap-async-iframe-expected.txt: Added.
- tiled-drawing/scrolling/scroll-snap/scroll-snap-async-iframe.html: Added.
- 12:04 PM Changeset in webkit [260085] by
-
- 8 edits in trunk/Source
Versioning.
- 12:00 PM Changeset in webkit [260084] by
-
- 1 copy in branches/safari-610.1.10-branch
New branch.
- 11:48 AM Changeset in webkit [260083] by
-
- 6 edits in trunk
Source/WebCore:
Make WTR::AccessibilityUIElements calls to accessibilitySetValue run on AX secondary thread. web content
https://bugs.webkit.org/show_bug.cgi?id=210500
Reviewed by Chris Fleizach.
Removed _accessibilitySetTestValue since it is no longer used, use
_accessibilitySetValue instead.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper _accessibilitySetTestValue:forAttribute:]): Deleted.
Tools:
Make WTR::AccessibilityUIElements calls to accessibilitySetValue run on AX secondary thread.
https://bugs.webkit.org/show_bug.cgi?id=210500
Reviewed by Chris Fleizach.
Needed to test accessibility isolated tree mode. Follow up to
https://bugs.webkit.org/show_bug.cgi?id=210392.
- DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::setBoolAttributeValue):
(AccessibilityUIElement::resetSelectedTextMarkerRange):
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::setAttributeValue):
(WTR::attributesOfElement):
(WTR::descriptionOfElements):
(WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue):
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue const):
(WTR::AccessibilityUIElement::uiElementAttributeValue const):
(WTR::AccessibilityUIElement::boolAttributeValue):
(WTR::AccessibilityUIElement::setBoolAttributeValue):
(WTR::AccessibilityUIElement::setValue):
(WTR::AccessibilityUIElement::setSelectedTextRange):
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange):
(WTR::AccessibilityUIElement::setSelectedChild const):
(WTR::AccessibilityUIElement::setSelectedChildAtIndex const):
(WTR::AccessibilityUIElement::removeSelectionAtIndex const):
(WTR::AccessibilityUIElement::takeFocus):
(WTR::AccessibilityUIElement::resetSelectedTextMarkerRange):
- 11:42 AM Changeset in webkit [260082] by
-
- 4 edits in trunk/LayoutTests/imported/w3c
Resync featurepolicy.js to fix WPT mediacapture-streams/MediaStream-default-feature-policy.https.html
https://bugs.webkit.org/show_bug.cgi?id=210482
Reviewed by Geoffrey Garen.
Update to upstream featureploicy.js to fix failure.
- web-platform-tests/feature-policy/resources/featurepolicy.js:
(assert_feature_policy_supported):
(test_feature_in_iframe):
(test_allowed_feature_for_subframe):
(expect_reports):
- web-platform-tests/mediacapture-streams/MediaStream-default-feature-policy.https-expected.txt:
- web-platform-tests/xhr/xmlhttprequest-sync-default-feature-policy.sub-expected.txt:
- 11:07 AM Changeset in webkit [260081] by
-
- 7 edits in trunk
InjectedBundle parameters often need initialization function called before unarchiving
https://bugs.webkit.org/show_bug.cgi?id=189709
<rdar://problem/44573653>
Reviewed by Ryosuke Niwa.
Source/WebKit:
Handle the case where the InjectedBundle parameters do not successfully decode because they contain
an unexpected class from the embedding program. If this happens, try decoding the bundle parameters
after the bundle initialiation function runs, which gives the embedding program the opportunity to
register additional classes that are safe for serialization.
Extend WKWebProcessPlugIn with a method that returns the names of any custom classes that need
to be serialized by the InjectedBundle.
Create a new 'decodeBundleParameters' method that contains the logic that used to live in 'initialize'.
Revise 'initialize' to call this new method.
- WebProcess/InjectedBundle/InjectedBundle.h:
- WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
(WebKit::InjectedBundle::initialize): Use the new method.
(WebKit::InjectedBundle::decodeBundleParameters): Added.
(WebKit::InjectedBundle::setBundleParameters): Use 'decodeObjectOfClasses' with the more complete
'classesForCoder' method to unarchive the passed bundle parameters, rather than the
NSDictionary-specific method, since InjectedBundles often encode other types of objects, and the
NSDictionary object may itself hold other kinds of objects.
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
(WebKit::WKWebProcessPlugIn::additionalClassesForParameterCoder): Added.
Tools:
- TestWebKitAPI/cocoa/WebProcessPlugIn/WebProcessPlugIn.mm:
(-[WebProcessPlugIn additionalClassesForParameterCoder]): Added.
- 10:17 AM Changeset in webkit [260080] by
-
- 2 edits in trunk/Source/WebKit
Address review comments after r260035
https://bugs.webkit.org/show_bug.cgi?id=210440
Reviewed by David Kilzer.
Omit unused argument names.
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetIgnoreViewportScalingConstraints):
(WKPreferencesGetIgnoreViewportScalingConstraints):
- 10:08 AM Changeset in webkit [260079] by
-
- 2 edits in trunk/Tools
[Flatpak] Make run-webkit-tests obey WEBKIT_JHBUILD
https://bugs.webkit.org/show_bug.cgi?id=210497
Reviewed by Philippe Normand.
run-webkit-tests in linux uses the flatpak SDK if the flatpak
directories are found in the build directory. However it might the the case
that a developer wants to run them using the jhbuild SDK which can be
configured in parallel. We have the WEBKIT_JHBUILD environment variable to
force other scripts to use jhbuild instead of flatpak so we can use it as well
for this use case.
- flatpak/flatpakutils.py:
(run_in_sandbox_if_available):
- 10:03 AM Changeset in webkit [260078] by
-
- 53 edits in trunk/Source/WebCore
Add WARN_UNUSED_RETURN to decode methods in Source/WebCore
<https://webkit.org/b/210416>
<rdar://problem/61693462>
Reviewed by Alex Christensen.
- Modules/geolocation/GeolocationPositionData.h:
- Modules/indexeddb/IDBGetAllResult.h:
- Modules/indexeddb/IDBGetResult.h:
- Modules/indexeddb/IDBKeyData.h:
- Modules/indexeddb/IDBKeyRangeData.h:
- Modules/indexeddb/server/IDBSerialization.cpp:
(WebCore::decodeKey):
- Modules/indexeddb/shared/IDBCursorInfo.h:
- Modules/indexeddb/shared/IDBCursorRecord.h:
- Modules/indexeddb/shared/IDBDatabaseInfo.h:
- Modules/indexeddb/shared/IDBError.h:
- Modules/indexeddb/shared/IDBGetAllRecordsData.h:
- Modules/indexeddb/shared/IDBGetRecordData.h:
- Modules/indexeddb/shared/IDBIndexInfo.h:
- Modules/indexeddb/shared/IDBIterateCursorData.h:
- Modules/indexeddb/shared/IDBObjectStoreInfo.h:
- Modules/indexeddb/shared/IDBRequestData.h:
- Modules/indexeddb/shared/IDBResourceIdentifier.h:
- Modules/indexeddb/shared/IDBTransactionInfo.h:
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::decodeTimeComparator):
- dom/EventInit.h:
- dom/ExceptionData.h:
- dom/SecurityPolicyViolationEvent.h:
- editing/FontAttributeChanges.h:
- editing/FontShadow.h:
- loader/CanvasActivityRecord.h:
- loader/FetchOptions.h:
(WebCore::FetchOptions::decodePersistent):
- platform/ContentFilterUnblockHandler.h:
- platform/DragItem.h:
- platform/KeyedCoding.h:
- platform/LinkIcon.h:
- platform/ThreadSafeDataBuffer.h:
- platform/audio/mac/CAAudioStreamDescription.h:
- platform/cf/KeyedDecoderCF.h:
- platform/generic/KeyedDecoderGeneric.h:
- platform/glib/KeyedDecoderGlib.h:
- platform/graphics/Region.h:
- platform/graphics/RemoteVideoSample.h:
(WebCore::RemoteVideoSample::decode):
- platform/mediastream/MediaConstraints.h:
(WebCore::MediaConstraint::decode):
(WebCore::NumericConstraint::decode):
(WebCore::StringConstraint::decode):
- platform/mediastream/RealtimeMediaSourceCapabilities.h:
- platform/mediastream/RealtimeMediaSourceSettings.h:
- platform/mediastream/RealtimeMediaSourceSupportedConstraints.h:
- platform/network/HTTPHeaderMap.h:
- platform/network/NetworkLoadMetrics.h:
- platform/network/ResourceRequestBase.h:
- platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::decode):
- platform/network/SameSiteInfo.h:
- platform/network/SocketStreamError.h:
- platform/network/curl/ResourceRequest.h:
- platform/network/soup/ResourceRequest.h:
- platform/network/soup/ResourceResponse.h:
- rendering/EventRegion.h:
- workers/service/ServiceWorkerFetchResult.h:
- Add WARN_UNUSED_RETURN to all decode functions.
- 9:38 AM Changeset in webkit [260077] by
-
- 2 edits in trunk/Source/WebKit
YouTube sometimes navigates unexpectedly when invoking a context menu on a video link.
https://bugs.webkit.org/show_bug.cgi?id=210467
<rdar://problem/58841584>
Reviewed by Tim Horton.
Cancel any outstanding touches tracked by WebTouchEventsGestureRecognizer, so that we dispatch
touchcancelto the page instead oftouchend, so that the page does not misinterpret
context menu invocation as a tap.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
- 9:19 AM Changeset in webkit [260076] by
-
- 10 edits in trunk/Source/WebCore
[Web Animations] Store an Element / PseudoId pair to define the KeyframeEffect target
https://bugs.webkit.org/show_bug.cgi?id=210491
Reviewed by Antti Koivisto.
In preparation for webkit.org/b/207290 where we will expose the
pseudoElementJS API on KeyframeEffect we now
use an Element / PseudoId (m_target / m_pseudoId) pair to specify an effect's target. In the cases where it matters,
such as accessing the various animation collections exposed through Element and the KeyframeEffectStack, we now use
the new KeyframeEffect::targetElementOrPseudoElement() method to access the Element or PseudoElement targeted with
the Element / PseudoId pair.
- animation/AnimationTimeline.cpp:
(WebCore::AnimationTimeline::removeAnimation):
- animation/DeclarativeAnimation.cpp:
(WebCore::DeclarativeAnimation::initialize):
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::transitionDidComplete):
(WebCore::DocumentTimeline::animationAcceleratedRunningStateDidChange):
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::create):
(WebCore::KeyframeEffect::KeyframeEffect):
(WebCore::KeyframeEffect::copyPropertiesFromSource):
(WebCore::KeyframeEffect::getKeyframes):
(WebCore::KeyframeEffect::forceLayoutIfNeeded):
(WebCore::KeyframeEffect::computeCSSAnimationBlendingKeyframes):
(WebCore::KeyframeEffect::computeCSSTransitionBlendingKeyframes):
(WebCore::KeyframeEffect::animationTimelineDidChange):
(WebCore::KeyframeEffect::updateEffectStackMembership):
(WebCore::KeyframeEffect::targetElementOrPseudoElement const):
(WebCore::KeyframeEffect::setTarget):
(WebCore::KeyframeEffect::apply):
(WebCore::KeyframeEffect::invalidate):
(WebCore::KeyframeEffect::getAnimatedStyle):
(WebCore::KeyframeEffect::applyPendingAcceleratedActions):
(WebCore::KeyframeEffect::document const):
(WebCore::KeyframeEffect::renderer const):
- animation/KeyframeEffect.h:
- animation/KeyframeEffectStack.cpp:
(WebCore::KeyframeEffectStack::addEffect):
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::setEffectInternal):
(WebCore::WebAnimation::setTimeline):
(WebCore::WebAnimation::persist):
- dom/Document.cpp:
(WebCore::Document::matchingAnimations):
- inspector/agents/InspectorAnimationAgent.cpp:
(WebCore::buildObjectForKeyframes):
(WebCore::InspectorAnimationAgent::requestEffectTarget):
- 9:16 AM Changeset in webkit [260075] by
-
- 5 edits in trunk/LayoutTests
[GTK][WPE] Layout test gardening
Unreviewed test gardening.
- platform/gtk/TestExpectations:
Removed deprecated expectation.
- platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt:
Updated expectations.
- platform/wpe/TestExpectations: Updated several EME expectations with
correct bug number. A number of passing tests are also marked as PASS.
- platform/wpe/fast/dom/navigator-detached-no-crash-expected.txt:
Updated expectations.
- 9:04 AM Changeset in webkit [260074] by
-
- 42 edits2 adds in trunk
[Async overflow scroll] Custom scrollbars on gmail don't show
https://bugs.webkit.org/show_bug.cgi?id=210438
<rdar://problem/61722541>
Reviewed by Tim Horton.
Source/WebCore:
Custom scrollbars painted into the backing store of the scrolling element, but that
might have become an empty "simple container layer" causing the scroll bars to not
be painted anywhere.
Fix by making compositing layers for custom scrollbars. This is better than giving
backing store to the scroller's element, because that might be huge.
Test: scrollbars/async-overflow-custom-scrollbar.html
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::requiresLayerForScrollbar const):
(WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer const):
(WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer const):
(WebCore::RenderLayerBacking::requiresScrollCornerLayer const):
- rendering/RenderLayerBacking.h:
LayoutTests:
Layer tree dumps changed because of scrollbar and scroll corner layers.
- compositing/layer-creation/absolute-in-async-overflow-scroll-expected.txt:
- compositing/layer-creation/clipping-scope/nested-scroller-overlap-expected.txt:
- compositing/layer-creation/clipping-scope/overlap-constrained-inside-scroller-expected.txt:
- compositing/layer-creation/clipping-scope/overlap-constrained-inside-stacking-context-scroller-expected.txt:
- compositing/layer-creation/clipping-scope/scroller-with-negative-z-children-expected.txt:
- compositing/layer-creation/clipping-scope/shared-layers-in-scroller-expected.txt:
- compositing/overflow/overflow-auto-with-touch-expected.txt:
- compositing/overflow/overflow-overlay-with-touch-expected.txt:
- compositing/overflow/scrolling-content-clip-to-viewport-expected.txt:
- compositing/overflow/stacking-context-composited-scroller-with-foreground-paint-phases-expected.txt:
- compositing/overflow/textarea-scroll-touch-expected.txt:
- compositing/repaint/scroller-with-foreground-layer-repaints-expected.txt:
- compositing/rtl/rtl-scrolling-with-transformed-descendants-expected.txt:
- compositing/scrolling/async-overflow-scrolling/clipped-layer-in-overflow-clipped-by-scroll-expected.txt:
- compositing/scrolling/async-overflow-scrolling/clipped-layer-in-overflow-expected.txt:
- compositing/scrolling/async-overflow-scrolling/clipped-layer-in-overflow-nested-expected.txt:
- compositing/scrolling/async-overflow-scrolling/layer-for-negative-z-in-scroller-expected.txt:
- compositing/scrolling/async-overflow-scrolling/layer-in-overflow-clip-to-hidden-expected.txt:
- compositing/scrolling/async-overflow-scrolling/layer-in-overflow-clip-to-visible-expected.txt:
- compositing/scrolling/async-overflow-scrolling/layer-in-overflow-expected.txt:
- compositing/scrolling/async-overflow-scrolling/layer-in-overflow-gain-clipping-layer-expected.txt:
- compositing/scrolling/async-overflow-scrolling/layer-in-overflow-in-clipped-expected.txt:
- compositing/scrolling/async-overflow-scrolling/layer-in-overflow-lose-clipping-layer-expected.txt:
- compositing/scrolling/async-overflow-scrolling/visibility-hidden-scrollers-expected.txt:
- compositing/scrolling/overflow-scrolling-layers-are-self-painting-expected.txt:
- compositing/shared-backing/overflow-scroll/absolute-in-stacking-relative-in-scroller-expected.txt:
- compositing/shared-backing/overflow-scroll/composited-absolute-in-absolute-in-relative-in-scroller-expected.txt:
- compositing/shared-backing/overflow-scroll/nested-absolute-with-clipping-in-stacking-overflow-expected.txt:
- compositing/shared-backing/overflow-scroll/previous-sibling-prevents-inclusiveness-expected.txt:
- compositing/shared-backing/overflow-scroll/relative-in-clipping-in-scroller-in-clipping-expected.txt:
- compositing/shared-backing/overflow-scroll/relative-in-clipping-in-scroller-in-relative-clipping-expected.txt:
- compositing/shared-backing/overflow-scroll/relative-in-div-in-overflow-scroll-expected.txt:
- compositing/shared-backing/overflow-scroll/scrolled-contents-has-painted-content-expected.txt:
- fast/scrolling/mac/event-region-scrolled-contents-layer-expected.txt:
- platform/mac/compositing/overflow/overflow-auto-with-touch-toggle-expected.txt:
- scrollbars/async-overflow-custom-scrollbar-expected.html: Added.
- scrollbars/async-overflow-custom-scrollbar.html: Added.
- tiled-drawing/scrolling/overflow/overflow-scrolled-down-tile-coverage-expected.txt:
- tiled-drawing/scrolling/overflow/overflow-scrolled-up-tile-coverage-expected.txt:
- tiled-drawing/scrolling/overflow/overflow-tile-coverage-expected.txt:
- 8:38 AM Changeset in webkit [260073] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening, mark several MSE tests as flaky
https://bugs.webkit.org/show_bug.cgi?id=210499
Unreviewed gardening.
- platform/gtk/TestExpectations:
- 6:34 AM Changeset in webkit [260072] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Adapt to GdkVisual deprecation and removal
https://bugs.webkit.org/show_bug.cgi?id=210489
Reviewed by Adrian Perez de Castro.
No new tests needed.
Update the GdkVisual used to get the screen depth per component in
GTK3 and use default values for GTK4, as visuals as an abstraction
are gone from GTK4. The use in WK is very limited so there's no
much gain from peeking into backend-specific values.
- platform/gtk/PlatformScreenGtk.cpp:
(WebCore::screenDepth): Guard GdkVisual call and leave
default value for GTK4.
(WebCore::screenDepthPerComponent): Update API and ditto.
- 5:19 AM Changeset in webkit [260071] by
-
- 2 edits in trunk/Source/WebCore
[GTK][WPE] Scrollbar handle has no minimum size
https://bugs.webkit.org/show_bug.cgi?id=209962
Reviewed by Adrian Perez de Castro.
Set a minimum thumb length.
- platform/adwaita/ScrollbarThemeAdwaita.cpp:
(WebCore::ScrollbarThemeAdwaita::minimumThumbLength):
- 5:17 AM Changeset in webkit [260070] by
-
- 2 edits in trunk/Source/WebCore
[GTK] New scrollbar click behavior
https://bugs.webkit.org/show_bug.cgi?id=210002
Reviewed by Adrian Perez de Castro.
Use the same bahavior for mouse events when not rendering native scrollbars.
- platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::handleMousePressEvent):
- 4:37 AM Changeset in webkit [260069] by
-
- 47 edits in trunk
[CSS Selectors] Selectors Level 4 specificity calculation for pseudo classes
https://bugs.webkit.org/show_bug.cgi?id=210419
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/selectors/invalidation/is-expected.txt:
Source/WebCore:
CSS selector specification drafts at some point had a concept of "dynamic specificity" where
the specificity of a selector depended on the element it matched. It was only ever used with
:matches and :nth-child pseudo classes and has subsequently been removed. Selector specificity
can now always be computed statically.
There is a ton of code to support this obsolete feature. Remove it.
https://drafts.csswg.org/selectors-4/#specificity-rules
"The specificity of an :is(), :not(), or :has() pseudo-class is replaced by the specificity
of the most specific complex selector in its selector list argument.
Analogously, the specificity of an :nth-child() or :nth-last-child() selector is the specificity
of the pseudo class itself (counting as one pseudo-class selector) plus the specificity of the
most specific complex selector in its selector list argument (if any)."
- css/html.css:
Reorganize a :matches rule into a selector list to keep the exact specificites.
It matters here to select between listbox and menulist correctly based on the 'size' and 'multiple' attributes.
- css/CSSSelector.cpp:
(WebCore::selectorSpecificity):
(WebCore::maxSpecificity):
(WebCore::simpleSelectorSpecificityInternal):
(WebCore::CSSSelector::simpleSelectorSpecificity const):
Also handle nth here.
(WebCore::CSSSelector::specificity const):
(WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity): Deleted.
(WebCore::functionalPseudoClassStaticSpecificity): Deleted.
(WebCore::staticSpecificityInternal): Deleted.
(WebCore::CSSSelector::staticSpecificity const): Deleted.
Rename to just computeSpecificity(), there is no other kind than static.
- css/CSSSelector.h:
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::match const):
(WebCore::SelectorChecker::matchHostPseudoClass const):
(WebCore::SelectorChecker::matchRecursively const):
(WebCore::SelectorChecker::checkOne const):
(WebCore::SelectorChecker::matchSelectorList const):
SelectorChecker doesn't need to deal with specificity anymore.
- css/SelectorChecker.h:
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addNthChildType):
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::constructFragmentsInternal):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching):
Neither does SelectorCompiler.
- cssjit/SelectorCompiler.h:
- dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::selectorMatches const):
(WebCore::SelectorDataList::selectorClosest const):
- inspector/InspectorStyleSheet.cpp:
(WebCore::buildObjectForSelectorHelper):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelector):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::hasDynamicSpecificity): Deleted.
- inspector/InspectorStyleSheet.h:
- inspector/agents/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::addRule):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::highlightSelector):
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::ruleMatches):
Switch to get the specificity from the selector instead of computing it during selector checking.
- style/ElementRuleCollector.h:
LayoutTests:
Update specificity tests for static behavior, trying to also keep them useful.
- fast/css/is-specificity-10-expected.html:
- fast/css/is-specificity-10.html:
- fast/css/is-specificity-2-expected.html:
- fast/css/is-specificity-2.html:
- fast/css/is-specificity-3-expected.html:
- fast/css/is-specificity-3.html:
- fast/css/is-specificity-4-expected.html:
- fast/css/is-specificity-4.html:
- fast/css/is-specificity-5.html:
- fast/css/matches-specificity-10-expected.html:
- fast/css/matches-specificity-10.html:
- fast/css/matches-specificity-2-expected.html:
- fast/css/matches-specificity-2.html:
- fast/css/matches-specificity-3-expected.html:
- fast/css/matches-specificity-3.html:
- fast/css/matches-specificity-4-expected.html:
- fast/css/matches-specificity-4.html:
- fast/css/matches-specificity-5.html:
- fast/css/nth-child-specificity-2-expected.html:
- fast/css/nth-child-specificity-2.html:
- fast/css/nth-child-specificity-3-expected.html:
- fast/css/nth-child-specificity-3.html:
- fast/css/nth-child-specificity-4-expected.html:
- fast/css/nth-child-specificity-4.html:
- fast/css/nth-last-child-specificity-2-expected.html:
- fast/css/nth-last-child-specificity-2.html:
- fast/css/nth-last-child-specificity-3-expected.html:
- fast/css/nth-last-child-specificity-3.html:
- fast/css/nth-last-child-specificity-4-expected.html:
- fast/css/nth-last-child-specificity-4.html:
- 4:26 AM Changeset in webkit [260068] by
-
- 2 edits in trunk/Source/WebKit
Do not process RTC Network messages coming from NetworkProcess if LibWebRTCNetwork is not active
https://bugs.webkit.org/show_bug.cgi?id=207376
<rdar://problem/59238611>
Unreviewed.
Post-commit review update, change variable name to network.
No change of behavior.
- WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
- 3:24 AM Changeset in webkit [260067] by
-
- 3 edits in trunk/Source/WebCore
[GLIB] Fix race condition in FileMonitor implementation
https://bugs.webkit.org/show_bug.cgi?id=210483
Reviewed by Adrian Perez de Castro.
This is causing flaky timeouts when running resource load statistics layout tests. The problem is that we assume
FileMonitor has the last reference of the platform monitor and it's deleted on g_object_unref(), but GLib keeps
another reference that is released later on a different thread if the monitor is still active. We just need to
ensure we cancel the monitor before calling g_object_unref().
- platform/FileMonitor.h:
- platform/glib/FileMonitorGLib.cpp:
(WebCore::FileMonitor::~FileMonitor):
(WebCore::FileMonitor::didChange):
(WebCore::FileMonitor::cancel):
- 2:58 AM Changeset in webkit [260066] by
-
- 2 edits in trunk/Source/WebCore
[EME][CDMProxy] Fix waitingForKey logic
https://bugs.webkit.org/show_bug.cgi?id=210437
Reviewed by Xabier Rodriguez-Calvar.
startedWaitingForKey() was incorrectly flagged. It needs to signal on
the 0->1 transition, here it was only signalling on N->N+1 where N>0.
Also break ASSERTs into separate statements, it makes it easier in a
crash dump to see which conjuct fired.
Test: imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-waiting-for-a-key.https.html
- platform/encryptedmedia/CDMProxy.cpp:
(WebCore::CDMInstanceProxy::startedWaitingForKey):
(WebCore::CDMInstanceProxy::stoppedWaitingForKey):
- 2:50 AM Changeset in webkit [260065] by
-
- 20 edits6 adds in trunk
[GTK] Bring back support for rendering scrollbars using the system appearance
https://bugs.webkit.org/show_bug.cgi?id=209805
Reviewed by Michael Catanzaro.
Source/WebCore:
Bring back ScrollbarThemeGtk, RenderThemeGadget and RenderThemeWidget (renamed as RenderThemeScrollbar),
including only the code needed to render the scrollbars. ScrollbarThemeGtk inherits from ScrollbarThemeAdwaita
that is used when system appearance is disabled.
- PlatformGTK.cmake:
- SourcesGTK.txt:
- platform/adwaita/ScrollbarThemeAdwaita.cpp:
- platform/adwaita/ScrollbarThemeAdwaita.h:
- platform/gtk/RenderThemeGadget.cpp: Added.
(WebCore::RenderThemeGadget::create):
(WebCore::createStyleContext):
(WebCore::appendElementToPath):
(WebCore::RenderThemeGadget::RenderThemeGadget):
(WebCore::RenderThemeGadget::marginBox const):
(WebCore::RenderThemeGadget::borderBox const):
(WebCore::RenderThemeGadget::paddingBox const):
(WebCore::RenderThemeGadget::contentsBox const):
(WebCore::RenderThemeGadget::color const):
(WebCore::RenderThemeGadget::backgroundColor const):
(WebCore::RenderThemeGadget::opacity const):
(WebCore::RenderThemeGadget::state const):
(WebCore::RenderThemeGadget::setState):
(WebCore::RenderThemeGadget::minimumSize const):
(WebCore::RenderThemeGadget::preferredSize const):
(WebCore::RenderThemeGadget::render):
(WebCore::RenderThemeBoxGadget::RenderThemeBoxGadget):
(WebCore::RenderThemeBoxGadget::preferredSize const):
(WebCore::RenderThemeScrollbarGadget::RenderThemeScrollbarGadget):
(WebCore::RenderThemeScrollbarGadget::renderStepper):
- platform/gtk/RenderThemeGadget.h: Added.
(WebCore::RenderThemeGadget::context const):
- platform/gtk/RenderThemeScrollbar.cpp: Added.
(WebCore::widgetMap):
(WebCore::RenderThemeScrollbar::getOrCreate):
(WebCore::RenderThemeScrollbar::clearCache):
(WebCore::RenderThemeScrollbar::RenderThemeScrollbar):
(WebCore::RenderThemeScrollbar::stepper):
- platform/gtk/RenderThemeScrollbar.h: Added.
(WebCore::RenderThemeScrollbar::scrollbar const):
(WebCore::RenderThemeScrollbar::contents const):
(WebCore::RenderThemeScrollbar::slider const):
(WebCore::RenderThemeScrollbar::trough const):
- platform/gtk/ScrollbarThemeGtk.cpp: Added.
(WebCore::ScrollbarTheme::nativeTheme):
(WebCore::themeChangedCallback):
(WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk):
(WebCore::ScrollbarThemeGtk::setUseSystemAppearance):
(WebCore::ScrollbarThemeGtk::themeChanged):
(WebCore::ScrollbarThemeGtk::updateThemeProperties):
(WebCore::ScrollbarThemeGtk::hasButtons):
(WebCore::scrollbarPartStateFlags):
(WebCore::widgetTypeForScrollbar):
(WebCore::contentsRectangle):
(WebCore::ScrollbarThemeGtk::trackRect):
(WebCore::ScrollbarThemeGtk::backButtonRect):
(WebCore::ScrollbarThemeGtk::forwardButtonRect):
(WebCore::ScrollbarThemeGtk::paint):
(WebCore::ScrollbarThemeGtk::handleMousePressEvent):
(WebCore::ScrollbarThemeGtk::scrollbarThickness):
(WebCore::ScrollbarThemeGtk::minimumThumbLength):
- platform/gtk/ScrollbarThemeGtk.h: Added.
Source/WebKit:
Add WebKitWebContext:use-system-appearance-for-scrollbars property. It's enabled by default to keep backwards
compatibility.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const): Encode useSystemAppearanceForScrollbars.
(WebKit::WebProcessCreationParameters::decode): Decode useSystemAppearanceForScrollbars.
- Shared/WebProcessCreationParameters.h:
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy): Copy m_useSystemAppearanceForScrollbars;
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/glib/WebKitWebContext.cpp:
(webkitWebContextGetProperty):
(webkitWebContextSetProperty):
(webkitWebContextConstructed):
(webkit_web_context_class_init):
(webkit_web_context_set_use_system_appearance_for_scrollbars):
(webkit_web_context_get_use_system_appearance_for_scrollbars):
- UIProcess/API/gtk/WebKitWebContext.h:
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
- UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess): Initialize useSystemAppearanceForScrollbars parameter.
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- WebProcess/glib/WebProcessGLib.cpp:
(WebKit::WebProcess::platformInitializeWebProcess): Call setUseSystemAppearanceForScrollbars to set
useSystemAppearanceForScrollbars parameter.
(WebKit::WebProcess::setUseSystemAppearanceForScrollbars): Call ScrollbarThemeGtk::setUseSystemAppearance().
Tools:
Do not use system appearance for scrollbars in MiniBrowser and unit tests.
- MiniBrowser/gtk/main.c:
(main):
- TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::Test):
- 2:36 AM Changeset in webkit [260064] by
-
- 4 edits in trunk/Source/WebCore
Add a timer to AVVideoCaptureSource to verify reception of frames
https://bugs.webkit.org/show_bug.cgi?id=210335
Reviewed by Eric Carlson.
Count the number of frames being captured.
Add a timer repeating every 3 seconds.
Timer starts/stops based on whether the session is running/is interrupted.
If the number of frames did not increase, fail the source.
Manually tested.
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::captureFailed):
Explicitly call stop() instead of just setting m_isProducingData.
This ensures we release all resources and that we may not restart capturing after captureFailed().
- platform/mediastream/mac/AVVideoCaptureSource.h:
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::AVVideoCaptureSource):
(WebCore::AVVideoCaptureSource::verifyIsCapturing):
(WebCore::AVVideoCaptureSource::updateVerifyCapturingTimer):
(WebCore::AVVideoCaptureSource::captureOutputDidOutputSampleBufferFromConnection):
(WebCore::AVVideoCaptureSource::captureSessionIsRunningDidChange):
- 2:30 AM Changeset in webkit [260063] by
-
- 6 edits in trunk/Source/WebKit
WebSocketChannel should remove itself from its manager map
https://bugs.webkit.org/show_bug.cgi?id=210424
Reviewed by Alex Christensen.
WebSocketChannelManager was never removing any entry from its map.
To fix this, the manager is now keeping a WeakPtr to each channel.
When the channel is destroyed, it will remove itself from its channel manager.
- WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::WebSocketChannel):
(WebKit::WebSocketChannel::~WebSocketChannel):
- WebProcess/Network/WebSocketChannel.h:
- WebProcess/Network/WebSocketChannelManager.cpp:
(WebKit::WebSocketChannelManager::addChannel):
(WebKit::WebSocketChannelManager::createWebSocketChannel): Deleted.
- WebProcess/Network/WebSocketChannelManager.h:
(WebKit::WebSocketChannelManager::removeChannel):
- WebProcess/Network/WebSocketProvider.cpp:
(WebKit::WebSocketProvider::createWebSocketChannel):
- 12:56 AM Changeset in webkit [260062] by
-
- 50 edits4 copies50 adds in trunk/LayoutTests
[Gtk] Update pixel tests baseline for all tests containing or referencing SVGs (except WPT)
https://bugs.webkit.org/show_bug.cgi?id=210282
Rubber-stamped by Žan Doberšek.
This extends the work from webkit.org/b/209136 to have a pixel test baseline
for all layout tests, even outside the svg/ directory, that contain or
reference SVGs.
This is mainly useful for developing webkit.org/b/90738, to ease
comparison of the SVG PoC branch with vanilla WebKit. In future we
should rather convert more and more tests to reftests instead of
relying on pixel tests - which SVG does for many features right now.
- platform/gtk/TestExpectations:
- platform/gtk/css3/blending/background-blend-mode-image-svg-expected.png: Added.
- platform/gtk/css3/blending/background-blend-mode-svg-color-expected.png: Added.
- platform/gtk/css3/blending/svg-blend-color-burn-expected.png: Copied from LayoutTests/platform/gtk/svg/filters/filter-hidden-content-expected.png.
- platform/gtk/css3/blending/svg-blend-color-burn-expected.txt: Added.
- platform/gtk/css3/blending/svg-blend-color-dodge-expected.png: Added.
- platform/gtk/css3/blending/svg-blend-color-dodge-expected.txt: Added.
- platform/gtk/css3/blending/svg-blend-darken-expected.png: Added.
- platform/gtk/css3/blending/svg-blend-darken-expected.txt: Added.
- platform/gtk/css3/blending/svg-blend-difference-expected.png: Added.
- platform/gtk/css3/blending/svg-blend-difference-expected.txt: Added.
- platform/gtk/css3/blending/svg-blend-exclusion-expected.png: Copied from LayoutTests/platform/gtk/svg/filters/filter-hidden-content-expected.png.
- platform/gtk/css3/blending/svg-blend-exclusion-expected.txt: Added.
- platform/gtk/css3/blending/svg-blend-hard-light-expected.png: Added.
- platform/gtk/css3/blending/svg-blend-lighten-expected.png: Added.
- platform/gtk/css3/blending/svg-blend-lighten-expected.txt: Added.
- platform/gtk/css3/blending/svg-blend-multiply-alpha-expected.png:
- platform/gtk/css3/blending/svg-blend-multiply-expected.png: Added.
- platform/gtk/css3/blending/svg-blend-multiply-expected.txt: Added.
- platform/gtk/css3/blending/svg-blend-overlay-expected.png: Added.
- platform/gtk/css3/blending/svg-blend-overlay-expected.txt: Added.
- platform/gtk/css3/blending/svg-blend-screen-expected.png: Copied from LayoutTests/platform/gtk/svg/filters/filter-hidden-content-expected.png.
- platform/gtk/css3/blending/svg-blend-screen-expected.txt: Added.
- platform/gtk/css3/blending/svg-blend-soft-light-expected.png: Added.
- platform/gtk/css3/blending/svg-blend-soft-light-expected.txt: Added.
- platform/gtk/css3/filters/effect-reference-composite-expected.png:
- platform/gtk/css3/filters/effect-reference-composite-hw-expected.png:
- platform/gtk/css3/filters/effect-reference-external-expected.png: Added.
- platform/gtk/css3/filters/effect-reference-hw-expected.png:
- platform/gtk/css3/filters/effect-reference-ordering-expected.png:
- platform/gtk/css3/filters/effect-reference-ordering-hw-expected.png:
- platform/gtk/css3/shapes/shape-outside/shape-image/support/left-half-rectangle-20-expected.png: Copied from LayoutTests/platform/gtk/svg/filters/filter-hidden-content-expected.png.
- platform/gtk/css3/shapes/shape-outside/shape-image/support/left-half-rectangle-20-expected.txt: Added.
- platform/gtk/css3/shapes/shape-outside/shape-image/support/left-half-rectangle-50-expected.png: Added.
- platform/gtk/css3/shapes/shape-outside/shape-image/support/left-half-rectangle-50-expected.txt: Added.
- platform/gtk/css3/shapes/shape-outside/shape-image/support/left-half-rectangle-70-expected.png: Added.
- platform/gtk/css3/shapes/shape-outside/shape-image/support/left-half-rectangle-70-expected.txt: Added.
- platform/gtk/css3/shapes/shape-outside/shape-image/support/left-half-rectangle-expected.png: Added.
- platform/gtk/css3/shapes/shape-outside/shape-image/support/left-half-rectangle-expected.txt: Added.
- platform/gtk/css3/shapes/shape-outside/shape-image/support/right-half-rectangle-70-expected.png: Added.
- platform/gtk/css3/shapes/shape-outside/shape-image/support/right-half-rectangle-70-expected.txt: Added.
- platform/gtk/css3/shapes/shape-outside/shape-image/support/right-half-rectangle-expected.png: Added.
- platform/gtk/css3/shapes/shape-outside/shape-image/support/right-half-rectangle-expected.txt: Added.
- platform/gtk/css3/shapes/spec-examples/support/rounded-triangle-expected.png: Added.
- platform/gtk/css3/shapes/spec-examples/support/rounded-triangle-expected.txt: Added.
- platform/gtk/fast/backgrounds/animated-svg-as-mask-expected.png:
- platform/gtk/fast/backgrounds/size/contain-and-cover-expected.png:
- platform/gtk/fast/backgrounds/size/contain-and-cover-expected.txt: Added.
- platform/gtk/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
- platform/gtk/fast/backgrounds/size/contain-and-cover-zoomed-expected.txt: Added.
- platform/gtk/fast/harness/render-tree-as-text-options-expected.png: Added.
- platform/gtk/imported/w3c/canvas/2d.fillStyle.parse.svg-1-expected.png: Added.
- platform/gtk/imported/w3c/canvas/2d.fillStyle.parse.svg-2-expected.png: Added.
- platform/gtk/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt:
- platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt:
- platform/gtk/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png:
- platform/gtk/svg/as-background-image/svg-as-background-4-expected.png:
- platform/gtk/svg/as-background-image/svg-as-background-4-expected.txt: Added.
- platform/gtk/svg/custom/circular-marker-reference-2-expected.png:
- platform/gtk/svg/custom/circular-marker-reference-2-expected.txt: Added.
- platform/gtk/svg/custom/glyph-transformation-with-hkern-expected.txt:
- platform/gtk/svg/custom/non-circular-marker-reference-expected.png:
- platform/gtk/svg/custom/non-circular-marker-reference-expected.txt: Added.
- platform/gtk/svg/custom/text-clip-expected.png:
- platform/gtk/svg/filters/filter-hidden-content-expected.png:
- platform/gtk/svg/text/foreignObject-text-clipping-bug-expected.png:
- platform/gtk/svg/text/select-textLength-spacing-squeeze-4-expected.png:
- platform/gtk/svg/text/select-textLength-spacing-stretch-4-expected.png:
- platform/gtk/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.png:
- platform/gtk/svg/text/select-x-list-4-expected.png:
- platform/gtk/svg/text/select-x-list-with-tspans-4-expected.png:
- platform/gtk/svg/text/selection-tripleclick-expected.png:
- platform/gtk/svg/text/text-align-01-b-expected.png:
- platform/gtk/svg/text/text-align-02-b-expected.png:
- platform/gtk/svg/text/text-align-03-b-expected.png:
- platform/gtk/svg/text/text-align-04-b-expected.png:
- platform/gtk/svg/text/text-align-05-b-expected.png:
- platform/gtk/svg/text/text-align-06-b-expected.png:
- platform/gtk/svg/text/text-deco-01-b-expected.png:
- platform/gtk/svg/text/text-fonts-01-t-expected.png:
- platform/gtk/svg/text/text-fonts-02-t-expected.png:
- platform/gtk/svg/text/text-intro-05-t-expected.png:
- platform/gtk/svg/text/text-path-01-b-expected.png:
- platform/gtk/svg/text/text-spacing-01-b-expected.png:
- platform/gtk/svg/text/text-text-01-b-expected.png:
- platform/gtk/svg/text/text-text-03-b-expected.png:
- platform/gtk/svg/text/text-text-05-t-expected.png:
- platform/gtk/svg/text/text-text-07-t-expected.png:
- platform/gtk/svg/text/text-text-08-b-expected.png:
- platform/gtk/svg/text/text-tref-01-b-expected.png:
- platform/gtk/svg/text/text-tselect-01-b-expected.png:
- platform/gtk/svg/text/text-tselect-02-f-expected.png:
- platform/gtk/svg/text/text-tspan-01-b-expected.png:
- platform/gtk/svg/text/text-ws-01-t-expected.png:
- platform/gtk/svg/text/text-ws-02-t-expected.png:
- 12:40 AM Changeset in webkit [260061] by
-
- 2 edits in trunk/Source/WebKit
Add logging in case of WebRTC socket error
https://bugs.webkit.org/show_bug.cgi?id=210428
Reviewed by Eric Carlson.
Add some release logging in case of error when sending, setting option or closing a socket.
- NetworkProcess/webrtc/LibWebRTCSocketClient.cpp:
(WebKit::LibWebRTCSocketClient::sendTo):
(WebKit::LibWebRTCSocketClient::close):
(WebKit::LibWebRTCSocketClient::setOption):
- 12:06 AM Changeset in webkit [260060] by
-
- 50 edits in trunk
Unreviewed, reverting r260024.
https://bugs.webkit.org/show_bug.cgi?id=210480
Regressed performance due to loss of specificity caching
(Requested by anttik on #webkit).
Reverted changeset:
"[CSS Selectors] Selectors Level 4 specificity calculation for
pseudo classes"
https://bugs.webkit.org/show_bug.cgi?id=210419
https://trac.webkit.org/changeset/260024
Apr 13, 2020:
- 10:32 PM Changeset in webkit [260059] by
-
- 22 edits in trunk/Source
Unreviewed, reverting r260052.
https://bugs.webkit.org/show_bug.cgi?id=210479
Breaks iOS tests, needs more work (Requested by smfr on
#webkit).
Reverted changeset:
"Add ENABLE_CUSTOM_SCROLLBARS and define it for macOS and for
non-Cocoa platforms"
https://bugs.webkit.org/show_bug.cgi?id=210460
https://trac.webkit.org/changeset/260052
- 10:12 PM Changeset in webkit [260058] by
-
- 4 edits in trunk/Source/WebCore
[GTK4] Use ThemeAdwaita instead of ThemeGtk
https://bugs.webkit.org/show_bug.cgi?id=210334
Reviewed by Carlos Garcia Campos.
No new tests needed.
- platform/adwaita/ThemeAdwaita.cpp: Build the Theme::singleton() factory also with USE(GTK4).
- platform/gtk/ThemeGtk.cpp: Conditionally build if !USE(GTK4).
(WebCore::ThemeGtk::ensurePlatformColors const): Add deprecation ignore guards.
- platform/gtk/ThemeGtk.h: Conditionally build if !USE(GTK4).
- 8:05 PM Changeset in webkit [260057] by
-
- 3 edits in trunk/Source/JavaScriptCore
REGRESSION (r259587): bterlson/eshost throws during init in strict mode
https://bugs.webkit.org/show_bug.cgi?id=210470
Reviewed by Ross Kirsling.
This change makes $262.IsHTMLDDA of JSC shell a CustomValue, allowing it to be reassigned
and restoring compatibility with any version of https://github.com/bterlson/eshost.
Since putDirectCustomAccessor() is now used instead of putGetter(), scope exception assert
is no longer needed and can be safely removed, as well as JSObject::putGetter() export.
- jsc.cpp:
- runtime/JSObject.h:
- 7:59 PM Changeset in webkit [260056] by
-
- 4 edits4 adds in trunk
[Async overflow] Get scroll-snap working with async overflow scrolling on macOS
https://bugs.webkit.org/show_bug.cgi?id=210471
<rdar://problem/61643199>
Reviewed by Wenson Hsieh.
Source/WebCore:
Obey the FIXME and move scroll-snap related code to the delegate so that it works for
both frame and overflow nodes.
Tests: tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-async-overflow-stateless.html
tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-async-overflow.html
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::commitStateBeforeChildren):
(WebCore::convertToLayoutUnits): Deleted.
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::convertToLayoutUnits):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode):
LayoutTests:
Clone some overflow scroll-snap tests, and enable async scrolling for them.
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-async-overflow-expected.txt: Added.
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-async-overflow-stateless-expected.txt: Added.
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-async-overflow-stateless.html: Added.
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-async-overflow.html: Added.
- 7:40 PM Changeset in webkit [260055] by
-
- 3 edits2 adds in trunk
Do not cache definite height against perpendicular flex items.
https://bugs.webkit.org/show_bug.cgi?id=207603
<rdar://problem/59135373>
Reviewed by Simon Fraser.
Source/WebCore:
RenderFlexibleBox::m_hasDefiniteHeight should not be set when the child we check against is a perpendicular item
because a perpendicular box's height is resolved against the containing block's width.
Test: fast/flexbox/unresolved-height-percentage-crash.html
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild):
LayoutTests:
- fast/flexbox/unresolved-height-percentage-crash-expected.txt: Added.
- fast/flexbox/unresolved-height-percentage-crash.html: Added.
- 6:40 PM Changeset in webkit [260054] by
-
- 17 edits in trunk/Source
Replace use of Checked<size_t, RecordOverflow> with CheckedSize
<https://webkit.org/b/210461>
Reviewed by Mark Lam.
Source/JavaScriptCore:
- heap/Heap.cpp:
(JSC::Heap::deprecatedReportExtraMemorySlowCase):
(JSC::Heap::extraMemorySize):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::reportExtraMemoryVisited):
- heap/SlotVisitor.h:
- runtime/ArgList.cpp:
(JSC::MarkedArgumentBuffer::expandCapacity):
Source/WebCore:
- platform/audio/ios/AudioFileReaderIOS.cpp:
(WebCore::createAudioBufferList):
- platform/graphics/ImageBufferBackend.cpp:
(WebCore::ImageBufferBackend::calculateBackendSize):
- platform/graphics/win/Direct2DUtilities.cpp:
(WebCore::Direct2D::createDirect2DImageSurfaceWithData):
- platform/graphics/win/ImageBufferDirect2DBackend.cpp:
(WebCore::ImageBufferDirect2DBackend::copyNativeImage const):
Source/WebKit:
- Platform/IPC/cocoa/MachMessage.cpp:
(IPC::MachMessage::messageSize):
- Platform/IPC/cocoa/MachMessage.h:
- WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::increaseBufferedAmount):
Source/WTF:
- wtf/FastMalloc.cpp:
(WTF::tryFastCalloc):
- wtf/Gigacage.cpp:
(Gigacage::tryMallocArray):
- wtf/glib/SocketConnection.cpp:
(WTF::SocketConnection::sendMessage):
- 6:30 PM Changeset in webkit [260053] by
-
- 2 edits in trunk/Tools
REGRESSION (r259900) : Speedometer failing on Catalina-Release-WK2-Perf bot
https://bugs.webkit.org/show_bug.cgi?id=210442
<rdar://problem/61727169>
Reviewed by Stephanie Lewis.
- Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest):
- 5:47 PM Changeset in webkit [260052] by
-
- 22 edits in trunk/Source
Add ENABLE_CUSTOM_SCROLLBARS and define it for macOS and for non-Cocoa platforms
https://bugs.webkit.org/show_bug.cgi?id=210460
Reviewed by Tim Horton.
Source/WebCore:
Wrap all custom scrollbar and custom scroll corner code in ENABLE(CUSTOM_SCROLLBARS).
- page/FrameView.cpp:
(WebCore::FrameView::createScrollbar):
(WebCore::FrameView::updateScrollCorner):
- page/FrameView.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::createScrollbar):
(WebCore::RenderLayer::calculateClipRects const):
- rendering/RenderLayer.h:
- rendering/RenderLayerCompositor.cpp:
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::createScrollbar):
- rendering/RenderMenuList.cpp:
(RenderMenuList::createScrollbar):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::containingBlock const):
- rendering/RenderObject.h:
- rendering/RenderScrollbar.cpp:
- rendering/RenderScrollbar.h:
- rendering/RenderScrollbarPart.cpp:
- rendering/RenderScrollbarPart.h:
- rendering/RenderScrollbarTheme.cpp:
- rendering/RenderScrollbarTheme.h:
- rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::createScrollbar):
- rendering/RenderTextControlSingleLine.cpp:
- style/StyleResolver.cpp:
Source/WTF:
Define ENABLE_CUSTOM_SCROLLBARS for PLATFORM(MAC) and other non-Cocoa platforms.
- wtf/PlatformEnable.h:
- wtf/PlatformEnableCocoa.h:
- 5:32 PM Changeset in webkit [260051] by
-
- 3 edits in trunk/Tools
check-webkit-style should warn about attributes that appear after function definitions
<https://webkit.org/b/210459>
Reviewed by Darin Adler.
- Scripts/webkitpy/style/checkers/cpp.py:
(_FunctionState.attributes_after_definition): Add.
- Return list of attributes that appear after a function definition.
(check_function_definition):
- Add new check for attributes that appear after a function definition.
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_decode_functions_missing_warn_unused_return):
- Update test to fix new warning.
(CppStyleTest.test_function_readability_for_attributes): Add.
- Add tests.
- 4:48 PM Changeset in webkit [260050] by
-
- 3 edits in trunk/LayoutTests
[GTK][WPE] Gardening, update expectations after r260016
https://bugs.webkit.org/show_bug.cgi?id=210466
Unreviewed gardening.
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 4:42 PM Changeset in webkit [260049] by
-
- 4 edits in trunk/Source/WebCore
Clean up more resources during WebGLLayer teardown
https://bugs.webkit.org/show_bug.cgi?id=210222
Patch by Kenneth Russell <kbr@chromium.org> on 2020-04-13
Reviewed by Dean Jackson.
Release OpenGL resources just before destruction of the underlying
OpenGL context.
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::GraphicsContextGLOpenGL::~GraphicsContextGLOpenGL):
- platform/graphics/cocoa/WebGLLayer.h:
- platform/graphics/cocoa/WebGLLayer.mm:
(-[WebGLLayer releaseGLResources]):
(-[WebGLLayer dealloc]): Deleted.
- 3:49 PM Changeset in webkit [260048] by
-
- 1 copy in tags/Safari-609.2.6
Tag Safari-609.2.6.
- 3:43 PM Changeset in webkit [260047] by
-
- 3 edits in branches/safari-609-branch
Cherry-pick r257595. rdar://problem/61735200
[Win] Fix AppleWin build
https://bugs.webkit.org/show_bug.cgi?id=208330
Reviewed by Don Olmstead.
Set framework headers directory for AppleWin build.
- Source/cmake/target/TargetJavaScriptCore.cmake:
- Source/cmake/target/TargetWTF.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:41 PM Changeset in webkit [260046] by
-
- 8 edits in branches/safari-609-branch/Source
Versioning.
- 3:13 PM Changeset in webkit [260045] by
-
- 7 edits in trunk/Source/WebCore
Background images should figure into visually non empty heuristic
https://bugs.webkit.org/show_bug.cgi?id=208501
Reviewed by Simon Fraser.
This makes the visually non-empty heuristic treat background images the same
as it treats regular images. This is in line with first contentful paint spec in paint timing:
https://w3c.github.io/paint-timing/.
Note that the pixel count is computed based on the image size rather than the box size, as the box size might not be known at this time.
This is equivalent to the pixel reporting done for RenderImage.
Border-images and masks are excluded, as per the spec.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::imageChanged):
Call incrementVisuallyNonEmptyPixelCountIfNeeded for background images
- rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
- rendering/RenderBox.cpp:
(WebCore::RenderElement::incrementVisuallyNonEmptyPixelCountIfNeeded):
- rendering/RenderBox.h:
- rendering/RenderImage.cpp:
(WebCore::RenderImage::incrementVisuallyNonEmptyPixelCountIfNeeded): Deleted.
- rendering/RenderImage.h:
Moved incrementVisuallyNonEmptyPixelCountIfNeeded from RenderImage to RenderElement
- 3:07 PM Changeset in webkit [260044] by
-
- 1 copy in tags/Safari-610.1.9.1
Tag Safari-610.1.9.1.
- 3:05 PM Changeset in webkit [260043] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
REGRESSION (r259843): "Missing Plug-In" when dragging an image into Mail Compose
https://bugs.webkit.org/show_bug.cgi?id=210458
<rdar://problem/61735361>
Reviewed by Wenson Hsieh.
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin):
r259843 changed this code from making a dictionary with a set of key->object mappings
to making a dictionary with an array of keys as its only key and an array of objects
as that key's value. Not quite the same thing.
Go back to dictionaryWithObjects:forKeys:.
- 3:02 PM Changeset in webkit [260042] by
-
- 1 copy in tags/Safari-609.2.5
Tag Safari-609.2.5.
- 2:53 PM Changeset in webkit [260041] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Update message filters in the WebContent sandbox
https://bugs.webkit.org/show_bug.cgi?id=210455
Reviewed by Geoffrey Garen.
Update message filters in the WebContent sandbox on iOS with required messages.
No new tests, since this patch should not introduce a behavior change.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 2:37 PM Changeset in webkit [260040] by
-
- 8 edits in trunk
http/tests/in-app-browser-privacy/app-bound-domain.html is a constant failure on iOS
https://bugs.webkit.org/show_bug.cgi?id=210344
<rdar://problem/61583925>
Reviewed by Brent Fulgham.
Tools:
This patch creates a new TestOption parameter for enabling In-App
Browser Privacy because its NSUserDefaults key is not set using the
internal or experimental keywords. It enables this flag for
WebKitTestRunner if the option is set (and disables it otherwise).
- WebKitTestRunner/TestController.cpp:
(WTR::updateTestOptionsFromTestHeader):
- WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformAddTestOptions const):
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
LayoutTests:
Update comment to match changes in TestOptions.
- http/tests/in-app-browser-privacy/app-bound-domain.html:
- http/tests/in-app-browser-privacy/switch-session-on-navigation-to-app-bound-domain.html:
- 2:24 PM Changeset in webkit [260039] by
-
- 2 edits2 deletes in trunk/LayoutTests
[ macOS ] REGRESSION(r260024) inspector/css/selector-dynamic-specificity.html is constantly failing
https://bugs.webkit.org/show_bug.cgi?id=210450
Removing a test that is no longer supported.
Unreviewed test gardening.
- inspector/css/selector-dynamic-specificity-expected.txt: Removed.
- inspector/css/selector-dynamic-specificity.html: Removed.
- platform/mac/TestExpectations:
- 1:59 PM Changeset in webkit [260038] by
-
- 7 edits10 adds in trunk
module's default cross-origin value should be "anonymous"
https://bugs.webkit.org/show_bug.cgi?id=210326
Reviewed by Sam Weinig.
Source/WebCore:
Tests: http/tests/security/cookie-module-import-propagate.html
http/tests/security/cookie-module-import.html
http/tests/security/cookie-module-propagate.html
http/tests/security/cookie-module.html
The original spec was using "omit" crossorigin for modules when crossorigin is not set / empty.
However, the spec is changed to sending requests with "same-origin" credentials ("anonymous" crossorigin mode)
by default. We should follow it.
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::requestModuleScript):
- dom/ScriptElementCachedScriptFetcher.cpp:
(WebCore::ScriptElementCachedScriptFetcher::requestModuleScript const):
- dom/ScriptElementCachedScriptFetcher.h:
- html/parser/HTMLResourcePreloader.cpp:
(WebCore::PreloadRequest::resourceRequest):
- loader/cache/CachedScript.cpp:
(WebCore::CachedScript::script): While this is not directly related to this patch, added new tests found that we are returning
null StringView if the resource is zero byte. This totally works, but JSC::Parser has assertion that this is non-null
StringView. For zero byte CachedScript resource, we should return non-null empty StringView instead.
LayoutTests:
- http/tests/security/cookie-module-expected.txt: Added.
- http/tests/security/cookie-module-import-expected.txt: Added.
- http/tests/security/cookie-module-import-propagate-expected.txt: Added.
- http/tests/security/cookie-module-import-propagate.html: Added.
- http/tests/security/cookie-module-import.html: Added.
- http/tests/security/cookie-module-propagate-expected.txt: Added.
- http/tests/security/cookie-module-propagate.html: Added.
- http/tests/security/cookie-module.html: Added.
- http/tests/security/resources/cookie-protected-script.php: Added.
- http/tests/security/resources/module-nest-import.php: Added.
- 1:40 PM Changeset in webkit [260037] by
-
- 2 edits in trunk/Source/WebKit
Add roblox.com to the desktop class quirks list
https://bugs.webkit.org/show_bug.cgi?id=210452
<rdar://problem/58859657>
Reviewed by Zalan Bujtas.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::desktopClassBrowsingRecommendedForRequest):
- 1:39 PM Changeset in webkit [260036] by
-
- 3 edits in trunk/Source/WebCore
Add Apple's Reality files to AR System Preview
https://bugs.webkit.org/show_bug.cgi?id=210449
<rdar://problem/61732793>
Reviewed by Sam Weinig.
Add support for Apples .reality AR files - both the vendor MIME
Type and our UTI. These have been supported by WebKitAdditions for
a while. Move them into Open Source.
- platform/MIMETypeRegistry.cpp:
(WebCore::MIMETypeRegistry::systemPreviewMIMETypes):
- platform/network/mac/UTIUtilities.mm:
(WebCore::UTIFromUnknownMIMEType):
- 12:42 PM Changeset in webkit [260035] by
-
- 6 edits in trunk/Source/WebKit
Remove the "IgnoreViewportScalingConstraints" debug WebKit feature
https://bugs.webkit.org/show_bug.cgi?id=210440
Reviewed by Tim Horton.
Remove the internal WebKit2 feature; this was introduced around iOS 9 to unconditionally force pages to shrink
to fit if they specified a responsive viewport, to avoid horizontal scrolling.
Nowadays, this behavior is instead controlled by the
-[WKWebView _allowsViewportShrinkToFit]SPI, which
ensures that this shrink-to-fit preference is updated in sync with the visible content rect update lifecycle; it
is currently used by Safari to scale web pages down to fit in smaller multitasking viewports.
In contrast, this preference has no internal clients. Instead of maintaining two different ways for clients to
control shrink-to-fit behavior, remove support for the preference and make it a no-op.
- Shared/WebPreferences.yaml:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetIgnoreViewportScalingConstraints):
(WKPreferencesGetIgnoreViewportScalingConstraints):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/ios/WebPageIOS.mm:
Remove this redundant mechanism for shrinking web pages down to fit.
(WebKit::WebPage::updateVisibleContentRects):
- 12:30 PM Changeset in webkit [260034] by
-
- 11 edits4 deletes in trunk
[iOS] Remove unused UTType swizzler code
https://bugs.webkit.org/show_bug.cgi?id=210435
Unreviewed rollout of r258120.
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj:
- platform/cocoa/UTTypeRecordSwizzler.h: Removed.
- platform/cocoa/UTTypeRecordSwizzler.mm: Removed.
Source/WebCore/PAL:
- PAL.xcodeproj/project.pbxproj:
- pal/spi/cocoa/NSUTTypeRecordSPI.h: Removed.
Source/WebKit:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/UTIFromTag.mm: Removed.
- 12:19 PM Changeset in webkit [260033] by
-
- 4 edits1 add in trunk
[YARR] Allow for Unicode named capture group identifiers in non-Unicode regular expressions
https://bugs.webkit.org/show_bug.cgi?id=210309
Reviewed by Ross Kirsling.
JSTests:
- stress/regexp-named-capture-groups.js: New test added.
(shouldBe):
(shouldThrowInvalidGroupSpecifierName):
- test262/expectations.yaml: Updated for now failing tests.
When test262 gets updated for this change, this can be reverted.
Source/JavaScriptCore:
Update YARR pattern processing to allow for non-BMP unicode identifier characters in named capture groups.
This change was discussed and approved at the March/April 2020 TC-39 meeting.
See https://github.com/tc39/ecma262/pull/1869 for the discussion and change.
Updated tryConsumeUnicodeEscape() to allow for unicode escapes in non-unicode flagged regex's.
Added the same support to consumePossibleSurrogatePair().
- yarr/YarrParser.h:
(JSC::Yarr::Parser::consumePossibleSurrogatePair):
(JSC::Yarr::Parser::parseCharacterClass):
(JSC::Yarr::Parser::parseTokens):
(JSC::Yarr::Parser::tryConsumeUnicodeEscape):
(JSC::Yarr::Parser::tryConsumeIdentifierCharacter):
- 12:02 PM Changeset in webkit [260032] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening, WebRTC flaky failures
https://bugs.webkit.org/show_bug.cgi?id=210444
Unreviewed gardening.
- platform/gtk/TestExpectations:
- 11:15 AM Changeset in webkit [260031] by
-
- 36 edits in trunk/Source/WebKit
Turn all instances of NavigatingToAppBoundDomain into Optionals
https://bugs.webkit.org/show_bug.cgi?id=210363
<rdar://problem/61612861>
Reviewed by Brent Fulgham.
NavigatingToAppBoundDomain should be an Optional when passed to the
Network Process to distinguish the case of an empty app-bound domain
list versus an actual app-bound domain navigation. An empty list and
an app-bound navigation should have the same behavior in NetworkSessionCocoa,
but we will need distinguished behavior in the future.
- NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::startDownload):
- NetworkProcess/Downloads/DownloadManager.h:
(WebKit::DownloadManager::startDownload):
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::startDownload):
(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
- NetworkProcess/NetworkConnectionToWebProcess.h:
(WebKit::NetworkConnectionToWebProcess::startDownload):
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkLoadParameters.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::preconnectTo):
(WebKit::NetworkProcess::downloadRequest):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::decode):
- NetworkProcess/NetworkResourceLoadParameters.h:
- NetworkProcess/cache/AsyncRevalidation.cpp:
(WebKit::NetworkCache::AsyncRevalidation::AsyncRevalidation):
- NetworkProcess/cache/AsyncRevalidation.h:
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::startAsyncRevalidationIfNeeded):
(WebKit::NetworkCache::Cache::retrieve):
- NetworkProcess/cache/NetworkCache.h:
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
(WebKit::NetworkCache::SpeculativeLoadManager::preconnectForSubresource):
(WebKit::NetworkCache::SpeculativeLoadManager::revalidateSubresource):
(WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::startSpeculativeRevalidation):
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
- NetworkProcess/cocoa/NetworkSessionCocoa.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::sessionWrapperForTask):
We should treat an empty WKAppBoundDomains list like an app-bound domain
navigation in the network session, so this sets
NavigatingToAppBoundDomain to Yes if the Optional is WTF::nullopt.
(WebKit::NetworkSessionCocoa::appBoundSession): Deleted.
(WebKit::NetworkSessionCocoa::isolatedSession): Deleted.
(WebKit::NetworkSessionCocoa::hasIsolatedSession const): Deleted.
(WebKit::NetworkSessionCocoa::clearIsolatedSessions): Deleted.
(WebKit::NetworkSessionCocoa::invalidateAndCancel): Deleted.
(WebKit::NetworkSessionCocoa::clearCredentials): Deleted.
(WebKit::certificatesMatch): Deleted.
(WebKit::NetworkSessionCocoa::allowsSpecificHTTPSCertificateForHost): Deleted.
(WebKit::NetworkSessionCocoa::continueDidReceiveChallenge): Deleted.
(WebKit::NetworkSessionCocoa::deviceManagementPolicyMonitor): Deleted.
(WebKit::NetworkSessionCocoa::createWebSocketTask): Deleted.
(WebKit::NetworkSessionCocoa::addWebSocketTask): Deleted.
(WebKit::NetworkSessionCocoa::removeWebSocketTask): Deleted.
(WebKit::NetworkSessionCocoa::hostNamesWithAlternativeServices const): Deleted.
(WebKit::NetworkSessionCocoa::deleteAlternativeServicesForHostNames): Deleted.
(WebKit::NetworkSessionCocoa::clearAlternativeServices): Deleted.
- Shared/LoadParameters.h:
- Shared/PolicyDecision.h:
(WebKit::PolicyDecision::decode):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::preconnectTo):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::loadData):
(WebKit::ProvisionalPageProxy::loadRequest):
- UIProcess/ProvisionalPageProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadRequestWithNavigationShared):
(WebKit::WebPageProxy::loadDataWithNavigationShared):
(WebKit::WebPageProxy::setIsNavigatingToAppBoundDomain):
Set this to WTF::nullopt instead of NavigatingToAppBoundDomain::Yes
so the two cases are distinguished.
(WebKit::WebPageProxy::isNavigatingToAppBoundDomainTesting):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::isNavigatingToAppBoundDomain const):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::download):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertMainResourceLoadToDownload):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadDataImpl):
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::setIsNavigatingToAppBoundDomain):
(WebKit::WebPage::isNavigatingToAppBoundDomain const):
- 10:57 AM Changeset in webkit [260030] by
-
- 7 edits18 deletes in trunk
Unreviewed, reverting r260003.
https://bugs.webkit.org/show_bug.cgi?id=210441
Avoid using basic-authentication for tests (Requested by
yusukesuzuki on #webkit).
Reverted changeset:
"module's default cross-origin value should be "anonymous""
https://bugs.webkit.org/show_bug.cgi?id=210326
https://trac.webkit.org/changeset/260003
- 10:56 AM Changeset in webkit [260029] by
-
- 3 edits in trunk/Tools
Make WTR::AccessibilityUIElement methods run on AX secondary thread.
https://bugs.webkit.org/show_bug.cgi?id=210392
Reviewed by Chris Fleizach.
In order to test accessibility isolated tree mode, it is necessary to
run WTR::AccessibilityUIElement methods on the AX secondary thread. This
change uses the functionality built-in AccessibilityController to
dispatch the calls to WebAccessibilityObjectWrapper to the AX thread.
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::AccessibilityUIElement):
(WTR::supportedAttributes):
(WTR::attributeValue):
(WTR::descriptionOfValue):
(WTR::attributesOfElement):
(WTR::AccessibilityUIElement::getLinkedUIElements):
(WTR::AccessibilityUIElement::getDocumentLinks):
(WTR::AccessibilityUIElement::getUIElementsWithAttribute const):
(WTR::AccessibilityUIElement::getChildren):
(WTR::AccessibilityUIElement::getChildrenWithRange):
(WTR::AccessibilityUIElement::rowHeaders const):
(WTR::AccessibilityUIElement::columnHeaders const):
(WTR::AccessibilityUIElement::elementAtPoint):
(WTR::AccessibilityUIElement::indexOfChild):
(WTR::AccessibilityUIElement::elementForAttribute const):
(WTR::AccessibilityUIElement::elementForAttributeAtIndex const):
(WTR::AccessibilityUIElement::linkedUIElementAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToElementAtIndex):
(WTR::AccessibilityUIElement::ariaControlsElementAtIndex):
(WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
(WTR::AccessibilityUIElement::disclosedRowAtIndex):
(WTR::AccessibilityUIElement::rowAtIndex):
(WTR::AccessibilityUIElement::selectedChildAtIndex const):
(WTR::AccessibilityUIElement::selectedChildrenCount const):
(WTR::AccessibilityUIElement::selectedRowAtIndex):
(WTR::AccessibilityUIElement::titleUIElement):
(WTR::AccessibilityUIElement::parentElement):
(WTR::AccessibilityUIElement::disclosedByRow):
(WTR::AccessibilityUIElement::numberAttributeValue):
(WTR::AccessibilityUIElement::isAttributeSupported):
(WTR::AccessibilityUIElement::isSelected const):
(WTR::AccessibilityUIElement::selectTextWithCriteria):
- 10:56 AM Changeset in webkit [260028] by
-
- 2 edits in trunk/Tools
[Flatpak SDK] test262-runner fails to run with WEBKIT_JHBUILD enabled
https://bugs.webkit.org/show_bug.cgi?id=210430
Make sure we check the WEBKIT_JHBUILD env var directly to avoid
requiring webkitdirs early and messing up Runner.pm compilation.
Reviewed by Philippe Normand.
- Scripts/test262-runner:
- 10:53 AM Changeset in webkit [260027] by
-
- 6 edits in trunk/Source
Fix clang static analyzer warnings about unused instance variables in WebIconDatabase, WKView
<https://webkit.org/b/210427>
Reviewed by Alex Christensen.
Source/WebKit:
- UIProcess/API/Cocoa/WKView.h:
(WKView._unused):
- Use WK_UNUSED_INSTANCE_VARIABLE to ignore unused instance variable.
Source/WebKitLegacy/mac:
- Misc/WebIconDatabase.h:
(WebIconDatabase._private):
- Use WK_UNUSED_INSTANCE_VARIABLE to ignore unused instance variable.
Source/WTF:
- wtf/Compiler.h:
(WK_UNUSED_INSTANCE_VARIABLE): Add.
- 10:52 AM Changeset in webkit [260026] by
-
- 3 edits in trunk/LayoutTests
[ macOS wk1 ] css2.1/20110323/replaced-intrinsic-ratio-001.htm is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207160
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
- 10:48 AM Changeset in webkit [260025] by
-
- 68 edits in trunk
Add WARN_UNUSED_RETURN to decode methods in Source/WebKit
<https://webkit.org/b/210423>
<rdar://problem/61715582>
Reviewed by Alex Christensen.
Source/WebKit:
- GPUProcess/GPUProcessCreationParameters.h:
- NetworkProcess/Downloads/DownloadID.h:
(IPC::ArgumentCoder<WebKit::DownloadID>::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/cache/NetworkCacheKey.h:
(WebKit::NetworkCache::DataKey::decode):
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::decodeRecordMetaData):
(WebKit::NetworkCache::decodeRecordHeader):
- Platform/SharedMemory.h:
- PluginProcess/PluginCreationParameters.h:
- Shared/API/APIData.h:
- Shared/API/APIError.h:
- Shared/API/APIFrameHandle.h:
- Shared/API/APIGeometry.h:
- Shared/API/APINumber.h:
(API::Number::decode):
- Shared/API/APIPageGroupHandle.h:
- Shared/API/APIPageHandle.h:
- Shared/API/APIURL.h:
(API::URL::decode):
- Shared/API/APIURLRequest.h:
- Shared/API/APIURLResponse.h:
- Shared/API/Cocoa/RemoteObjectInvocation.h:
- Shared/Cocoa/ArgumentCodersCocoa.h:
- Shared/ContextMenuContextData.h:
- Shared/Databases/IndexedDB/WebIDBResult.h:
- Shared/EditorState.h:
- Shared/FocusedElementInformation.h:
- Shared/FontInfo.h:
- Shared/LayerTreeContext.h:
- Shared/LoadParameters.h:
- Shared/OptionalCallbackID.h:
(WebKit::OptionalCallbackID::decode):
- Shared/PlatformPopupMenuData.h:
- Shared/Plugins/PluginProcessCreationParameters.h:
- Shared/PrintInfo.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
- Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
- Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.h:
- Shared/SessionState.h:
- Shared/ShareableBitmap.h:
- Shared/ShareableResource.h:
- Shared/TouchBarMenuData.h:
- Shared/UpdateInfo.h:
- Shared/VisibleContentRectUpdateInfo.h:
- Shared/WebEvent.h:
- Shared/WebHitTestResultData.h:
- Shared/WebNavigationDataStore.h:
(WebKit::WebNavigationDataStore::decode):
- Shared/WebPreferencesStore.h:
- Shared/WebProcessCreationParameters.h:
- Shared/WebsiteData/WebsiteData.h:
- Shared/cf/ArgumentCodersCF.h:
- Shared/gtk/ArgumentCodersGtk.cpp:
(IPC::decodeImage):
(IPC::decodeGKeyFile):
- Shared/gtk/ArgumentCodersGtk.h:
- Shared/gtk/WebSelectionData.h:
- Shared/ios/InteractionInformationAtPosition.h:
- Shared/ios/InteractionInformationRequest.h:
- Shared/mac/ColorSpaceData.h:
- Shared/mac/ObjCObjectGraph.h:
- Shared/mac/SecItemRequestData.h:
- Shared/mac/WebGestureEvent.h:
- UIProcess/Cocoa/SessionStateCoding.h:
- UIProcess/LegacySessionStateCoding.h:
- UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::decodeSessionHistoryEntryData):
(WebKit::decodeSessionHistoryEntry):
(WebKit::decodeSessionHistoryEntries):
(WebKit::decodeV0SessionHistory):
(WebKit::decodeV1SessionHistory):
(WebKit::decodeSessionHistory):
- WebProcess/GPU/GPUProcessConnectionInfo.h:
(WebKit::GPUProcessConnectionInfo::decode):
- WebProcess/GPU/media/RemoteAudioBusData.h:
(WebKit::RemoteAudioBusData::decode):
- WebProcess/MediaStream/MediaDeviceSandboxExtensions.h:
- WebProcess/Network/NetworkProcessConnectionInfo.h:
(WebKit::NetworkProcessConnectionInfo::decode):
- WebProcess/Plugins/Plugin.h:
- Add WARN_UNUSED_RETURN to all decode functions.
Tools:
- Scripts/webkitpy/style/checkers/cpp.py:
(check_function_definition):
- Add check for platformDecode() methods.
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest):
- Add tests for platformDecode() methods.
- 10:45 AM Changeset in webkit [260024] by
-
- 50 edits in trunk
[CSS Selectors] Selectors Level 4 specificity calculation for pseudo classes
https://bugs.webkit.org/show_bug.cgi?id=210419
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/selectors/invalidation/is-expected.txt:
Source/WebCore:
CSS selector specification drafts at some point had a concept of "dynamic specificity" where
the specificity of a selector depended on the element it matched. It was only ever used with
:matches and :nth-child pseudo classes and has subsequently been removed. Selector specificity
can now always be computed statically.
There is a ton of code to support this obsolete feature. Remove it.
https://drafts.csswg.org/selectors-4/#specificity-rules
"The specificity of an :is(), :not(), or :has() pseudo-class is replaced by the specificity
of the most specific complex selector in its selector list argument.
Analogously, the specificity of an :nth-child() or :nth-last-child() selector is the specificity
of the pseudo class itself (counting as one pseudo-class selector) plus the specificity of the
most specific complex selector in its selector list argument (if any)."
- css/html.css:
Reorganize a :matches rule into a selector list to keep the exact specificites.
It matters here to select between listbox and menulist correctly based on the 'size' and 'multiple' attributes.
- css/CSSSelector.cpp:
(WebCore::selectorSpecificity):
(WebCore::maxSpecificity):
(WebCore::simpleSelectorSpecificityInternal):
(WebCore::CSSSelector::simpleSelectorSpecificity const):
Also handle nth here.
(WebCore::CSSSelector::specificity const):
(WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity): Deleted.
(WebCore::functionalPseudoClassStaticSpecificity): Deleted.
(WebCore::staticSpecificityInternal): Deleted.
(WebCore::CSSSelector::staticSpecificity const): Deleted.
Rename to just computeSpecificity(), there is no other kind than static.
- css/CSSSelector.h:
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::match const):
(WebCore::SelectorChecker::matchHostPseudoClass const):
(WebCore::SelectorChecker::matchRecursively const):
(WebCore::SelectorChecker::checkOne const):
(WebCore::SelectorChecker::matchSelectorList const):
SelectorChecker doesn't need to deal with specificity anymore.
- css/SelectorChecker.h:
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addNthChildType):
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::constructFragmentsInternal):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching):
Neither does SelectorCompiler.
- cssjit/SelectorCompiler.h:
- dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::selectorMatches const):
(WebCore::SelectorDataList::selectorClosest const):
- inspector/InspectorStyleSheet.cpp:
(WebCore::buildObjectForSelectorHelper):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelector):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::hasDynamicSpecificity): Deleted.
- inspector/InspectorStyleSheet.h:
- inspector/agents/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::addRule):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::highlightSelector):
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::ruleMatches):
(WebCore::Style::ElementRuleCollector::collectMatchingRulesForList):
Switch to get the specificity from the selector instead of computing it during selector checking.
- style/ElementRuleCollector.h:
- style/RuleData.cpp:
(WebCore::Style::computeMatchesBasedOnRuleHash):
(WebCore::Style::RuleData::RuleData):
(WebCore::Style::computeMatchBasedOnRuleHash): Deleted.
- style/RuleData.h:
(WebCore::Style::RuleData::matchesBasedOnRuleHash const):
(WebCore::Style::RuleData::matchBasedOnRuleHash const): Deleted.
This can be a bit instead of an enum since there is no need to communicate specificity.
LayoutTests:
Update specificity tests for static behavior, trying to also keep them useful.
- fast/css/is-specificity-10-expected.html:
- fast/css/is-specificity-10.html:
- fast/css/is-specificity-2-expected.html:
- fast/css/is-specificity-2.html:
- fast/css/is-specificity-3-expected.html:
- fast/css/is-specificity-3.html:
- fast/css/is-specificity-4-expected.html:
- fast/css/is-specificity-4.html:
- fast/css/is-specificity-5.html:
- fast/css/matches-specificity-10-expected.html:
- fast/css/matches-specificity-10.html:
- fast/css/matches-specificity-2-expected.html:
- fast/css/matches-specificity-2.html:
- fast/css/matches-specificity-3-expected.html:
- fast/css/matches-specificity-3.html:
- fast/css/matches-specificity-4-expected.html:
- fast/css/matches-specificity-4.html:
- fast/css/matches-specificity-5.html:
- fast/css/nth-child-specificity-2-expected.html:
- fast/css/nth-child-specificity-2.html:
- fast/css/nth-child-specificity-3-expected.html:
- fast/css/nth-child-specificity-3.html:
- fast/css/nth-child-specificity-4-expected.html:
- fast/css/nth-child-specificity-4.html:
- fast/css/nth-last-child-specificity-2-expected.html:
- fast/css/nth-last-child-specificity-2.html:
- fast/css/nth-last-child-specificity-3-expected.html:
- fast/css/nth-last-child-specificity-3.html:
- fast/css/nth-last-child-specificity-4-expected.html:
- fast/css/nth-last-child-specificity-4.html:
- 10:41 AM Changeset in webkit [260023] by
-
- 3 edits in trunk/Source/WebCore
KeyedDecoder functions in ResourceLoadStatistics.{cpp,h} should return bool and use WARN_UNUSED_RETURN
<https://webkit.org/b/210414>
<rdar://problem/61693118>
Reviewed by Alex Christensen.
- loader/ResourceLoadStatistics.cpp:
(WebCore::decodeHashCountedSet):
(WebCore::decodeHashSet):
(WebCore::decodeOptionSet):
(WebCore::decodeFontHashSet):
(WebCore::decodeCanvasActivityRecord):
(WebCore::ResourceLoadStatistics::decode):
- loader/ResourceLoadStatistics.h:
- Change decode functions to return
bool. - Add WARN_UNUSED_RETURN to all decode functions.
- Check the return value of all decode functions.
- 10:15 AM Changeset in webkit [260022] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [ Mac wk2 ] WebKit::ViewGestureController::handleSwipeGesture(WebKit::WebBackForwardListItem*, double, WebKit::ViewGestureController::SwipeDirection) - flaky crashes.
https://bugs.webkit.org/show_bug.cgi?id=210433
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 9:58 AM Changeset in webkit [260021] by
-
- 2 edits in branches/safari-610.1.9-branch/Source/WebKit
Cherry-pick r259590. rdar://problem/61691110
Unreviewed sandbox compile fix.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259590 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:54 AM Changeset in webkit [260020] by
-
- 8 edits in branches/safari-610.1.9-branch/Source
Versioning.
- 9:51 AM Changeset in webkit [260019] by
-
- 1 delete in branches/safari-610.1.9.1-branch
Delete branch.
- 9:48 AM Changeset in webkit [260018] by
-
- 2 edits in branches/safari-610.1.9.1-branch/Source/WebKit
Cherry-pick r259590. rdar://problem/61691110
Unreviewed sandbox compile fix.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259590 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:48 AM Changeset in webkit [260017] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Add message filtering to all iokit open rules
https://bugs.webkit.org/show_bug.cgi?id=210352
Reviewed by Sam Weinig.
Apply message filtering with reports and telemetry to all iokit-open rules in the WebContent process' sandbox on iOS
to gain a better understanding of which iokit-open rules we can investigate.
No new tests, since adding telemetry will not introduce a change in behavior.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 9:43 AM Changeset in webkit [260016] by
-
- 6 edits in trunk
When drawing an image srcRect and imageRect have to be in the orientation of destRect
https://bugs.webkit.org/show_bug.cgi?id=210364
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-04-13
Reviewed by Darin Adler.
Source/WebCore:
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::drawImage):
Use the renderer to get the orientation of the image if it is available.
Otherwise fall back to computedStyle().
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::draw):
For async image decoding, we will use the none oriented size as the
sizeForDrawing. imageRect must be in the same orientation as destRect.
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
srcRect must be in the same orientation as destRect.
LayoutTests:
- fast/images/image-orientation-none-canvas.html:
Make this test for images with "visibility: hidden;" only. This guarantees
the images have renderers. Images with "display: none;" will be covered
in another patch because the width and height is currently incorrect if
"image-orientation: none;".
- 9:43 AM Changeset in webkit [260015] by
-
- 8 edits in branches/safari-610.1.9.1-branch/Source
Versioning.
- 9:40 AM Changeset in webkit [260014] by
-
- 8 edits in trunk/Source
Unreviewed. Remove redundant move in return statement.
Return statement already returns rvalue,
so we don't need move here.
This patch removes the build warning below since r259922.
warning: redundant move in return statement [-Wredundant-move]
Source/WebCore:
No new tests, no new behaviours.
- page/csp/ContentSecurityPolicyResponseHeaders.h:
(WebCore::ContentSecurityPolicyResponseHeaders::decode):
- platform/network/cf/CertificateInfoCFNet.cpp:
(WTF::Persistence::decodeSecTrustRef):
Source/WebKit:
- NetworkProcess/cache/NetworkCacheCoders.cpp:
(WTF::Persistence::Coder<WebCore::HTTPHeaderMap>::decode):
Source/WTF:
- wtf/persistence/PersistentCoders.cpp:
(WTF::Persistence::Coder<CString>::decode):
(WTF::Persistence::decodeStringText):
(WTF::Persistence::Coder<SHA1::Digest>::decode):
- wtf/persistence/PersistentCoders.h:
- 9:35 AM Changeset in webkit [260013] by
-
- 7 edits2 copies2 adds in trunk
Fix mute/unmute of CoreAudioCapture sources after revision 257914
https://bugs.webkit.org/show_bug.cgi?id=210381
Reviewed by Eric Carlson.
Source/WebCore:
Revert part of revision 257914 since we still need the active source registration/unregistration when capturing in web process.
Make sure mock factory delegates all active source handling to CoreAudioCaptureSourceFactory,
now that the mock factory is using CoreAudioCaptureSources with a mock share dunit.
Tests: platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html
platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html
- platform/mediastream/RealtimeMediaSourceFactory.h:
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioCaptureSource::~CoreAudioCaptureSource):
(WebCore::CoreAudioCaptureSource::startProducingData):
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
LayoutTests:
Clone tests for having both GPU and non GPU test runs.
- platform/ios/mediastream/audio-muted-in-background-tab-gpu-process-expected.txt: Added.
- platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: Copied from LayoutTests/platform/ios/mediastream/audio-muted-in-background-tab.html.
- platform/ios/mediastream/audio-muted-in-background-tab.html:
- platform/ios/mediastream/getUserMedia-single-capture-gpu-process-expected.txt: Added.
- platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: Copied from LayoutTests/platform/ios/mediastream/getUserMedia-single-capture.html.
- platform/ios/mediastream/getUserMedia-single-capture.html:
- 9:33 AM Changeset in webkit [260012] by
-
- 6 edits in trunk/Source
Fix various build warnings
https://bugs.webkit.org/show_bug.cgi?id=210429
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-04-13
Reviewed by Mark Lam.
Source/JavaScriptCore:
Fix -Wimplicit-fallthrough warning by adding a default case CRASH() to prevent the inner
switch from falling through to the outer switch.
- dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::alreadyChecked const):
Source/WebCore:
Fix -Wunused-parameter warning.
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::texImage2DBase):
Source/WebKit:
Use private-code instead of deprecated code command to build the Wayland protocol.
- PlatformGTK.cmake:
- 9:31 AM Changeset in webkit [260011] by
-
- 1 copy in branches/safari-610.1.9.1-branch
New branch.
- 9:21 AM Changeset in webkit [260010] by
-
- 2 edits in trunk/Tools
[ews] Improve handling of unexpected network issues while communicating with Bugzilla
https://bugs.webkit.org/show_bug.cgi?id=210377
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-app/ews/common/bugzilla.py:
(BugzillaBeautifulSoup.authenticate):
- 8:58 AM Changeset in webkit [260009] by
-
- 3 edits2 adds in trunk
[LFC][TFC] Pre-fill columnIntrinsicWidths vector
https://bugs.webkit.org/show_bug.cgi?id=210415
Reviewed by Antti Koivisto.
Source/WebCore:
Vector<ColumnMinimumWidth> has a fixed number of entries (number of columns in the table).
(This patch also flips the shouldFlex flag to isFixedWidth. It reads better in the context of minimum _widths_).
Test: fast/layoutformattingcontext/table-with-column-spanner-first-row.html
- layout/tableformatting/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::computedPreferredWidthForColumns):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraHorizontalSpace):
LayoutTests:
- fast/layoutformattingcontext/table-with-column-spanner-first-row-expected.txt: Added.
- fast/layoutformattingcontext/table-with-column-spanner-first-row.html: Added.
- 8:23 AM Changeset in webkit [260008] by
-
- 2 edits in trunk/Source/WebCore
[GTK4] Fix usage of GDK event functions in PlatformWheelEventGtk
https://bugs.webkit.org/show_bug.cgi?id=210160
Reviewed by Michael Catanzaro.
No new tests needed.
- platform/gtk/PlatformWheelEventGtk.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent): Conditionally
use the new GDK event functions when building with GTK4.
- 8:22 AM Changeset in webkit [260007] by
-
- 2 edits in trunk/Tools
ews status-bubble hover-over message include unhelpful message 'Crash collection has quiesced'
https://bugs.webkit.org/show_bug.cgi?id=210378
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble):
- 8:00 AM Changeset in webkit [260006] by
-
- 2 edits in trunk
[GTK][CMake] Introduce an USE_GTK4 build option
https://bugs.webkit.org/show_bug.cgi?id=210154
Reviewed by Carlos Garcia Campos.
Do the bare minimum changes to build against GTK4 and produce a WebKit port library with a
different name than GTK3 builds. Note that this does not attempt to make the built artifacts
parallel-installable yet, though at least the main library, headers, and the pkg-config .pc
file should be safe to install. The final names for built artifacts for GTK4 builds may
still change.
- Source/cmake/OptionsGTK.cmake: Add a new USE_GTK4 public build option, which defaults
to FALSE for now, and depending on its value choose the required version of GTK and set
a different API version versions. This is enough to build a library with a different
name (libwebkit2gtk-5.0 vs. libwebkit2gtk-4.0) when GTK4 is in use.
- 7:36 AM Changeset in webkit [260005] by
-
- 1 copy in releases/WPE WebKit/webkit-2.28.1
WPE WebKit 2.28.1
- 7:28 AM Changeset in webkit [260004] by
-
- 4 edits in releases/WebKitGTK/webkit-2.28
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.28.1 release
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for 2.28.1.
- 6:10 AM Changeset in webkit [260003] by
-
- 7 edits18 adds in trunk
module's default cross-origin value should be "anonymous"
https://bugs.webkit.org/show_bug.cgi?id=210326
Reviewed by Sam Weinig.
Source/WebCore:
The original spec was using "omit" crossorigin for modules when crossorigin is not set / empty.
However, the spec is changed to sending requests with "same-origin" credentials ("anonymous" crossorigin mode)
by default. We should follow it.
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::requestModuleScript):
- dom/ScriptElementCachedScriptFetcher.cpp:
(WebCore::ScriptElementCachedScriptFetcher::requestModuleScript const):
- dom/ScriptElementCachedScriptFetcher.h:
- html/parser/HTMLResourcePreloader.cpp:
(WebCore::PreloadRequest::resourceRequest):
- loader/cache/CachedScript.cpp:
(WebCore::CachedScript::script): While this is not directly related to this patch, added new tests found that we are returning
null StringView if the resource is zero byte. This totally works, but JSC::Parser has assertion that this is non-null
StringView. For zero byte CachedScript resource, we should return non-null empty StringView instead.
LayoutTests:
- http/tests/security/basic-auth-module-expected.txt: Added.
- http/tests/security/basic-auth-module-import-expected.txt: Added.
- http/tests/security/basic-auth-module-import-propagate-expected.txt: Added.
- http/tests/security/basic-auth-module-import-propagate.html: Added.
- http/tests/security/basic-auth-module-import.html: Added.
- http/tests/security/basic-auth-module-propagate-expected.txt: Added.
- http/tests/security/basic-auth-module-propagate.html: Added.
- http/tests/security/basic-auth-module.html: Added.
- http/tests/security/resources/module-nest-import.php: Added.
- http/tests/security/resources/protected-script.php: Added.
- platform/mac-wk1/http/tests/security/basic-auth-module-expected.txt: Added.
- platform/mac-wk1/http/tests/security/basic-auth-module-import-expected.txt: Added.
- platform/mac-wk1/http/tests/security/basic-auth-module-import-propagate-expected.txt: Added.
- platform/mac-wk1/http/tests/security/basic-auth-module-propagate-expected.txt: Added.
- platform/win/http/tests/security/basic-auth-module-expected.txt: Added.
- platform/win/http/tests/security/basic-auth-module-import-expected.txt: Added.
- platform/win/http/tests/security/basic-auth-module-import-propagate-expected.txt: Added.
- platform/win/http/tests/security/basic-auth-module-propagate-expected.txt: Added.
- 3:30 AM Changeset in webkit [260002] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening, flaky failures in editing/pasteboard and editing/deleting
https://bugs.webkit.org/show_bug.cgi?id=210421
Unreviewed gardening.
- platform/gtk/TestExpectations:
- 3:18 AM Changeset in webkit [260001] by
-
- 2 edits in trunk/Source/WebCore
[EME][GStreamer] remove m_cdmInstance ASSERT in cdmInstanceDetached
https://bugs.webkit.org/show_bug.cgi?id=210331
Reviewed by Xabier Rodriguez-Calvar.
In tests that reset the src very quickly, the MediaKeys can be
installed and then the src is reset before an attachment message
is sent. Hence, detachment can result in no CDM currently
existing.
Covered by imported/w3c/web-platform-tests/encrypted-media.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::cdmInstanceDetached): Only
assert if the CDM instance has been set before detachment.
(WebCore::MediaPlayerPrivateGStreamer::attemptToDecryptWithInstance):
Do not need the .get(), the operator== overload in RefPtr does
this for us, and it makes the code more consistent.
- 1:45 AM Changeset in webkit [260000] by
-
- 1 copy in releases/WebKitGTK/webkit-2.28.1
WebKitGTK 2.28.1
- 1:45 AM Changeset in webkit [259999] by
-
- 4 edits in releases/WebKitGTK/webkit-2.28
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.28.1 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.28.1.
- 1:24 AM Changeset in webkit [259998] by
-
- 3 edits in trunk/Source/WebCore
Remove return parameter from FrameLoader::closeURL
https://bugs.webkit.org/show_bug.cgi?id=210404
Patch by Rob Buis <rbuis@igalia.com> on 2020-04-13
Reviewed by Manuel Rego Casasnovas.
Remove return parameter from FrameLoader::closeURL since it always
returns true and is never tested.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::closeURL):
- loader/FrameLoader.h:
- 1:04 AM Changeset in webkit [259997] by
-
- 5 edits in trunk/Source/WebCore
Remove addExtraFieldsToSubresourceRequest
https://bugs.webkit.org/show_bug.cgi?id=210407
Patch by Rob Buis <rbuis@igalia.com> on 2020-04-13
Reviewed by Darin Adler.
Remove addExtraFieldsToSubresourceRequest since it can be replaced by
calling addExtraFieldsToRequest. The loadType parameter is not taken
into account by defaultRequestCachingPolicy so FrameLoadType::Standard
rather than m_loadType is passed.
This patch also replaces the isMainResource boolean parameter with an enum.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::addExtraFieldsToRequest):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::loadResourceSynchronously):
(WebCore::FrameLoader::loadDifferentDocumentItem):
(WebCore::FrameLoader::addExtraFieldsToSubresourceRequest): Deleted.
- loader/FrameLoader.h:
- loader/PingLoader.cpp:
(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
(WebCore::PingLoader::sendViolationReport):
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::load):
- 12:15 AM Changeset in webkit [259996] by
-
- 6 edits in trunk/Source
Enable the ability to build the ASM LLInt for ARMv7k.
https://bugs.webkit.org/show_bug.cgi?id=210412
Reviewed by Sam Weinig.
Source/JavaScriptCore:
Fix the offlineasm so that it can build the ASM LLInt for ARMv7k. This patch does
not actually enable the ASM LLInt. The ARMv7k port still build the C Loop LLInt.
Also, the ARMv7k ASM LLInt is still broken and needs additional work before it
can run. This patch only fixes things so that it will build.
- JavaScriptCore.xcodeproj/project.pbxproj:
- Added generate_settings_extractor.rb to the project so that we can view it from inside Xcode.
- offlineasm/arm.rb:
- Added support for the globaladdr LLInt instruction for ARMv7k.
- offlineasm/backends.rb:
- Fix the backend to enable ARMV7 also when building for ARMv7k.
Source/WTF:
Remove some old code that forces the ENABLE(C_LOOP) to be true if ENABLE(JIT) is
false. These 2 options used to be mutually exclusive, but is no more. Now, we
allow platforms to choose to build the ASM LLInt instead even if ENABLE(JIT) is
false.
- wtf/PlatformEnable.h: