Timeline
Jun 1, 2020:
- 11:06 PM Changeset in webkit [262407] by
-
- 5 edits in trunk
[WebGPU] Update texture creation validation according to the discussion at https://github.com/gpuweb/gpuweb/pull/799/files
https://bugs.webkit.org/show_bug.cgi?id=212390
Reviewed by Dean Jackson.
Source/WebCore:
Two new rules: Multisampled textures can't have the STORAGE flag, and sampleCount must be either 1 or 4.
Test: webgpu/texture-creation.html
- platform/graphics/gpu/GPUDevice.cpp:
(WebCore::GPUDevice::tryCreateTexture const):
LayoutTests:
- webgpu/texture-creation-expected.txt:
- webgpu/texture-creation.html:
- 10:49 PM Changeset in webkit [262406] by
-
- 18 edits in trunk
Make unicode-bidi:isolate the default for an element with a dir attribute (instead of unicode-bidi:embed)
https://bugs.webkit.org/show_bug.cgi?id=134630
Reviewed by Simon Fraser.
Source/WebCore:
Unskipped 11 dir-isolation w3c tests.
- html/HTMLElement.cpp:
(WebCore::HTMLElement::collectStyleForPresentationAttribute):
Use isolate instead of embed for unicode-bidi when dir attribute is present.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/AttrStyle.mm:
(TEST):
Test was expecting unicode-bidi:embed, changed expectation.
LayoutTests:
Unskipped w3c tests that now pass, testing this behavior.
- fast/css/default-bidi-css-rules-expected.txt:
- fast/css/default-bidi-css-rules.html:
This test was modified, as the default bidi CSS rules are modified.
- editing/selection/move-by-word-visually-mac-expected.txt:
- editing/selection/move-by-word-visually-single-space-inline-element.html:
- editing/style/make-text-writing-direction-inline-mac.html:
- editing/style/make-text-writing-direction-inline-win.html:
- fast/css/absolute-inline-alignment-2-expected.html:
- fast/css/absolute-inline-alignment-2.html:
- fast/text/bidi-embedding-pop-and-push-same.html:
- fast/text/bidi-reverse-runs-crash-expected.txt:
- fast/text/bidi-reverse-runs-crash.html:
- fast/text/international/bidi-LDB-2-HTML.html:
- fast/text/international/bidi-ignored-for-first-child-inline.html:
- fast/text/international/iso-8859-8.html:
These tests rely on the previous unicode-bidi: embed default.
Modified them to include that old default explicitly in the test, as they test something else.
- 8:19 PM Changeset in webkit [262405] by
-
- 132 edits17 copies308 adds14 deletes in trunk/LayoutTests
Update web-platform-tests/webaudio from upstream
https://bugs.webkit.org/show_bug.cgi?id=212610
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
Import webaudio web-platform-tests from upstream d3ea88514a93b7b6968.
- web-platform-tests/webaudio/*: Updated.
LayoutTests:
- TestExpectations:
- tests-options.json:
- 6:12 PM Changeset in webkit [262404] by
-
- 23 edits2 adds in trunk
Web Inspector: Graphics: should use the
id
(name) of the animation if it exists
https://bugs.webkit.org/show_bug.cgi?id=212618
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- inspector/protocol/Animation.json:
- added an optional
name
property to theAnimation.Animation
type - created a new
Animation.nameChanged
event
- added an optional
Source/WebCore:
Test: inspector/animation/lifecycle-css-animation.html:
inspector/animation/lifecycle-css-transition.html:
inspector/animation/lifecycle-web-animation.html:
inspector/animation/nameChanged.html
- animation/WebAnimation.h:
(WebCore::WebAnimation::setId): Deleted.
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::setId): Added.
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didChangeWebAnimationName): Added.
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didChangeWebAnimationNameImpl): Added.
- inspector/agents/InspectorAnimationAgent.h:
- inspector/agents/InspectorAnimationAgent.cpp:
(WebCore::InspectorAnimationAgent::didChangeWebAnimationName): Added.
(WebCore::InspectorAnimationAgent::bindAnimation):
Source/WebInspectorUI:
- UserInterface/Protocol/AnimationObserver.js:
(WI.AnimationObserver.prototype.nameChanged): Added.
- UserInterface/Controllers/AnimationManager.js:
(WI.AnimationManager.prototype.nameChanged): Added.
- UserInterface/Models/Animation.js:
(WI.Animation):
(WI.Animation.fromPayload):
(WI.Animation.prototype.get name): Added.
(WI.Animation.prototype.get cssAnimationName): Added.
(WI.Animation.prototype.get cssTransitionProperty): Added.
(WI.Animation.prototype.get displayName):
(WI.Animation.prototype.nameChanged): Added.
- UserInterface/Views/AnimationContentView.js:
(WI.AnimationContentView.prototype.initialLayout):
(WI.AnimationContentView.prototype.layout):
(WI.AnimationContentView.prototype.attached):
(WI.AnimationContentView.prototype.detached):
(WI.AnimationContentView.prototype._refreshTitle): Added.
(WI.AnimationContentView.prototype._handleNameChanged): Added.
- UserInterface/Views/AnimationContentView.css:
(.content-view.animation):
(.content-view.animation > header > .titles):
(.content-view.animation > header > .titles > .title > code): Added.
Show theanimation-name
/transition-property
/count in parenthesis after theid
(only if
it has been specified).
Drive-by: ensure that the<header>
doesn't overflow.
- UserInterface/Views/AnimationDetailsSidebarPanel.js:
(WI.AnimationDetailsSidebarPanel.prototype.set animation):
(WI.AnimationDetailsSidebarPanel.prototype.initialLayout):
(WI.AnimationDetailsSidebarPanel.prototype._refreshIdentitySection):
(WI.AnimationDetailsSidebarPanel.prototype._handleAnimationNameChanged): Added.
Only show the "Identifier" row if anid
is actually set. If there is a CSS
animation-name
/transition-property
, show it in a separate row.
- Localizations/en.lproj/localizedStrings.js:
LayoutTests:
- inspector/animation/nameChanged.html: Added.
- inspector/animation/nameChanged-expected.txt: Added.
- inspector/animation/resources/lifecycle-utilities.js:
- inspector/animation/lifecycle-css-animation-expected.txt:
- inspector/animation/lifecycle-css-transition-expected.txt:
- inspector/animation/lifecycle-web-animation.html:
- inspector/animation/lifecycle-web-animation-expected.txt:
Print out the name of the animation after it's created.
- 6:09 PM Changeset in webkit [262403] by
-
- 2 edits in trunk/Source/WebCore
[WebAccessibilityObjectWrapper subrole] should check for the nullity of the underlying AXCoreObject before dereferencing.
https://bugs.webkit.org/show_bug.cgi?id=212607
Reviewed by Chris Fleizach.
Covered by existing tests.
- Check for nullity of the backingObject before dereferencing.
- self.axBackingObject is now called only once, instead of many times unnecessarily.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper subrole]):
- 5:51 PM Changeset in webkit [262402] by
-
- 8 edits in trunk/Source/JavaScriptCore
Correct misunderstandings on how ThreadSpecific work
https://bugs.webkit.org/show_bug.cgi?id=212616
Reviewed by Michael Saboff.
There were two misunderstandings I had when writing code using ThreadSpecific
when doing LLInt bytecode buffer caching in Wasm.
- For ThreadSpecific<Vector>, I was calling Vector's constructor twice
unnecessarily, and incorrectly, since we ended up constructing over an
already constructed Vector for the second call. When doing operator* or
operator-> on a ThreadSpecific<T>, T() is called if it has not been
initialized yet. So there is no need to do manually call the constructor
the second time.
- There is no need to try to destroy entries for ThreadSpecific manually
since we already run destructors when the thread goes away.
This patch removes code for (1) and (2) both from the Wasm bytecode
buffer and from AssemblerData.
- assembler/AssemblerBuffer.cpp:
(JSC::clearAssembleDataThreadSpecificCache): Deleted.
- assembler/AssemblerBuffer.h:
(JSC::AssemblerBuffer::AssemblerBuffer):
(JSC::AssemblerBuffer::~AssemblerBuffer):
(JSC::AssemblerBuffer::getThreadSpecificAssemblerData): Deleted.
- dfg/DFGWorklist.cpp:
- jit/JITWorklist.cpp:
- wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::LLIntGenerator):
(JSC::Wasm::clearLLIntThreadSpecificCache): Deleted.
- wasm/WasmLLIntGenerator.h:
- wasm/WasmWorklist.cpp:
- 5:48 PM Changeset in webkit [262401] by
-
- 2 edits in trunk/Websites/bugs.webkit.org
Show patch IDs in the drop down menu under the Patch Diff Screen
https://bugs.webkit.org/show_bug.cgi?id=212558
Patch by Ling Ho <lingho@apple.com> on 2020-06-01
Reviewed by Alexey Proskuryakov.
- template/en/default/attachment/diff-header.html.tmpl:
- 5:30 PM Changeset in webkit [262400] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] REGRESSION(r262366): webgl/1.0.3/conformance/canvas/buffer-offscreen-test.html & webgl/2.0.0/conformance/canvas/buffer-offscreen-test.html are constant failures
https://bugs.webkit.org/show_bug.cgi?id=212594
Unreviewed test gardening.
- platform/mac/TestExpectations: Mark tests as failing.
- 5:08 PM Changeset in webkit [262399] by
-
- 2 edits in trunk/Source/WebKit
Fix thread-safety issue in [WKProcessAssertionBackgroundTaskManager _handleBackgroundTaskExpiration]
https://bugs.webkit.org/show_bug.cgi?id=212615
<rdar://problem/63569049>
Reviewed by Geoffrey Garen.
[WKProcessAssertionBackgroundTaskManager _handleBackgroundTaskExpiration] may get called on a background thread
by RunningBoard. When this happened it would check the _applicationIsBackgrounded flag on a background thread,
which was not safe, it would also call _releaseBackgroundTask on the background thread which definitely was not
safe and could lead to crashes such as the one in the radar.
To address the issue, we now call callOnMainRunLoopAndWait() as soon as _handleBackgroundTaskExpiration gets
called and run the whole implementation on the main thread. Previously, we were already doing a dispatch_sync()
to the main thread but only for part of the implementation.
- UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager _handleBackgroundTaskExpiration]):
(-[WKProcessAssertionBackgroundTaskManager _handleBackgroundTaskExpirationOnMainThread]):
- 4:54 PM Changeset in webkit [262398] by
-
- 5 edits in trunk
TextManipulationController should put one Node in only one paragraph
https://bugs.webkit.org/show_bug.cgi?id=212548
Reviewed by Wenson Hsieh.
Source/WebCore:
TextManipulationController mainly uses line break as delimiter to split paragraphs. In our current
implementation, if text of a Node has line break, the part before the line break is in one paragraph and the
part after the line break is in another paragraph, which means the Node is in the ranges of two paragraphs.
In this case, when TextManipulationController manipulates the first paragraph, it replaces all the Nodes in the
range of first paragraph with new Nodes. Then when it manipulates the second paragraph, if will find Node in the
range of second paragraph does not exist and fail (because the Node is removed when handling the first
paragraph.). Also, TextManipulationController currently does not preserve line breaks in text, which can be an
issue if these line breaks are visible.
This patch makes the ParagraphContentIterator iterate over Nodes instead of text, so a Node can only be in the
range of one paragraph. To do this, it makes line break and spaces around it as a special excluded token.
Here are the rules for splitting paragraphs by line break now:
- If the special token is the first token in a Node, text in Nodes before the Node will make a paragraph.
- If the special token is the last token in a Node, text in Nodes before the Node and in the Node will make a
paragraph.
- If the special token in the middle of tokens in a Node, then we don't make a new paragraph until next special
token meets condition 1 or 2.
This patch also fixes the issue that Nodes out of the paragraph range can be removed due to the preorder Node
traversal, by finding and adding those Nodes back.
- editing/TextManipulationController.cpp:
(WebCore::ParagraphContentIterator::m_pastEndNode):
(WebCore::ParagraphContentIterator::advance):
(WebCore::ParagraphContentIterator::currentContent):
(WebCore::ParagraphContentIterator::atEnd const):
(WebCore::ParagraphContentIterator::advanceNode):
(WebCore::ParagraphContentIterator::advanceIteratorNodeAndUpdateText):
(WebCore::isEnclosingItemBoundaryElement):
(WebCore::TextManipulationController::parse):
(WebCore::TextManipulationController::observeParagraphs):
(WebCore::TextManipulationController::addItem):
(WebCore::TextManipulationController::getPath):
(WebCore::TextManipulationController::updateInsertions):
(WebCore::TextManipulationController::replace):
(WebCore::ParagraphContentIterator::startPosition): Deleted.
(WebCore::ParagraphContentIterator::endPosition): Deleted.
(WebCore::ParagraphContentIterator::moveCurrentNodeForward): Deleted.
(WebCore::containsOnlyHTMLSpaces): Deleted.
- editing/TextManipulationController.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
- 3:19 PM Changeset in webkit [262397] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Timelines: Edit button has wrong outline
https://bugs.webkit.org/show_bug.cgi?id=211105
<rdar://problem/62475815>
Reviewed by Devin Rousso.
- UserInterface/Views/ButtonNavigationItem.css:
(.navigation-bar .item.button.text-only:focus):
Add.text-only
to the selector to make specificity higher than of the button selector.
- UserInterface/Views/RadioButtonNavigationItem.css:
(.navigation-bar .item.radio.button.text-only:focus):
Add.text-only
to the selector to make specificity higher than of the button selector.
(.navigation-bar .item.radio.button:not(.text-only)): Deleted.
(.navigation-bar.collapsed .item.radio.button:not(.text-only)): Deleted.
Remove dead code. We only have text-only buttons now.
- UserInterface/Views/RadioButtonNavigationItem.js:
(WI.RadioButtonNavigationItem):
(WI.RadioButtonNavigationItem.prototype.get buttonStyle):
(WI.RadioButtonNavigationItem.prototype.set buttonStyle):
- 3:15 PM Changeset in webkit [262396] by
-
- 3 edits in trunk/Source/WebKit
Remove unused WebContent process sandbox syscall
https://bugs.webkit.org/show_bug.cgi?id=212609
<rdar://problem/63764590>
Reviewed by Per Arne Vollan.
After further testing we have determined that the syscall added in
Bug 206260 is not always enabled. Check if the Sandbox recognizes
the rule before using it.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- WebProcess/com.apple.WebProcess.sb.in:
- 3:04 PM Changeset in webkit [262395] by
-
- 12 edits1 add in trunk/Source
Don't use casts to convert between WebCore::DragDestinationAction and {Web,WK}DragDestinationAction types
<https://webkit.org/b/212507>
Reviewed by Darin Adler.
Source/WebCore:
- page/DragActions.h:
(WebCore::anyDragDestinationAction): Add.
(WebCore::DragDestinationActionAny): Delete.
- Rename DragDestinationActionAny() to anyDragDestinationAction() to match WebKit style.
- platform/DragData.h:
- Update to use anyDragDestinationAction().
Source/WebKit:
- Shared/API/Cocoa/_WKDragActionsInternal.h: Add.
(WebKit::coreDragDestinationActionMask):
- Add conversion function to avoid casting.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::draggingEntered):
(WebKit::WebViewImpl::draggingUpdated):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView dragDataForDropSession:dragDestinationAction:]):
- Make use of coreDragDestinationActionMask() conversion function.
- Extract
dragOperationMask
varible for future updates. - WebKit.xcodeproj/project.pbxproj:
- Add _WKDragActionsInternal.h to project.
Source/WebKitLegacy/mac:
- WebCoreSupport/WebDragClient.mm:
(kit):
- Add conversion function to avoid casting.
(WebDragClient::willPerformDragDestinationAction):
- Make use of kit() conversion function.
- WebView/WebView.mm:
(coreDragDestinationActionMask):
- Add conversion function to avoid casting.
(-[WebView dragDataForSession:client:global:operation:]):
(-[WebView actionMaskForDraggingInfo:]):
- Make use of coreDragDestinationActionMask() conversion function.
Source/WebKitLegacy/win:
- WebCoreSupport/WebDragClient.cpp:
(kit):
- Add conversion function to avoid casting.
(WebDragClient::willPerformDragDestinationAction):
- Make use of kit() conversion function.
- 2:25 PM Changeset in webkit [262394] by
-
- 2 edits in trunk/Source/WebKit
Fix Glib build after r262391
https://bugs.webkit.org/show_bug.cgi?id=212604
- UIProcess/API/glib/WebKitWebContext.cpp:
(webkitWebContextConstructed):
- 2:02 PM Changeset in webkit [262393] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix build failure in ARMv7k
https://bugs.webkit.org/show_bug.cgi?id=212595
- runtime/JSCJSValue.cpp:
(JSC::JSValue::toThisSlowCase const):
- 1:27 PM Changeset in webkit [262392] by
-
- 3 edits1 add in trunk
[JSC] JSBigInt::rightTrim can miss |this| pointer and leads to incorrect GC collection
https://bugs.webkit.org/show_bug.cgi?id=212601
Reviewed by Saam Barati.
JSTests:
- stress/bigint-should-not-be-collected-while-creating.js: Added.
(foo.let.increment.10000n.bar):
(foo):
Source/JavaScriptCore:
This is pretty rare case. But in some optimization level, JSBigInt::rightTrim could store |this| + offset pointer into the stack instead of |this|
and make conservative GC think that |this| JSBigInt is unreachable. We put ensureStillAliveHere(this) to ensure that this is alive.
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::rightTrim):
- 1:05 PM Changeset in webkit [262391] by
-
- 6 edits in trunk/Source/WebKit
Revert r250312
https://bugs.webkit.org/show_bug.cgi?id=212604
<rdar://problem/63779241>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-06-01
Reviewed by Tim Horton.
r250312 was a step towards a network process singleton.
We aren't there yet, so revert it until we are. There was something trying to keep HSTS storages separate, so let them keep trying.
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration setHSTSStorageDirectory:]):
(-[_WKProcessPoolConfiguration hstsStorageDirectory]):
- UIProcess/LegacyGlobalSettings.h:
(WebKit::LegacyGlobalSettings::setHSTSStorageDirectory): Deleted.
(WebKit::LegacyGlobalSettings::hstsStorageDirectory const): Deleted.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
- 12:38 PM Changeset in webkit [262390] by
-
- 13 edits in trunk/Source
Add ENABLE(TOUCH_ACTION_REGIONS) to wrap code that's only relevant for platforms that consult touch-action for event handling
https://bugs.webkit.org/show_bug.cgi?id=212572
Reviewed by Andy Estes.
Source/WebCore:
This will allow for optimizations in event region painting without ambiguity.
- dom/Document.h:
- page/Frame.cpp:
(WebCore::Frame::invalidateContentEventRegionsIfNeeded):
- page/scrolling/ScrollingTreeNode.h:
- rendering/EventRegion.cpp:
(WebCore::EventRegion::operator== const):
(WebCore::EventRegion::unite):
(WebCore::EventRegion::translate):
(WebCore::EventRegion::dump const):
- rendering/EventRegion.h:
(WebCore::EventRegion::encode const):
(WebCore::EventRegion::decode):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::styleWillChange):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::maintainsEventRegion const):
(WebCore::RenderLayerBacking::paintDebugOverlays):
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolveElement):
Source/WTF:
- wtf/PlatformEnable.h:
- wtf/PlatformEnableCocoa.h:
- 12:35 PM Changeset in webkit [262389] by
-
- 2 edits in trunk/Source/JavaScriptCore
x86.rb's LabelReference.x86LoadOperand()'s address operand should be a pointer type.
https://bugs.webkit.org/show_bug.cgi?id=212603
Reviewed by Saam Barati.
The current implementation mistakenly sets the address type to that of the value
being loaded. I encountered this issue when I was trying to do a loadb from a
global address. Because of this bug, the emitted code was trying do a load using
%al (8 byte register) as the pointer to load from. With this fix, it now loads
from %rax.
- offlineasm/x86.rb:
- 11:42 AM Changeset in webkit [262388] by
-
- 4 edits1 add in trunk
[JSC] JSValue::toThis should not throw exception
https://bugs.webkit.org/show_bug.cgi?id=212595
Reviewed by Mark Lam.
JSTests:
- stress/number-proto.js: Added.
(shouldBe):
Source/JavaScriptCore:
Including WebCore code, there are a lot of code which assume JSValue::toThis should not throw an exception.
This assumption was now broken after making JSBigInt allocation graceful for OOM. But for this particular JSValue::toThis case,
we can make it non-throwing code.
This patch makes JSValue::toThis non-throwing code to fix exception-missing debug assertions.
We ensure that BigIntObject can hold BigInt32 (actually, it can already if toObjectSlowCase path is taken).
- runtime/BigIntObject.cpp:
(JSC::BigIntObject::create):
- runtime/JSCJSValue.cpp:
(JSC::JSValue::toThisSlowCase const):
- 11:21 AM Changeset in webkit [262387] by
-
- 2 edits in trunk/Tools
Make CustomDisplayName and DefaultDisplayName API tests fail instead of timing out when something changes
https://bugs.webkit.org/show_bug.cgi?id=212480
This saves time when debugging and running all the tests.
- TestWebKitAPI/Tests/WebKitCocoa/DisplayName.mm:
(TestWebKitAPI::checkUntilDisplayNameIs):
- 11:21 AM Changeset in webkit [262386] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] BigInt operations should handle exception correctly
https://bugs.webkit.org/show_bug.cgi?id=212596
Reviewed by Mark Lam.
Some places miss exception check / explicit scope-release while BigInt operations can now throw an exception.
This patch adds them. They are covered by existing stress tests with Debug build.
- runtime/Operations.h:
(JSC::compareBigIntToOtherPrimitive):
(JSC::compareBigInt32ToOtherPrimitive):
(JSC::jsInc):
(JSC::jsDec):
(JSC::jsBitwiseNot):
- 11:20 AM Changeset in webkit [262385] by
-
- 1 copy in tags/Safari-610.1.15.1.1
Tag Safari-610.1.15.1.1.
- 11:10 AM Changeset in webkit [262384] by
-
- 2 edits in trunk/Tools
[Flatpak SDK] Install and update don't provide any terminal output
https://bugs.webkit.org/show_bug.cgi?id=212579
Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-01
Reviewed by Žan Doberšek.
The
show_output
option was removed from the process execution routines. We now assume the
output will be displayed, unless the call-site asksgather_output
. This change makes
webkit-flatpak more chatty, which is nice during install/update operations.
- flatpak/flatpakutils.py:
(run_sanitized):
(FlatpakObject.flatpak):
(FlatpakPackage.install):
(FlatpakPackage.update):
(WebkitFlatpak.setup_builddir):
(WebkitFlatpak.run_in_sandbox):
- 10:58 AM Changeset in webkit [262383] by
-
- 4 edits in trunk/JSTests
JSTests/exceptionFuzz/earley-boyer.js fails with early exception thrown.
https://bugs.webkit.org/show_bug.cgi?id=212569
Reviewed by Mark Lam.
This is a temporary fix to avoid flawky results when running
exceptionFuzz
tests. Right now, exception handler starts after
function declarations, since they are hoisted. Since function
declarations emitnew_func
bytecode, those bytecodes can
throw an exception outside expected exception handler.
Embedding them in a function avoid such hoisting to happen.
- exceptionFuzz/3d-cube.js:
- exceptionFuzz/date-format-xparb.js:
- exceptionFuzz/earley-boyer.js:
- 10:03 AM Changeset in webkit [262382] by
-
- 2 edits in trunk/LayoutTests
(r261103) [ Mac WK2 ] inspector/page/overrideSetting-ITPDebugModeEnabled.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=211791
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 9:57 AM Changeset in webkit [262381] by
-
- 7 edits in trunk
Implement ParentNode.prototype.replaceChildren
https://bugs.webkit.org/show_bug.cgi?id=198578
Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-06-01
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/dom/idlharness.window-expected.txt:
- web-platform-tests/dom/nodes/ParentNode-replaceChildren-expected.txt:
Source/WebCore:
Ideally, we can use
ContainerNode::replaceAllChildren
to implement
this simply but the current of it does not have a path to support
DocumentFragment
.
Hence, we call related methods from
ParentNode.prototype.replaceChildren
directly.
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::replaceChildren):
- dom/ContainerNode.h:
- dom/ParentNode.idl:
- 9:30 AM Changeset in webkit [262380] by
-
- 7 edits1 add in trunk
ASSERTION FAILURE (r220931): !m_function in ~CompletionHandler() after switch tabs
https://bugs.webkit.org/show_bug.cgi?id=212537
<rdar://problem/63766838>
Reviewed by Alex Christensen.
Source/WebKit:
When WebPage::markAllLayersVolatile(), it would destroy m_pageMarkingLayersAsVolatileCounter,
which may not have called its completion handler yet. As a result, we would hit an assertion
in the CompletionHandler destructor.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::callVolatilityCompletionHandlers):
(WebKit::WebPage::markLayersVolatile):
(WebKit::WebPage::cancelMarkLayersVolatile):
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::markLayersVolatile):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::prepareToSuspend):
(WebKit::WebProcess::markAllLayersVolatile):
(WebKit::WebProcess::cancelMarkAllLayersVolatile):
- WebProcess/WebProcess.h:
Tools:
Add API test coverage.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspension.mm: Added.
(TEST):
- 9:15 AM Changeset in webkit [262379] by
-
- 3 edits in trunk/Tools
[EWS] Add a special case for running the layout test step without aborting in case of many failures for WPT tests
https://bugs.webkit.org/show_bug.cgi?id=212381
Reviewed by Jonathan Bedard.
Add a special case for patches uploaded by the bugzilla user that would be used
for prototyping a bot that helps automating the import of WPT tests. For patches
uploaded by this user don't pass the parameters that make the step abort early in
case of many errors, and only run the layout tests inside the WPT import directory.
- BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTests):
(RunWebKitTests.start):
- BuildSlaveSupport/ews-build/steps_unittest.py:
(test_success):
(test_warnings):
(test_parse_results_json_regression):
(test_parse_results_json_flakes):
(test_parse_results_json_flakes_and_regressions):
(test_parse_results_json_with_newlines):
(test_unexpected_error):
(test_failure):
(test_success_wpt_import_bot):
(TestRunWebKitTestsWithoutPatch.test_success):
(TestRunWebKitTestsWithoutPatch.test_failure):
(TestRunWebKit1Tests.test_success):
(TestRunWebKit1Tests.test_failure):
- 8:18 AM Changeset in webkit [262378] by
-
- 9 edits2 adds in trunk
[css-flexbox] Tables as flex items should obey the flex container sizing
https://bugs.webkit.org/show_bug.cgi?id=212355
Reviewed by Manuel Rego Casasnovas.
Source/WebCore:
For most of the boxes, "width:auto" means use all the available space from your container in the inline
direction. This means that a flex container does not need to do anything in particular to stretch them
in the inline axis. However that is not true for tables because their width mostly depend on the sum of
the sizes of their columns (whichever algorithm is used). That's why the layout code of tables should
check whether or not it has an override for the content logical width which is the way flexbox uses to
stretch flex items (and use that override width).
- rendering/RenderTable.cpp:
(WebCore::RenderTable::updateLogicalWidth): Stretch till overrideContentLogicalWidth() if needed.
LayoutTests:
Unskipped passing tests and added new expectations for Win and iOS which have
different renderings of some UI components causing a couple of test to fail by
small offsets.
- TestExpectations: Unskipped table-as-item-narrow-content.html that is passing now.
- css3/flexbox/flexitem-expected.txt: Updated. All tests passing.
- gpu-process/TestExpectations: Removed flexitem.html test.
- platform/ios/TestExpectations: Ditto.
- platform/ios/css3/flexbox/flexitem-expected.txt: Added.
- platform/win/TestExpectations: Removed flexitem.html test.
- platform/win/css3/flexbox/flexitem-expected.txt: Added.
- platform/wincairo/TestExpectations: Removed flexitem.html test.
- 7:17 AM Changeset in webkit [262377] by
-
- 72 edits in trunk
Extended Color: Replace Color constructors taking numeric values with type specific factory functions
https://bugs.webkit.org/show_bug.cgi?id=212576
Reviewed by Tim Horton.
Replaces all remaining implicit and explicit uses of the Color constructors taking numeric
values with explicit calls to makeSimpleColor/makeSimpleColorFromFloats/makeExtendedColor,
giving us a consistent way to create colors. Also addes use constexpr SimpleColors where possible.
Source/WebCore:
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
- css/CSSValuePool.cpp:
(WebCore::StaticCSSValuePool::StaticCSSValuePool):
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::parseColorFunctionParameters):
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::createInnerTextStyle):
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::shadowColor const):
(WebCore::CanvasRenderingContext2DBase::setShadow):
- html/canvas/CanvasStyle.cpp:
(WebCore::CanvasStyle::CanvasStyle):
(WebCore::CanvasStyle::isEquivalentRGBA const):
- inspector/InspectorOverlay.cpp:
(WebCore::drawOutlinedQuadWithClip):
(WebCore::drawShapeHighlight):
(WebCore::InspectorOverlay::paint):
(WebCore::InspectorOverlay::drawPaintRects):
(WebCore::InspectorOverlay::drawBounds):
(WebCore::InspectorOverlay::drawRulers):
(WebCore::InspectorOverlay::drawElementTitle):
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::parseColor):
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::debugTextShadow):
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::captionsBackgroundCSS const):
- page/DebugPageOverlays.cpp:
(WebCore::touchEventRegionColors):
(WebCore::NonFastScrollableRegionOverlay::drawRect):
- page/FrameView.cpp:
(WebCore::FrameView::paintContents):
- page/PrintContext.cpp:
(WebCore::PrintContext::spoolAllPagesWithBoundaries):
- page/linux/ResourceUsageOverlayLinux.cpp:
(WebCore::ResourceUsageOverlay::platformInitialize):
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::draw):
- platform/graphics/Color.cpp:
(WebCore::Color::light const):
(WebCore::Color::dark const):
(WebCore::Color::blendWithWhite const):
(WebCore::Color::colorWithAlphaMultipliedBy const):
(WebCore::Color::colorWithAlphaMultipliedByUsingAlternativeRounding const):
(WebCore::Color::colorWithAlpha const):
(WebCore::Color::colorWithAlphaUsingAlternativeRounding const):
(WebCore::blendWithoutPremultiply):
(WebCore::extendedColorsEqual): Deleted.
(WebCore::Color::tagAsValid): Deleted.
- platform/graphics/Color.h:
(WebCore::Color::Color):
(WebCore::Color::tagAsSemantic):
(WebCore::Color::tagAsValid):
(WebCore::extendedColorsEqual):
(WebCore::Color::decode):
(WebCore::Color::setIsSemantic): Deleted.
- platform/graphics/ExtendedColor.cpp:
(WebCore::makeExtendedColor):
- platform/graphics/ExtendedColor.h:
(WebCore::ExtendedColor::ExtendedColor):
(): Deleted.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::getDebugBorderInfo const):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::contentsLayerDebugBorderColor):
(WebCore::cloneLayerDebugBorderColor):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
- platform/graphics/ca/PlatformCALayer.cpp:
(WebCore::PlatformCALayer::drawRepaintIndicator):
- platform/graphics/ca/TileCoverageMap.cpp:
(WebCore::TileCoverageMap::TileCoverageMap):
(WebCore::TileCoverageMap::update):
- platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
(PlatformCALayerWinInternal::drawRepaintCounters):
- platform/graphics/cairo/GradientCairo.cpp:
(WebCore::interpolateColorStop):
- platform/graphics/cg/ColorCG.cpp:
(WebCore::Color::Color):
- platform/graphics/cg/NativeImageCG.cpp:
(WebCore::nativeImageSinglePixelSolidColor):
- platform/graphics/cocoa/GraphicsContextCocoa.mm:
(WebCore::colorForMarkerLineStyle):
- platform/graphics/filters/FilterOperation.cpp:
(WebCore::DropShadowFilterOperation::blend):
- platform/graphics/mac/ColorMac.mm:
(WebCore::colorFromNSColor):
- platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp:
(WebCore::TextureMapperPlatformLayerBuffer::paintToTextureMapper):
- platform/ios/DragImageIOS.mm:
(WebCore::createDragImageForLink):
- platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::colorForGridTileBorder const):
- platform/win/DragImageWin.cpp:
(WebCore::createDragImageForLink):
- rendering/PaintInfo.h:
(WebCore::PaintInfo::forcedTextColor const):
- rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintReplaced):
(WebCore::replacementTextRoundedRectPressedColor): Deleted.
(WebCore::replacementTextRoundedRectColor): Deleted.
(WebCore::replacementTextColor): Deleted.
(WebCore::unavailablePluginBorderColor): Deleted.
- rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::paintColumnBorder):
(WebCore::RenderFrameSet::paintRowBorder):
(WebCore::borderStartEdgeColor): Deleted.
(WebCore::borderEndEdgeColor): Deleted.
(WebCore::borderFillColor): Deleted.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::beginTransparencyLayers):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintDebugOverlays):
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::platformActiveSelectionBackgroundColor const):
(WebCore::RenderTheme::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderTheme::platformTextSearchHighlightColor const):
(WebCore::RenderTheme::paintSystemPreviewBadge):
(WebCore::RenderTheme::platformTapHighlightColor const):
- rendering/RenderTheme.h:
(WebCore::RenderTheme::platformFocusRingColor const):
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintCheckboxDecorations):
(WebCore::RenderThemeIOS::paintRadioDecorations):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
(WebCore::RenderThemeIOS::paintSliderTrack):
(WebCore::RenderThemeIOS::paintProgressBar):
(WebCore::paintAttachmentProgress):
(WebCore::paintAttachmentBorder):
(WebCore::RenderThemeIOS::paintSystemPreviewBadge):
(WebCore::RenderThemeIOS::shadowColor const): Deleted.
(WebCore::attachmentBorderColor): Deleted.
(WebCore::attachmentProgressColor): Deleted.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMenuListButtonDecorations):
(WebCore::titleTextColorForAttachment):
(WebCore::AttachmentLayout::layOutSubtitle):
(WebCore::paintAttachmentIconBackground):
(WebCore::paintAttachmentTitleBackground):
(WebCore::paintAttachmentProgress):
(WebCore::paintAttachmentPlaceholderBorder):
(WebCore::attachmentIconBackgroundColor): Deleted.
(WebCore::attachmentIconBorderColor): Deleted.
(WebCore::attachmentTitleInactiveBackgroundColor): Deleted.
(WebCore::attachmentTitleInactiveTextColor): Deleted.
(WebCore::attachmentSubtitleTextColor): Deleted.
(WebCore::attachmentProgressBarBackgroundColor): Deleted.
(WebCore::attachmentProgressBarFillColor): Deleted.
(WebCore::attachmentProgressBarBorderColor): Deleted.
(WebCore::attachmentPlaceholderBorderColor): Deleted.
- rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::platformActiveSelectionBackgroundColor const):
(WebCore::RenderThemeWin::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderThemeWin::platformActiveSelectionForegroundColor const):
(WebCore::RenderThemeWin::systemColor const):
- rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::paintFlow):
- rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::paint):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::colorResolvingCurrentColor const):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::initialStrokeColor):
- rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::initialStopColor):
(WebCore::SVGRenderStyle::initialFloodColor):
(WebCore::SVGRenderStyle::initialLightingColor):
- svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::stopColorIncludingOpacity const):
- svg/properties/SVGAnimationAdditiveValueFunctionImpl.h:
(WebCore::SVGAnimationColorFunction::animate):
- testing/MockPageOverlayClient.cpp:
(WebCore::MockPageOverlayClient::drawRect):
- testing/cocoa/WebViewVisualIdentificationOverlay.mm:
(-[WebViewVisualIdentificationOverlay initWithWebView:kind:deprecated:]):
Source/WebKit:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::drawInContext):
- UIProcess/API/wpe/WebKitColor.cpp:
(webkitColorToWebCoreColor):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _tapHighlightColorForFastClick:]):
- WebProcess/Inspector/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::showPaintRect):
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::drawRect):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::paintSnapshotAtSize):
- WebProcess/WebPage/ios/FindControllerIOS.mm:
(WebKit::FindIndicatorOverlayClientIOS::drawRect):
(WebKit::highlightColor): Deleted.
Source/WebKitLegacy/mac:
- WebView/WebIndicateLayer.mm:
Source/WebKitLegacy/win:
- WebView.cpp:
(compositionToUnderlines):
Tools:
- TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::makeColor):
- TestWebKitAPI/Tests/WebKitCocoa/PDFSnapshot.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/cocoa/TestPDFDocument.mm:
(TestWebKitAPI::TestPDFPage::colorAtPoint const):
- 7:07 AM WebKitGTK/2.28.x edited by
- (diff)
- 6:56 AM Changeset in webkit [262376] by
-
- 3 edits in trunk/Source/WebCore
[Win] When GraphicsLayerCA::m_uncommittedChanges is initialized with a non-zero value, nothing is painted.
https://bugs.webkit.org/show_bug.cgi?id=168666
Reviewed by Maciej Stachowiak.
When m_uncommittedChanges is initialized with a non-zero value, client().notifyFlushRequired() will not be
called in the first call to noteLayerPropertyChanged(), see https://bugs.webkit.org/show_bug.cgi?id=64808.
Covered by existing tests.
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::initialize):
- platform/graphics/ca/GraphicsLayerCA.h:
- 6:33 AM Changeset in webkit [262375] by
-
- 5 edits in trunk/Source
[GTK4] Add printing support
https://bugs.webkit.org/show_bug.cgi?id=212320
Reviewed by Adrian Perez de Castro.
Source/WebCore:
Add gtk_dialog_run() to GTK4.
- platform/gtk/GtkVersioning.h:
(gtk_dialog_run):
Source/WebKit:
Printing API hasn't changed, the only problem was that we were using gtk_dialog_run() and gdk threads deprecated API.
- UIProcess/API/gtk/WebKitPrintOperation.cpp:
(webkitPrintOperationRunDialog): Remove GTK4 ifdefs.
- WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
(WebKit::WebPrintOperationGtk::print): Use g_idle_add_full() instead of gdk threads deprecated API.
- 5:55 AM Changeset in webkit [262374] by
-
- 6 edits in trunk/Source/WebKit
[GTK4] Wheel events are always handled by the main frame view
https://bugs.webkit.org/show_bug.cgi?id=212593
Reviewed by Adrian Perez de Castro.
It's not possible scroll other scrollable areas with the mouse wheel. This is because we are using the given x,
y delta in the scroll signal as the position. In GTK4 the scroll event doesn't include a position, so we have to
use the last motion event.
- Shared/NativeWebWheelEvent.h:
- Shared/gtk/NativeWebWheelEventGtk.cpp:
(WebKit::NativeWebWheelEvent::NativeWebWheelEvent): Add wheelTicks parameter.
- Shared/gtk/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebWheelEvent): New create function that receives the wheelTicks.
- Shared/gtk/WebEventFactory.h:
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseScroll): Use the x, y parameters as the delta and take the position from the last motion event.
- 5:38 AM Changeset in webkit [262373] by
-
- 2 edits in trunk/Source/WebKit
[GTK4] Monitor root window to update activity state
https://bugs.webkit.org/show_bug.cgi?id=212581
Reviewed by Adrian Perez de Castro.
To update ActivityState::IsInWindow and ActivityState::WindowIsActive.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(toplevelWindowStateEvent):
(webkitWebViewBaseSetToplevelOnScreenWindow):
(webkitWebViewBaseDispose):
(toplevelWindowIsActiveChanged):
(toplevelWindowStateChanged):
(toplevelWindowRealized):
(toplevelWindowUnrealized):
(webkitWebViewBaseRoot):
(webkitWebViewBaseUnroot):
(webkit_web_view_base_class_init):
- 5:27 AM Changeset in webkit [262372] by
-
- 2 edits in trunk/Source/WebKit
[GTK4] Fix pointer lock in X11
https://bugs.webkit.org/show_bug.cgi?id=212592
Reviewed by Adrian Perez de Castro.
I forgot to forward the motion events for X11 in GTK4.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(MotionEvent::MotionEvent): Add a constructor that receives the positions and state.
(webkitWebViewBaseMotion): Notify the pointer lock manager about the event. Also save the last motion event and
compute the movement delta.
- 2:24 AM Changeset in webkit [262371] by
-
- 8 edits in trunk/Source
[GTK4] Make inspector work
https://bugs.webkit.org/show_bug.cgi?id=212321
Reviewed by Adrian Perez de Castro.
Source/WebCore:
Add gtk_native_dialog_run() for GTK4.
- platform/gtk/GtkVersioning.h:
(gtk_native_dialog_run):
Source/WebKit:
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseRemoveDialog): Added instead of the generic webkitWebViewBaseRemoveChild that has been removed.
(webkitWebViewBaseRemoveWebInspector): Just unparent the inspector view instead of caling webkitWebViewBaseRemoveChild.
(webkitWebViewBaseDispose): Use specific functions to remove the children.
(webkitWebViewBaseSnapshot): Call gtk_widget_snapshot_child() on inspector view if present.
(webkitWebViewBaseRemoveChild): Deleted.
- UIProcess/Inspector/gtk/RemoteWebInspectorProxyGtk.cpp:
(WebKit::RemoteWebInspectorProxy::platformSave): Remove GTK4 ifdefs.
- UIProcess/Inspector/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformSave): Ditto.
- UIProcess/Inspector/gtk/WebKitInspectorWindow.cpp:
(webkit_inspector_window_init): Show title buttons in inspector window.
- UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
(WebKit::AcceleratedBackingStoreWayland::snapshot): Use the texture size instead of the view size, since it's
different when the inspector is attached.
- 2:21 AM Changeset in webkit [262370] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r262184): fast/forms/implicit-submission.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=212520
Reviewed by Adrian Perez de Castro.
- UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::activateSelectedItem): Return early if the popup has already been closed.
- 1:59 AM Changeset in webkit [262369] by
-
- 13 edits in trunk/Source
Rename ResourceResponseBase::isHTTP to isInHTTPFamily
https://bugs.webkit.org/show_bug.cgi?id=208782
Patch by Rob Buis <rbuis@igalia.com> on 2020-06-01
Reviewed by Sam Weinig.
Source/WebCore:
As the comment says, the method name is misleading and the method
is inconsistent with the API of ResourceRequestBase, so rename it
to make it clear the method can be used for both http and https
protocols.
No tests since no change in behavior.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::continueAfterContentPolicy):
- loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::isInHTTPFamily const):
(WebCore::ResourceResponseBase::isHTTP const): Deleted.
- platform/network/ResourceResponseBase.h:
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseMIMEType const):
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::externalEntityMimeTypeAllowed):
Source/WebKit:
Adapt to API change.
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::makeStoreDecision):
- WebProcess/Plugins/PluginView.cpp:
(WebKit::buildHTTPHeaders):
Source/WebKitLegacy/win:
Adapt to API change.
- Plugins/PluginStream.cpp:
(WebCore::PluginStream::startStream):
- WebURLResponse.cpp:
(WebURLResponse::QueryInterface):
(WebURLResponse::allHeaderFields):
(WebURLResponse::localizedStringForStatusCode):
(WebURLResponse::statusCode):
- 1:46 AM Changeset in webkit [262368] by
-
- 2 edits in trunk/Source/WebKit
[WPE][GTK] pthread_create() fails with EPERM in the second WebKitWebProcess with sandbox on
https://bugs.webkit.org/show_bug.cgi?id=212380
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-06-01
Reviewed by Adrian Perez de Castro.
Dereference scmp_arg_cmp before use.
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::setupSeccomp):
May 31, 2020:
- 7:17 PM Changeset in webkit [262367] by
-
- 2 edits in trunk/Source/WebCore
Tidy up Source/WebCore/page/DragController.h
https://bugs.webkit.org/show_bug.cgi?id=212584
Reviewed by Anders Carlsson.
Unindent the
DragController
class by 1 indentation level, to adhere with
<https://webkit.org/code-style-guidelines/#indentation-namespace>. Also, remove
some stray trailing whitespace.
No change in behavior.
- page/DragController.h:
(WebCore::DragController::mouseIsOverFileInput const):
(WebCore::DragController::numberOfItemsToBeAccepted const):
(WebCore::DragController::setDidInitiateDrag):
(WebCore::DragController::didInitiateDrag const):
(WebCore::DragController::sourceDragOperation const):
(WebCore::DragController::draggingImageURL const):
(WebCore::DragController::setDragOffset):
(WebCore::DragController::dragOffset const):
(WebCore::DragController::dragSourceAction const):
(WebCore::DragController::dragHandlingMethod const):
(WebCore::DragController::documentUnderMouse const):
(WebCore::DragController::dragDestinationActionMask const):
(WebCore::DragController::droppedImagePlaceholders const):
(WebCore::DragController::droppedImagePlaceholderRange const):
(WebCore::DragController::canLoadDataFromDraggingPasteboard const):
(WebCore::DragController::client const):
- 4:20 PM Changeset in webkit [262366] by
-
- 15 edits2 adds in trunk
AutoTrader crashed while browsing search results
https://bugs.webkit.org/show_bug.cgi?id=212461
rdar://60733185
Reviewed by Sam Weinig.
Source/WebCore:
On iOS, when using WebKit1 (UIWebView), CoreAnimation would
call WebGLLayer's display method from a thread that is not
the Web Thread. That method was performing some GL work using
ANGLE, causing a crash.
Since all the WebGLLayer's display method really needs to do
is swap buffers for compositing, the fix is to separate all
the GL operations into a method that can be called after
painting but before compositing. This should also have the added
benefit that by the time CoreAnimation comes to call display
on all the dirty layers, we will have already executed our
expensive GPU work. The total amount of work done on the GPU
is the same, but hopefully it is now all done in WebKit's
paint cycle, rather than when the Window Server is trying
to get CA to composite things.
Covered by a new API test: WebGLPrepareDisplayOnWebThread
- html/HTMLCanvasElement.h:
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::HTMLCanvasElement):
(WebCore::HTMLCanvasElement::~HTMLCanvasElement):
(WebCore::HTMLCanvasElement::didMoveToNewDocument):
(WebCore::HTMLCanvasElement::removedFromAncestor):
Add or remove the document as a CanvasObserver.
(WebCore::HTMLCanvasElement::needsPreparationForDisplay):
Signals whether this element is the type that needs preparation.
(WebCore::HTMLCanvasElement::prepareForDisplay):
Tell the WebGLRenderingContext it must prepare.
- html/canvas/WebGLRenderingContextBase.h:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::prepareForDisplay):
The WebGLRenderingContext must forward the call
to prepare down to the GraphicsContextGLOpenGL.
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::GraphicsContextGLOpenGL::prepareForDisplay):
And the GraphicsContextGLOpenGL forwards the call
into the WebGLLayer.
- platform/graphics/cocoa/WebGLLayer.h:
- platform/graphics/cocoa/WebGLLayer.mm:
(-[WebGLLayer prepareForDisplay]):
(-[WebGLLayer display]):
Split the parts of the
display
method that deal
with flushing the GL commands, preparing the framebuffer texture,
and swapping the IOSurfaces into a newprepareForDisplay
. This
method is invoked at the end of the rendering/layout tasks, leaving
thedisplay
method to only tell CoreAnimation about a new buffer
to composite.
- dom/Document.cpp:
- dom/Document.h:
(WebCore::Document::prepareCanvasesForDisplayIfNeeded):
(WebCore::Document::canvasChanged):
(WebCore::Document::canvasDestroyed):
Keep a set of HTMLCanvasElements that need to
be prepared so we can tell them when they need to prepare.
Do this by becoming a CanvasObserver, thus getting
notified when a canvas has done something that
would cause painting.
- page/Page.cpp:
(WebCore::Page::doAfterUpdateRendering):
Add a new task that asks the Document to notify
all relevant canvas objects that they should prepare
for display.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitLegacy/ios/WebGLPrepareDisplayOnWebThread.mm: Added.
(-[WebGLPrepareDisplayOnWebThreadDelegate webViewDidFinishLoad:]):
(-[WebGLPrepareDisplayOnWebThreadDelegate webView:shouldStartLoadWithRequest:navigationType:]):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitLegacy/ios/webgl.html: Added.
- 12:52 PM Changeset in webkit [262365] by
-
- 2 edits in trunk/Source/WebCore
[Cocoa] EME should return more helpful error code during key exchange
https://bugs.webkit.org/show_bug.cgi?id=212535
<rdar://problem/60439979>
Reviewed by Eric Carlson.
Clients have requested that the EME API provide more helpful information when the FairPlay CDM is unable
to provide the requested level of key security. Currently, we reject the update() promise with a generic
"failed" error code. Instead, resolve the promise, but mark the key as "output-restricted" in the key
status map, indicating that the key cannot be used with required level of security.
Drive-by fix: We currently ASSERT() that the callback from removeSessionData() isn't called if the session
is not a PUR session. When calling removeSessionData() on a non-PUR session, call the callback with a generic
"failed" error.
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::removeSessionData):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didFailToProvideRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::keyStatuses const):
- 11:51 AM Changeset in webkit [262364] by
-
- 5 edits in trunk/Source/WebCore
[Cocoa] Transition between encrypted and clear codecs throws error from SourceBuffer.appendBuffer()
https://bugs.webkit.org/show_bug.cgi?id=212550
<rdar://problem/62207260>
Reviewed by Eric Carlson.
Source/WebCore:
CoreMedia returns a different codec 4CC code for "encrypted AVC" than it does for "clear AVC", though
the underlying codec used for both is the same. While CoreMedia does use different codec implementations
for each, it is capable of freely switching between the two, and the codec string used by web developers
for encrypted vs. clear content is identical. So we will treat these two codecs as "the same" as it pertains
to the MSE requirement that codecs contained in new initialization segments are "the same" as previous
ones. Adopt kCMFormatDescriptionExtension_ProtectedContentOriginalFormat, which can query the "original"
codec used for encrypted codec playback.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
Source/WebCore/PAL:
- pal/cf/CoreMediaSoftLink.cpp:
- pal/cf/CoreMediaSoftLink.h:
- 11:02 AM Changeset in webkit [262363] by
-
- 3 edits2 adds in trunk
[iBooks] Empty pages appear in book
https://bugs.webkit.org/show_bug.cgi?id=212573
<rdar://problem/62912623>
Reviewed by Antti Koivisto.
Source/WebCore:
Do not add a page break for orphan content unless the line does not fit anymore.
Test: fast/multicol/orphans-ignored.html
- rendering/SimpleLineLayoutPagination.cpp:
(WebCore::SimpleLineLayout::setPageBreakForLine):
(WebCore::SimpleLineLayout::adjustLinePositionsForPagination):
LayoutTests:
- fast/multicol/orphans-ignored-expected.html: Added.
- fast/multicol/orphans-ignored.html: Added.
- 7:56 AM Changeset in webkit [262362] by
-
- 6 edits in trunk/Source/JavaScriptCore
Consider a Thread Specific Cache for AssemblerBuffers
https://bugs.webkit.org/show_bug.cgi?id=212562
Reviewed by Filip Pizlo.
This patch creates a thread local cache of AssemblerData in the hopes that it will reduce
memory allocation churn. The cache is cleared when a thread is destroyed.
If an AssemblerData is destroyed in another thread, its storage is cached by the
destroying thread.
Made a few changes described below to facilite the swap as well as returning a
clear()'ed AssemblerData back to its original state.
Reviewed by Filip Pizlo.
- assembler/AssemblerBuffer.cpp:
(JSC::threadSpecificAssemblerData):
(JSC::clearAssembleDataThreadSpecificCache):
- assembler/AssemblerBuffer.h:
(JSC::AssemblerData::AssemblerData):
(JSC::AssemblerData::operator=):
The copy constructor and assignment operator now perform complete AssemblerBuffer swaps.
(JSC::AssemblerData::takeBufferIfLarger):
A new method that will conditionally copy the enclosed buffer of the argument to "this"
if the argument's buffer is larger than the current buffer of "this".
(JSC::AssemblerData::~AssemblerData):
(JSC::AssemblerData::clear):
The destructor now calls clear which has been changed to reset the buffer to one with
inline capacity.
(JSC::AssemblerBuffer::AssemblerBuffer):
Take the cached out of line buffer if there is one.
(JSC::AssemblerBuffer::~AssemblerBuffer):
Cache the enclosed out of line buffer if it is larger than the currently cached one.
(JSC::AssemblerBuffer::getThreadSpecificAssemblerData):
- dfg/DFGWorklist.cpp:
- jit/JITWorklist.cpp:
- wasm/WasmWorklist.cpp:
- 7:04 AM WebKitGTK/2.28.x edited by
- Propose r259112 (diff)
- 4:57 AM Changeset in webkit [262361] by
-
- 2 edits in trunk/Tools
Unreviewed. Fix GTK4 build with current GTK
- MiniBrowser/gtk/BrowserTab.c:
(audioMutedChanged):
- 3:40 AM Changeset in webkit [262360] by
-
- 6 edits in trunk
Implement named item condition for images
https://bugs.webkit.org/show_bug.cgi?id=212473
Patch by Rob Buis <rbuis@igalia.com> on 2020-05-31
Reviewed by Maciej Stachowiak.
LayoutTests/imported/w3c:
Update improved test expectation.
- web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-06-expected.txt:
Source/WebCore:
Implement named item condition for images, not only should we
check there are both an id and a name attribute, but also that
the name attribute is non-empty [1].
Behavior matches Chrome and Firefox.
[1] https://html.spec.whatwg.org/multipage/dom.html#dom-document-nameditem-filter
Test: imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-06.html
- html/HTMLNameCollection.cpp:
(WebCore::DocumentNameCollection::elementMatchesIfIdAttributeMatch):
LayoutTests:
Update test expectation.
- fast/dom/HTMLDocument/document-special-properties-expected.txt:
- 1:36 AM Changeset in webkit [262359] by
-
- 4 edits in trunk
<area> needs to be connected in order to navigate
https://bugs.webkit.org/show_bug.cgi?id=177357
Patch by Rob Buis <rbuis@igalia.com> on 2020-05-31
Reviewed by Maciej Stachowiak.
LayoutTests/imported/w3c:
Update improved test expectation.
- web-platform-tests/html/semantics/links/following-hyperlinks/activation-behavior.window-expected.txt:
Source/WebCore:
Implement second step of cannot navigate algorithm:
https://html.spec.whatwg.org/#cannot-navigate
Test: web-platform-tests/html/semantics/links/following-hyperlinks/activation-behavior.window.html
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick):
- 1:11 AM Changeset in webkit [262358] by
-
- 5 edits in trunk/LayoutTests
Rebaseline imported/w3c/web-platform-tests/encoding/single-byte-decoder.html
https://bugs.webkit.org/show_bug.cgi?id=212565
<rdar://problem/63682561>
Unreviewed.
Rebaseline the expected result.
LayoutTests/imported/w3c:
- web-platform-tests/encoding/single-byte-decoder-expected.txt:
LayoutTests:
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- 1:10 AM Changeset in webkit [262357] by
-
- 3 edits in trunk/LayoutTests
[iPad] REGRESSION(r261940): fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-after-changing-initial-scale.html is failing
https://bugs.webkit.org/show_bug.cgi?id=212564
<rdar://problem/63729887>
Unreviewed.
Setting width=device-width was causing us to clamp the initial-scale to 1, thereby disabling autosizing.
- fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-after-changing-initial-scale.html:
- platform/ipad/TestExpectations:
- 12:05 AM Changeset in webkit [262356] by
-
- 7 edits in trunk/Source
Change JSC::Config to use storage in WTF::Config instead of its own.
https://bugs.webkit.org/show_bug.cgi?id=212575
<rdar://problem/63796584>
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
Since Configs must be rounded up to CeilingOnPageSize, this will save us some
memory since the contents of both Configs do not add up to CeilingOnPageSize.
g_jscConfig is now located at g_wtfConfig.spaceForExtensions.
- runtime/JSCConfig.cpp:
(JSC::Config::disableFreezingForTesting):
(JSC::Config::enableRestrictedOptions):
(JSC::Config::permanentlyFreeze): Deleted.
- runtime/JSCConfig.h:
(JSC::Config::permanentlyFreeze):
(JSC::Config::isPermanentlyFrozen):
(): Deleted.
- runtime/Options.cpp:
(JSC::Options::setOptions):
- tools/JSDollarVM.cpp:
(JSC::functionCallWithStackSize):
Source/WTF:
- wtf/WTFConfig.h:
May 30, 2020:
- 10:54 PM Changeset in webkit [262355] by
-
- 6 edits in trunk/Source
Rename Signal::BadAccess to Signal::AccessFault.
https://bugs.webkit.org/show_bug.cgi?id=212577
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- runtime/VMTraps.cpp:
- wasm/WasmFaultSignalHandler.cpp:
(JSC::Wasm::enableFastMemory):
Source/WTF:
This is needed because GTK port's X11 has a #define for BadAccess (in include/X11/X.h):
#define BadAccess 10 /* depending on context:
- key/button already grabbed
- attempt to free an illegal cmap entry
- attempt to store into a read-only color map entry.
- attempt to modify the access control list from other than the local host. */
As a result, this would break the GTK build when wtf/Signals.h is #include'd.
- wtf/threads/Signals.cpp:
(WTF::fromMachException):
(WTF::toMachMask):
(WTF::jscSignalHandler):
- wtf/threads/Signals.h:
(WTF::toSystemSignal):
(WTF::fromSystemSignal):
- 8:20 PM Changeset in webkit [262354] by
-
- 7 edits5 adds in trunk
[JSC] for-in should allocate new temporary register for base
https://bugs.webkit.org/show_bug.cgi?id=212519
<rdar://problem/63722044>
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/has-own-property-for-in-loop-with-heap-variable.js: Added.
(assert):
(test1.count):
(test1):
- microbenchmarks/has-own-property-for-in-loop-with-this.js: Added.
(assert):
(test1.count):
(test1):
- stress/for-in-body-replace-enumerable.js: Added.
(foo):
- stress/for-in-enumerable-shadow.js: Added.
(assert):
(test1.count):
(test1):
- stress/for-in-enumerable-this-arrow.js: Added.
(assert):
(test1):
Source/JavaScriptCore:
While r262233 keeps for-in's enumerated object in variable register if possible to use this register for heuristics driving an optimization,
for-in body can replace the content of this register during enumeration and confuse enumerator.
Instead, we record Variable information in StructureForInContext. This allows us to detect patterns using heap-variables too.
Further, this patch extends pattern-matching code to support ThisNode too.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::pushStructureForInScope):
- bytecompiler/BytecodeGenerator.h:
(JSC::Variable::Variable):
(JSC::Variable::isResolved const):
(JSC::Variable::symbolTableConstantIndex const):
(JSC::Variable::ident const):
(JSC::Variable::offset const):
(JSC::Variable::isLocal const):
(JSC::Variable::local const):
(JSC::Variable::isReadOnly const):
(JSC::Variable::isSpecial const):
(JSC::Variable::isConst const):
(JSC::Variable::setIsReadOnly):
(JSC::Variable::operator== const):
(JSC::StructureForInContext::StructureForInContext):
(JSC::StructureForInContext::baseVariable const):
(JSC::StructureForInContext::base const): Deleted.
- bytecompiler/NodesCodegen.cpp:
(JSC::HasOwnPropertyFunctionCallDotNode::emitBytecode):
(JSC::ForInNode::emitBytecode):
- parser/ASTBuilder.h:
(JSC::ASTBuilder::makeFunctionCallNode):
- parser/Nodes.h:
(JSC::ExpressionNode::isThisNode const):
- 8:01 PM Changeset in webkit [262353] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix JSC debug tests' exception checking
https://bugs.webkit.org/show_bug.cgi?id=212512
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::createWithLength):
(JSC::JSBigInt::allocateFor):
- 3:25 PM Changeset in webkit [262352] by
-
- 18 edits in trunk
Extended Color: Additional color cleanups
https://bugs.webkit.org/show_bug.cgi?id=212567
Reviewed by Simon Fraser.
Source/WebCore:
A few unrelated quality-of-life cleanups to Color and related classes:
- Rename Color::asSimpleColor() to Color::asSimple() for parity with Color::asExtended().
- Move SimpleColor implementations of invertedColorWithAlpha() and asSRGBFloatComponents() to SimpleColor for parity with ExtenedColor.
- Rename ExtendedColor::channels() to ExtendedColor::components() to consistency.
- Adds operator[] to ColorComponents to allow direct access to components rather than requiring and additional .components[]
- Using std::minmax() where possible.
- Renaming colorFloatToSimpleColorByte to scaleRoundAndClampColorChannel to have a consistent naming and location of conversion to 8-bit color channels.
- platform/graphics/Color.cpp:
(WebCore::Color::serialized const):
(WebCore::Color::cssText const):
(WebCore::Color::nameForRenderTreeAsText const):
(WebCore::Color::light const):
(WebCore::Color::dark const):
(WebCore::Color::colorWithAlpha const):
(WebCore::Color::colorWithAlphaUsingAlternativeRounding const):
(WebCore::Color::invertedColorWithAlpha const):
(WebCore::Color::colorSpaceAndComponents const):
(WebCore::Color::toSRGBASimpleColorLossy const):
(WebCore::Color::toSRGBAComponentsLossy const):
- platform/graphics/Color.h:
(WebCore::Color::isOpaque const):
(WebCore::Color::isVisible const):
(WebCore::Color::alpha const):
(WebCore::Color::alphaAsFloat const):
(WebCore::Color::asSimple const):
(WebCore::Color::isBlackColor):
(WebCore::Color::isWhiteColor):
(WebCore::Color::encode const):
(WebCore::Color::asSimpleColor const): Deleted.
- platform/graphics/ColorComponents.h:
(WebCore::ColorComponents::operator[]):
(WebCore::ColorComponents::operator[] const):
(WebCore::=):
(WebCore::perComponentMax):
(WebCore::perComponentMin):
- platform/graphics/ColorMatrix.h:
(WebCore::Rows>::transformedColorComponents const):
- platform/graphics/ColorUtilities.cpp:
(WebCore::areEssentiallyEqual):
(WebCore::rgbToLinearComponents):
(WebCore::linearToRGBComponents):
(WebCore::lightness):
(WebCore::luminance):
(WebCore::sRGBToHSL):
(WebCore::hslToSRGB):
- platform/graphics/ColorUtilities.h:
(WebCore::scaleRoundAndClampColorChannel):
(WebCore::scaleRoundAndClampColorChannelUsingAlternativeRounding):
(WebCore::colorFloatToSimpleColorByte): Deleted.
- platform/graphics/ExtendedColor.cpp:
(WebCore::ExtendedColor::hash const):
(WebCore::ExtendedColor::cssText const):
(WebCore::ExtendedColor::colorWithAlpha const):
(WebCore::ExtendedColor::invertedColorWithAlpha const):
(WebCore::ExtendedColor::toSRGBAComponentsLossy const):
(WebCore::ExtendedColor::isWhite const):
(WebCore::ExtendedColor::isBlack const):
- platform/graphics/ExtendedColor.h:
(WebCore::ExtendedColor::alpha const):
(WebCore::ExtendedColor::components const):
(WebCore::ExtendedColor::ExtendedColor):
(WebCore::operator==):
(WebCore::ExtendedColor::channels const): Deleted.
- platform/graphics/SimpleColor.cpp:
(WebCore::makeSimpleColorFromFloats):
(WebCore::makeSimpleColorFromHSLA):
- platform/graphics/SimpleColor.h:
(WebCore::SimpleColor::SimpleColor):
(WebCore::SimpleColor::valueAsARGB const):
(WebCore::SimpleColor::colorWithAlpha const):
(WebCore::SimpleColor::invertedColorWithAlpha const):
(WebCore::SimpleColor::asSRGBFloatComponents const):
(WebCore::makeSimpleColor):
- platform/graphics/cg/ColorCG.cpp:
(WebCore::cachedCGColor):
- platform/graphics/filters/FELighting.cpp:
(WebCore::FELighting::drawLighting):
- platform/graphics/filters/FETurbulence.cpp:
(WebCore::toIntBasedColorComponents):
- platform/graphics/filters/FilterOperation.cpp:
(WebCore::BasicComponentTransferFilterOperation::transformColor const):
(WebCore::InvertLightnessFilterOperation::transformColor const):
(WebCore::InvertLightnessFilterOperation::inverseTransformColor const):
- platform/graphics/filters/FilterOperations.cpp:
(WebCore::FilterOperations::transformColor const):
(WebCore::FilterOperations::inverseTransformColor const):
Tools:
- TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
Update for rename from ExtendedColor::channels() to ExtendedColor::components()
- 2:09 PM Changeset in webkit [262351] by
-
- 4 edits in trunk/Source/JavaScriptCore
AssemblyHelpers::callExceptionFuzz() is passing a wrong argument to operationExceptionFuzz().
https://bugs.webkit.org/show_bug.cgi?id=212561
Reviewed by Yusuke Suzuki.
There's 2 possible solution to this issue:
- Thread the globalObject from all the way up the clients calling into callExceptionFuzz(), or
- Introduce a operationExceptionFuzzWithCallFrame() wrapper take receives a VM* and CallFrame*, and use these to get the lexicalGlobalObject.
This patch applies solution 2.
Solution 1 is too unwieldy because it will cause the threading of the globalObject
argument to fan out to many clients, and almost all of those clients currently
do not need the globalObject. Hence, implementing this solution may incur some
performance penalty in normal code, for the sole benefit of this one fuzzing tool.
Secondly, the exception fuzzer doesn't really care which globalObject is used.
It only cares that an exception is thrown, and we need a globalObject in order to
throw that exception. Hence, there is no benefit to threading the globalObject
down from all the clients.
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::callExceptionFuzz):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- 12:15 PM Changeset in webkit [262350] by
-
- 23 edits1 delete in trunk
Unreviewed, reverting r262335.
https://bugs.webkit.org/show_bug.cgi?id=212571
Triggered assertions in WebKit1
Reverted changeset:
"Disallow responses when a response contains invalid header
values"
https://bugs.webkit.org/show_bug.cgi?id=184493
https://trac.webkit.org/changeset/262335
- 12:14 PM Changeset in webkit [262349] by
-
- 2 edits in trunk/Source/WebCore
For scroll container and scrolled contents layers, use the renderer style to set up the event regions
https://bugs.webkit.org/show_bug.cgi?id=212570
Reviewed by Antti Koivisto.
RenderLayerBacking::updateEventRegion() sets up event regions on the scroll container and scrolled contents
layer using the default style, in order to fill up the m_region part of EventRegion, but we might as well
pass the renderer style so that it fills up the touch-action and wheel event regions as well.
Also re-use the existing event region trace points for region building.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateEventRegion):
- 10:42 AM Changeset in webkit [262348] by
-
- 5 edits in trunk
[Apple Pay] Support percentage border-radius values in -apple-pay-button
https://bugs.webkit.org/show_bug.cgi?id=212559
<rdar://problem/63781881>
Reviewed by Antti Koivisto.
Source/WebCore:
Added test cases to fast/css/appearance-apple-pay-button-border-radius.html.
- rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::paintApplePayButton): Used floatValueForLength() to ensure
percentage lengths are resolved before passing a corner radius to PassKit.
LayoutTests:
- fast/css/appearance-apple-pay-button-border-radius-expected.html:
- fast/css/appearance-apple-pay-button-border-radius.html:
- 10:38 AM Changeset in webkit [262347] by
-
- 2 edits in trunk/Source/WebCore/PAL
REGRESSION (r262332): Windows build failure because <nw/private.h> doesn't exist
<https://bugs.webkit.org/show_bug.cgi?id=212551>
<rdar://problem/62461099>
Unreviewed Windows build fix.
- pal/spi/cf/CFNetworkSPI.h:
- Move <nw/private.h> so it is not included with PLATFORM(WIN).
- Add or clean up some macro comments.
- 9:29 AM Changeset in webkit [262346] by
-
- 2 edits in trunk/Source/WebKit
Deprecate WKBundlePostSynchronousMessage
https://bugs.webkit.org/show_bug.cgi?id=212536
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-30
Reviewed by Anders Carlsson.
- WebProcess/InjectedBundle/API/c/WKBundle.h:
- 5:08 AM Changeset in webkit [262345] by
-
- 1 edit2 adds in trunk/LayoutTests
[GLIB] Unreviewed gardening, update baseline after r262169
https://bugs.webkit.org/show_bug.cgi?id=212566
r262169 modifies Objective-C code and the general expected file. The
change only affected Mac ports. GTK and WPE ports keep expecting the former
result, so a new baseline is emitted for these ports.
- platform/glib/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-negative-time-expected.txt: Added.
- 4:58 AM Changeset in webkit [262344] by
-
- 4 edits in trunk/LayoutTests/imported/w3c
Unreviewed gardening, update offscreen-canvas baselines after r262254
https://bugs.webkit.org/show_bug.cgi?id=212563
- web-platform-tests/offscreen-canvas/image-smoothing/image.smoothing-expected.txt:
- web-platform-tests/offscreen-canvas/image-smoothing/image.smoothing.worker-expected.txt:
- web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.w-expected.txt:
- 12:55 AM Changeset in webkit [262343] by
-
- 11 edits in trunk
[GTK] WebDriver: stop using GdkEvent API in preparation for GTK4
https://bugs.webkit.org/show_bug.cgi?id=212465
Reviewed by Adrian Perez de Castro.
Source/WebKit:
Use the new internal API to synthesize events.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSynthesizeKeyEvent): Add type parameter, since WebDriver can send press and release events
separately. Also add a parameter to indicate that keyval should be translated according to current state that is
required by WebDriver.
- UIProcess/API/gtk/WebKitWebViewBaseInternal.h:
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::documentLoadedForFrame): Call resetClickCount().
(WebKit::WebAutomationSession::updateClickCount): Update the click count for the given button position and
maximum time and distance.
(WebKit::WebAutomationSession::resetClickCount): Reset the click count.
- UIProcess/Automation/WebAutomationSession.h:
- UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:
(WebKit::WebAutomationSession::platformSimulateMouseInteraction): Use webkitWebViewBaseSynthesizeMouseEvent().
(WebKit::WebAutomationSession::platformSimulateKeyboardInteraction): Use webkitWebViewBaseSynthesizeKeyEvent().
(WebKit::WebAutomationSession::platformSimulateKeySequence): Ditto.
(WebKit::doMouseEvent): Deleted.
(WebKit::doMotionEvent): Deleted.
(WebKit::doKeyStrokeEvent): Deleted.
- UIProcess/gtk/KeyBindingTranslator.cpp: Add missing key shortcuts to predefined list.
Tools:
Update to the new webkitWebViewBaseSynthesizeKeyEvent() API.
- WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::keyDown):
WebDriverTests:
Remove expectations for tests that are passing now.
- TestExpectations.json:
- 12:46 AM Changeset in webkit [262342] by
-
- 17 edits1 copy in trunk
[JSC] JSBigInt allocation should be graceful for OOM
https://bugs.webkit.org/show_bug.cgi?id=212512
Reviewed by Mark Lam.
JSTests:
- stress/bigint-can-throw-oom.js: Copied from JSTests/stress/get-function-realm-not-doing-recursion.js.
(canThrow):
(foo):
(get foo):
- stress/get-function-realm-not-doing-recursion.js:
(canThrow):
Source/JavaScriptCore:
This patch allows JSBigInt's storage allocation to fail gracefully if OOM condition happens.
We thread JSGlobalObject* instead of VM& and throw OOM error if storage allocation failed.
We also renameJSGlobalObject* globalObject
parameter toJSGlobalObject* nullOrGlobalObjectForOOM
if it can be nullptr.
- jit/JITOperations.cpp:
- jsc.cpp:
(functionCreateHeapBigInt):
- parser/ParserArena.cpp:
(JSC::IdentifierArena::makeBigIntDecimalIdentifier):
- runtime/BigIntConstructor.cpp:
(JSC::toBigInt):
(JSC::callBigIntConstructor):
- runtime/BigIntPrototype.cpp:
(JSC::toThisBigIntValue):
(JSC::bigIntProtoFuncToString):
(JSC::bigIntProtoFuncToLocaleString):
(JSC::bigIntProtoFuncValueOf):
- runtime/CachedTypes.cpp:
(JSC::CachedBigInt::decode const):
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatFuncFormat):
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::createZero):
(JSC::JSBigInt::tryCreateZero):
(JSC::JSBigInt::createWithLength):
(JSC::JSBigInt::tryCreateWithLength):
(JSC::JSBigInt::createFrom):
(JSC::JSBigInt::tryCreateFrom):
(JSC::JSBigInt::createFromImpl):
(JSC::JSBigInt::parseInt):
(JSC::HeapBigIntImpl::toHeapBigInt):
(JSC::Int32BigIntImpl::toHeapBigInt):
(JSC::zeroImpl):
(JSC::JSBigInt::exponentiateImpl):
(JSC::JSBigInt::multiplyImpl):
(JSC::JSBigInt::divideImpl):
(JSC::JSBigInt::copy):
(JSC::JSBigInt::unaryMinusImpl):
(JSC::JSBigInt::unaryMinus):
(JSC::JSBigInt::remainderImpl):
(JSC::JSBigInt::incImpl):
(JSC::JSBigInt::decImpl):
(JSC::JSBigInt::addImpl):
(JSC::JSBigInt::subImpl):
(JSC::JSBigInt::bitwiseAndImpl):
(JSC::JSBigInt::bitwiseOrImpl):
(JSC::JSBigInt::bitwiseXorImpl):
(JSC::JSBigInt::absoluteAdd):
(JSC::JSBigInt::absoluteSub):
(JSC::JSBigInt::absoluteDivWithDigitDivisor):
(JSC::JSBigInt::absoluteDivWithBigIntDivisor):
(JSC::JSBigInt::absoluteLeftShiftAlwaysCopy):
(JSC::JSBigInt::absoluteBitwiseOp):
(JSC::JSBigInt::absoluteAnd):
(JSC::JSBigInt::absoluteOr):
(JSC::JSBigInt::absoluteAndNot):
(JSC::JSBigInt::absoluteXor):
(JSC::JSBigInt::absoluteAddOne):
(JSC::JSBigInt::absoluteSubOne):
(JSC::JSBigInt::leftShiftByAbsolute):
(JSC::JSBigInt::rightShiftByAbsolute):
(JSC::JSBigInt::rightShiftByMaximum):
(JSC::JSBigInt::toStringBasePowerOfTwo):
(JSC::JSBigInt::toStringGeneric):
(JSC::JSBigInt::rightTrim):
(JSC::JSBigInt::tryRightTrim):
(JSC::JSBigInt::allocateFor):
(JSC::JSBigInt::asIntNImpl):
(JSC::JSBigInt::asUintNImpl):
(JSC::JSBigInt::truncateToNBits):
(JSC::JSBigInt::truncateAndSubFromPowerOfTwo):
(JSC::JSBigInt::createWithLengthUnchecked): Deleted.
- runtime/JSBigInt.h:
- runtime/JSCJSValue.cpp:
(JSC::JSValue::toThisSlowCase const):
- runtime/VM.cpp:
(JSC::VM::VM):
Source/WebCore:
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readBigInt):
May 29, 2020:
- 11:59 PM Changeset in webkit [262341] by
-
- 10 edits in trunk
Use correct encoding when converting a WTF::URL to CFURLRef
https://bugs.webkit.org/show_bug.cgi?id=212486
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-29
Reviewed by Darin Adler.
Source/WebKit:
- Shared/API/c/cf/WKURLCF.mm:
(WKURLCopyCFURL):
- Shared/cf/ArgumentCodersCF.cpp:
(IPC::decode):
Source/WTF:
- wtf/cf/CFURLExtras.cpp:
(WTF::createCFURLFromBuffer):
- wtf/cf/CFURLExtras.h:
- wtf/cf/URLCF.cpp:
(WTF::URL::createCFURL const):
- wtf/cocoa/URLCocoa.mm:
(WTF::URL::createCFURL const):
Tools:
- TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
- 11:37 PM Changeset in webkit [262340] by
-
- 3 edits3 adds in trunk/JSTests
[JSC] Split some of JSC tests / reduce iteration count to make it not timed-out in Debug build
https://bugs.webkit.org/show_bug.cgi?id=212557
Reviewed by Mark Lam.
- stress/should-not-emit-double-rep-for-bigint.js: Ensured that this iteration count can reproduce the original crash.
- stress/tailCallForwardArguments.js: Split tests into 4 files.
(let.bodyText): Deleted.
(baz4): Deleted.
(testFunc): Deleted.
(baz5): Deleted.
(baz6): Deleted.
(arrayEq): Deleted.
- stress/tailCallForwardArguments2.js: Added.
(putFuncToPrivateName.createBuiltin):
(createTailCallForwardingFuncWith):
(putFuncToPrivateName):
(let.bodyText):
(baz4):
- stress/tailCallForwardArguments3.js: Added.
(putFuncToPrivateName.createBuiltin):
(createTailCallForwardingFuncWith):
(putFuncToPrivateName):
(let.bodyText):
(testFunc):
(baz5):
- stress/tailCallForwardArguments4.js: Added.
(putFuncToPrivateName.createBuiltin):
(createTailCallForwardingFuncWith):
(let.bodyText):
(putFuncToPrivateName):
(baz6):
(arrayEq):
- 11:28 PM Changeset in webkit [262339] by
-
- 11 edits in trunk/LayoutTests
Add debug alerts to xhr tests
https://bugs.webkit.org/show_bug.cgi?id=212555
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-29
Reviewed by Alexey Proskuryakov.
LayoutTests/imported/w3c:
- web-platform-tests/xhr/event-error-order.sub.html:
- web-platform-tests/xhr/send-authentication-basic-cors.htm:
- web-platform-tests/xhr/send-network-error-async-events.sub.htm:
LayoutTests:
These should not be upstreamed, but they are needed to help diagnose what is happening in rdar://problem/63684261
- platform/mac-wk1/imported/w3c/web-platform-tests/xhr/event-error-order.sub-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/xhr/send-authentication-basic-cors-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/xhr/send-network-error-async-events.sub-expected.txt:
- 9:39 PM Changeset in webkit [262338] by
-
- 8 edits1 add in trunk
We need to properly model heap ranges of Delete in DFG/B3
https://bugs.webkit.org/show_bug.cgi?id=212538
<rdar://problem/63670964>
Reviewed by Filip Pizlo.
JSTests:
- stress/delete-inlining-should-model-aliasing-of-future-stores.js: Added.
Source/JavaScriptCore:
We need to properly model the aliasing dependencies of an inlined delete
operation.
We had a bug in the B3 IR we generated from code like this for a delete
followed by a property addition:
`
const o = { y: 0 };
delete o.y;
o.z = 0;
`
generated:
`
note: bb#5 dominates bb#10, bb#10 dominates bb#15
bb#5
Void b@125 = Store($-562949953421312(b@282), b@112, offset = 16, ControlDependent|Writes:129, D@30)
bb#10
Void b@171 = Store($0(b@2), b@112, offset = 16, ControlDependent|Writes:129, D@37)
bb#15
Void b@217 = Store($-562949953421312(b@282), b@112, offset = 16, ControlDependent|Writes:130, D@44)
`
Notice that "y" and "z" ended up at the same property offset.
In the above program, B3 proves the pointer we're storing to is the same value
in all three stores (b@112). However, because of how it does store forwarding,
it determined it could eliminate b@217 because b@125 already stored the same
value to the same pointer. It didn't know that b@171 was a write because its
heap range is different than @217. Generally, when using two heap ranges, it's
telling B3 that two pointers don't alias.
`
@A, Heap_H
@B, Heap_H
`
In the above program,
- If @B reads H and @A writes H, then @B is dependent on @A.
- If @B writes H, then @B is dependent on @A if @A reads or writes H.
So for delete, we need to model the deletion of a property as actually
writing to all named properties that may exist at that slot given a
series of structure transitions. We model this by saying the PutStructure
for an inlined delete, or MultiDeleteByOffset, writes to all named properties
(which is a superset of all named properties that may exist at that slot
through a series of transitions).
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- ftl/FTLAbstractHeap.cpp:
(JSC::FTL::IndexedAbstractHeap::dump):
(JSC::FTL::NumberedAbstractHeap::dump):
(JSC::FTL::AbsoluteAbstractHeap::dump):
(JSC::FTL::IndexedAbstractHeap::dump const): Deleted.
(JSC::FTL::NumberedAbstractHeap::dump const): Deleted.
(JSC::FTL::AbsoluteAbstractHeap::dump const): Deleted.
- ftl/FTLAbstractHeap.h:
(JSC::FTL::IndexedAbstractHeap::atAnyIndex):
(JSC::FTL::NumberedAbstractHeap::atAnyNumber):
(JSC::FTL::AbsoluteAbstractHeap::atAnyAddress):
(JSC::FTL::IndexedAbstractHeap::atAnyIndex const): Deleted.
(JSC::FTL::NumberedAbstractHeap::atAnyNumber const): Deleted.
(JSC::FTL::AbsoluteAbstractHeap::atAnyAddress const): Deleted.
- ftl/FTLAbstractHeapRepository.cpp:
(JSC::FTL::AbstractHeapRepository::AbstractHeapRepository):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compilePutStructure):
(JSC::FTL::DFG::LowerDFGToB3::compileMultiDeleteByOffset):
- 9:30 PM Changeset in webkit [262337] by
-
- 4 edits2 adds in trunk
Event region painting should use the same paint flags as normal painting
https://bugs.webkit.org/show_bug.cgi?id=212547
Reviewed by Sam Weinig.
Source/WebCore:
There are cases (see r260118) where we need to send down the correct paint flags when
painting the scrolled contents layer to avoid unwanted clipping. We need to send down
the one paint flag relevant for event region paints, CompositedOverflowScrollContent,
for the same reasons.
I could not make a testcase that shows a behavior change, but I did copy the testcase
from r260118 and adapt it for event-region generation to detect future behavior changes.
Test: fast/scrolling/mac/wheel-event-listener-region-inside-overflow-scroll-clipped-out.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::collectEventRegionForFragments):
- rendering/RenderLayer.h:
LayoutTests:
- fast/scrolling/mac/wheel-event-listener-region-inside-overflow-scroll-clipped-out-expected.txt: Added.
- fast/scrolling/mac/wheel-event-listener-region-inside-overflow-scroll-clipped-out.html: Added.
- 9:30 PM Changeset in webkit [262336] by
-
- 4 edits2 adds in trunk
Elements with wheel event handlers inside overflow:scroll are missing from the event region
https://bugs.webkit.org/show_bug.cgi?id=212545
Reviewed by Zalan Bujtas.
Source/WebCore:
RenderBlock::paintObject() needs to traverse into descendants if there are are
wheel event handlers on the document, just as it does for elements with touch-action.
Test: fast/scrolling/mac/wheel-event-listener-region-inside-overflow-scroll.html
- dom/Document.h:
(WebCore::Document::hasTouchEventHandlers const):
(WebCore::Document::hasWheelEventHandlers const):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject):
LayoutTests:
- fast/scrolling/mac/wheel-event-listener-region-inside-overflow-scroll-expected.txt: Added.
- fast/scrolling/mac/wheel-event-listener-region-inside-overflow-scroll.html: Added.
- 8:52 PM Changeset in webkit [262335] by
-
- 23 edits11 adds in trunk
Disallow responses when a response contains invalid header values
https://bugs.webkit.org/show_bug.cgi?id=184493
Patch by Rob Buis <rbuis@igalia.com> on 2020-05-29
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Update improved test results and import fetch/h1-parsing.
- web-platform-tests/fetch/api/basic/header-value-combining.any-expected.txt:
- web-platform-tests/fetch/api/basic/header-value-combining.any.worker-expected.txt:
- web-platform-tests/fetch/api/basic/header-value-null-byte.any-expected.txt:
- web-platform-tests/fetch/api/basic/header-value-null-byte.any.worker-expected.txt:
- web-platform-tests/fetch/h1-parsing/resources-with-0x00-in-header.window-expected.txt: Added.
- web-platform-tests/fetch/h1-parsing/resources-with-0x00-in-header.window.html: Added.
- web-platform-tests/fetch/h1-parsing/resources-with-0x00-in-header.window.js: Added.
(async_test.t.t.step_timeout):
- web-platform-tests/fetch/h1-parsing/resources/README.md: Added.
- web-platform-tests/fetch/h1-parsing/resources/blue-with-0x00-in-a-header.asis: Added.
- web-platform-tests/fetch/h1-parsing/resources/document-with-0x00-in-header.py: Added.
(main):
- web-platform-tests/fetch/h1-parsing/resources/script-with-0x00-in-header.py: Added.
(main):
- web-platform-tests/fetch/h1-parsing/resources/w3c-import.log: Added.
- web-platform-tests/fetch/h1-parsing/w3c-import.log: Added.
- web-platform-tests/xhr/headers-normalize-response-expected.txt:
Source/WebCore:
From the Fetch specification [1]:
"A value is a byte sequence that matches the following conditions:
"- Contains no 0x00 (NUL) or HTTP newline bytes."
[1] https://fetch.spec.whatwg.org/#concept-header-value
Tests: imported/w3c/web-platform-tests/fetch/h1-parsing/resources-with-0x00-in-header.window.html
imported/web-platform-tests/fetch/api/basic/header-value-combining.any.html
imported/web-platform-tests/fetch/api/basic/header-value-combining.any.worker.html
imported/web-platform-tests/fetch/api/basic/header-value-null-byte.any.html
imported/web-platform-tests/fetch/api/basic/header-value-null-byte.any.worker.html
imported/web-platform-tests/xhr/headers-normalize-response.htm
- Modules/fetch/FetchHeaders.cpp:
(WebCore::canWriteHeader):
(WebCore::appendToHeaderMap):
(WebCore::FetchHeaders::filterAndFill):
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveResponse):
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::containsInvalidHTTPHeaders const):
- platform/network/ResourceResponseBase.h:
LayoutTests:
Update improved test results.
- platform/glib/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any-expected.txt:
- platform/glib/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any.worker-expected.txt:
- platform/ios-12/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any-expected.txt:
- platform/ios-12/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any.worker-expected.txt:
- platform/ios/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any-expected.txt:
- platform/ios/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any.worker-expected.txt:
- platform/mac-mojave/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any-expected.txt:
- platform/mac-mojave/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any.worker-expected.txt:
- platform/mac/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any-expected.txt:
- platform/mac/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any.worker-expected.txt:
- 8:27 PM Changeset in webkit [262334] by
-
- 2 edits in trunk/Source/WebKit
Replace callOnMainThread() with callOnMainRunLoop() in AudioSessionRoutingArbitratorProxyCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=212553
Reviewed by Chris Dumez.
Use callOnMainRunLoop() instead of callOnMainThread() in the UIProcess. Also move
m_setupArbitrationOngoing flag to the end of the completion handler.
No new tests, no functional change.
- UIProcess/Media/cocoa/AudioSessionRoutingArbitratorProxyCocoa.mm:
(WebKit::SharedArbitrator::beginRoutingArbitrationForArbitrator):
- 7:10 PM Changeset in webkit [262333] by
-
- 6 edits in trunk/LayoutTests
[css-grid] Update WPT grid-items-sizing-alignment-001.html
https://bugs.webkit.org/show_bug.cgi?id=169271
Reviewed by Manuel Rego Casasnovas.
LayoutTests/imported/w3c:
Import updated test and expectation.
- web-platform-tests/css/css-grid/grid-items/grid-items-sizing-alignment-001-expected.html:
- web-platform-tests/css/css-grid/grid-items/grid-items-sizing-alignment-001.html:
LayoutTests:
Expect the test to pass, except on iOS (bug 212493).
- TestExpectations:
- platform/ios/TestExpectations:
- 6:19 PM Changeset in webkit [262332] by
-
- 6 edits in trunk/Source
[Cocoa] Improve logging quality for non-ephemeral sessions
https://bugs.webkit.org/show_bug.cgi?id=212551
<rdar://problem/62461099>
Reviewed by David Kilzer.
Source/WebCore/PAL:
Add support for the 'nw_context_privacy_level' setting.
- pal/spi/cf/CFNetworkSPI.h:
Source/WebKit:
In Bug 209522 I switched normal mode logging to use the same privacy-protecting mode we use for ephemeral sessions.
This had the unintended consequence of removing network load data used to investigate networking issues.
This patch adopts the more fine-grained logging provided by the low-level 'nw_context_privacy_level' setting.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::configurationForSessionID): Adopt 'nw_context_privacy_level' setting.
Source/WTF:
- wtf/PlatformHave.h: Add new feature check for CFNetwork convenience setter.
- 6:08 PM Changeset in webkit [262331] by
-
- 34 edits in trunk
[Apple Pay] Remove conditionals for ENABLE_APPLE_PAY_SESSION_V(3|4)
https://bugs.webkit.org/show_bug.cgi?id=212541
Reviewed by Darin Adler.
APPLE_PAY_SESSION_V(3|4) is now enabled whenever APPLE_PAY itself is enabled.
.:
- Source/cmake/OptionsFTW.cmake:
- Source/cmake/OptionsMac.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
- Modules/applepay/ApplePayError.idl:
- Modules/applepay/ApplePayPaymentAuthorizationResult.idl:
- Modules/applepay/ApplePayPaymentContact.idl:
- Modules/applepay/ApplePayPaymentMethodUpdate.idl:
- Modules/applepay/ApplePayRequestBase.idl:
- Modules/applepay/ApplePaySession.idl:
- Modules/applepay/ApplePayShippingContactUpdate.idl:
- Modules/applepay/ApplePayShippingMethodUpdate.idl:
- Modules/applepay/PaymentCoordinatorClient.cpp:
(WebCore::PaymentCoordinatorClient::supportsVersion):
- Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::ApplePayPaymentHandler::computePaymentMethodErrors const):
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::applePayButtonDescription const):
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ApplePayButtonType const):
- css/CSSValueKeywords.in:
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
- rendering/RenderThemeCocoa.mm:
(WebCore::toPKPaymentButtonType):
- rendering/style/RenderStyleConstants.cpp:
(WebCore::operator<<):
- rendering/style/RenderStyleConstants.h:
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
- Configurations/FeatureDefines.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig:
Tools:
- Scripts/webkitperl/FeatureList.pm:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 5:42 PM Changeset in webkit [262330] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
REGRESSION (r260306): Compatibility issue leading to crash on macOS games
<https://webkit.org/b/212546>
<rdar://problem/62624078>
Reviewed by Brent Fulgham.
- WebView/WebView.mm:
(_WebSafeForwarder._target):
(_WebSafeForwarder._defaultTarget):
- Change weak attribute to unsafe_unretained to fix the crash.
- 5:03 PM Changeset in webkit [262329] by
-
- 8 edits in branches/safari-610.1.15.1-branch/Source
Versioning.
- 4:57 PM Changeset in webkit [262328] by
-
- 5 edits in trunk
Skip a few more JSC tests when $memoryLimited
https://bugs.webkit.org/show_bug.cgi?id=212552
Reviewed by Mark Lam.
JSTests:
- stress/call-varargs-inlining-should-not-clobber-previous-to-free-register.js:
- stress/incremental-marking-should-not-dead-lock-in-new-property-transition.js:
LayoutTests:
- js/script-tests/stack-overflow-regexp.js:
- 4:56 PM Changeset in webkit [262327] by
-
- 1 edit in trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm
Use ALLOW_DEPRECATED_DECLARATIONS_BEGIN instead (thanks to mitz)
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::configurationForSessionID):
- 4:47 PM Changeset in webkit [262326] by
-
- 2 edits in trunk/Source/WebKit
iOS build fix.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::configurationForSessionID):
- 4:16 PM Changeset in webkit [262325] by
-
- 1 copy in branches/safari-610.1.15.1-branch
New branch.
- 4:16 PM Changeset in webkit [262324] by
-
- 3 edits2 adds in trunk
[EME] navigator.requestMediaKeySystemAccess() should reject PUR sessionTypes in private browsing mode.
https://bugs.webkit.org/show_bug.cgi?id=212540
<rdar://problem/61125757>
Reviewed by Eric Carlson.
Source/WebCore:
A MediaKeySystemAccess with a PUR session type will never be able to create media keys when created in
private browsing mode. Allow clients to fail over to non-PUR session by rejecting the promise returned by
requestMediaKeySystemAccess() when in private browsing mode.
Test: platform/mac/media/encrypted-media/fps-ephemeral-requestMediaKeySystemAccess.html
- Modules/encryptedmedia/CDM.cpp:
(WebCore::CDM::getSupportedConfiguration):
LayoutTests:
- platform/mac/media/encrypted-media/fps-ephemeral-requestMediaKeySystemAccess-expected.txt: Added.
- platform/mac/media/encrypted-media/fps-ephemeral-requestMediaKeySystemAccess.html: Added.
- 4:09 PM Changeset in webkit [262323] by
-
- 4 edits in trunk/Source/WebCore
[iOS] Unable to paste images when composing mail at yahoo.com
https://bugs.webkit.org/show_bug.cgi?id=212544
<rdar://problem/63511613>
Reviewed by Megan Gardner and Andy Estes.
When pasting images in the mobile version of the mail compose editor on mail.yahoo.com, mail.yahoo.com's script
handles the paste by allowing images to be inserted into the DOM (i.e. by not preventing the "paste" event), and
then stripping away thesrc
attribute of the pasted image afterwards. This leaves behind a blank space in the
email.
Work around this by avoiding images when converting the contents of the pasteboard into web content on iOS.
Instead, we fall back to inserting (sanitized) text, or nothing at all if there is no other representation
suitable for converting into web content.
Unfortunately, the mobile version of the website is loaded on iPad as well, even when the desktop website has
been requested (through sending the macOS user agent and "MacIntel" navigator platform).
- editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::WebContentReader::readImage):
- page/Quirks.cpp:
(WebCore::Quirks::shouldAvoidPastingImagesAsWebContent const):
- page/Quirks.h:
- 4:03 PM Changeset in webkit [262322] by
-
- 2 edits in trunk/Source/WebKit
[Mac,WK2] Fullscreen animation missing a few frames at beginning
https://bugs.webkit.org/show_bug.cgi?id=212156
<rdar://problem/54799415>
Reviewed by Eric Carlson.
When starting the enter fullscreen animation, ensure that the fullscreen window is ordered front, and on top
of the content, as well as having all the animations configured so that their starting state is in place before
calling -[NSWindow enterFullscreenMode:]. Move all the window creation code into
-beganEnterFullScreenWithInitialFrame:finalFrame: from _startEnterFullScreenAnimationWithDuration:. Re-use the
existing zoomAnimation() and maskAnimation() utility methods, but give the animations a very long duration
(since there is no explicit way to start and stop a CAAnimation). This initial animation will be replaced with
the final one inside -_startEnterFullScreenAnimationWithDuration:. Separately, explictly disable implicit
animations of the fullscreen window during -orderIn: and -orderOut:.
- UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController initWithWindow:webView:page:impl:]):
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
- 3:35 PM Changeset in webkit [262321] by
-
- 10 edits in trunk
[GTK][WPE] API for WebView audio mute support
https://bugs.webkit.org/show_bug.cgi?id=176119
Patch by Jan-Michael Brummer <jan.brummer@tabos.org> on 2020-05-29
Reviewed by Michael Catanzaro.
Source/WebKit:
Test implemented in TestWebKitWebView.
- UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewSetProperty):
(webkitWebViewGetProperty):
(webkit_web_view_class_init):
(webkit_web_view_set_is_muted):
(webkit_web_view_is_muted):
- UIProcess/API/gtk/WebKitWebView.h:
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
- UIProcess/API/wpe/WebKitWebView.h:
- UIProcess/API/wpe/docs/wpe-1.0-sections.txt:
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::isAudioMuted const):
Tools:
- MiniBrowser/gtk/BrowserTab.c:
(audioClicked):
(audioMutedChanged):
(browserTabConstructed):
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewIsAudioMuted):
(beforeAll):
- 3:02 PM Changeset in webkit [262320] by
-
- 1 copy in tags/Safari-610.1.15.1
Tag Safari-610.1.15.1.
- 2:58 PM Changeset in webkit [262319] by
-
- 1 edit2 adds in trunk/LayoutTests
Web Inspector: add test for protocol "condition" logic
https://bugs.webkit.org/show_bug.cgi?id=212497
Reviewed by Brian Burg.
- inspector/protocol/condition.html: Added.
- inspector/protocol/condition-expected.txt: Added.
- 2:24 PM Changeset in webkit [262318] by
-
- 12 edits in trunk
Remove things from FeatureDefines.xcconfig that are covered by PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=212418
- 2:13 PM Changeset in webkit [262317] by
-
- 2 edits in trunk/Source/WebKit
ASSERT NOT REACHED in IPC::takeAsyncReplyHandler under WebKit::AudioSessionRoutingArbitrator::beginRoutingArbitrationWithCategory
https://bugs.webkit.org/show_bug.cgi?id=212533
Reviewed by Chris Dumez.
When the m_inDispatchMessageMarkedToUseFullySynchronousModeForTesting flag is set,
sendWithAsyncReply() may actually send the message synchronously. Therefore, we have
to set the async reply handler before actually sending the message.
No new tests, fixing test crashes due to assertion failures.
- Platform/IPC/Connection.h:
(IPC::Connection::sendWithAsyncReply):
- 2:06 PM Changeset in webkit [262316] by
-
- 5 edits in trunk/Source/WebCore
Unreviewed, reverting r262289.
This commit caused a test to crash internally
Reverted changeset:
"MediaPlayerPrivateMediaStreamAVFObjC should enqueue samples
in a background thread"
https://bugs.webkit.org/show_bug.cgi?id=212073
https://trac.webkit.org/changeset/262289
- 1:28 PM Changeset in webkit [262315] by
-
- 2 edits in trunk/Tools
[Win] Allow compiling with the TOUCH_EVENTS enabled
https://bugs.webkit.org/show_bug.cgi?id=212528
Patch by Pavel <pavel.feldman@gmail.com> on 2020-05-29
Reviewed by Fujii Hironori.
Aligning Win with GTK, adding missing EventSenderProxy stubs.
This allows compiling Win with TOUCH_EVENTS and unlocks event
injection / processing by the automation drivers
- WebKitTestRunner/win/EventSenderProxyWin.cpp:
(WTR::EventSenderProxy::addTouchPoint):
(WTR::EventSenderProxy::updateTouchPoint):
(WTR::EventSenderProxy::setTouchModifier):
(WTR::EventSenderProxy::setTouchPointRadius):
(WTR::EventSenderProxy::touchStart):
(WTR::EventSenderProxy::touchMove):
(WTR::EventSenderProxy::touchEnd):
(WTR::EventSenderProxy::touchCancel):
(WTR::EventSenderProxy::clearTouchPoints):
(WTR::EventSenderProxy::releaseTouchPoint):
(WTR::EventSenderProxy::cancelTouchPoint):
- 1:23 PM Changeset in webkit [262314] by
-
- 8 edits in branches/safari-610.1.15-branch/Source
Versioning.
- 1:13 PM Changeset in webkit [262313] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/wpt/service-workers/service-worker-different-process.https.html & http/wpt/service-workers/service-worker-crashing-while-fetching.https.html are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=212532
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 1:06 PM Changeset in webkit [262312] by
-
- 223 edits22 copies4 moves243 adds2 deletes in trunk/LayoutTests
Update web-platform-tests/tools from upstream
https://bugs.webkit.org/show_bug.cgi?id=212498
Reviewed by Carlos Alberto Lopez Perez.
Update web-platform-tests/tools from upstream 6a76a185f913e3c027e369a.
- web-platform-tests/tools/*: Updated.
- 12:47 PM Changeset in webkit [262311] by
-
- 12 edits in trunk
Remove things from FeatureDefines.xcconfig that are covered by PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=212418
Reviewed by Andy Estes.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig: Removed 83 of the 119 things defined in
this file. There are 36 more that are slightly more complex that we can remove
carefully later.
Source/WebCore:
- Configurations/FeatureDefines.xcconfig: Removed 83 of the 119 things defined in
this file. There are 36 more that are slightly more complex that we can remove
carefully later.
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig: Removed 83 of the 119 things defined in
this file. There are 36 more that are slightly more complex that we can remove
carefully later.
Source/WebKit:
- Configurations/FeatureDefines.xcconfig: Removed 83 of the 119 things defined in
this file. There are 36 more that are slightly more complex that we can remove
carefully later.
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig: Removed 83 of the 119 things defined in
this file. There are 36 more that are slightly more complex that we can remove
carefully later.
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed 83 of the 119 things
defined in this file. There are 36 more that are slightly more complex that we can
remove carefully later.
- 12:04 PM Changeset in webkit [262310] by
-
- 8 edits2 deletes in trunk
Make generate-unified-sources.sh not depend on features being listed in FEATURE_DEFINES environment variable
https://bugs.webkit.org/show_bug.cgi?id=212420
Source/WebCore:
Currently any #if in the Sources.txt and SourcesCocoa.txt files can check only features
defined in the FeatureDefines.xcconfig file, which sets up the FEATURE_DEFINES environment
variable. Instead, we'd like to pass in all the things defined in the Platform.h headers
as well. We accomplish that using the FEATURE_AND_PLATFORM_DEFINES variable from the
DerivedSources.make file. This was the last place using FEATURE_DEFINES directly, so it
frees us up to reduce FeatureDefines.xcconfig and move feature definitions to
PlatformEnableCocoa.h instead, which will be less repetitive.
Reviewed by Andy Estes.
- Configurations/GenerateUnifiedSources.xcconfig: Deleted.
- DerivedSources-input.xcfilelist: Updated.
- DerivedSources-output.xcfilelist: Updated.
- DerivedSources.make: Added a rule to invoke generate-unified-sources.sh, passing
FEATURE_AND_PLATFORM_DEFINES.
- Scripts/generate-unified-sources.sh: Removed hard-coded use of FEATURE_DEFINES.
- UnifiedSources-output.xcfilelist: Deleted.
- WebCore.xcodeproj/project.pbxproj: Removed Generate Unified Sources build step,
since it's now part of Generate Derived Sources.
Tools:
Reviewed by Andy Estes.
- Scripts/webkitpy/generate_xcfilelists_lib/generators.py:
(WebCoreGenerator._get_generate_derived_sources_script): Removed the code
to generate UnifiedSources-output.xcfilelist.
- 12:01 PM Changeset in webkit [262309] by
-
- 8 edits in trunk/Source
[Cocoa] Pass all defines from Platform.h to various scripts, not just the ones from .xcconfig
https://bugs.webkit.org/show_bug.cgi?id=212451
Reviewed by Sam Weinig.
Source/JavaScriptCore:
- DerivedSources.make: Run the preprocessor on Platform.h and parse the output into
FEATURE_AND_PLATFORM_DEFINES. Use that and FEATURE_AND_PLATFORM_DEFINE_DEPENDENCIES
whenever we need a list of defines. Also took out some Windows-specific stuff since
this is now only used on Mac platforms. Use ":=" when calling $(shell) to make sure
the same shell command is not invoked over and over again.
Source/WebCore:
- DerivedSources.make: Run the preprocessor on Platform.h and parse the output into
FEATURE_AND_PLATFORM_DEFINES. Use that and FEATURE_AND_PLATFORM_DEFINE_DEPENDENCIES
whenever we need a list of defines. Also took out some Windows-specific stuff since
this is now only used on Mac platforms. Use ":=" when calling $(shell) to make sure
the same shell command is not invoked over and over again.
Source/WebKit:
- DerivedSources.make: Use ":=" when calling $(shell) to make sure the same shell
command is not invoked over and over again.
Source/WebKitLegacy/mac:
- MigrateHeaders.make: Run the preprocessor on Platform.h and parse the output into
FEATURE_AND_PLATFORM_DEFINES. Use that and FEATURE_AND_PLATFORM_DEFINE_DEPENDENCIES
whenever we need a list of defines. Also took out some Windows-specific stuff since
this is now only used on Mac platforms. Use ":=" when calling $(shell) to make sure
the same shell command is not invoked over and over again.
- 11:40 AM Changeset in webkit [262308] by
-
- 24 edits in trunk
Revert switch to XCBuild
https://bugs.webkit.org/show_bug.cgi?id=212530
<rdar://problem/63764632>
Unreviewed build fix.
Bug 209890 enabled the use of XCBuild by default. Since then, some
build issues have shown up. While addressing them, temporarily turn
off the use of XCBuild by default.
.:
- Makefile.shared:
- WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
Source/JavaScriptCore:
- Configurations/JavaScriptCore.xcconfig:
- JavaScriptCore.xcodeproj/project.pbxproj:
Source/ThirdParty/ANGLE:
- ANGLE.xcodeproj/project.pbxproj:
- Configurations/ANGLE.xcconfig:
Source/ThirdParty/libwebrtc:
- libwebrtc.xcodeproj/project.pbxproj:
Source/WebCore:
No new tests -- build fix.
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit:
- Configurations/WebKit.xcconfig:
- WebKit.xcodeproj/project.pbxproj:
Source/WebKitLegacy:
- WebKitLegacy.xcodeproj/project.pbxproj:
Source/WebKitLegacy/mac:
- Configurations/WebKitLegacy.xcconfig:
Tools:
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
- Scripts/build-webkit:
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- 11:32 AM Changeset in webkit [262307] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Graphics: text editors in Keyframes section don't populate when sidebar is first shown
https://bugs.webkit.org/show_bug.cgi?id=212509
Reviewed by Timothy Hatcher.
- UserInterface/Views/AnimationDetailsSidebarPanel.js:
(WI.AnimationDetailsSidebarPanel.prototype.shown): Added.
Refresh allCodeMirror
whenever this panel is shown.
- UserInterface/Views/Sidebar.js:
(WI.Sidebar.prototype.removeSidebarPanel):
(WI.Sidebar.prototype.selectedSidebarPanel):
(WI.Sidebar.prototype.set collapsed):
- UserInterface/Views/SidebarPanel.js:
(WI.SidebarPanel.prototype.visibilityDidChange): Deleted.
Drive-by: remove unused function.
- 11:30 AM Changeset in webkit [262306] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r261940): PLT5 is 2% regressed
https://bugs.webkit.org/show_bug.cgi?id=212504
<rdar://problem/63685637>
Reviewed by Wenson Hsieh.
We were causing spurious style recalcs on every main frame load.
No new tests because there is no behavior change.
- page/Settings.yaml:
- 11:15 AM Changeset in webkit [262305] by
-
- 2 edits in trunk/LayoutTests
Fix expectations after r262284
https://bugs.webkit.org/show_bug.cgi?id=212374
Unreviewed test gardening.
- 11:14 AM Changeset in webkit [262304] by
-
- 10 edits1 delete in trunk/Source/WebCore
Extended Color: ColorMatrix should support smaller matrices and be constexpr
https://bugs.webkit.org/show_bug.cgi?id=212477
Reviewed by Simon Fraser.
- Adds the ability to specify a ColorMatrix with any number of rows or columns, useful as most of the uses ColorMatrix did not need the full 5x4. Transformation act as-if the the ColorMatrix is the identify matrix for any rows or columns not present. For example, when transforming a ColorComponents, which is 4x1, a 3x3 ColorMatrix of the form:
[ a, b, c ]
[ d, e, f ]
[ g, h, i ]
will behave as-if it looks like:
[ a, b, c, 0 ]
[ d, e, f, 0 ]
[ g, h, i, 0 ]
[ 0, 0, 0, 1 ]
In practice, this means that the last component of the input vector is left
unmodified.
- Adds ability to use ColorMatrix in constexpr statements, which will be useful for compile time concatenation of colorspace conversion matrices in a future change but is also useful for improved space efficiency of constant matrices already used.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
Remove ColorMatrix.cpp
- platform/graphics/ColorComponents.h:
(WebCore::ColorComponents::ColorComponents):
(WebCore::ColorComponents::operator+=):
(WebCore::ColorComponents::operator+ const):
(WebCore::ColorComponents::operator/ const):
(WebCore::ColorComponents::operator* const):
(WebCore::ColorComponents::abs const):
(WebCore::ColorComponents::get const):
(WebCore::perComponentMax):
(WebCore::perComponentMin):
(WebCore::operator==):
(WebCore::operator!=):
Make everything constexpr and move implementations out of the declarations for clarity.
- platform/graphics/ColorMatrix.cpp: Removed.
- platform/graphics/ColorMatrix.h:
(WebCore::ColorMatrix::ColorMatrix):
(WebCore::ColorMatrix::at const):
(WebCore::grayscaleColorMatrix):
(WebCore::sepiaColorMatrix):
(WebCore::saturationColorMatrix):
(WebCore::hueRotateColorMatrix):
(WebCore::ColorMatrix::transformColorComponents):
(WebCore::ColorMatrix::transformedColorComponents):
Re-write as a class templatized on the number of rows and columns. Moves factory functions
out of the class to avoid awkwardness of having to specify a dummy size when calling them
(e.g. we wouldn't want you to have to write ColorMatrix<3, 3>::grayscaleMatrix(), instead
just grayscaleColorMatrix() is much nicer).
- platform/graphics/ColorUtilities.cpp:
(WebCore::xyzToLinearSRGB):
(WebCore::linearSRGBToXYZ):
(WebCore::XYZToLinearP3):
(WebCore::linearP3ToXYZ):
- platform/graphics/filters/FilterOperation.cpp:
(WebCore::BasicColorMatrixFilterOperation::transformColor const):
(WebCore::InvertLightnessFilterOperation::transformColor const):
(WebCore::InvertLightnessFilterOperation::inverseTransformColor const):
Adopt new ColorMatrix interface.
- platform/graphics/filters/FilterOperation.h:
Remove unnecessary T in forward declaration.
- platform/graphics/ColorUtilities.h:
(WebCore::fastMultiplyBy255):
(WebCore::fastDivideBy255):
Add some missing constexprs.
- 11:10 AM WPTExportProcess edited by
- (diff)
- 10:41 AM Changeset in webkit [262303] by
-
- 6 edits in trunk/Source
Unreviewed, reverting r262245.
https://bugs.webkit.org/show_bug.cgi?id=212531
"Caused WebCore's 'Check .xcfilelists' build phase to be ~100x
slower"
Reverted changeset:
"[Cocoa] Pass all defines from Platform.h to various scripts,
not just the ones from .xcconfig"
https://bugs.webkit.org/show_bug.cgi?id=212451
https://trac.webkit.org/changeset/262245
- 10:34 AM Changeset in webkit [262302] by
-
- 91 edits2 adds in trunk
Web Inspector: add ITML debuggable/target type
https://bugs.webkit.org/show_bug.cgi?id=203300
<rdar://problem/56545896>
Reviewed by Joseph Pecoraro and Brian Burg.
Source/JavaScriptCore:
- API/JSContextPrivate.h:
- API/JSContext.mm:
(-[JSContext _setITMLDebuggableType]): Added.
- runtime/JSGlobalObject.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::setIsITML): Added.
Create an SPI for marking aJSContext
as an ITML context for Web Inspector.
- runtime/JSGlobalObjectDebuggable.h:
(isType):
- inspector/remote/RemoteControllableTarget.h:
- inspector/remote/RemoteInspectionTarget.h:
- inspector/remote/RemoteInspectorConstants.h:
- inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
Don't dispatchInspector.activateExtraDomains
unless we're a basicJavaScript
debuggable.
- inspector/remote/cocoa/RemoteInspectorCocoa.mm:
(Inspector::RemoteInspector::listingForInspectionTarget const):
- inspector/scripts/codegen/models.py:
(validate_target_types):
- inspector/scripts/codegen/objc_generator.py:
(ObjCGenerator):
- inspector/scripts/tests/expected/fail-on-command-targetTypes-value.json-error:
- inspector/scripts/tests/expected/fail-on-domain-debuggableTypes-value.json-error:
- inspector/scripts/tests/expected/fail-on-domain-targetTypes-value.json-error:
- inspector/scripts/tests/expected/fail-on-event-targetTypes-value.json-error:
- inspector/protocol/Audit.json:
- inspector/protocol/CSS.json:
- inspector/protocol/Console.json:
- inspector/protocol/DOM.json:
- inspector/protocol/DOMStorage.json:
- inspector/protocol/Database.json:
- inspector/protocol/Debugger.json:
- inspector/protocol/Heap.json:
- inspector/protocol/Inspector.json:
- inspector/protocol/Network.json:
- inspector/protocol/Page.json:
- inspector/protocol/Runtime.json:
- inspector/protocol/Security.json:
Add support for
itml
debuggables and targets, marking non-ITML commands/events withpage
.
Source/WebInspectorUI:
- UserInterface/Base/DebuggableType.js:
(WI.DebuggableType.fromString):
(WI.DebuggableType.supportedTargetTypes): Added.
- UserInterface/Base/TargetType.js:
- UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass.prototype.activateDomain):
- UserInterface/Controllers/TargetManager.js:
(WI.TargetManager.prototype.createDirectBackendTarget):
(WI.TargetManager.prototype._initializePageTarget):
- UserInterface/Protocol/RemoteObject.js:
(WI.RemoteObject.prototype.pushNodeToFrontend):
- UserInterface/Controllers/CSSManager.js:
(WI.CSSManager.supportsInspectorStyleSheet): Added.
- UserInterface/Controllers/DOMManager.js:
(WI.DOMManager.prototype.setInspectedNode):
- UserInterface/Controllers/LayerTreeManager.js:
(WI.LayerTreeManager.supportsVisibleCompositingBorders):
- UserInterface/Controllers/NetworkManager.js:
(WI.NetworkManager.prototype._loadAndParseSourceMap):
- UserInterface/Controllers/TimelineManager.js:
(WI.NetworkManager.defaultTimelineTypes):
(WI.NetworkManager.availableTimelineTypes):
(WI.NetworkManager.prototype.set autoCaptureOnPageLoad):
(WI.NetworkManager.prototype.scriptProfilerTrackingCompleted):
- UserInterface/Models/CSSCompletions.js:
(WI.CSSCompletions.initializeCSSCompletions):
- UserInterface/Models/CSSStyleDeclaration.js:
(WI.CSSStyleDeclaration.prototype.get selectorEditable):
- UserInterface/Models/CSSStyleSheet.js:
(WI.CSSStyleSheet.prototype.handleCurrentRevisionContentChange):
- UserInterface/Models/DOMNode.js:
(WI.DOMNode.prototype._makeUndoableCallback):
- UserInterface/Models/SourceMapResource.js:
(WI.SourceMapResource.prototype.requestContentFromBackend):
- UserInterface/Base/Main.js:
(WI._updateDownloadToolbarButton):
(WI.undo):
(WI.redo):
(WI.canArchiveMainFrame):
- UserInterface/Views/ComputedStyleDetailsPanel.js:
(WI.ComputedStyleDetailsPanel.prototype.refresh):
- UserInterface/Views/ContextMenuUtilities.js:
(WI.appendContextMenuItemsForDOMNode):
- UserInterface/Views/CookieStorageContentView.js:
(WI.CookieStorageContentView):
(WI.CookieStorageContentView.prototype.get navigationItems):
(WI.CookieStorageContentView.prototype.tableCellContextMenuClicked):
(WI.CookieStorageContentView.prototype._reloadCookies):
(WI.CookieStorageContentView.prototype._handleTableKeyDown):
- UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WI.DOMNodeDetailsSidebarPanel.prototype.initialLayout):
- UserInterface/Views/DOMTreeContentView.js:
(WI.DOMTreeContentView):
(WI.DOMTreeContentView.prototype._restoreSelectedNodeAfterUpdate):
(WI.DOMTreeContentView.prototype._showPrintStylesChanged):
- UserInterface/Views/DOMTreeElement.js:
(WI.DOMTreeElement.prototype.populateDOMNodeContextMenu):
(WI.DOMTreeElement.prototype._startEditingTagName):
- UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
(WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
- UserInterface/Views/SearchSidebarPanel.js:
(WI.SearchSidebarPanel.prototype.performSearch):
- UserInterface/Views/SourceCodeTextEditor.js:
(WI.SourceCodeTextEditor.prototype.customPerformSearch):
- UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel):
(WI.SourcesNavigationSidebarPanel.prototype._populateCreateResourceContextMenu):
- UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._populateIconElementContextMenu):
- UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
(WI.SpreadsheetRulesStyleDetailsPanel.prototype.get supportsNewRule):
- UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur):
- UserInterface/Views/TimelineTabContentView.js:
(WI.TimelineTabContentView):
- UserInterface/Controllers/AppControllerBase.js:
(WI.AppControllerBase.prototype.get hasExtraDomains): Deleted.
- UserInterface/Controllers/AppController.js:
(WI.AppController):
(WI.AppController.prototype.activateExtraDomains):
(WI.AppController.prototype.get hasExtraDomains): Deleted.
- UserInterface/Test/TestAppController.js:
(WI.TestAppController.prototype.get hasExtraDomains): Deleted.
- UserInterface/Protocol/Legacy/11.0/InspectorBackendCommands.js:
- UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js:
- UserInterface/Protocol/Legacy/12.0/InspectorBackendCommands.js:
- UserInterface/Protocol/Legacy/12.2/InspectorBackendCommands.js:
- UserInterface/Protocol/Legacy/13.0/InspectorBackendCommands.js:
- UserInterface/Protocol/Legacy/13.4/InspectorBackendCommands.js:
- Versions/Inspector-iOS-11.0.json:
- Versions/Inspector-iOS-11.3.json:
- Versions/Inspector-iOS-12.0.json:
- Versions/Inspector-iOS-12.2.json:
- Versions/Inspector-iOS-13.0.json:
- Versions/Inspector-iOS-13.4.json:
Update protocol files for older versions of iOS.
- Localizations/en.lproj/localizedStrings.js:
Source/WebKit:
- UIProcess/API/Cocoa/_WKInspectorDebuggableInfo.h:
- UIProcess/API/Cocoa/_WKInspectorDebuggableInfoInternal.h:
(fromWKInspectorDebuggableType):
(toWKInspectorDebuggableType):
- UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.h:
- UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm:
(legacyDebuggableTypeToModernDebuggableType):
- UIProcess/socket/RemoteInspectorProtocolHandler.cpp:
(WebKit::parseDebuggableTypeFromString):
LayoutTests:
- inspector/protocol/target-types-for-debuggable-type.html: Added.
- inspector/protocol/target-types-for-debuggable-type-expected.txt: Added.
- 10:18 AM WPTExportProcess edited by
- (diff)
- 10:05 AM Changeset in webkit [262301] by
-
- 2 edits in trunk/LayoutTests
webkit-test-runner: Add support for the reftest-wait class name
https://bugs.webkit.org/show_bug.cgi?id=186045
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 10:01 AM Changeset in webkit [262300] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix after r262299
We replaced ScriptExecutionContext* by Document& in WebXRSpace hierarchy, so the
failing ASSERT() was:
- Invalid, there is no "context" parameter but "document"
- Not needed anymore, as we're passing a reference
- Modules/webxr/WebXRSpace.cpp:
(WebCore::WebXRSpace::WebXRSpace): Removed invalid ASSERT().
- 9:36 AM Changeset in webkit [262299] by
-
- 12 edits3 adds in trunk
[WebXR] Implement XRSession::requestReferenceSpace()
https://bugs.webkit.org/show_bug.cgi?id=212407
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Added expectations.
- web-platform-tests/webxr/webGLCanvasContext_create_xrcompatible.https-expected.txt: Added.
- web-platform-tests/webxr/webGLCanvasContext_makecompatible_contextlost.https-expected.txt: Added.
- web-platform-tests/webxr/xrSession_requestReferenceSpace.https-expected.txt: Added.
Source/WebCore:
This patch implements the requestReferenceSpace() method of the XRSession which is used to
create reference spaces. A reference space establishes a space where pose data will be defined
and thus is mandatory to retrieve that pose information.
There are still some bits that have to implementated in follow up patches using platform code.
- Modules/webxr/WebXRBoundedReferenceSpace.cpp:
(WebCore::WebXRBoundedReferenceSpace::create): Added.
(WebCore::WebXRBoundedReferenceSpace::WebXRBoundedReferenceSpace): Ditto.
- Modules/webxr/WebXRBoundedReferenceSpace.h:
- Modules/webxr/WebXRReferenceSpace.cpp:
(WebCore::WebXRReferenceSpace::create): Added.
(WebCore::WebXRReferenceSpace::WebXRReferenceSpace): Ditto.
(WebCore::WebXRReferenceSpace::getOffsetReferenceSpace): Use the create() method.
- Modules/webxr/WebXRReferenceSpace.h:
- Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::referenceSpaceIsSupported const): New method to check whether a reference.
space is supported by session and device.
(WebCore::WebXRSession::requestReferenceSpace): New method that creates reference spaces for pose data.
- Modules/webxr/WebXRSession.h:
- Modules/webxr/WebXRSpace.cpp:
(WebCore::WebXRSpace::WebXRSpace): Store a reference to the session creating the space.
- Modules/webxr/WebXRSpace.h:
LayoutTests:
- platform/wpe/TestExpectations: Unskipped 3 more tests that are working now.
- 9:29 AM Changeset in webkit [262298] by
-
- 4 edits in trunk/Source/WebCore
Update debug overlays at rendering update time
https://bugs.webkit.org/show_bug.cgi?id=212510
Reviewed by Antoine Quint.
Don't eagerly update the regions in debug overlays when things change; this triggers
assertions for touch event overlays.
Instead, just mark them dirty and update the regions at "update the rendering" time.
- page/DebugPageOverlays.cpp:
(WebCore::RegionOverlay::setRegionChanged):
(WebCore::RegionOverlay::didMoveToPage):
(WebCore::RegionOverlay::recomputeRegion):
(WebCore::DebugPageOverlays::regionChanged):
(WebCore::DebugPageOverlays::updateRegionIfNecessary):
- page/DebugPageOverlays.h:
(WebCore::DebugPageOverlays::doAfterUpdateRendering):
- page/Page.cpp:
(WebCore::Page::doAfterUpdateRendering):
- 9:28 AM Changeset in webkit [262297] by
-
- 2 edits in trunk/Tools
[Flatpak][GStreamer] all commands, except webkit-build, fails if GST_BUILD_PATH is set
https://bugs.webkit.org/show_bug.cgi?id=212408
Patch by Philippe Normand <pnormand@igalia.com> on 2020-05-29
Reviewed by Žan Doberšek.
Don't run gst-env.py in the sandbox because that can lead to command-line options clashing
with build-webkit and other WebKit scripts. So instead we now parse the output of the
environment variables gst-build requires and we forward those to the sandbox.
- flatpak/flatpakutils.py:
(run_sanitized):
(check_flatpak):
(FlatpakObject.flatpak):
(WebkitFlatpak.execute_command):
(WebkitFlatpak.setup_gstbuild):
(WebkitFlatpak.run_in_sandbox):
(flatpak_run_sanitized): Deleted.
- 9:01 AM Changeset in webkit [262296] by
-
- 2 edits in trunk/Source/JavaScriptCore
Add a check for errors when computing a utf string in jsc shell's runInteractive().
https://bugs.webkit.org/show_bug.cgi?id=212526
<rdar://problem/63757892>
Reviewed by Michael Saboff.
- jsc.cpp:
(runInteractive):
- 8:54 AM WPTExportProcess edited by
- (diff)
- 8:47 AM Changeset in webkit [262295] by
-
- 2 edits in trunk/Tools
Add watchlist comment for patches touching imported WPT tests.
https://bugs.webkit.org/show_bug.cgi?id=212362
Reviewed by Youenn Fablet.
Add a watchlist trigger to comment on patches touching imported WPT tests
with a link to documentation about the export process.
- Scripts/webkitpy/common/config/watchlist:
- 8:43 AM WPTExportProcess edited by
- (diff)
- 7:56 AM Changeset in webkit [262294] by
-
- 31 edits in trunk/Source
Prepare for async scrolling in passive wheel event handler regions
https://bugs.webkit.org/show_bug.cgi?id=212455
Reviewed by Tim Horton.
Clarify the processing for wheel events by adding OptionSet<WheelEventProcessingSteps>,
which will, in future, allow us to describe the processing for an event in the passive
event handler region which does scrolling on the scrolling thread, and is then sent
to the main thread for DOM event dispatch.
Removed ScrollingEventResult, which conflated "handled" with "send to another thread".
The thread sending behavior is now encoded in the WheelEventProcessingSteps, and we can just
use a bool for handled.
Scrolling tree and node handleWheelEvent() functions return a WheelEventHandlingResult, which
is a tuple of OptionSet<WheelEventProcessingSteps> and 'handled', allowing for a node with
background-attachment:fixed to add the "send to main thread" processing step.
Source/WebCore:
- page/FrameView.cpp:
(WebCore::FrameView::wheelEvent):
- page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::handleWheelEvent):
- page/scrolling/ScrollingCoordinatorTypes.h:
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::determineWheelEventProcessing):
(WebCore::ScrollingTree::handleWheelEvent):
(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Deleted.
- page/scrolling/ScrollingTree.h:
(WebCore::WheelEventHandlingResult::needsMainThreadProcessing const):
(WebCore::WheelEventHandlingResult::handled):
(WebCore::WheelEventHandlingResult::unhandled):
(WebCore::WheelEventHandlingResult::result):
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::handleWheelEvent):
- page/scrolling/ScrollingTreeScrollingNode.h:
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::handleWheelEvent):
(WebCore::ThreadedScrollingTree::handleWheelEventAfterMainThread):
- page/scrolling/ThreadedScrollingTree.h:
- page/scrolling/mac/ScrollingCoordinatorMac.h:
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::handleWheelEvent):
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent):
- page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.h:
- page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:
(WebCore::ScrollingTreeOverflowScrollingNodeMac::handleWheelEvent):
- platform/PlatformWheelEvent.cpp:
(WebCore::operator<<):
- platform/PlatformWheelEvent.h:
Source/WebKit:
- UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::handleWheelEvent):
- UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp:
(WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::handleWheelEvent):
- UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.h:
- UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp:
(WebKit::ScrollingTreeOverflowScrollingNodeRemoteMac::handleWheelEvent):
- UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.h:
- WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::wheelEvent):
- 6:58 AM Changeset in webkit [262293] by
-
- 2 edits in trunk/Tools
[Flatpak] Fix os.system return code for better signal handling.
Rubber-stamped by Philippe Normand.
The previous fix in r262270 correctly fixed the return code issue
but made signal handling pass through python. For example, when you
ctlr+C running MiniBrowser, you'd get a python stacktrace deep inside
subprocess.call.
So, revert back to os.system but fixing the return code.
- flatpak/webkit-bwrap:
- 6:28 AM WebKitGTK/2.28.x edited by
- (diff)
- 6:19 AM Changeset in webkit [262292] by
-
- 3 edits in trunk/Source/WebCore
[WebXR] ActiveDOMObjects must call suspendIfNeeded() upon creation
https://bugs.webkit.org/show_bug.cgi?id=212517
Reviewed by Žan Doberšek.
We weren't calling suspendIfNeeded() upon ActiveDOMObjects creation (XRSession and XRSystem)
and that was triggering ASSERTION FAILED: m_suspendIfNeededWasCalled.
No new tests required as this was already detected by existing tests.
- Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::WebXRSession): Call suspendIfNeeded().
- Modules/webxr/WebXRSystem.cpp:
(WebCore::WebXRSystem::WebXRSystem): Call suspendIfNeeded().
- 6:18 AM Changeset in webkit [262291] by
-
- 3 edits in trunk/Source/WebCore
[WebXR] WebXRSystem::unregisterSimulatedXRDeviceForTesting() ASSERTs in m_immersiveDevices.contains(device)
https://bugs.webkit.org/show_bug.cgi?id=212516
Reviewed by Žan Doberšek.
The ASSERT that was failing was wrong. It was assuming that every simulated device should be part of the list
of immersive devices. That's wrong, as devices only supporting inline sessions are not in that list.
Apart from that, fake devices were not removed from the list of available devices in WebXRTest after
disconnecting them all. That could potentially cause flakiness in the tests.
No new test required as the current tests were properly detecting the issue.
- Modules/webxr/WebXRSystem.cpp:
(WebCore::WebXRSystem::registerSimulatedXRDeviceForTesting): Use XRSessionMode directly.
(WebCore::WebXRSystem::unregisterSimulatedXRDeviceForTesting): Fixed the ASSERT. A simulated device
might not be in the list of immersive devices if only supports inline sessions.
- testing/WebXRTest.cpp:
(WebCore::WebXRTest::disconnectAllDevices): Clear the list of devices after disconnecting.
- 5:47 AM Changeset in webkit [262290] by
-
- 3 edits in trunk/Source/ThirdParty/libwebrtc
Enable VTB required low latency code path
https://bugs.webkit.org/show_bug.cgi?id=210609
<rdar://problem/61890332>
Reviewed by Eric Carlson.
- Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
- Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
Declare the new key since it is now in a private header.
- 5:15 AM Changeset in webkit [262289] by
-
- 5 edits in trunk/Source/WebCore
MediaPlayerPrivateMediaStreamAVFObjC should enqueue samples in a background thread
https://bugs.webkit.org/show_bug.cgi?id=212073
Reviewed by Eric Carlson.
Do not hop to the main thread when rendering video samples anymore.
Instead, we enqueue to the display layer in the background thread but still hop to the main thread for two things:
- Update of various states of the player
- keep a ref to the video sample if canvas rendering is needed.
Most display layer operations stay in the main thread (creation, flushing...).
Deletion of the display layer and access from a background are covered by a lock.
The m_canEnqueueDisplayLayer boolean ensures we do not enqueue too early when the display layer is not yet properly initialized.
LocalSampleBufferDisplayLayer needs to handle the fact that enqueueing might be done in a background thread.
Instead of introducing a lock, we introduce a work queue and we hop to this queue whenever we need to enqueue/mutate the pending samples.
Covered by existing tests and manual testing.
- platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.h:
- platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:
(-[WebAVSampleBufferStatusChangeListener observeValueForKeyPath:ofObject:change:context:]):
(WebCore::LocalSampleBufferDisplayLayer::enqueueSample):
(WebCore::LocalSampleBufferDisplayLayer::enqueueSampleBuffer):
(WebCore::LocalSampleBufferDisplayLayer::requestNotificationWhenReadyForVideoData):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::videoTransformationMatrix):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::processNewVideoSampleAvailable):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::videoSampleAvailable):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::applicationDidBecomeActive):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::flushRenderers):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::ensureLayers):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::destroyLayers):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateRenderingMode):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::checkSelectedVideoTrack):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::paintCurrentFrameInContext):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setBufferingPolicy):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::rootLayerBoundsDidChange):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::videoTransformationMatrix): Deleted.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueCorrectedVideoSample): Deleted.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateDisplayLayer): Deleted.
- 4:41 AM Changeset in webkit [262288] by
-
- 2 edits1 delete in trunk/Tools
[Flatpak SDK] Update OpenXR
https://bugs.webkit.org/show_bug.cgi?id=212518
Patch by Philippe Normand <pnormand@igalia.com> on 2020-05-29
Reviewed by Žan Doberšek.
Upstream now builds fine with GCC 9.3.0. Removing downstream patch.
- buildstream/elements/sdk/openxr.bst:
- buildstream/patches/openxr-0001-cmake-Check-for-C-17-and-conditionally-enable-it.patch: Removed.
- 2:47 AM Changeset in webkit [262287] by
-
- 4 edits in trunk/Source/WebKit
[GTK4] Implement HTTP auth dialog
https://bugs.webkit.org/show_bug.cgi?id=212319
Reviewed by Sergio Villar Senin.
- UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
(webkitAuthenticationDialogDestroy):
(okButtonClicked):
(cancelButtonClicked):
(authenticationCancelled):
(webkitAuthenticationDialogInitialize):
(webkitAuthenticationDialogMap):
(webkitAuthenticationDialogDispose):
(webkitAuthenticationDialogNew):
- UIProcess/API/gtk/WebKitAuthenticationDialog.h:
- UIProcess/API/gtk/WebKitWebViewGtk.cpp:
(webkitWebViewAuthenticate):
- 2:40 AM Changeset in webkit [262286] by
-
- 10 edits in trunk/Source
[GTK4] Implement script dialogs
https://bugs.webkit.org/show_bug.cgi?id=212318
Reviewed by Adrian Perez de Castro.
Source/WebCore:
Add more definitions to avoid ifdefs.
- platform/gtk/GtkVersioning.h:
(gtk_entry_set_text):
(gtk_entry_get_text):
(gtk_label_set_line_wrap):
(gtk_window_set_default):
(gtk_widget_add_css_class):
Source/WebKit:
Adapt to the GTK4 API and theme changes.
- UIProcess/API/gtk/WebKitScriptDialogImpl.cpp:
(webkitScriptDialogImplClose):
(webkitScriptDialogImplKeyPressed):
(webkitScriptDialogImplMap):
(webkitScriptDialogImplConstructed):
(webkitScriptDialogImplDispose):
(webkit_script_dialog_impl_class_init):
(webkitScriptDialogImplAddButton):
(webkitScriptDialogImplNew):
(webkitScriptDialogImplSetEntryText):
- UIProcess/API/gtk/WebKitScriptDialogImpl.h:
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseAddDialog):
(webkitWebViewBaseRemoveChild):
(webkitWebViewBaseSnapshot):
- UIProcess/API/gtk/WebKitWebViewDialog.cpp:
(webkitWebViewDialogSnapshot):
(webkitWebViewDialogSizeAllocate):
(webkitWebViewDialogConstructed):
(webkit_web_view_dialog_class_init):
(webkitWebViewDialogSetChild):
(webkitWebViewDialogGetChild):
- UIProcess/API/gtk/WebKitWebViewDialog.h:
- UIProcess/API/gtk/WebKitWebViewGtk.cpp:
(webkitWebViewScriptDialog):
- 1:59 AM Changeset in webkit [262285] by
-
- 8 edits1 move7 adds1 delete in trunk/LayoutTests
[GLIB] Gardening, update test expectations after r262254
https://bugs.webkit.org/show_bug.cgi?id=212514
Unreviewed gardening.
r262254 re-synced many dom web-platform tests and expected files. Emit
new baselines for GTK and WPE for affected test and try to merge results
into a common glib expectations when possible.
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
- platform/glib/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt:
- platform/glib/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
- platform/glib/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: Renamed from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt.
- platform/gtk/imported/w3c/web-platform-tests/dom/nodes/Node-cloneNode-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: Removed.
- 1:00 AM Changeset in webkit [262284] by
-
- 3 edits16 adds in trunk/LayoutTests
[css-grid] Import tests for the grid as flexbox item case
https://bugs.webkit.org/show_bug.cgi?id=212374
Reviewed by Manuel Rego Casasnovas.
LayoutTests/imported/w3c:
Imported tests from the WPT CSS Grid Layout test suite.
- web-platform-tests/css/css-grid/layout-algorithm/grid-as-flex-item-should-not-shrink-to-fit-001-expected.xht: Added.
- web-platform-tests/css/css-grid/layout-algorithm/grid-as-flex-item-should-not-shrink-to-fit-001.html: Added.
- web-platform-tests/css/css-grid/layout-algorithm/grid-as-flex-item-should-not-shrink-to-fit-002-expected.xht: Added.
- web-platform-tests/css/css-grid/layout-algorithm/grid-as-flex-item-should-not-shrink-to-fit-002.html: Added.
- web-platform-tests/css/css-grid/layout-algorithm/grid-as-flex-item-should-not-shrink-to-fit-003-expected.xht: Added.
- web-platform-tests/css/css-grid/layout-algorithm/grid-as-flex-item-should-not-shrink-to-fit-003.html: Added.
- web-platform-tests/css/css-grid/layout-algorithm/grid-as-flex-item-should-not-shrink-to-fit-004-expected.xht: Added.
- web-platform-tests/css/css-grid/layout-algorithm/grid-as-flex-item-should-not-shrink-to-fit-004.html: Added.
- web-platform-tests/css/css-grid/layout-algorithm/grid-as-flex-item-should-not-shrink-to-fit-005-expected.xht: Added.
- web-platform-tests/css/css-grid/layout-algorithm/grid-as-flex-item-should-not-shrink-to-fit-005.html: Added.
- web-platform-tests/css/css-grid/layout-algorithm/grid-as-flex-item-should-not-shrink-to-fit-006-expected.xht: Added.
- web-platform-tests/css/css-grid/layout-algorithm/grid-as-flex-item-should-not-shrink-to-fit-006.html: Added.
LayoutTests:
These tests cover the case of a grid container being rendered as a flexbox item.
They are also useful as regression tests for the bug 209282 .
- TestExpectations: Added Failure entries for the tests that fail due to bug 209282
- 12:27 AM Changeset in webkit [262283] by
-
- 9 edits in trunk
REGRESSION (r261812): editing/async-clipboard/clipboard-item-get-type-basic.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=212281
<rdar://problem/63554912>
Reviewed by Tim Horton.
Source/WebKit:
Declare
-delegateSupportsImagePaste
on UIKeyboardImpl.
- Platform/spi/ios/UIKitSPI.h:
Source/WTF:
Add a new
HAVE()
define.
- wtf/PlatformHave.h:
Tools:
On some shipping versions of iOS, returning
NO
from-supportsImagePaste
still results in UIKit keyboard
code pinning temporary items to the general pasteboard, which increments the change count of the pasteboard.
If this happens in the middle of an attempt to read from the pasteboard, we end up falsely denying access to the
contents of the pasteboard, since we believe that the contents of the pasteboard have changed.
This has the potential to affect any test that attempts to read from the pasteboard on iOS, though the titular
layout test seems to trigger the bug more frequently than other tests.
This item pinning was added in support of being able to insert Memojis from the software keyboard, and works by
pretending to copy a temporary PNG image, asking the delegate whether it-canPerformAction:withSender:
, and
then restoring the items previously on the pasteboard. To work around this in the test runner, we can simply
swizzle out-[UIKeyboardImpl delegateSupportsImagePaste]
to always returnNO
, which has the same effect as
disabling the Memoji keyboard.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/ios/TestControllerIOS.mm:
(overrideKeyboardDelegateSupportsImagePaste):
(WTR::TestController::platformResetStateToConsistentValues):
LayoutTests:
Remove the failing test expectation.
- platform/ios-simulator-wk2/TestExpectations:
- 12:00 AM Changeset in webkit [262282] by
-
- 2 edits in trunk/LayoutTests
Unreviewed WPE gardening.
- platform/wpe/TestExpectations: Adding debug crash expectations for WebXR tests.
May 28, 2020:
- 10:58 PM Changeset in webkit [262281] by
-
- 4 edits in trunk/Source/WebKit
Clean up WebKit.xcodeproj/project.pbxproj
https://bugs.webkit.org/show_bug.cgi?id=212491
Reviewed by Tim Horton.
A follow-up patch to add AudioSessionRoutingArbitratorProxyCocoa.mm to the unified build.
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
Add AudioSessionRoutingArbitratorProxyCocoa.mm to the unified build.
- UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.h:
Fix a unified build failure.
- 10:41 PM Changeset in webkit [262280] by
-
- 2 edits in trunk/Source/WebKit
Avoid unnecessary sync IPC messages when togging the callout bar for selections.
https://bugs.webkit.org/show_bug.cgi?id=212508
The loupe gesture only needs to be activated and evaluated if the tap is inside
an existing selectionView. We can do that test in the UIProcess without resorting to a sync IPC message.
Doing that evaluation locally will eliminate unnecessary hangs in the UIProcess.
Reviewed by Wenson Hsieh.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _pointIsInsideSelectionRect:outBoundingRect:]):
(-[WKContentView _shouldToggleSelectionCommandsAfterTapAt:]):
(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):
- 9:08 PM Changeset in webkit [262279] by
-
- 11 edits4 adds in trunk
[Apple Pay] Buttons render with a corner radius of PKApplePayButtonDefaultCornerRadius even when explicitly specifying "border-radius: 0px"
https://bugs.webkit.org/show_bug.cgi?id=212476
<rdar://problem/63401433>
Reviewed by Antti Koivisto.
Source/WebCore:
r256648 added support for customizing the corner radius of Apple Pay buttons using the
border-radius CSS property. PassKit buttons have a default corner radius of 4, but
border-radius has an initial value of 0, so to maintain web compatibility with existing
buttons we only want to customize the corner radius when a border-radius value has been
explicitly specified (otherwise, previously rounded buttons would all become squared off due
to border-radius's initial value).
r256648 checked for a non-initial border-radius by calling RenderStyle::hasBorderRadius, but
this check does not distinguish between an initial value and an explicit declaration of
"border-radius: 0px". As a result, authors are unable to create Apple Pay buttons with
square corners.
This patch adds a flag to RenderStyle::NonInheritedFlags that tracks whether any
border-radius longhand has been explicitly set (or has explicitly inherited an explicitly set
value), and uses that flag to adjust the computed border radius for Apple Pay buttons.
The addition of RenderStyle::NonInheritedFlags::hasExplicitlySetBorderRadius did not change
the size of RenderStyle.
Tests: fast/css/appearance-apple-pay-button-border-radius.html
fast/css/getComputedStyle/computed-style-apple-pay-button.html
- css/CSSProperties.json:
- rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::adjustApplePayButtonStyle const):
(WebCore::RenderThemeCocoa::paintApplePayButton):
(WebCore::largestCornerRadius): Deleted.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::hasExplicitlySetBorderRadius const):
(WebCore::RenderStyle::setHasExplicitlySetBorderRadius):
(WebCore::RenderStyle::NonInheritedFlags::operator== const):
(WebCore::RenderStyle::NonInheritedFlags::copyNonInheritedFrom):
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyInheritBorderBottomLeftRadius):
(WebCore::Style::BuilderCustom::applyValueBorderBottomLeftRadius):
(WebCore::Style::BuilderCustom::applyInheritBorderBottomRightRadius):
(WebCore::Style::BuilderCustom::applyValueBorderBottomRightRadius):
(WebCore::Style::BuilderCustom::applyInheritBorderTopLeftRadius):
(WebCore::Style::BuilderCustom::applyValueBorderTopLeftRadius):
(WebCore::Style::BuilderCustom::applyInheritBorderTopRightRadius):
(WebCore::Style::BuilderCustom::applyValueBorderTopRightRadius):
LayoutTests:
- TestExpectations:
- fast/css/appearance-apple-pay-button-border-radius-expected.html: Added.
- fast/css/appearance-apple-pay-button-border-radius.html: Added.
- fast/css/appearance-apple-pay-button-expected.html:
- fast/css/appearance-apple-pay-button.html:
- fast/css/getComputedStyle/computed-style-apple-pay-button-expected.txt: Added.
- fast/css/getComputedStyle/computed-style-apple-pay-button.html: Added.
- platform/mac/TestExpectations:
- 8:58 PM Changeset in webkit [262278] by
-
- 2 edits in trunk/Source/WebKit
Fix the macOS build
- WebKit.xcodeproj/project.pbxproj:
Can't have this file in both the Xcode target and SourcesCocoa.txt...
- 8:00 PM Changeset in webkit [262277] by
-
- 80 edits17 adds2 deletes in trunk/LayoutTests
Update web-platform-tests/interfaces from upstream
https://bugs.webkit.org/show_bug.cgi?id=212501
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Unreviewed, rebaseline web-platform-tests/interfaces from upstream 6a76a185f913e3c027e369a.
- web-platform-tests/IndexedDB/idlharness.any-expected.txt:
- web-platform-tests/IndexedDB/idlharness.any.worker-expected.txt:
- web-platform-tests/credential-management/idlharness.https.window-expected.txt:
- web-platform-tests/css/css-animations/idlharness-expected.txt:
- web-platform-tests/css/css-transitions/idlharness-expected.txt:
- web-platform-tests/css/cssom-view/idlharness-expected.txt:
- web-platform-tests/css/cssom/interfaces-expected.txt:
- web-platform-tests/dom/idlharness.any.worker-expected.txt:
- web-platform-tests/dom/idlharness.window-expected.txt:
- web-platform-tests/domparsing/idlharness.window-expected.txt:
- web-platform-tests/html/dom/idlharness.worker-expected.txt:
- web-platform-tests/html/webappapis/scripting/events/event-handler-all-global-events-expected.txt:
- web-platform-tests/html/webappapis/scripting/events/event-handler-attributes-body-window-expected.txt:
- web-platform-tests/html/webappapis/scripting/events/event-handler-attributes-windowless-body-expected.txt:
- web-platform-tests/interfaces/DOM-Parsing.idl:
- web-platform-tests/interfaces/IndexedDB.idl:
- web-platform-tests/interfaces/WebCryptoAPI.idl:
- web-platform-tests/interfaces/appmanifest.idl:
- web-platform-tests/interfaces/badging.idl: Added.
- web-platform-tests/interfaces/clipboard-apis.idl:
- web-platform-tests/interfaces/construct-stylesheets.idl: Added.
- web-platform-tests/interfaces/cookie-store.idl:
- web-platform-tests/interfaces/css-font-loading.idl:
- web-platform-tests/interfaces/css-regions.idl: Removed.
- web-platform-tests/interfaces/css-shadow-parts.idl:
- web-platform-tests/interfaces/css-typed-om.idl:
- web-platform-tests/interfaces/cssom-view.idl:
- web-platform-tests/interfaces/cssom.idl:
- web-platform-tests/interfaces/device-memory.idl: Added.
- web-platform-tests/interfaces/dom.idl:
- web-platform-tests/interfaces/encrypted-media.idl:
- web-platform-tests/interfaces/event-timing.idl:
- web-platform-tests/interfaces/fullscreen.idl:
- web-platform-tests/interfaces/geolocation-sensor.idl:
- web-platform-tests/interfaces/hit-test.idl: Added.
- web-platform-tests/interfaces/html.idl:
- web-platform-tests/interfaces/image-capture.idl:
- web-platform-tests/interfaces/intersection-observer.idl:
- web-platform-tests/interfaces/js-self-profiling.idl: Added.
- web-platform-tests/interfaces/layout-instability.idl:
- web-platform-tests/interfaces/media-capabilities.idl:
- web-platform-tests/interfaces/media-playback-quality.idl:
- web-platform-tests/interfaces/media-source.idl:
- web-platform-tests/interfaces/mediasession.idl:
- web-platform-tests/interfaces/mediastream-recording.idl:
- web-platform-tests/interfaces/mst-content-hint.idl:
- web-platform-tests/interfaces/native-file-system.idl: Added.
- web-platform-tests/interfaces/netinfo.idl:
- web-platform-tests/interfaces/origin-policy.idl: Added.
- web-platform-tests/interfaces/page-lifecycle.idl: Added.
- web-platform-tests/interfaces/payment-method-basic-card.idl:
- web-platform-tests/interfaces/payment-request.idl:
- web-platform-tests/interfaces/periodic-background-sync.idl: Added.
- web-platform-tests/interfaces/permissions-request.idl: Added.
- web-platform-tests/interfaces/permissions-revoke.idl: Added.
- web-platform-tests/interfaces/permissions.idl:
- web-platform-tests/interfaces/pointerevents.idl:
- web-platform-tests/interfaces/reporting.idl:
- web-platform-tests/interfaces/requestidlecallback.idl:
- web-platform-tests/interfaces/resize-observer.idl:
- web-platform-tests/interfaces/scroll-animations.idl:
- web-platform-tests/interfaces/shape-detection-api.idl:
- web-platform-tests/interfaces/storage-access-api.tentative.idl: Added.
- web-platform-tests/interfaces/text-detection-api.tentative.idl: Added.
- web-platform-tests/interfaces/trusted-types.tentative.idl:
- web-platform-tests/interfaces/video-rvfc.idl: Added.
- web-platform-tests/interfaces/visual-viewport.idl: Added.
- web-platform-tests/interfaces/w3c-import.log:
- web-platform-tests/interfaces/wai-aria.idl:
- web-platform-tests/interfaces/wake-lock.idl:
- web-platform-tests/interfaces/web-animations.idl:
- web-platform-tests/interfaces/web-bluetooth.idl:
- web-platform-tests/interfaces/web-locks.idl: Added.
- web-platform-tests/interfaces/web-nfc.idl:
- web-platform-tests/interfaces/web-share.idl:
- web-platform-tests/interfaces/webaudio.idl:
- web-platform-tests/interfaces/webauthn.idl:
- web-platform-tests/interfaces/webmidi.idl:
- web-platform-tests/interfaces/webrtc-dscp.idl: Removed.
- web-platform-tests/interfaces/webrtc-identity.idl:
- web-platform-tests/interfaces/webrtc-stats.idl:
- web-platform-tests/interfaces/webrtc-svc.idl: Added.
- web-platform-tests/interfaces/webrtc.idl:
- web-platform-tests/interfaces/webxr-ar-module.idl:
- web-platform-tests/interfaces/webxr.idl:
- web-platform-tests/interfaces/worklets.idl:
- web-platform-tests/intersection-observer/idlharness.window-expected.txt:
- web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
- web-platform-tests/mediacapture-record/idlharness.window-expected.txt:
- web-platform-tests/mst-content-hint/idlharness.window-expected.txt:
- web-platform-tests/remote-playback/idlharness.window-expected.txt:
- web-platform-tests/resize-observer/idlharness.window-expected.txt:
- web-platform-tests/svg/idlharness.window-expected.txt:
- web-platform-tests/web-animations/idlharness.window-expected.txt:
- web-platform-tests/websockets/basic-auth.any.js:
- web-platform-tests/websockets/bufferedAmount-unchanged-by-sync-xhr.any.js:
- web-platform-tests/websockets/bufferedAmount-unchanged-by-sync-xhr.any.worker-expected.txt:
- web-platform-tests/xhr/idlharness.any-expected.txt:
- web-platform-tests/xhr/idlharness.any.worker-expected.txt:
- web-platform-tests/xhr/sync-no-timeout.any-expected.txt:
- web-platform-tests/xhr/sync-no-timeout.any.worker-expected.txt:
LayoutTests:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- 5:22 PM Changeset in webkit [262276] by
-
- 8 edits in trunk
Make fast/text/user-installed-fonts/extended-character.html more robust
https://bugs.webkit.org/show_bug.cgi?id=212487
<rdar://problem/63235370>
Unreviewed.
Tools:
Update the font to use the new character.
- WebKitTestRunner/fonts/FakeHelvetica-SingleExtendedCharacter.ttf:
LayoutTests:
The test tries to make sure that, even if a user-installed font is the only font that supports
a certain character, it still isn't used if user-installed fonts are disallowed. This patch
updates the test to make the character less likely to be used by preinstalled fonts.
- TestExpectations: Run the test everywhere, but it might not pass, rather than skipping it.
- fast/text/user-installed-fonts/extended-character-expected.html:
- fast/text/user-installed-fonts/extended-character-with-user-font-expected-mismatch.html:
- fast/text/user-installed-fonts/extended-character-with-user-font.html:
- fast/text/user-installed-fonts/extended-character.html:
- 5:06 PM Changeset in webkit [262275] by
-
- 3 edits in trunk/Source/WebCore
Shrink StyleRareNonInheritedData by 8 bytes (on 64-bit platforms)
https://bugs.webkit.org/show_bug.cgi?id=212484
Reviewed by Tim Horton.
There were 4 bytes of padding after shapeImageThreshold, enough to fit order and shrink the
overall size of StyleRareNonInheritedData by 8 bytes on 64-bit platforms.
Before:
Total byte size: 480
Total pad bytes: 50
Padding percentage: 10.42 %
After:
Total byte size: 472
Total pad bytes: 42
Padding percentage: 8.90 %
- rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):
- rendering/style/StyleRareNonInheritedData.h:
- 4:43 PM Changeset in webkit [262274] by
-
- 2 edits in trunk/Source/WebKit
[GTK][WPE] Buildfix after r262242
Unreviewed build fix.
- Shared/glib/ArgumentCodersGLib.cpp:
(IPC::decode):
- 4:27 PM Changeset in webkit [262273] by
-
- 3 edits in trunk/Source/WebKit
watchOS: Upstream WKNumberPadView
https://bugs.webkit.org/show_bug.cgi?id=212499
<rdar://problem/63736073>
Reviewed by Wenson Hsieh.
- UIProcess/ios/forms/WKNumberPadView.h: Moved from WebKitAdditions.
- UIProcess/ios/forms/WKNumberPadView.mm: Ditto.
- 4:19 PM Changeset in webkit [262272] by
-
- 5 edits in trunk/Source
Responding to post commit review comments for https://bugs.webkit.org/show_bug.cgi?id=212060
- editing/InsertIntoTextNodeCommand.cpp:
(WebCore::InsertIntoTextNodeCommand::doApply):
- 4:06 PM Changeset in webkit [262271] by
-
- 3 edits in trunk/Source/WebKit
watchOS: Upstream WKTextInputListViewController
https://bugs.webkit.org/show_bug.cgi?id=212495
<rdar://problem/63733949>
Reviewed by Wenson Hsieh.
- UIProcess/ios/forms/WKTextInputListViewController.h: Moved from WebKitAdditions.
- UIProcess/ios/forms/WKTextInputListViewController.mm: Ditto.
- 3:56 PM Changeset in webkit [262270] by
-
- 2 edits in trunk/Tools
[Flatpak] Use subprocess.call instead of os.system to forward the return code correctly.
os.system reports error codes from the child process like wait(),
which seems to not be playing well with flatpak/bwrap.
This was causing flatpak to return 0 to some failed commands (like
build-webkit), making failures show as successes in the bots.
Unreviewed build fix.
- flatpak/webkit-bwrap:
- 3:52 PM Changeset in webkit [262269] by
-
- 3 edits2 copies in trunk/LayoutTests
http/tests/cache/disk-cache/disk-cache-validation-back-navigation-policy.html is slow
https://bugs.webkit.org/show_bug.cgi?id=212496
Reviewed by Geoffrey Garen.
Split test into two so that we don't lose any coverage but so that each test can run faster
individually.
- http/tests/cache/disk-cache/disk-cache-validation-back-navigation-policy-expected.txt:
- http/tests/cache/disk-cache/disk-cache-validation-back-navigation-policy-high-priority-expected.txt: Copied from LayoutTests/http/tests/cache/disk-cache/disk-cache-validation-back-navigation-policy-expected.txt.
- http/tests/cache/disk-cache/disk-cache-validation-back-navigation-policy-high-priority.html: Copied from LayoutTests/http/tests/cache/disk-cache/disk-cache-validation-back-navigation-policy.html.
- http/tests/cache/disk-cache/disk-cache-validation-back-navigation-policy.html:
- 3:50 PM Changeset in webkit [262268] by
-
- 10 edits in trunk/Source
Simplify EventDispatcher wheel event dispatch
https://bugs.webkit.org/show_bug.cgi?id=212490
Reviewed by Tim Horton.
The various cross-thread bounces and completion lambdas in EventDispatcher::wheelEvent()
and ScrollingTree code made the logic very hard to follow.
Moving the ScrollingThread::dispatch() into EventHandler code simplifies things a little,
and allows for removal of the hokey "try to handle" ScrollingTree function, as well
as the clunky completion function.
Now, EventHandler call shouldHandleWheelEventSynchronously(), then does the
ScrollingThread::dispatch() which allows the lambda to easily call back into
EventHandler for the main thread dispatch.
Source/WebCore:
- page/scrolling/ScrollingTree.h:
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::tryToHandleWheelEvent): Deleted.
- page/scrolling/ThreadedScrollingTree.h:
Source/WebKit:
RemoteScrollingCoordinatorProxy/RemoteLayerTree code is unused at present, and
will need work.
- UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::handleWheelEvent):
- UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp:
(WebKit::RemoteScrollingTree::tryToHandleWheelEvent): Deleted.
- UIProcess/RemoteLayerTree/RemoteScrollingTree.h:
- WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::wheelEvent):
(WebKit::EventDispatcher::dispatchWheelEventViaMainThread):
- WebProcess/WebPage/EventDispatcher.h:
- 3:46 PM Changeset in webkit [262267] by
-
- 2 edits in trunk/Source/WebKit
Clean up WebKit.xcodeproj/project.pbxproj
https://bugs.webkit.org/show_bug.cgi?id=212491
Reviewed by Simon Fraser.
Remove the references to deleted files and merge duplicated folders.
- WebKit.xcodeproj/project.pbxproj:
- 3:44 PM Changeset in webkit [262266] by
-
- 10 edits in trunk/Source/JavaScriptCore
Web Inspector: add missing condition guards when generating objc protocol files
https://bugs.webkit.org/show_bug.cgi?id=212494
Reviewed by Timothy Hatcher.
- inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:
(ObjCBackendDispatcherHeaderGenerator._generate_objc_forward_declarations):
- inspector/scripts/codegen/generate_objc_configuration_header.py:
(ObjCConfigurationHeaderGenerator._generate_properties_for_domain):
- inspector/scripts/codegen/generate_objc_configuration_implementation.py:
(ObjCConfigurationImplementationGenerator._generate_configuration_implementation_for_domains):
(ObjCConfigurationImplementationGenerator._generate_ivars):
(ObjCConfigurationImplementationGenerator._generate_dealloc):
(ObjCConfigurationImplementationGenerator._generate_event_dispatcher_getter_for_domain):
(ObjCConfigurationImplementationGenerator._variable_name_prefix_for_domain): Deleted.
- inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:
(ObjCFrontendDispatcherImplementationGenerator._generate_event_dispatcher_implementations):
(ObjCFrontendDispatcherImplementationGenerator._generate_event):
- inspector/scripts/codegen/generate_objc_header.py:
(ObjCHeaderGenerator._generate_forward_declarations):
(ObjCHeaderGenerator._generate_enums):
(ObjCHeaderGenerator._generate_types):
(ObjCHeaderGenerator._generate_command_protocols):
(ObjCHeaderGenerator._generate_event_interfaces):
(ObjCHeaderGenerator._generate_single_event_interface):
- inspector/scripts/codegen/generate_objc_internal_header.py:
(ObjCInternalHeaderGenerator._generate_event_dispatcher_private_interfaces):
- inspector/scripts/codegen/generate_objc_protocol_type_conversions_header.py:
(ObjCProtocolTypeConversionsHeaderGenerator._generate_enum_conversion_functions):
- inspector/scripts/tests/definitions-with-mac-platform.json:
- inspector/scripts/tests/expected/definitions-with-mac-platform.json-result:
- 3:35 PM Changeset in webkit [262265] by
-
- 6 edits4 moves in trunk
Minimum user interaction time in ResourceLoadStatistics should handle the case of -1
https://bugs.webkit.org/show_bug.cgi?id=212445
<rdar://problem/63696470>
Reviewed by John Wilander.
Source/WebKit:
Tests: http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-database.html
http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction.html
Adds a getter for mostRecentUserInteractionTime which returns WTF::nullopt if the
timestamp is -1. Then does not consider this case in calculating the
minimum timestamp.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::getMostRecentUserInteractionTime):
(WebKit::ResourceLoadStatisticsDatabaseStore::registrableDomainsToDeleteOrRestrictWebsiteDataFor):
Flip sign to be less than, so we hold off on deleting data if the
oldest interaction was less than the minimum time between removal.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::getMostRecentUserInteractionTime):
(WebKit::ResourceLoadStatisticsMemoryStore::registrableDomainsToDeleteOrRestrictWebsiteDataFor):
Flip sign to be less than, so we hold off on deleting data if the
oldest interaction was less than the minimum time between removal.
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
LayoutTests:
30 day website data deletion is covered by operating-dates-all-website-data-removed.html.
These new test cases check that deletion occurs when including statistics with no
user interaction (most recent user interaction time of -1) and with
the check for ITP testing turned off to test using the hour long wait
to delete expired data.
It also deletes
http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed.html
because 7 day website data deletion is covered by the new test cases.
- http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-database-expected.txt: Added.
- http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-database.html: Added.
- http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-expected.txt: Added.
- http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction.html: Added.
- LayoutTests/http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-database-expected.txt: Removed.
- LayoutTests/http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-expected.txt: Removed.
- LayoutTests/http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed.html: Removed.
- LayoutTests/http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-database.html: Removed.
- 3:32 PM Changeset in webkit [262264] by
-
- 1 copy in tags/Safari-609.3.2
Tag Safari-609.3.2.
- 3:24 PM Changeset in webkit [262263] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Network: statistics don't update when filtering
https://bugs.webkit.org/show_bug.cgi?id=212394
Reviewed by Timothy Hatcher.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype._updateFilteredEntries):
(WI.NetworkTableContentView.prototype._updateStatistics):
(WI.NetworkTableContentView.prototype._updateLoadTimeStatistic):
If the URL/type filter is active, hide the load time statistic, similar to how it's hidden
when viewing imported HARs. Additionally, update the other statistics to show info based on
the entries that are still shown.
- 3:03 PM Changeset in webkit [262262] by
-
- 10 edits4 adds in trunk
[css-grid] Fix referencing grid line names with auto repeat()
https://bugs.webkit.org/show_bug.cgi?id=209572
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Import WPT tests.
- web-platform-tests/css/css-grid/placement/grid-placement-using-named-grid-lines-008-expected.xht: Added.
- web-platform-tests/css/css-grid/placement/grid-placement-using-named-grid-lines-008.html: Added.
- web-platform-tests/css/css-grid/placement/grid-placement-using-named-grid-lines-009-expected.xht: Added.
- web-platform-tests/css/css-grid/placement/grid-placement-using-named-grid-lines-009.html: Added.
- web-platform-tests/css/css-grid/placement/w3c-import.log:
Source/WebCore:
This patch fixes multiple problems when referencing named grid lines with the presence of
the auto repeat() syntax:
- If the 1st track was defined with auto repeat(), then the code used to assume that the referenced line appeared after the repeated tracks. But it may actually precede them.
- If the referenced line appeared both inside and outside the auto repeat(), then it could resolve to the outside raw index, without expanding the auto repeat().
- The logic for placing a placement property set to both an integer and an identifier was wrong with auto repeat(). This patch fixes it by using the same proper logic that was already implemented in OrderedNamedLinesCollectorInGridLayout::collectLineNamesForIndex
- The indices of both implicit grid lines defined with grid-template-areas and explicit ones defined with grid-template-rows/columns used to be stored together in NamedGridColumnLines and NamedGridRowLines. This was problematic because the former indices already refer to the final explicit grid so they don't have to be increased when expanding an auto repeat(), but the latter ones should. Therefore, this patch stores the indices in separate fields and uses the correct logic for each one. This also fixes 'grid-template-areas: inherit'.
This patch is a port of these Chromium patches:
- https://crrev.com/744426
- https://crrev.com/745925
- https://crrev.com/747631
- https://crrev.com/747669
- https://crrev.com/771984
Tests: imported/w3c/web-platform-tests/css/css-grid/placement/grid-placement-using-named-grid-lines-002.html
imported/w3c/web-platform-tests/css/css-grid/placement/grid-placement-using-named-grid-lines-004.html
imported/w3c/web-platform-tests/css/css-grid/placement/grid-placement-using-named-grid-lines-005.html
imported/w3c/web-platform-tests/css/css-grid/placement/grid-placement-using-named-grid-lines-008.html
imported/w3c/web-platform-tests/css/css-grid/placement/grid-placement-using-named-grid-lines-009.html
- rendering/style/GridPositionsResolver.cpp:
(WebCore::NamedLineCollection::NamedLineCollection):
(WebCore::NamedLineCollection::hasExplicitNamedLines const):
(WebCore::NamedLineCollection::hasNamedLines const):
(WebCore::NamedLineCollection::contains const):
(WebCore::NamedLineCollection::firstExplicitPosition const):
(WebCore::NamedLineCollection::firstPosition const):
- rendering/style/GridPositionsResolver.h:
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::implicitNamedGridColumnLines const):
(WebCore::RenderStyle::implicitNamedGridRowLines const):
(WebCore::RenderStyle::setImplicitNamedGridColumnLines):
(WebCore::RenderStyle::setImplicitNamedGridRowLines):
- rendering/style/StyleGridData.cpp:
(WebCore::StyleGridData::StyleGridData):
- rendering/style/StyleGridData.h:
(WebCore::StyleGridData::operator== const):
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyInitialGridTemplateAreas):
(WebCore::Style::BuilderCustom::applyInheritGridTemplateAreas):
(WebCore::Style::BuilderCustom::applyValueGridTemplateAreas):
- 2:29 PM Changeset in webkit [262261] by
-
- 1 copy in tags/Safari-610.1.15
Tag Safari-610.1.15.
- 2:07 PM Changeset in webkit [262260] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] media/video-play-audio-require-user-gesture.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=212488
Unreviewed test gardening
- platform/mac/TestExpectations:
- 2:06 PM Changeset in webkit [262259] by
-
- 1 edit in branches/safari-609-branch/Source/WebCore/editing/Editor.h
Unreviewed formatting fix. rdar://problem/63461919
- 2:01 PM Changeset in webkit [262258] by
-
- 2 edits in branches/safari-609-branch/Source/WebCore
Apply patch. rdar://problem/63461919
- 1:48 PM Changeset in webkit [262257] by
-
- 2 edits in trunk/Source/WebCore
[ macOS Debug ] accessibility/roles-exposed.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=212478
<rdar://problem/63411656>
Reviewed by Chris Fleizach.
Logging the backingObject in every call to accessibilityAttributeValue
seems to be causing this long test to take too long and timeout in slow
systems.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
- 1:40 PM Changeset in webkit [262256] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: (r261940): [ iPadOS wk2 ] fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-after-changing-initial-scale.html is failing consistently.
https://bugs.webkit.org/show_bug.cgi?id=212483
Unreviewed test gardening.
- platform/ipad/TestExpectations:
- 1:10 PM Changeset in webkit [262255] by
-
- 3 edits in trunk/Source/WebKit
Do not send a second sync request for positition information to the web process if we have not recieved information since the previous sync request.
https://bugs.webkit.org/show_bug.cgi?id=212289
<rdar://problem/58494578>
Reviewed by Tim Horton.
If we have sent a sync requests to the web process for position information, and timed out, and have not
received a message with position information in the interim, do not send another sync request. The web
process is likely still hung, and there is no reason to hang the UIProcess again if we suspect that it
is unlikely that we will receive a reply.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView cleanUpInteraction]):
(-[WKContentView ensurePositionInformationIsUpToDate:]):
(-[WKContentView _positionInformationDidChange:]):
- 1:05 PM Changeset in webkit [262254] by
-
- 256 edits1 move94 adds in trunk/LayoutTests
Resync dom web-platform tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=212443
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Resync dom web-platform tests from upstream 6a76a185f913e3c027e3.
- resources/resource-files.json:
- web-platform-tests/dom/*: Updated.
- web-platform-tests/resources/idlharness.js: Updated.
- web-platform-tests/resources/testharness.js: Updated.
LayoutTests:
- platform/mac-wk2/imported/w3c/web-platform-tests/dom/nodes/Node-cloneNode-expected.txt:
- 12:16 PM Changeset in webkit [262253] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
Follow-up build fix: [Cocoa] Pass all defines from Platform.h to various scripts, not just the ones from .xcconfig
https://bugs.webkit.org/show_bug.cgi?id=212451
Fixes the following build error:
PhaseScriptExecution Migrate\ Headers BUILD_DIR/WebKitLegacy.build/Debug/WebKitLegacy.build/Script-1C6CB0510AA63EB000D23BFD.sh
cd SOURCE_DIR/Source/WebKitLegacy
/bin/sh -c BUILD_DIR/WebKitLegacy.build/Debug/WebKitLegacy.build/Script-1C6CB0510AA63EB000D23BFD.sh
clang: warning: no such sysroot directory: 'macosx.internal' [-Wmissing-sysroot]
In file included from <built-in>:1:
In file included from BUILD_DIR/Debug/usr/local/include/wtf/Platform.h:44:
BUILD_DIR/Debug/usr/local/include/wtf/PlatformOS.h:36:10: fatal error: 'Availability.h' file not found
#include <Availability.h>
~
1 error generated.
sed -E -e 's/<WebCore\<WebKitLegacy\' -e "s/( *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/WebKitAvailability.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/WebKitAvailability.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
sed -E -e 's/<WebCore\<WebKitLegacy\' -e "s/( *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/WebScriptObject.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/WebScriptObject.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
sed -E -e 's/<WebCore\<WebKitLegacy\' -e "s/( *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/npapi.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/npapi.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
sed -E -e 's/<WebCore\<WebKitLegacy\' -e "s/( *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/npfunctions.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/npfunctions.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
sed -E -e 's/<WebCore\<WebKitLegacy\' -e "s/( *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/npruntime.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/npruntime.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
sed -E -e 's/<WebCore\<WebKitLegacy\' -e "s/( *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/nptypes.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/nptypes.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
clang: warning: no such sysroot directory: 'macosx.internal' [-Wmissing-sysroot]
In file included from <built-in>:1:
In file included from BUILD_DIR/Debug/usr/local/include/wtf/Platform.h:44:
BUILD_DIR/Debug/usr/local/include/wtf/PlatformOS.h:36:10: fatal error: 'Availability.h' file not found
#include <Availability.h>
~
1 error generated.
make[4]: Nothing to be done for `reexport_headers'.
Command /bin/sh emitted errors but did not return a nonzero exit code to indicate failure
- migrate-headers.sh: Pass SDKROOT environment variable on the
command-line
make
invocations after r262245 added code to
MigrateHeaders.make to set -isysroot based on the SDKROOT value.
- 11:38 AM Changeset in webkit [262252] by
-
- 36 edits1 add in trunk
for-of should check the iterable is a JSArray for FastArray in DFG iterator_open
https://bugs.webkit.org/show_bug.cgi?id=212383
Reviewed by Saam Barati.
JSTests:
- stress/check-sub-class.js:
- stress/for-of-iterator-open-fast-array-should-check-js-type.js: Added.
(foo):
Source/JavaScriptCore:
This patch fixes an issue where we didn't check that the iterable operand to
iterator_open was a JSArray when lowering the FastArray only variant of the bytecode to the DFG.
This meant we would OSR exit at the iterator_next's lowering then assertion failure in the
checkpoint OSR exit helper. To make this work, this patch extends (and renames from CheckSubClass)
CheckJSCast to use the same JSType information that we use for the jsCast function. In order to
get the JSType range from a ClassInfo* the macro that autogenerates MethodTable now also fills
a Optional<JSTypeRange> into the ClassInfo as well.
Lastly, speculationFromClassInfo was misused by AI. This patch
renames it to speculationFromClassInfoInheritance to better
reflect how AI was using it. The only other user of
speculationFromClassInfo was speculationFromStructure. Any case
where speculationFromClassInfoInteritance would differ from what a
Structure would tell you has been hoisted to
speculationFromStructure.
- assembler/testmasm.cpp:
(JSC::testBranchIfType):
(JSC::testBranchIfNotType):
- bytecode/SpeculatedType.cpp:
(JSC::speculationFromClassInfoInheritance):
(JSC::speculationFromStructure):
(JSC::speculationFromClassInfo): Deleted.
- bytecode/SpeculatedType.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::filterClassInfo):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleDOMJITGetter):
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::attemptToMakeCallDOM):
(JSC::DFG::FixupPhase::fixupCheckJSCast):
(JSC::DFG::FixupPhase::fixupCheckSubClass): Deleted.
- dfg/DFGNode.h:
(JSC::DFG::Node::hasClassInfo const):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::compileCheckJSCast):
(JSC::DFG::SpeculativeJIT::compileCheckSubClass): Deleted.
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckJSCast):
(JSC::FTL::DFG::LowerDFGToB3::isCellWithType):
(JSC::FTL::DFG::LowerDFGToB3::isTypedArrayView):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckSubClass): Deleted.
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::branchIfType):
(JSC::AssemblyHelpers::branchIfNotType):
- runtime/ClassInfo.h:
- runtime/JSCast.h:
(JSC::JSTypeRange::contains const):
(JSC::JSCastingHelpers::inheritsJSTypeImpl):
- runtime/JSFunction.cpp:
(JSC::JSFunction::assertTypeInfoFlagInvariants):
- tools/JSDollarVM.cpp:
(JSC::functionCreateDOMJITCheckJSCastObject):
(JSC::JSDollarVM::finishCreation):
(JSC::functionCreateDOMJITCheckSubClassObject): Deleted.
Source/WebCore:
Update various InheritsTraits specializations to contain a typeRange member.
Also, change the inherits function to use inheritsJSTypeImpl like the JSC
variants.
- bindings/js/JSDocumentCustom.h:
(JSC::JSCastingHelpers::InheritsTraits<WebCore::JSDocument>::inherits):
- bindings/js/JSElementCustom.h:
(JSC::JSCastingHelpers::InheritsTraits<WebCore::JSElement>::inherits):
- bindings/js/JSEventCustom.h:
(JSC::JSCastingHelpers::InheritsTraits<WebCore::JSEvent>::inherits):
- bindings/js/JSNodeCustom.h:
(JSC::JSCastingHelpers::InheritsTraits<WebCore::JSNode>::inherits):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
Source/WTF:
Optional should be able to copy/move constructor itself as long as <T> is
trivially copyable. This lets us copy Optionals into const globals without
global constructors.
- wtf/Optional.h:
(WTF::Optional::Optional):
(WTF::Optional::NOEXCEPT_):
- 11:35 AM Changeset in webkit [262251] by
-
- 8 edits in branches/safari-609-branch/Source
Versioning.
- 11:09 AM Changeset in webkit [262250] by
-
- 2 edits in trunk/LayoutTests
Make fast/loader/create-frame-in-DOMContentLoaded.html less flaky
https://bugs.webkit.org/show_bug.cgi?id=212454
<rdar://problem/61833551>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-28
Reviewed by Chris Dumez.
We have records of this test failing extremely rarely going back at least a few months.
I think it may have become flaky related to r253279 because eventLoop().performMicrotaskCheckpoint() is now called more often
and the test runner's logic to gather the text nodes for test output is tied up with the load and DOMContentLoaded event handlers
if you don't use waitUntilDone/notifyDone. In any case, this test was added in r90038 to verify incorrect behavior that we've been
meaning to fix in the last 9 years, and with waitUntilDone/notifyDone it does that, but without being a burden on our bot watchers
who do such good work and help find real problems.
- fast/loader/create-frame-in-DOMContentLoaded.html:
- 11:06 AM Changeset in webkit [262249] by
-
- 10 edits in trunk
ReadableByteStream should be enabled/disabled in service workers as done in pages
https://bugs.webkit.org/show_bug.cgi?id=212466
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/streams/readable-byte-streams/brand-checks.serviceworker.https-expected.txt:
- web-platform-tests/streams/readable-byte-streams/detached-buffers.serviceworker.https-expected.txt:
- web-platform-tests/streams/readable-byte-streams/general.serviceworker.https-expected.txt:
- web-platform-tests/streams/readable-byte-streams/properties.serviceworker.https-expected.txt:
Source/WebKit:
Introduce a WebPreference for readable byte stream.
Use it for enabling it in web processes running service workers as per the given store.
- Shared/WebPreferences.yaml:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::updatePreferencesStore):
LayoutTests:
Skipping timing out tests.
- 11:02 AM Changeset in webkit [262248] by
-
- 2 edits in trunk/LayoutTests
fast/dom/vertical-scrollbar-in-rtl.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=212474
<rdar://problem/63692473>
Reviewed by Geoffrey Garen.
Unreviewed, use assertClose() instead of assertEqual() due to floating point
precision.
- fast/dom/vertical-scrollbar-in-rtl.html:
- 10:18 AM Changeset in webkit [262247] by
-
- 2 edits in branches/safari-610.1.15-branch/Tools
Cherry-pick r262143. rdar://problem/63517635
webkitpy: simctl list may have stderr logging
https://bugs.webkit.org/show_bug.cgi?id=212376
<rdar://problem/63517635>
Unreviewed infrastructure fix.
- Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDeviceManager.populate_available_devices): Only parse stdout, log error when json decoding fails. (SimulatedDevice.is_usable): Only parse stdout. (SimulatedDevice.launch_app): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262143 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:16 AM Changeset in webkit [262246] by
-
- 2 edits in branches/safari-609-branch/Tools
Cherry-pick r262143. rdar://problem/63517635
webkitpy: simctl list may have stderr logging
https://bugs.webkit.org/show_bug.cgi?id=212376
<rdar://problem/63517635>
Unreviewed infrastructure fix.
- Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDeviceManager.populate_available_devices): Only parse stdout, log error when json decoding fails. (SimulatedDevice.is_usable): Only parse stdout. (SimulatedDevice.launch_app): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262143 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:56 AM Changeset in webkit [262245] by
-
- 6 edits in trunk/Source
[Cocoa] Pass all defines from Platform.h to various scripts, not just the ones from .xcconfig
https://bugs.webkit.org/show_bug.cgi?id=212451
Reviewed by Sam Weinig.
Source/JavaScriptCore:
- DerivedSources.make: Run the preprocessor on Platform.h and parse the output into
FEATURE_AND_PLATFORM_DEFINES. Use that and FEATURE_AND_PLATFORM_DEFINE_DEPENDENCIES
whenever we need a list of defines. Also took out some Windows-specific stuff since
this is now only used on Mac platforms.
Source/WebCore:
- DerivedSources.make: Run the preprocessor on Platform.h and parse the output into
FEATURE_AND_PLATFORM_DEFINES. Use that and FEATURE_AND_PLATFORM_DEFINE_DEPENDENCIES
whenever we need a list of defines. Also took out some Windows-specific stuff since
this is now only used on Mac platforms.
Source/WebKitLegacy/mac:
- MigrateHeaders.make: Run the preprocessor on Platform.h and parse the output into
FEATURE_AND_PLATFORM_DEFINES. Use that and FEATURE_AND_PLATFORM_DEFINE_DEPENDENCIES
whenever we need a list of defines. Also took out some Windows-specific stuff since
this is now only used on Mac platforms.
- 9:44 AM Changeset in webkit [262244] by
-
- 2 edits in trunk/Tools
makeValueRefForValue should be robust against the type encoding of a NSNumber backed by a boolean
https://bugs.webkit.org/show_bug.cgi?id=212456
Reviewed by Anders Carlsson.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
(WTR::makeValueRefForValue):
Apply the fix from r260515 to this second copy of the code too.
- 8:36 AM WebKitGTK/2.28.x edited by
- (diff)
- 8:31 AM Changeset in webkit [262243] by
-
- 2 edits in trunk/Source/JavaScriptCore
Web Inspector: generate_cpp_protocol_types_header.py:294: SyntaxWarning: "is" with a literal. Did you mean "=="?
https://bugs.webkit.org/show_bug.cgi?id=212468
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-05-28
Reviewed by Timothy Hatcher.
Use "==" instead of "is" to compare against 0.
- inspector/scripts/codegen/generate_cpp_protocol_types_header.py:
- 8:28 AM Changeset in webkit [262242] by
-
- 2 edits in trunk/Source/WebKit
[WPE][GTK] GVariant decoding must copy the serialized data
https://bugs.webkit.org/show_bug.cgi?id=212441
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-05-28
Reviewed by Carlos Garcia Campos.
I tracked this down to ArgumentCodersGLib.cpp. The problem is that we construct a GVariant
using g_variant_new_from_data(), which does not copy or take ownership of the data, so here
we accidentally create the GVariant using data we don't own. (Here, the data is owned by the
Decoder itself in its internal m_buffer.) Anyway, this is fixable by manually copying and
freeing it with the GDestroyNotify parameter, but it's easier to switch to
g_variant_new_from_bytes() because GBytes takes ownership when constructed.
- Shared/glib/ArgumentCodersGLib.cpp:
(IPC::decode):
- 8:19 AM Changeset in webkit [262241] by
-
- 4 edits in trunk/Source/WebCore
ScrollingTreeMac::eventListenerRegionTypesForPoint() needs to convert the point to local coordinates
https://bugs.webkit.org/show_bug.cgi?id=212440
Reviewed by Tim Horton.
ScrollingTreeMac::eventListenerRegionTypesForPoint() needs to convert the point to local coordinates
before consulting the event region.
Also made EventListenerRegionType loggabale.
Will be tested by wheel event tests once we switch to using these kinds of regions.
- page/scrolling/mac/ScrollingTreeMac.mm:
(collectDescendantLayersAtPoint):
(ScrollingTreeMac::scrollingNodeForPoint):
(ScrollingTreeMac::eventListenerRegionTypesForPoint const):
- rendering/style/RenderStyleConstants.cpp:
(WebCore::operator<<):
- rendering/style/RenderStyleConstants.h:
- 7:47 AM Changeset in webkit [262240] by
-
- 2 edits in trunk/Source/WebKit
RemoteAudio::audioSamplesAvailable should check for m_buffer to be null
https://bugs.webkit.org/show_bug.cgi?id=212462
<rdar://problem/63627642>
Reviewed by Eric Carlson.
- WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
(WebKit::RemoteCaptureSampleManager::RemoteAudio::audioSamplesAvailable):
m_buffer is initialized by a StorageChanged IPC message which might not always be successful, for instance if the shared memory mapping fails.
Return early if m_buffer is not yet initialized properly.
- 7:28 AM Changeset in webkit [262239] by
-
- 2 edits in trunk/Source/JavaScriptCore
Gardening: Add an assertNoException() to placate the exception checker and green the bots.
https://bugs.webkit.org/show_bug.cgi?id=212248
Not reviewed.
This solution was pointed out by Caio Lima in https://bugs.webkit.org/show_bug.cgi?id=212248#c10.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- 1:40 AM Changeset in webkit [262238] by
-
- 10 edits in trunk/Source
RealtimeIncomingVideoSourceCocoa::OnFrame should use video frame timestamp
https://bugs.webkit.org/show_bug.cgi?id=212402
Reviewed by Eric Carlson.
Source/WebCore:
Use timestamp provided from the libwebrtc backend instread of marking the frames as display immediately.
Update LocalSampleBufferDisplayLayer to mark the frame as display immediately if their presentation time is in the past since we guarantee the frames are in order.
Remove the offset correction in MediaPlayerPrivateMediaStreamAVFObjC.
This does not work well when the display layer is in GPU process and it is simpler to use the system clock which is what AVSampleBufferDisplayLayser is using if controlTimebase is not set.
Manually tested.
- platform/graphics/avfoundation/SampleBufferDisplayLayer.h:
- platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:
(WebCore::LocalSampleBufferDisplayLayer::enqueueSample):
(WebCore::LocalSampleBufferDisplayLayer::removeOldSamplesFromPendingQueue):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueVideoSample):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::videoSampleAvailable):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::sampleBufferDisplayLayerStatusDidChange):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::applicationDidBecomeActive):
- platform/mediastream/VideoTrackPrivateMediaStream.h:
- platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
(WebCore::RealtimeIncomingVideoSourceCocoa::OnFrame):
Source/WebKit:
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
(WebKit::RemoteSampleBufferDisplayLayer::enqueueSample):
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h:
- 1:13 AM Changeset in webkit [262237] by
-
- 6 edits4 adds in trunk
Incorrect clipping of absolute and fixed elements inside stacking-context composited overflow:hidden
https://bugs.webkit.org/show_bug.cgi?id=212419
<rdar://problem/55856170>
Reviewed by Simon Fraser.
Source/WebCore:
We incorrectly clip descendants that are not in containing block chain.
There is already code to do the correct clipping, it just needs be enabled in this case.
Tests: compositing/overflow/non-contained-descendant-clipping-absolute.html
compositing/overflow/non-contained-descendant-clipping-fixed.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
- rendering/RenderLayer.h:
Add hasCompositedNonContainedDescendants bit.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::CompositingState::stateForPaintOrderChildren const):
(WebCore::RenderLayerCompositor::CompositingState::updateWithDescendantStateAndLayer):
Check if the parent layer is for a containing block of this layer.
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
Update the bit.
(WebCore::RenderLayerCompositor::traverseUnchangedSubtree):
(WebCore::RenderLayerCompositor::clipsCompositingDescendants):
Pick the clipping path where descendants are not clipped.
LayoutTests:
- compositing/overflow/non-contained-descendant-clipping-absolute-expected.html: Added.
- compositing/overflow/non-contained-descendant-clipping-absolute.html: Added.
- compositing/overflow/non-contained-descendant-clipping-fixed-expected.html: Added.
- compositing/overflow/non-contained-descendant-clipping-fixed.html: Added.