Timeline
Jul 23, 2021:
- 8:48 PM Changeset in webkit [280282] by
-
- 9 edits2 adds in trunk
Add a method to WebAccessibilityObjectWrapper so that clients can retrieve the text of each line and their corresponding bounding rectangles.
https://bugs.webkit.org/show_bug.cgi?id=228251
Source/WebCore:
rdar://77184036
Reviewed by Chris Fleizach.
Test: accessibility/ios-simulator/element-line-rects-and-text.html
Accessibility clients often need to retrieve a line of text and its
corresponding bounding rectangle screen coordinates. There was not a
clear way of doing this. This patch provides lineRectsAndText as the
mechanism to retrieve the lines of text and their corresponding
rectangles for a given accessibility object. This is the iOS
implementation. MacOS implementation will be done in a separate patch.
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper stringsForSimpleRange:attributed:]):
(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
(-[WebAccessibilityObjectWrapper lineRectsAndText]):
(-[WebAccessibilityObjectWrapper lineRectsForTextMarkerRange:]):
Tools:
Reviewed by Chris Fleizach.
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::lineRectsAndText const):
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
- WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::lineRectsAndText const):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
(WTR::makeJSArray):
LayoutTests:
Reviewed by Chris Fleizach.
- accessibility/ios-simulator/element-line-rects-and-text-expected.txt: Added.
- accessibility/ios-simulator/element-line-rects-and-text.html: Added.
- 8:40 PM Changeset in webkit [280281] by
-
- 1 edit1 add in trunk/JSTests
[JSC] Add Speedometer2 jQuery-TodoMVC RegExp microbenchmark
https://bugs.webkit.org/show_bug.cgi?id=228257
Reviewed by Mark Lam.
I instrumented JSC and extracted executed RegExp evaluations from Speedometer2/jQuery-TodoMVC
to easily test RegExp performance.
- microbenchmarks/jquery-todomvc-regexp.js: Added.
(x00.test):
- 6:56 PM Changeset in webkit [280280] by
-
- 11 edits6 adds in trunk
[WebIDL] Properly validate and merge descriptors in [Replaceable] setter
https://bugs.webkit.org/show_bug.cgi?id=227662
Reviewed by Sam Weinig.
Source/JavaScriptCore:
Extracts createDataProperty() method to keep WebIDL code generator as simple as possible,
and also to emphasize a subtle difference between
{ Value?: X } and
{ Value?: X, Writable?: true, Enumerable?: true, Configurable?: true }.
- runtime/JSONObject.cpp:
(JSC::Walker::walk):
- runtime/JSObject.cpp:
(JSC::definePropertyOnReceiverSlow):
- runtime/JSObject.h:
- runtime/JSObjectInlines.h:
(JSC::JSObject::createDataProperty):
- runtime/Lookup.h:
(JSC::replaceStaticPropertySlot): Deleted.
Source/WebCore:
The previous implementation relied on an invariant that structure property is absent
when [Replaceable] setter is called, which is no longer guaranteed after the introduction
of Object.defineProperty.
This patch replaces putDirect() with defineOwnProperty(), fixing the compliance with
invariants of internal methods [1]: an accessor property once observed as non-configurable
can't be reconfigured to have Value?. Both Chrome and Firefox properly validate descriptors.
Although DefineOwnProperty? failure is silently ignored by Chrome and the spec [2], WebKit now
throws a TypeError, which is a desired behavior for built-ins and was proven to be web-compatible
by Firefox. With WebKit being the second implementation that throws, the spec can be tightened.
After r264574, attributeChangeTransition() is called during defineOwnProperty(), ensuring inline
caching is correct. Also, this change adjustswindow.opener
setter [3].
[1] https://tc39.es/ecma262/#sec-invariants-of-the-essential-internal-methods
[2] https://heycam.github.io/webidl/#dfn-attribute-setter (step 4.5.5)
[3] https://html.spec.whatwg.org/multipage/browsers.html#dom-opener
Tests: fast/dom/replaceable-setter-throws-if-defineownproperty-fails.html
fast/dom/window-opener-setter-throws-if-defineownproperty-fails-1.html
fast/dom/window-opener-setter-throws-if-defineownproperty-fails-2.html
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setOpener):
(WebCore::JSDOMWindow::setOpenDatabase):
- bindings/scripts/CodeGeneratorJS.pm:
(AttributeSetterNeedsPropertyName):
(GenerateAttributeSetterBodyDefinition):
(GenerateAttributeSetterTrampolineDefinition):
- bindings/scripts/test/JS/JSTestObj.cpp:
LayoutTests:
- fast/dom/replaceable-setter-throws-if-defineownproperty-fails-expected.txt: Added.
- fast/dom/replaceable-setter-throws-if-defineownproperty-fails.html: Added.
- fast/dom/window-opener-setter-throws-if-defineownproperty-fails-1-expected.txt: Added.
- fast/dom/window-opener-setter-throws-if-defineownproperty-fails-1.html: Added.
- fast/dom/window-opener-setter-throws-if-defineownproperty-fails-2-expected.txt: Added.
- fast/dom/window-opener-setter-throws-if-defineownproperty-fails-2.html: Added.
- 6:43 PM Changeset in webkit [280279] by
-
- 1 copy in tags/Safari-612.1.24.0.5
Tag Safari-612.1.24.0.5.
- 6:16 PM Changeset in webkit [280278] by
-
- 1 copy in tags/Safari-612.1.24.11.3
Tag Safari-612.1.24.11.3.
- 6:14 PM Changeset in webkit [280277] by
-
- 4 edits in branches/safari-612.1.24.11-branch
Cherry-pick r280274. rdar://problem/81044139
Make WKContentRuleListStore respond to same selectors as _WKUserContentExtensionStore
https://bugs.webkit.org/show_bug.cgi?id=228253
Source/WebKit:
<rdar://81038849>
Patch by Alex Christensen <achristensen@webkit.org> on 2021-07-23
Reviewed by Brian Weinstein.
We have an unfortunate situation where an old framework is calling code in a new framework that is giving it a WKContentRuleListStore
where it expects a _WKUserContentExtensionStore. As one of several mitigations for this problem, make the selectors able to be called.
Luckily it doesn't do much with the results. It just checks if they're null or not, and it passes any errors along. I added tests that do this.
- UIProcess/API/Cocoa/WKContentRuleListStore.mm: (-[WKContentRuleListStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]): (-[WKContentRuleListStore lookupContentExtensionForIdentifier:completionHandler:]): (-[WKContentRuleListStore removeContentExtensionForIdentifier:completionHandler:]):
Tools:
Patch by Alex Christensen <achristensen@webkit.org> on 2021-07-23
Reviewed by Brian Weinstein.
- TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm: (TEST_F):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280274 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:10 PM Changeset in webkit [280276] by
-
- 8 edits in branches/safari-612.1.24.11-branch/Source
Versioning.
WebKit-7612.1.24.11.3
- 6:02 PM Changeset in webkit [280275] by
-
- 2 edits in trunk/LayoutTests
[BigSur wk1 Debug ] imported/w3c/web-platform-tests/IndexedDB/idb_binary_key_conversion.htm is a flaky timeout .
https://bugs.webkit.org/show_bug.cgi?id=228260.
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 5:39 PM Changeset in webkit [280274] by
-
- 4 edits in trunk
Make WKContentRuleListStore respond to same selectors as _WKUserContentExtensionStore
https://bugs.webkit.org/show_bug.cgi?id=228253
Source/WebKit:
<rdar://81038849>
Patch by Alex Christensen <achristensen@webkit.org> on 2021-07-23
Reviewed by Brian Weinstein.
We have an unfortunate situation where an old framework is calling code in a new framework that is giving it a WKContentRuleListStore
where it expects a _WKUserContentExtensionStore. As one of several mitigations for this problem, make the selectors able to be called.
Luckily it doesn't do much with the results. It just checks if they're null or not, and it passes any errors along. I added tests that do this.
- UIProcess/API/Cocoa/WKContentRuleListStore.mm:
(-[WKContentRuleListStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]):
(-[WKContentRuleListStore lookupContentExtensionForIdentifier:completionHandler:]):
(-[WKContentRuleListStore removeContentExtensionForIdentifier:completionHandler:]):
Tools:
Patch by Alex Christensen <achristensen@webkit.org> on 2021-07-23
Reviewed by Brian Weinstein.
- TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm:
(TEST_F):
- 5:03 PM Changeset in webkit [280273] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk2 Debug ] inspector/canvas/create-context-webgl.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=228256.
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 4:40 PM Changeset in webkit [280272] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] fast/mediastream/mediastreamtrack-audio-clone.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=228255
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 4:21 PM Changeset in webkit [280271] by
-
- 8 edits2 adds in trunk
REGRESSION (r279751): WebContent process often crashes when hovering over content on apple.com
https://bugs.webkit.org/show_bug.cgi?id=228247
rdar://81010093
Reviewed by Tim Horton.
Source/WebCore:
Add an internal testing hook that can be used to trigger text recognition for the given element. While we should
eventually combine this with another testing hook to simulate VisionKit text recognition results, the new test
using this internal hook shouldn't make its way into VisionKit anyways, so this isn't necessary for now.
See WebKit ChangeLog for more details.
Test: fast/images/text-recognition/text-recognition-in-transparent-video.html
- testing/Internals.cpp:
(WebCore::Internals::requestTextRecognition):
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
After r279751, the snapshot fallback codepath I added in
createShareableBitmap
to handle the edge case of
fully transparent images causes us to now take snapshots when hovering over fully transparent video elements,
and attempt to recognize text in them. This is because RenderVideo is a RenderImage subclass without a cached
image, so we'll end up going down the transparent renderer codepath instead of bailing with a null bitmap.
However, since CachedImages are null for video elements, before we even get to VisionKit, we end up crashing
with a nullptr-deref insideWebPage::requestTextRecognition
, which assumes thatRenderImage::cachedImage()
is non-null.
To address this, we make two minor adjustments (see below).
- WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp:
(WebKit::createShareableBitmap):
Limit the snapshotting fallback to non-media images (i.e. non-RenderMedia).
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::requestTextRecognition):
Make this robust in the case where CachedImage is null, to avoid the possibility for similar crashes in the
future.
LayoutTests:
- fast/images/text-recognition/text-recognition-in-transparent-video-expected.txt: Added.
- fast/images/text-recognition/text-recognition-in-transparent-video.html: Added.
- 4:16 PM Changeset in webkit [280270] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [ Mac ] media/video-buffering-allowed.html is flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=217621
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 4:13 PM Changeset in webkit [280269] by
-
- 8 edits in branches/safari-612.1.24.0-branch/Source
Versioning.
WebKit-7612.1.24.0.5
- 3:57 PM Changeset in webkit [280268] by
-
- 2 edits in trunk/LayoutTests
[ BigSur wk2 Release arm64 ] fast/css-grid-layout floating-empty-grids.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=228252.
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:55 PM Changeset in webkit [280267] by
-
- 1 copy in tags/Safari-612.1.25
Tag Safari-612.1.25.
- 3:53 PM Changeset in webkit [280266] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [iOS] ASSERTION FAILED: !m_messageReceiverMapCount under WebKit::RemoteAudioHardwareListener::~RemoteAudioHardwareListener()
https://bugs.webkit.org/show_bug.cgi?id=228038
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:50 PM Changeset in webkit [280265] by
-
- 1 copy in tags/Safari-612.1.24.11.2
Tag Safari-612.1.24.11.2.
- 3:49 PM Changeset in webkit [280264] by
-
- 8 edits in branches/safari-612.1.24.11-branch/Source
Versioning.
WebKit-7612.1.24.11.2
- 3:39 PM Changeset in webkit [280263] by
-
- 2 edits in trunk/LayoutTests
[iOS 14] imported/w3c/web-platform-tests/webstorage/event_case_sensitive.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=226789
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:20 PM Changeset in webkit [280262] by
-
- 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations
Need a short description (OOPS!).
Need the bug URL (OOPS!).
Reviewed by NOBODY (OOPS!).
- platform/mac-wk2/TestExpectations:
- 3:08 PM Changeset in webkit [280261] by
-
- 2 edits in trunk/LayoutTests
[ BigSur wk2 Release arm64 ] fast/selectors/selection-window-inactive.html is a flaky failure .
https://bugs.webkit.org/show_bug.cgi?id=228248.
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:05 PM Changeset in webkit [280260] by
-
- 12 edits in trunk/Source
SharedBuffer::takeData() is a bit dangerous
https://bugs.webkit.org/show_bug.cgi?id=228161
Reviewed by Darin Adler.
Source/WebCore:
SharedBuffer::takeData() is a bit dangerous since SharedBuffer is RefCounted and several object may be sharing ownership
of the buffer. Having one owner call takeData() in case ownership is shared leads to bugs such as Bug 228096.
To address the issue, I made SharedBuffer::takeData() private and introduced a new SharedBuffer::extractData() member
function which calls takeData() only if the SharedBuffer is not shared (RefCount is 1) and falls back to calling copyData()
otherwise. I also optimized copyData() a bit by iterating over the segments to build the vector, instead of calling the
potentially very slow SharedBuffer::data().
- Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::FetchBodyConsumer::takeAsBlob):
- Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::createDataAvailableEvent):
- editing/WebCorePasteboardFileReader.cpp:
(WebCore::WebCorePasteboardFileReader::readBuffer):
- editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::createFragmentForImageAttachment):
(WebCore::WebContentReader::readImage):
- editing/gtk/WebContentReaderGtk.cpp:
(WebCore::WebContentReader::readImage):
- html/HTMLAttachmentElement.cpp:
(WebCore::HTMLAttachmentElement::updateEnclosingImageWithData):
- platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::copyData):
- platform/SharedBuffer.h:
(WebCore::SharedBuffer::extractData):
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createResponseBlob):
Source/WTF:
Add Vector::uncheckedAppend() overload that takes in a Span.
- wtf/Vector.h:
(WTF::Vector::uncheckedAppend):
(WTF::Malloc>::uncheckedAppend):
- 2:43 PM Changeset in webkit [280259] by
-
- 11 edits2 moves1 delete in branches/safari-612.1.25-branch/Source
Revert "Cherry-pick r280205. rdar://problem/80991517"
This reverts commit r280209.
- 2:01 PM Changeset in webkit [280258] by
-
- 11 edits2 moves1 delete in trunk/Source
Unreviewed, reverting r280205.
Broke multiple WebAuthn tests.
Reverted changeset:
"REGRESSION (r278877) [Cocoa] WebAuthn stopped working for
non-Safari browsers"
https://bugs.webkit.org/show_bug.cgi?id=228116
https://commits.webkit.org/r280205
- 2:00 PM Changeset in webkit [280257] by
-
- 2 edits in trunk/LayoutTests
[BigSur wk1 Release arm64] imported/w3c/web-platform-tests/workers/modules/shared-worker-import-csp.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=228245.
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 1:13 PM Changeset in webkit [280256] by
-
- 44 edits16 adds in trunk
[JSC] Call custom accessors / values with their holder's global object
https://bugs.webkit.org/show_bug.cgi?id=225997
Reviewed by Yusuke Suzuki.
JSTests:
- stress/custom-get-set-proto-chain-put.js:
- stress/getter-setter-globalobject-in-ic-2.js: Added.
LayoutTests/imported/w3c:
- web-platform-tests/WebIDL/ecmascript-binding/global-object-implicit-this-value-cross-realm-expected.txt: Added.
- web-platform-tests/WebIDL/ecmascript-binding/global-object-implicit-this-value-cross-realm.html: Added.
- web-platform-tests/WebIDL/ecmascript-binding/invalid-this-value-cross-realm-expected.txt: Added.
- web-platform-tests/WebIDL/ecmascript-binding/invalid-this-value-cross-realm.html: Added.
- web-platform-tests/WebIDL/ecmascript-binding/support/create-realm.js: Added.
- web-platform-tests/WebIDL/ecmascript-binding/support/dummy-iframe.html: Added.
- web-platform-tests/html/browsers/origin/cross-origin-objects/window-location-and-location-href-cross-realm-set-expected.txt: Added.
- web-platform-tests/html/browsers/origin/cross-origin-objects/window-location-and-location-href-cross-realm-set.html: Added.
- web-platform-tests/html/webappapis/scripting/events/compile-event-handler-settings-objects-expected.txt:
- web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-incumbent-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-request-css-cross-origin.https-expected.txt:
- web-platform-tests/webrtc-encoded-transform/sframe-transform-readable.html:
All these are confirmed progressions.
- web-platform-tests/performance-timeline/supportedEntryTypes-cross-realm-access-expected.txt: Added.
- web-platform-tests/performance-timeline/supportedEntryTypes-cross-realm-access.html: Added.
Source/JavaScriptCore:
Just like JS built-ins, getter / setter functions of WebIDL attributes are created in realm
of their holder interface [1][2], which is their _current_ realm for throwing an error [3].
With this patch, custom properties get correct global object instead of lexical, including
when inline cached, aligning them with functions and regular accessors.
The latter allowed switching JS built-ins to CustomAccessor (e.g. Symbol#description),
which is slightly more efficient to call from C++, doesn't need reification on first access,
and has nicer signature.
Also, renames WASM accessors to drop "func" and removes unused function length parameter.
[1]: https://heycam.github.io/webidl/#dfn-attribute-getter (step 2)
[2]: https://heycam.github.io/webidl/#dfn-attribute-setter (step 5)
[3]: https://heycam.github.io/webidl/#ecmascript-throw
- bytecode/AccessCase.cpp:
(JSC::AccessCase::generateImpl):
- create_hash_table:
- interpreter/CallFrame.cpp:
(JSC::CallFrame::globalObjectOfClosestCodeBlock):
- interpreter/CallFrame.h:
- runtime/IntlCollatorPrototype.cpp:
(JSC::JSC_DEFINE_CUSTOM_GETTER):
- runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::JSC_DEFINE_CUSTOM_GETTER):
- runtime/IntlLocalePrototype.cpp:
(JSC::JSC_DEFINE_CUSTOM_GETTER):
- runtime/IntlNumberFormatPrototype.cpp:
(JSC::JSC_DEFINE_CUSTOM_GETTER):
- runtime/JSDataViewPrototype.cpp:
(JSC::JSC_DEFINE_CUSTOM_GETTER):
- runtime/JSObject.cpp:
(JSC::JSObject::putInlineSlow):
- runtime/PropertySlot.cpp:
(JSC::PropertySlot::customGetter const):
- runtime/PropertySlot.h:
(JSC::PropertySlot::getValue const):
- runtime/SymbolPrototype.cpp:
(JSC::JSC_DEFINE_CUSTOM_GETTER):
- tools/JSDollarVM.cpp:
- wasm/js/WebAssemblyInstancePrototype.cpp:
(JSC::JSC_DEFINE_CUSTOM_GETTER):
(JSC::JSC_DEFINE_HOST_FUNCTION): Deleted.
- wasm/js/WebAssemblyMemoryPrototype.cpp:
(JSC::JSC_DEFINE_CUSTOM_GETTER):
- wasm/js/WebAssemblyTablePrototype.cpp:
(JSC::JSC_DEFINE_CUSTOM_GETTER):
Source/WebCore:
This patch fixes cross-realm yet same-origin WebIDL attributes to throw errors in realm of
their accessor, while ensuring thatwindow.location
andlocation.href
setters don't leak
cross-origin Object.prototype via thrown error.
Since Location setters relied on lexical global object to pass outgoing
document.referrer
,
they were updated to use IncumbentWindow as per spec [1]. callerGlobalObject() was reworked
to skip native / built-in callers and rely on VMEntryScope to accomodate top-level <script>
code navigating via Location setter, making the helper more versatile.
globalObjectOfClosestCodeBlock() fixed JSCustomSetterFunction instances and Location's
assign() / replace() methods to pass correct referrer.
Also, this change fixes static attributes like
PerformanceObserver.supportedEntryTypes
to return wrappers of their realm instead of lexical.
[1] https://html.spec.whatwg.org/multipage/history.html#location-object-navigate (step 2)
Tests: imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/global-object-implicit-this-value-cross-realm.html
imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/invalid-this-value-cross-realm.html
imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/window-location-and-location-href-cross-realm-set.html
imported/w3c/web-platform-tests/performance-timeline/supportedEntryTypes-cross-realm-access.html
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::callerGlobalObject): Deleted.
- bindings/js/JSDOMGlobalObject.h:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::incumbentDOMWindow):
- bindings/js/JSDOMWindowBase.h:
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::put):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::put):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateNamedGetterLambda):
(GenerateCallWithUsingReferences):
(GenerateCallWith):
Ensure IncumbentWindow comes before FirstWindow.
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/TestObj.idl:
Remove attributes that relied on CallFrame since custom getters don't have it.
- page/Location.idl:
Remove [LegacyUnforgeable] from ancestorOrigins because it's set on the interface.
LayoutTests:
- fast/dom/HTMLObjectElement/object-as-frame-expected.txt:
- fast/dom/HTMLObjectElement/object-as-frame.html:
- fast/dom/HTMLObjectElement/resources: Added.
- fast/dom/HTMLObjectElement/resources/dummy-frame-1.html: Added.
- fast/dom/HTMLObjectElement/resources/dummy-frame-2.html: Added.
- fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html:
- fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html:
These tests used to pass as is, probably, due to combination of old (incorrect) behavior and
some implementation details of run-webkit-tests. They fail on MiniBrowser / Chrome / Firefox
unless modified not to use data:// protocol, which is not system under test.
- fast/frames/sandboxed-iframe-navigation-parent-expected.txt:
- fast/frames/sandboxed-iframe-navigation-parent.html:
- http/tests/security/frameNavigation/context-for-location-assign-expected.txt:
Revert the changes made in r174996. Location::assign() now uses correct (incumbent) Window
to set outgoing referrer and perform security checks, aligning WebKit with Chrome / Firefox.
- http/tests/security/frameNavigation/context-for-location-href-gopd-expected.txt: Added.
- http/tests/security/frameNavigation/context-for-location-href-gopd.html: Added.
- 1:04 PM Changeset in webkit [280255] by
-
- 2 edits in trunk/LayoutTests
Update test expectations for inspector/dom-debugger/event-breakpoint-with-navigation.html.
https://bugs.webkit.org/show_bug.cgi?id=224291.
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 12:57 PM Changeset in webkit [280254] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Reduce sandbox logging
https://bugs.webkit.org/show_bug.cgi?id=228236
Reviewed by Tim Horton.
To improve performance, remove some sandbox logging in the WebContent process' sandbox.
- WebProcess/com.apple.WebProcess.sb.in:
- 11:52 AM Changeset in webkit [280253] by
-
- 2 edits2 adds in trunk/LayoutTests
[iOS] imported/w3c/web-platform-tests/html/dom/idlharness.https.html is failing
https://bugs.webkit.org/show_bug.cgi?id=228198
<rdar://problem/80982016>
Unreviewed, land iPad-specific baseline instead of marking the test as failing on iOS.
We are merely getting different results on iPhone and iPad because MediaSource is enabled
on iPad but not iPhone.
- platform/ios-wk2/TestExpectations:
- platform/ipad/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: Added.
- 11:43 AM Changeset in webkit [280252] by
-
- 3 edits in trunk/Source/WebKit
[watchOS] It should be possible to select contact AutoFill text suggestions in email and username fields
https://bugs.webkit.org/show_bug.cgi?id=228237
rdar://77299680
Reviewed by Tim Horton.
After the changes in r278957, WKTextInputListViewController now presents modern Quickboard text input UI, as
well as contact AutoFill suggestions provided by Safari. For email and username fields (for which we currently
use PUICQuickboardController), this means that there's no longer any reason to prefer showing
PUICQuickboardController over WKTextInputListViewController, since both use modern text input UI (with support
for keychain AutoFill suggestions), but only the latter additionally supports contact AutoFill suggestions.
As such, we should change these to use WKTextInputListViewController instead of PUICQuickboardController. Note
that because contact AutoFill suggestions do not encompass passwords, it still makes more sense to pop directly
into PUICQuickboardController for password fields.
- Platform/spi/watchos/PepperUICoreSPI.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView createQuickboardTextInputContext]):
Drive-by fix: additionally populate the placeholder of the text field in WKTextInputListViewController with
the input label text of the focused element (i.e., either placeholder text, the ARIA label, title, or text
content of an associated label).
(canUseQuickboardControllerFor):
- 11:36 AM Changeset in webkit [280251] by
-
- 2 edits in trunk/LayoutTests
[iOS]imported/w3c/web-platform-tests/html/dom/idlharness.https.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=228198
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 11:23 AM Changeset in webkit [280250] by
-
- 5 edits4 adds in trunk
WebSocket traffic should be correctly assigned to either Developer or User.
https://bugs.webkit.org/show_bug.cgi?id=227564
<rdar://problem/79307301>
Patch by Richard Houle <rhoule@apple.com> on 2021-07-23
Reviewed by Kate Cheney.
Source/WebCore:
Tests: http/tests/app-privacy-report/websocket-isappinitiated.html
http/tests/app-privacy-report/websocket-isnotappinitiated.html
- Modules/websockets/ThreadableWebSocketChannel.cpp:
(WebCore::ThreadableWebSocketChannel::webSocketConnectRequest):
Source/WebKit:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::createWebSocketTask):
LayoutTests:
- http/tests/app-privacy-report/websocket-isappinitiated-expected.txt: Added.
- http/tests/app-privacy-report/websocket-isappinitiated.html: Added.
- http/tests/app-privacy-report/websocket-isnotappinitiated-expected.txt: Added.
- http/tests/app-privacy-report/websocket-isnotappinitiated.html: Added.
- 11:12 AM Changeset in webkit [280249] by
-
- 2 edits in branches/safari-612.1.25-branch/Source/WebKit
Cherry-pick r280183. rdar://problem/81027380
REGRESSION (r279992): Crashes under RemoteLayerBackingStore::applyBackingStoreToLayer() in macCatalyst
https://bugs.webkit.org/show_bug.cgi?id=228181
rdar://80923581
Reviewed by Dan Bates.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer): r279992 reorganized this code to determine the contents object and then set it on the layer, instead of setting it directly; this means that the lifetime of the contents object must be extended.
Interestingly, the common case (the CAMachPort case), as well as the
case I was actually adding in r279992 both were safe, because of the use
of autorelease. (macCatalyst uses IOSurface as layer contents directly,
without CAMachPort, so uses the one path that r279992 broke).
It is unnecessary to use autorelease; instead just store the contents
object in a RetainPtr until it is set.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280183 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:47 AM Changeset in webkit [280248] by
-
- 2 edits in trunk/LayoutTests
[ BigSur wk1 Debug arm64 ] imported/w3c/web-platform-tests/IndexedDB/idbcursor-iterating-update.htm is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=228238.
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 10:33 AM Changeset in webkit [280247] by
-
- 2 edits in trunk/Source/WebKit
Generate simulated crash when UI process fails to get network process connection
https://bugs.webkit.org/show_bug.cgi?id=228203
Reviewed by Geoffrey Garen.
To help diagnose the issue that web process sometimes fails to get connection to the network process
(rdar://80760179), as UI process should have more information about it than web process.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
- 10:27 AM Changeset in webkit [280246] by
-
- 13 edits5 copies98 adds in trunk
Migrate iOS 15 expectations to OpenSource and bump version numbers
https://bugs.webkit.org/show_bug.cgi?id=228202
Reviewed by Ryan Haddad.
Tools:
- Scripts/webkitpy/port/ios.py:
(IOSPort):
- Scripts/webkitpy/port/ios_device_unittest.py:
- Scripts/webkitpy/port/ios_simulator_unittest.py:
(IOSSimulatorTest.make_port):
(IOSSimulatorTest.test_layout_test_searchpath_with_apple_additions):
(IOSSimulatorTest.test_layout_test_searchpath_without_apple_additions):
(IOSSimulatorTest.test_layout_searchpath_wih_device_type):
- Scripts/webkitpy/port/ios_testcase.py:
(IOSTest.make_port):
LayoutTests:
- platform/ios-14-wk2/TestExpectations: Added.
- platform/ios-14-wk2/fast/css/font-face-locally-installed-expected.txt: Copied from LayoutTests/platform/ios-wk2/fast/css/font-face-locally-installed-expected.txt.
- platform/ios-14-wk2/http/tests/websocket/tests/hybi/alert-in-event-handler-expected.txt: Added.
- platform/ios-14-wk2/http/tests/websocket/tests/hybi/bufferedAmount-after-close-expected.txt: Added.
- platform/ios-14-wk2/http/tests/websocket/tests/hybi/close-and-server-script-exception-expected.txt: Added.
- platform/ios-14-wk2/http/tests/websocket/tests/hybi/fragmented-frames-expected.txt: Added.
- platform/ios-14-wk2/http/tests/websocket/tests/hybi/handshake-fail-by-no-cr-expected.txt: Added.
- platform/ios-14-wk2/http/tests/websocket/tests/hybi/handshake-fail-by-null-char-in-status-expected.txt: Added.
- platform/ios-14-wk2/http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1-expected.txt: Added.
- platform/ios-14-wk2/http/tests/websocket/tests/hybi/interleaved-fragments-expected.txt: Added.
- platform/ios-14-wk2/http/tests/websocket/tests/hybi/receive-arraybuffer-expected.txt: Added.
- platform/ios-14-wk2/http/tests/websocket/tests/hybi/workers/close-code-and-reason-expected.txt: Added.
- platform/ios-14-wk2/http/tests/websocket/tests/hybi/workers/receive-arraybuffer-expected.txt: Added.
- platform/ios-14-wk2/http/tests/websocket/tests/hybi/zero-length-text-expected.txt: Added.
- platform/ios-14-wk2/http/tests/workers/service/serviceworker-websocket.https-expected.txt: Added.
- platform/ios-14-wk2/imported/w3c/web-platform-tests/touch-events/idlharness.window-expected.txt: Added.
- platform/ios-14-wk2/imported/w3c/web-platform-tests/websockets/Send-65K-data.any-expected.txt: Added.
- platform/ios-14-wk2/imported/w3c/web-platform-tests/websockets/Send-binary-65K-arraybuffer.any-expected.txt: Added.
- platform/ios-14-wk2/imported/w3c/web-platform-tests/websockets/Send-binary-arraybuffer.any-expected.txt: Added.
- platform/ios-14-wk2/imported/w3c/web-platform-tests/websockets/Send-data.any-expected.txt: Added.
- platform/ios-14-wk2/imported/w3c/web-platform-tests/websockets/Send-paired-surrogates.any-expected.txt: Added.
- platform/ios-14-wk2/imported/w3c/web-platform-tests/websockets/basic-auth.any-expected.txt: Added.
- platform/ios-14-wk2/imported/w3c/web-platform-tests/websockets/basic-auth.any.worker-expected.txt: Added.
- platform/ios-14-wk2/imported/w3c/web-platform-tests/websockets/cookies/007-expected.txt: Added.
- platform/ios-14-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-arraybuffer-expected.txt: Added.
- platform/ios-14-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-blob-expected.txt: Added.
- platform/ios-14-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-getting-expected.txt: Added.
- platform/ios-14-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-large-expected.txt: Added.
- platform/ios-14-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-unicode-expected.txt: Added.
- platform/ios-14/TestExpectations: Added.
- platform/ios-14/fast/css/ios/system-color-for-css-value-expected.txt: Added.
- platform/ios-14/fast/forms/button-sizes-expected.txt: Copied from LayoutTests/platform/ios/fast/forms/button-sizes-expected.txt.
- platform/ios-14/fast/forms/input-button-sizes-expected.txt: Copied from LayoutTests/platform/ios/fast/forms/input-button-sizes-expected.txt.
- platform/ios-14/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt: Copied from LayoutTests/platform/ios/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt.
- platform/ios-14/fast/text/hyphenate-avoid-orphaned-word-expected.txt: Copied from LayoutTests/platform/ios/fast/text/hyphenate-avoid-orphaned-word-expected.txt.
- platform/ios-wk2/TestExpectations:
- platform/ios-wk2/fast/css/font-face-locally-installed-expected.txt:
- platform/ios-wk2/http/tests/websocket/tests/hybi/alert-in-event-handler-expected.txt: Added.
- platform/ios-wk2/http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy-expected.txt: Added.
- platform/ios-wk2/http/tests/websocket/tests/hybi/close-and-server-script-exception-expected.txt: Added.
- platform/ios-wk2/http/tests/websocket/tests/hybi/fragmented-frames-expected.txt: Added.
- platform/ios-wk2/http/tests/websocket/tests/hybi/handshake-fail-by-no-cr-expected.txt: Added.
- platform/ios-wk2/http/tests/websocket/tests/hybi/handshake-fail-by-null-char-in-status-expected.txt: Added.
- platform/ios-wk2/http/tests/websocket/tests/hybi/handshake-ok-with-http-version-beyond-1_1-expected.txt: Added.
- platform/ios-wk2/http/tests/websocket/tests/hybi/interleaved-fragments-expected.txt: Added.
- platform/ios-wk2/http/tests/websocket/tests/hybi/receive-arraybuffer-expected.txt: Added.
- platform/ios-wk2/http/tests/websocket/tests/hybi/workers/close-code-and-reason-expected.txt: Added.
- platform/ios-wk2/http/tests/websocket/tests/hybi/workers/receive-arraybuffer-expected.txt: Added.
- platform/ios-wk2/http/tests/websocket/tests/hybi/zero-length-text-expected.txt: Added.
- platform/ios-wk2/http/tests/workers/service/serviceworker-websocket.https-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/touch-events/idlharness.window-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/websockets/Send-65K-data.any-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/websockets/Send-binary-65K-arraybuffer.any-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/websockets/Send-binary-arraybuffer.any-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/websockets/Send-data.any-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/websockets/Send-paired-surrogates.any-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/websockets/basic-auth.any-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/websockets/basic-auth.any.worker-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/websockets/cookies/007-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-arraybuffer-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-blob-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-getting-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-large-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-unicode-expected.txt: Added.
- platform/ios/TestExpectations:
- platform/ios/fast/css/ios/system-color-for-css-value-expected.txt: Added.
- platform/ios/fast/forms/button-sizes-expected.txt:
- platform/ios/fast/forms/input-button-sizes-expected.txt:
- platform/ios/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt:
- platform/ios/fast/text/hyphenate-avoid-orphaned-word-expected.txt:
- 9:51 AM Changeset in webkit [280245] by
-
- 4 edits in trunk/Source/WebKit
[GPU Process] Migrate the DisplayList::Replayer::Delegate from RemoteImageBuffer to RemoteRenderingBackend
https://bugs.webkit.org/show_bug.cgi?id=228219
Reviewed by Wenson Hsieh.
This is part 1 of https://bugs.webkit.org/show_bug.cgi?id=228216.
For this task, we need to count resource uses:
- As the recorder in the web process records DisplayList items which reference resources, those uses need to increment a counter.
- As the replayer in the GPU process replays DisplayList items which reference resources, those uses need to increment a parallel counter.
The most natural place for the counters to live is in RemoteResourceCacheProxy and RemoteResourceCache, respectively. These two classes
are accessible from the RemoteRenderingBackendProxy and RemoteRenderingBackend, respectively. The most natural interface between the
DisplayList classes like DisplayList::Recorder and DisplayList::Replayer and the higher level WebKit classes is to use their delegate
interfaces.
For 1 above, RemoteImageBufferProxy has access to the RemoteRenderingBackendProxy and is already a DisplayList::Recorder::Delegate, so
there's no problem there. However, for 2, messages are delivered first to the RemoteRenderingBackend, which is the place that has access to
the RemoteResourceCache. Making the RemoteRenderingBackend have the DisplayList::Replayer::Delegate would be a natural place to either
A) call the necessary function in the RemoteImageBuffer, or B) interact with the RemoteResourceCache to increment the necessary counter.
Indeed, this makes a lot of sense because, for 2 of the 3 delegate methods, RemoteImageBuffer just immediately turns around and forwards
the call to the RemoteRenderingBackend anyway. So, migrating this interface to RemoteRenderingBackend actually ends up making it a bit
simpler.
No new tests because there is no behavior change.
- GPUProcess/graphics/RemoteImageBuffer.h:
(WebKit::RemoteImageBuffer::apply):
(): Deleted.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::ReplayerDelegate::ReplayerDelegate):
(WebKit::RemoteRenderingBackend::ReplayerDelegate::apply):
(WebKit::RemoteRenderingBackend::ReplayerDelegate::didCreateMaskImageBuffer):
(WebKit::RemoteRenderingBackend::ReplayerDelegate::didResetMaskImageBuffer):
(WebKit::RemoteRenderingBackend::submit):
- GPUProcess/graphics/RemoteRenderingBackend.h:
- 9:07 AM Changeset in webkit [280244] by
-
- 14 edits7 copies5 adds in trunk
[macOS] Repainting artifacts when moving input type=range slider thumb
https://bugs.webkit.org/show_bug.cgi?id=228135
rdar://76247487
Reviewed by Tim Horton.
Source/WebCore:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::adjustSliderThumbSize const):
The size of NSSliderCell's knob increased in Big Sur. Consequently, the
knob was being painted outside of its box. Unfortunately, there is
currently no way to obtain the size programmatically, so we are forced
to update the hardcoded size.
LayoutTests:
Rebaselined tests to account for the change to the size of the slider
thumb.
- fast/dom/HTMLInputElement/input-slider-update-expected.txt:
- fast/repaint/block-inputrange-repaint-expected.txt:
- fast/repaint/block-inputrange-repaint.html:
- fast/repaint/slider-thumb-drag-release-expected.txt:
- platform/gtk/fast/repaint/block-inputrange-repaint-expected.txt:
- platform/mac-catalina/fast/dom/HTMLInputElement/input-slider-update-expected.txt: Copied from LayoutTests/fast/dom/HTMLInputElement/input-slider-update-expected.txt.
- platform/mac-catalina/fast/forms/input-appearance-height-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-appearance-height-expected.txt.
- platform/mac-catalina/fast/forms/range/input-appearance-range-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/range/input-appearance-range-expected.txt.
- platform/mac-catalina/fast/forms/range/slider-padding-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/range/slider-padding-expected.txt.
- platform/mac-catalina/fast/forms/range/slider-thumb-shared-style-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/range/slider-thumb-shared-style-expected.txt.
- platform/mac-catalina/fast/forms/range/thumbslider-no-parent-slider-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/range/thumbslider-no-parent-slider-expected.txt.
- platform/mac-catalina/fast/repaint/block-inputrange-repaint-expected.txt: Added.
- platform/mac-catalina/fast/repaint/slider-thumb-drag-release-expected.txt: Copied from LayoutTests/fast/repaint/slider-thumb-drag-release-expected.txt.
- platform/mac/fast/forms/box-shadow-override-expected.txt:
- platform/mac/fast/forms/input-appearance-height-expected.txt:
- platform/mac/fast/forms/range/input-appearance-range-expected.txt:
- platform/mac/fast/forms/range/slider-padding-expected.txt:
- platform/mac/fast/forms/range/slider-thumb-shared-style-expected.txt:
- platform/mac/fast/forms/range/thumbslider-no-parent-slider-expected.txt:
- 8:38 AM Changeset in webkit [280243] by
-
- 4 edits in trunk/Source/WebCore
[GStreamer][1.19] Warnings due to AppSinkCallbacks struct growth
https://bugs.webkit.org/show_bug.cgi?id=228229
Patch by Philippe Normand <pnormand@igalia.com> on 2021-07-23
Reviewed by Xabier Rodriguez-Calvar.
A new callback was added, for event notifications.
- platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(WebCore::AudioFileReader::handleNewDeinterleavePad):
- platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
(WebCore::AudioSourceProviderGStreamer::handleNewDeinterleavePad):
- platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:
(WebCore::ImageDecoderGStreamer::InnerDecoder::connectDecoderPad):
- 4:39 AM Changeset in webkit [280242] by
-
- 5 edits in trunk
[Modern Media Controls] [macOS] Only show total duration when the elapsed time is visible
https://bugs.webkit.org/show_bug.cgi?id=228191
<rdar://problem/80529918>
Reviewed by Eric Carlson.
Source/WebCore:
When a
<video>
is narrow (~250px) WebKit will drop the elapsed time, meaning that only the
scrubber and duration are visible. It's not very helpful to show just the duration because
it never changes, requiring the user to do the mental math of dividing the scrubber width
by the total duration to figure out how much time is left (and has elapsed). Showing the
remaining time is better because it at least helps the user not have to figure out how much
longer the<video>
will play (which is more useful/actionable than knowing the duration).
Test: media/modern-media-controls/time-control/time-control.html
- Modules/modern-media-controls/controls/time-control.js:
(TimeControl):
(TimeControl.prototype.handleEvent):
(TimeControl.prototype.get _canShowDurationTimeLabel): Added.
(TimeControl.prototype._durationOrRemainingTimeLabel):
(TimeControl.prototype._performIdealLayout):
Rename_showDurationTimeLabel
to_shouldShowDurationTimeLabel
and add another private
getter_canShowDurationTimeLabel
that only is true whenthis.elapsedTimeLabel.visible
.
Use both to decide whether duration or remaining is shown/updated/etc..
LayoutTests:
- media/modern-media-controls/time-control/time-control.html:
- media/modern-media-controls/time-control/time-control-expected.txt:
- 4:03 AM Changeset in webkit [280241] by
-
- 1 copy in releases/WebKitGTK/webkit-2.32.3
WebKitGTK 2.32.3
- 4:03 AM Changeset in webkit [280240] by
-
- 4 edits in releases/WebKitGTK/webkit-2.32
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.32.3 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.32.3
- 3:51 AM Changeset in webkit [280239] by
-
- 12 edits1 add1 delete in trunk
[GLib] Remove libportal dependency
https://bugs.webkit.org/show_bug.cgi?id=228056
Reviewed by Carlos Garcia Campos.
.:
- Source/cmake/FindLIBPORTAL.cmake: Removed.
- Source/cmake/GStreamerChecks.cmake:
Source/WebCore:
The pure-GDBus approach allows us to request the input device (Monitor or Window) depending
on the CaptureDevice type and make the mouse cursor visible in the generated video stream.
Also requesting capture support within computeCaptureDevices() was a bad idea because this
being used by the enumerateMediaDevices API could potentially spam the user with permission
popups.
- platform/GStreamer.cmake:
- platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp:
- platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.h:
- platform/mediastream/gstreamer/GStreamerDisplayCaptureDeviceManager.cpp: Added.
(WebCore::GStreamerDisplayCaptureDeviceManager::singleton):
(WebCore::GStreamerDisplayCaptureDeviceManager::GStreamerDisplayCaptureDeviceManager):
(WebCore::GStreamerDisplayCaptureDeviceManager::~GStreamerDisplayCaptureDeviceManager):
(WebCore::GStreamerDisplayCaptureDeviceManager::computeCaptureDevices):
(WebCore::GStreamerDisplayCaptureDeviceManager::createDisplayCaptureSource):
(WebCore::GStreamerDisplayCaptureDeviceManager::stopSource):
(WebCore::GStreamerDisplayCaptureDeviceManager::waitResponseSignal):
- platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:
(WebCore::GStreamerVideoCaptureSource::createPipewireSource):
(WebCore::GStreamerVideoCaptureSource::factory):
(WebCore::GStreamerVideoCaptureSource::displayFactory):
(WebCore::GStreamerVideoCaptureSource::GStreamerVideoCaptureSource):
(WebCore::GStreamerVideoCaptureSource::stopProducingData):
- platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h:
- platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:
- platform/mediastream/gstreamer/GStreamerVideoCapturer.h:
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml: Enable screen capture on GStreamer
ports. The PIPEWIRE ifdef is redundant.
- 3:11 AM Changeset in webkit [280238] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32/Source/WebCore
Merge r276352 - Use BlobURL::getOriginURL in more places
https://bugs.webkit.org/show_bug.cgi?id=224857
Reviewed by Alex Christensen.
Covered by existing tests.
- loader/PolicyChecker.cpp:
(WebCore::FrameLoader::PolicyChecker::extendBlobURLLifetimeIfNecessary const):
- 3:11 AM Changeset in webkit [280237] by
-
- 4 edits3 adds in releases/WebKitGTK/webkit-2.32
Merge r276012 - REGRESSION(Safari 14): iframe with blob url does not work with sandboxing
https://bugs.webkit.org/show_bug.cgi?id=222312
<rdar://problem/74927624>
Reviewed by Chris Dumez.
Source/WebCore:
In https://trac.webkit.org/r275884, we correctly compute whether a blob is to be considered secure or not.
For that, we need to have the blob URL registered with its document origin.
Update PolicyChecker to properly register the temporoary blob URL with its document origin.
Test: http/tests/security/sandbox-iframe-and-blob.https.html
- loader/PolicyChecker.cpp:
(WebCore::FrameLoader::PolicyChecker::extendBlobURLLifetimeIfNecessary const):
LayoutTests:
- http/tests/security/resources/sandbox-iframe-and-blob-frame.html: Added.
- http/tests/security/sandbox-iframe-and-blob.https-expected.txt: Added.
- http/tests/security/sandbox-iframe-and-blob.https.html: Added.
- platform/win/TestExpectations:
- 3:11 AM Changeset in webkit [280236] by
-
- 11 edits in releases/WebKitGTK/webkit-2.32
Merge r276230 - Blob URLs should use for their owner origin for CSP checks
https://bugs.webkit.org/show_bug.cgi?id=224535
<rdar://76458106>
Reviewed by Alex Christensen.
Source/WebCore:
Before the patch, we were checking blob origin directly with ancestors.
As per https://w3c.github.io/webappsec-csp/#match-url-to-source-expression step 4.1,
we need to get the URL origin, which by spec is the origin of the blob creator.
We only do this for navigation loads as script loads should be kept the current way, as a cross-site scripting protection,
and to remain compatible with other browsers.
Make some refactoring to add helper routines to get origin and secure context state of blob URLs in BlobURL.
Make use of it in MixedContentChecker as a refactoring.
Make use of the helper routine in ContentSecurityPolicySource::matches to fix the bug.
Test: http/tests/security/frame-src-and-blob-download.https.html
- fileapi/BlobURL.cpp:
(WebCore::blobOwner):
(WebCore::BlobURL::getOriginURL):
(WebCore::BlobURL::isSecureBlobURL):
- fileapi/BlobURL.h:
- fileapi/ThreadableBlobRegistry.cpp:
(WebCore::isBlobURLContainsNullOrigin):
- loader/MixedContentChecker.cpp:
(WebCore::MixedContentChecker::isMixedContent):
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::isSecure):
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::urlMatchesSelf const):
- page/csp/ContentSecurityPolicy.h:
- page/csp/ContentSecurityPolicySourceList.cpp:
(WebCore::ContentSecurityPolicySourceList::matches const):
LayoutTests:
- http/tests/security/frame-src-and-blob-download.https-expected.txt: Added.
- http/tests/security/frame-src-and-blob-download.https.html:
- http/tests/security/resources/frame-src-and-blob-download-frame.html: Added.
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
- 2:03 AM Changeset in webkit [280235] by
-
- 3 edits1 add in releases/WebKitGTK/webkit-2.32
Merge r278819 - https://bugs.webkit.org/show_bug.cgi?id=226576
<rdar://problem/78810362>
Reviewed by Yusuke Suzuki.
JSTests:
- stress/short-circuit-read-modify-write-cant-write-dst-before-tdz-check.js: Added.
(let.result.eval.try.captureV):
(catch):
Source/JavaScriptCore:
ShortCircuitReadModifyResolveNode can't emit a value into
its result until after it emits a TDZ check. We were temporarily
storing the result of the get_from_scope into the dst. Then
we'd emit the TDZ check. The TDZ check can throw, and it could
lead to us returning TDZ from the eval itself. Instead, we need
to use a temporary to emit a TDZ check on. Only after the TDZ check
passes can we move the temporary into the result.
- bytecompiler/NodesCodegen.cpp:
(JSC::ShortCircuitReadModifyResolveNode::emitBytecode):
- 2:03 AM Changeset in webkit [280234] by
-
- 4 edits1 add in releases/WebKitGTK/webkit-2.32
Merge r278578 - Short circuit read modify write nodes emit byte code that uses the wrong locals
https://bugs.webkit.org/show_bug.cgi?id=226576
<rdar://problem/78810362>
Reviewed by Yusuke Suzuki.
JSTests:
- stress/short-circuit-read-modify-should-use-the-write-virtual-registers.js: Added.
(eval):
Source/JavaScriptCore:
It's never a good idea to use the wrong local :-)
This patch also adds support for dumping predecessors of basic blocks
in the bytecode dump.
- bytecode/BytecodeDumper.cpp:
(JSC::CodeBlockBytecodeDumper<Block>::dumpGraph):
- bytecompiler/NodesCodegen.cpp:
(JSC::ShortCircuitReadModifyResolveNode::emitBytecode):
(JSC::ShortCircuitReadModifyDotNode::emitBytecode):
(JSC::ShortCircuitReadModifyBracketNode::emitBytecode):
- 2:00 AM Changeset in webkit [280233] by
-
- 19 edits in releases/WebKitGTK/webkit-2.32/Source/JavaScriptCore
Merge r276609 - numCalleeLocals, numParameters, and numVars should be unsigned
https://bugs.webkit.org/show_bug.cgi?id=224995
Patch by Keith Miller <keith_miller@apple.com> on 2021-04-26
Reviewed by Mark Lam.
All of the various CodeBlock classes currently have the
numCalleeLocals and numVars marked as ints. I believe this is just
a historical artifact or because VirtualRegister's offset is an
int to make handling constants easier. Regardless, it's a bit
strange to not handle the sign conversion at the point of
comparison between a VirtualRegister offset and the local/var
count. This doesn't completely fix every place we use ints for
these values but starts on the right track. Lastly, I also added
some Check<unsigned>s to the wasm parser for sanity checking.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::setNumParameters):
(JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeIndexSlow):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::numParameters const):
(JSC::CodeBlock::numberOfArgumentsToSkip const):
(JSC::CodeBlock::numCalleeLocals const):
(JSC::CodeBlock::numVars const):
(JSC::CodeBlock::numTmps const):
(JSC::CodeBlock::addressOfNumParameters):
(JSC::CodeBlock::isTemporaryRegister):
- bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::numCalleeLocals const):
(JSC::UnlinkedCodeBlock::numVars const):
- bytecode/UnlinkedCodeBlockGenerator.h:
(JSC::UnlinkedCodeBlockGenerator::numCalleeLocals const):
(JSC::UnlinkedCodeBlockGenerator::numVars const):
(JSC::UnlinkedCodeBlockGenerator::setNumCalleeLocals):
(JSC::UnlinkedCodeBlockGenerator::setNumVars):
(JSC::UnlinkedCodeBlockGenerator::setNumParameters):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::emitPushFunctionNameScope):
- bytecompiler/BytecodeGeneratorBaseInlines.h:
(JSC::BytecodeGeneratorBase<Traits>::newRegister):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleRecursiveTailCall):
(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGOSREntrypointCreationPhase.cpp:
(JSC::DFG::OSREntrypointCreationPhase::run):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::lower):
- ftl/FTLOSREntry.cpp:
(JSC::FTL::prepareOSREntry):
- interpreter/CallFrameClosure.h:
- interpreter/ProtoCallFrameInlines.h:
(JSC::ProtoCallFrame::init):
- jit/JIT.cpp:
(JSC::JIT::compileWithoutLinking):
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::numberOfStackPaddingSlots):
(JSC::CommonSlowPaths::numberOfStackPaddingSlotsWithExtraSlots):
- wasm/WasmFunctionCodeBlock.h:
(JSC::Wasm::FunctionCodeBlock::numVars const):
(JSC::Wasm::FunctionCodeBlock::numCalleeLocals const):
(JSC::Wasm::FunctionCodeBlock::setNumVars):
(JSC::Wasm::FunctionCodeBlock::setNumCalleeLocals):
- wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::push):
(JSC::Wasm::LLIntGenerator::getDropKeepCount):
(JSC::Wasm::LLIntGenerator::walkExpressionStack):
(JSC::Wasm::LLIntGenerator::checkConsistency):
(JSC::Wasm::LLIntGenerator::materializeConstantsAndLocals):
(JSC::Wasm::LLIntGenerator::splitStack):
(JSC::Wasm::LLIntGenerator::finalize):
(JSC::Wasm::LLIntGenerator::callInformationForCaller):
(JSC::Wasm::LLIntGenerator::addLoop):
(JSC::Wasm::LLIntGenerator::addTopLevel):
(JSC::Wasm::LLIntGenerator::addBlock):
(JSC::Wasm::LLIntGenerator::addIf):
(JSC::Wasm::LLIntGenerator::addElseToUnreachable):
- 1:59 AM Changeset in webkit [280232] by
-
- 5 edits in releases/WebKitGTK/webkit-2.32/Source/WebCore
Merge r278964 - Protect Element before calling dispatchMouseEvent() on it
https://bugs.webkit.org/show_bug.cgi?id=226767
<rdar://problem/79009112>
Reviewed by Ryosuke Niwa.
- page/EventHandler.cpp:
(WebCore::EventHandler::updateMouseEventTargetNode):
(WebCore::EventHandler::dispatchMouseEvent):
- page/PointerLockController.cpp:
(WebCore::PointerLockController::dispatchLockedMouseEvent):
- page/Quirks.cpp:
(WebCore::Quirks::triggerOptionalStorageAccessQuirk const):
- 1:48 AM Changeset in webkit [280231] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32/Source/WebCore
Merge r278166 - Pass frame ref during navigationPolicyCompletionHandler
https://bugs.webkit.org/show_bug.cgi?id=226268
<rdar://problem/78512383>
Reviewed by Ryosuke Niwa.
Pass the active frame to the navigationPolicyCompletionHandler lambda as a Ref to
ensure it is kept alive during the policy check and subsequent steps.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::willSendRequest):
- 1:47 AM Changeset in webkit [280230] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32/Source/WebCore
Merge r276611 - Remove redundant frameDetached() from the SVGImage destructor
https://bugs.webkit.org/show_bug.cgi?id=221616
<rdar://problem/74149106>
Reviewed by Chris Dumez.
SVGImage was originally written such that it has two separate objects:
a page and a frame; see https://trac.webkit.org/r18470. So it made sense
at that time to clean up the page and the frame separately. The Frame
was cleaned up by telling the frame's loader that the frameDetached().
This code is not necessary right now since the page owns the main frame.
And its destructor recursively detaches itself from all the frames.
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::~SVGImage):
- 1:29 AM Changeset in webkit [280229] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32/Source/WebCore
Merge r276206 - Perform port blocking earlier in the load
https://bugs.webkit.org/show_bug.cgi?id=224525
<rdar://problem/75440591>
Unreviewed follow-up (suggested by David Kilzer)
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::willSendRequest): Restore an m_frame nullptr check.,
- 1:29 AM Changeset in webkit [280228] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.32/LayoutTests
Merge r276289 - [GTK][WPE] Unreviewed test gardening. Emit new port baselines after r276193.
- platform/gtk/TestExpectations:
- platform/gtk/security/block-test-expected.txt: Added.
- platform/wpe/security/block-test-expected.txt:
- 1:29 AM Changeset in webkit [280227] by
-
- 2 edits2 adds in releases/WebKitGTK/webkit-2.32/LayoutTests
Merge r276215 - [GLIB] Unreviewed test gardening. Emit new baseline after r276193.
- platform/glib/TestExpectations:
- platform/glib/http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-expected.txt: Added.
- 1:29 AM Changeset in webkit [280226] by
-
- 29 edits4 copies2 adds in releases/WebKitGTK/webkit-2.32
Merge r276193 - Perform port blocking earlier in the load
https://bugs.webkit.org/show_bug.cgi?id=224525
<rdar://problem/75440591>
Reviewed by Darin Adler.
Source/WebCore:
WebKit blocks loads to URLs with any of the prohibited ports defined in
the engine. This blocking happens late in the load process, allowing
connections to be made (and observed). Instead, we should stop the load
early, at the same time we perform other checks.
Test: http/tests/security/form-blocked-port.html
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::isSafeToLoadURL): Add a check for prohibited ports,
and block (with relevant logging) if a load to a denied port is attempted.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::willSendRequest): Ditto.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadFrameRequest): Ditto.
(WebCore::FrameLoader::reportBlockedLoadFailed): Ditto.
- loader/FrameLoader.h:
- loader/PingLoader.cpp:
(WebCore::PingLoader::loadImage): Ditto.
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::init): Ditto.
- loader/SubframeLoader.cpp:
(WebCore::FrameLoader::SubframeLoader::pluginIsLoadable): Ditto.
(WebCore::FrameLoader::SubframeLoader::loadSubframe): Ditto.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::canRequest): Ditto.
(WebCore::CachedResourceLoader::canRequestAfterRedirection const): Ditto.
Tools:
Update URLScheme test to use a non-prohibited port for the test. Tests of
failed fetches are already handled in WPT and other tests, so using a valid
port here should continue to be a valid test.
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
(-[FrameSchemeHandler webView:startURLSchemeTask:]): Use allowed port or the test
instead of 123.
LayoutTests:
WebKit blocks loads to URLs with any of the prohibited ports defined in
the engine. This blocking happens late in the load process, allowing
connections to be made (and observed). Instead, we should stop the load
early, at the same time we perform other checks.
Note: The fact that we now block loads earlier means that we do not fire
'willSendRequestForFrame' for blocked ports, so WebKitTestRunner no longer
outputs a message to stdout. Those errors are reported in the JS console,
but since some test paths are specified to always output JS console messages
to stderrr (for example the WPT tests), we have to revise out test expectations
for a few cases.
- fast/loader/cancel-load-during-port-block-timer.html: Revised expectation to reflect new console error message.
- http/tests/cache/cancel-during-failure-crash-expected.txt: Ditto.
- http/tests/preload/download_resources_from_invalid_headers-expected.txt: Update to reflect a preflight is not executed for a blocked port.
- http/tests/preload/resources/nph-invalid_resources_from_header.pl: Update to reflect that we do not preload from restricted ports.
- http/tests/security/blocked-on-redirect-expected.txt: Revised expectation to match revised error message.
- http/tests/security/form-blocked-port.html: Added.
- http/tests/security/form-blocked-port-expected.txt: Added.
- http/tests/xmlhttprequest/cross-origin-redirect-responseURL-expected.txt: Revised expectation for revised error message.
- http/tests/xmlhttprequest/redirect-cross-origin-2-expected.txt: Ditto.
- http/tests/xmlhttprequest/redirect-cross-origin-expected.txt: Ditto.
- http/tests/xmlhttprequest/simple-cross-origin-denied-events.html: Instead of using a port WebKit blocks (7), use one that is not blocked but is unlikely to be active (as originally intended). This retains the expected test behavior since we now block loads to restricted ports earlier in the load process.
- http/tests/xmlhttprequest/simple-cross-origin-denied-events-post.html: Ditto.
- http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-expected.txt: Update test output to reflect that we are attempting to load from port 8 instead of port 7.
- http/wpt/beacon/beacon-async-error-logging-expected.txt: Ditto.
- http/wpt/beacon/beacon-async-error-logging.html: Update to reflect a preflight is not executed for a blocked port.
- imported/w3c/web-platform-tests/fetch/api/request/request-bad-port.any-expected.txt: Since we block before executing the load, TestRunner no longer outputs an error message to stdout. Instead, they appear in stderr (since all 'wpt' tests are marked to dump console.log output to stderr).
- imported/w3c/web-platform-tests/fetch/api/request/request-bad-port.any.worker-expected.txt: Ditto.
- platform/mac-wk1/http/tests/xmlhttprequest/redirect-cross-origin-post-expected.txt: Revise to reflect change in console logging (the functional test results are identical).
- platform/mac-wk1/http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-expected.txt: Ditto.
- platform/win/http/tests/xmlhttprequest/redirect-cross-origin-post-expected.txt: Ditto.
- platform/win/http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-expected.txt: Ditto.
- platform/wk2/http/tests/security/blocked-on-redirect-expected.txt: Ditto.
- 1:29 AM Changeset in webkit [280225] by
-
- 9 edits in releases/WebKitGTK/webkit-2.32
Merge r275831 - Block loading for port 10080
https://bugs.webkit.org/show_bug.cgi?id=224432
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/request/request-bad-port.any-expected.txt:
- web-platform-tests/fetch/api/request/request-bad-port.any.js:
- web-platform-tests/fetch/api/request/request-bad-port.any.worker-expected.txt:
- web-platform-tests/websockets/Create-blocked-port.any-expected.txt:
- web-platform-tests/websockets/Create-blocked-port.any.js:
- web-platform-tests/websockets/Create-blocked-port.any.worker-expected.txt:
Source/WTF:
Follow Chrome and Firefox by blocking port 10080.
- wtf/URL.cpp:
(WTF::portAllowed):
- 1:17 AM Changeset in webkit [280224] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32/Source/JavaScriptCore
Merge r276527 - [YARR Interpreter] Improper backtrack of parentheses with non-zero based greedy quantifiers
https://bugs.webkit.org/show_bug.cgi?id=224983
Reviewed by Mark Lam.
When we backtrack a parentheses with a greedy non zero based quantifier,
we don't properly restore for the case where we hadn't reached the minimum count.
We now save the input position on entry and restore it when we backtrack for
this case. We also properly release the allocated ParenthesesDisjunctionContext's.
- yarr/YarrInterpreter.cpp:
(JSC::Yarr::Interpreter::matchParentheses):
(JSC::Yarr::Interpreter::backtrackParentheses):
- 1:14 AM Changeset in webkit [280223] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32/Source/JavaScriptCore
Merge r276524 - Fix B3 strength reduction for shl.
https://bugs.webkit.org/show_bug.cgi?id=224913
rdar://76978874
Reviewed by Michael Saboff.
If the operation can potentially either underflow or overflow, then the result
can be any value.
- b3/B3ReduceStrength.cpp:
- 1:08 AM Changeset in webkit [280222] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32/Source/WebCore
Merge r273752 - Crash under KeyframeEffect::setTarget()
https://bugs.webkit.org/show_bug.cgi?id=222591
<rdar://problem/74281295>
Reviewed by David Kilzer.
The Styleable returned by targetStyleable() holds a reference to the Element that at
this point is m_target (assuming it's non-null). However, once we set the new value
for m_target, if the only reference to the original target was held by this KeyframeEffect,
then that element will be deallocated and by the time we call didChangeTargetStyleable()
it will be gone.
To address, we create a RefPtr<Element> in the scope of KeyframeEffect::setTarget()
protecting the Styleable's element while didChangeTargetStyleable() is called.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::setTarget):
- 1:03 AM Changeset in webkit [280221] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
Updated Swedish translation
https://bugs.webkit.org/show_bug.cgi?id=228206
Patch by Anders Jonsson <anders.jonsson@norsjovallen.se> on 2021-07-23
Rubber-stamped by Carlos Garcia Campos.
- sv.po:
- 1:01 AM Changeset in webkit [280220] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[GTK] [l10n] Updated Ukrainian translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=228188
Patch by Yuri Chornoivan <yurchor@ukr.net> on 2021-07-23
Rubber-stamped by Carlos Garcia Campos.
- uk.po:
- 12:59 AM Changeset in webkit [280219] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[l10n] [pt_BR] Updated Brazilian Portuguese translation
https://bugs.webkit.org/show_bug.cgi?id=227623
Patch by Rafael Fontenelle <rafaelff@gnome.org> on 2021-07-23
Rubber-stamped by Carlos Garcia Campos.
- pt_BR.po:
- 12:30 AM Changeset in webkit [280218] by
-
- 2 edits in trunk/LayoutTests
Removed incorrect test from webgl tests.
https://bugs.webkit.org/show_bug.cgi?id=220720
Patch by Eleni Maria Stea <hikiko> on 2021-07-23
Reviewed by Kenneth Russell.
The removed test was based on the incorrect assumption that
deleted buffer names remain valid until the object they used to
refer to is destroyed. According to the WebGL spec:
https://www.khronos.org/registry/webgl/specs/1.0.3/ section:
5.14.5 isBuffer "Return false if the buffer's invalidated flag
is set", this is not true and names become invalid immediately.
- fast/canvas/webgl/oes-vertex-array-object.html:
Jul 22, 2021:
- 8:20 PM Changeset in webkit [280217] by
-
- 2 edits in trunk/Source/WebKit
[Live Text] [iOS] Analysis should also search for any App Clip codes
https://bugs.webkit.org/show_bug.cgi?id=228207
Reviewed by Wenson Hsieh.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView imageAnalysisGestureDidBegin:]):
(-[WKContentView imageAnalysisGestureDidTimeOut:]):
- 8:17 PM Changeset in webkit [280216] by
-
- 2 edits in trunk/JSTests
JSTests/stress/test-out-of-memory shouldn't assume that we always OOM
https://bugs.webkit.org/show_bug.cgi?id=228213
Reviewed by Mark Lam.
- stress/test-out-of-memory.js:
- 8:17 PM Changeset in webkit [280215] by
-
- 2 edits in trunk/JSTests
Reduce iteration of microbenchmarks/memcpy-typed-loop.js
https://bugs.webkit.org/show_bug.cgi?id=228214
Reviewed by Saam Barati.
Observing frequent timeout (e.g. https://ews-build.webkit.org/#/builders/1/builds/44698).
We do not need to have such a large # of iterations.
- microbenchmarks/memcpy-typed-loop.js:
- 7:14 PM Changeset in webkit [280214] by
-
- 3 edits in trunk/Source/WebKit
[iOS] Unable to open arxiv links on Chrome
https://bugs.webkit.org/show_bug.cgi?id=228205
rdar://78225849
Reviewed by Tim Horton.
-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:] currently
expects the width to be specified in pixels. However, the PDFKit SPI
used to snapshot a PDF expects a width in points. This led to WebKit
requesting extremely large snapshots, resulting in a crash in PDFKit.
To fix, use points instead of pixels in the PDF snapshotting path.
Also, ensure the scale factor of the returned image matches the
the scale used by PDFKit (the screen scale), as opposed to WebKit's
own "page" device scale factor, which can be overridden.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView takeSnapshotWithConfiguration:completionHandler:]):
- UIProcess/API/ios/WKWebViewIOS.mm:
- 7:00 PM Changeset in webkit [280213] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, reverting 280130.
https://bugs.webkit.org/show_bug.cgi?id=228212
Introduced MotionMark regression
Reverted changeset:
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::simplifiedLayout):
- 7:00 PM Changeset in webkit [280212] by
-
- 3 edits in trunk/LayoutTests
Batch add test expectations for Monterey on Open Source
https://bugs.webkit.org/show_bug.cgi?id=228200
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 5:09 PM Changeset in webkit [280211] by
-
- 2 edits in trunk/Source/WebCore
The network process fails to take a locked file assertion when executing a SQLiteStatement outside a transaction
https://bugs.webkit.org/show_bug.cgi?id=228194
Reviewed by Geoffrey Garen.
The network process fails to take a locked file assertion when executing a SQLiteStatement outside a transaction.
This means we may suspend in the middle of that statement and crash due to holding locked files.
To address this, we now make sure to bump the transaction count during the sqlite3_step() call if we're not
in the middle of a transaction and the current statement is not read-only (e.g. SELECT). Note that SQLite will
implicitly create a transaction for us in such cases.
- platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::step):
- 5:08 PM Changeset in webkit [280210] by
-
- 3 edits in trunk/LayoutTests
Batch add test expectations for Monterey on Open Source
https://bugs.webkit.org/show_bug.cgi?id=228200
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations: Adjusting expectations for Monterey.
- 5:08 PM Changeset in webkit [280209] by
-
- 11 edits2 moves1 add in branches/safari-612.1.25-branch/Source
Cherry-pick r280205. rdar://problem/80991517
REGRESSION (r278877) [Cocoa] WebAuthn stopped working for non-Safari browsers
https://bugs.webkit.org/show_bug.cgi?id=228116
<rdar://problem/80693607>
Reviewed by Per Arne Vollan.
Source/WebKit:
We should not be using the PAC key to confirm a valid WebContent process is the source of
WebAuthn-related messages. Instead, we should confirm the message source is an Apple-signed
executable, and that the signining identity is for the WebContent process.
- Shared/Cocoa/CodeSigning.h: Renamed from Source/WebKit/Shared/mac/CodeSigning.h.
- Shared/Cocoa/CodeSigning.mm: Renamed from Source/WebKit/Shared/mac/CodeSigning.mm. (WebKit::codeSigningIdentifier): (WebKit::codeSigningIdentifierForCurrentProcess): (WebKit::codeSigningIdentifierAndPlatformBinaryStatus): Added.
- Shared/Cocoa/XPCEndpoint.mm: (WebKit::XPCEndpoint::XPCEndpoint): Update to use new method.
- SourcesCocoa.txt:
- UIProcess/Cocoa/WebProcessProxyCocoa.mm: (WebKit::WebProcessProxy::messageSourceIsValidWebContentProcess):
- UIProcess/WebProcessProxy.cpp: (WebKit:WebProcessProxy::getWebAuthnProcessConnection): Update for new message check name.
- UIProcess/WebProcessProxy.h:
- WebKit.xcodeproj/project.pbxproj:
Source/WTF:
Add new SPI header for code signing features.
- WTF.xcodeproj/project.pbxproj:
- wtf/spi/cocoa/SecuritySPI.h: Move some SecTask calls out of PLATFORM(MAC).
- wtf/spi/darwin/CodeSignSPI.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280205 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:46 PM Changeset in webkit [280208] by
-
- 2 edits in trunk/LayoutTests
[BigSur+ Wk2] imported/w3c/web-platform-t ests/media-source/mediasour ce-seek-during-pending-seek .html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=222183
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Including BigSur+ on existing expectations.
- 4:37 PM Changeset in webkit [280207] by
-
- 3 edits in trunk/LayoutTests
[ BigSur+ iOS Release wk2 ] 2 imported/w3c/web-platform-tests/webrtc are flakey text failures (223385)
https://bugs.webkit.org/show_bug.cgi?id=223385
Unreviewed test gardening.
- platform/ios/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 4:02 PM Changeset in webkit [280206] by
-
- 2 edits in trunk/LayoutTests
[iOS] media/video-presentation-mode.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=228204
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:58 PM Changeset in webkit [280205] by
-
- 11 edits2 moves1 add in trunk/Source
REGRESSION (r278877) [Cocoa] WebAuthn stopped working for non-Safari browsers
https://bugs.webkit.org/show_bug.cgi?id=228116
<rdar://problem/80693607>
Reviewed by Per Arne Vollan.
Source/WebKit:
We should not be using the PAC key to confirm a valid WebContent process is the source of
WebAuthn-related messages. Instead, we should confirm the message source is an Apple-signed
executable, and that the signining identity is for the WebContent process.
- Shared/Cocoa/CodeSigning.h: Renamed from Source/WebKit/Shared/mac/CodeSigning.h.
- Shared/Cocoa/CodeSigning.mm: Renamed from Source/WebKit/Shared/mac/CodeSigning.mm.
(WebKit::codeSigningIdentifier):
(WebKit::codeSigningIdentifierForCurrentProcess):
(WebKit::codeSigningIdentifierAndPlatformBinaryStatus): Added.
- Shared/Cocoa/XPCEndpoint.mm:
(WebKit::XPCEndpoint::XPCEndpoint): Update to use new method.
- SourcesCocoa.txt:
- UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::messageSourceIsValidWebContentProcess):
- UIProcess/WebProcessProxy.cpp:
(WebKit:WebProcessProxy::getWebAuthnProcessConnection): Update for new message check name.
- UIProcess/WebProcessProxy.h:
- WebKit.xcodeproj/project.pbxproj:
Source/WTF:
Add new SPI header for code signing features.
- WTF.xcodeproj/project.pbxproj:
- wtf/spi/cocoa/SecuritySPI.h: Move some SecTask calls out of PLATFORM(MAC).
- wtf/spi/darwin/CodeSignSPI.h: Added.
- 3:52 PM Changeset in webkit [280204] by
-
- 4 edits in trunk/LayoutTests
Batch add test expectations for Monterey on Open Source
https://bugs.webkit.org/show_bug.cgi?id=228200
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 3:48 PM Changeset in webkit [280203] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r277873, r280105): [macOS] Correct two sandbox typos (228201)
https://bugs.webkit.org/show_bug.cgi?id=228201
<rdar://problem/80983916>
Reviewed by Per Arne Vollan.
Correct two typos in the macOS Sandbox (WebContent process).
- WebProcess/com.apple.WebProcess.sb.in:
- 3:45 PM Changeset in webkit [280202] by
-
- 2 edits in trunk/Source/WebKit
Revert part of r279089 that was done a little bit too early.
<rdar://80663503> and https://bugs.webkit.org/show_bug.cgi?id=228174
Reviewed by Chris Dumez.
- Configurations/WebKit.xcconfig:
- 3:40 PM Changeset in webkit [280201] by
-
- 3 edits2 adds in trunk
[Cocoa] ".SF Arabic" should not be able to be looked up by name (because it is dot-prefixed)
https://bugs.webkit.org/show_bug.cgi?id=228018
<rdar://problem/80691654>
Reviewed by Simon Fraser.
Source/WebCore:
Dot-prefixed font names are not supported. The supported way of using SF Arabic is to use
system-ui with Arabic text. It will fall back to SF Arabic.
Test: fast/text/sf-arabic-lookup-by-name.html
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::platformFontLookupWithFamily): Special case this font name, similar to how
we have other special cases for other dot-prefixed fonts. Ideally we would change this
check to just if the leading character is a dot, but that change would be too scary at
this point in the release cycle.
LayoutTests:
- fast/text/sf-arabic-lookup-by-name-expected.html: Added.
- fast/text/sf-arabic-lookup-by-name.html: Added.
- 3:11 PM Changeset in webkit [280200] by
-
- 2 edits in trunk/LayoutTests
[BigSur Debug] imported/w3c/web-platform-tests/xhr/event-upload-progress-crossorigin.any.worker.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=222385.
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 3:07 PM Changeset in webkit [280199] by
-
- 9 edits1 move in trunk/Source/WebCore
Rename AtomicHTMLToken to AtomHTMLToken
https://bugs.webkit.org/show_bug.cgi?id=228196
Reviewed by Geoffrey Garen.
We should rename AtomicHTMLToken to AtomHTMLToken as we did for AtomString (AtomicString => AtomString).
- WebCore.xcodeproj/project.pbxproj:
- html/parser/AtomHTMLToken.h: Renamed from Source/WebCore/html/parser/AtomicHTMLToken.h.
(WebCore::AtomHTMLToken::AtomHTMLToken):
(WebCore::AtomHTMLToken::type const):
(WebCore::AtomHTMLToken::name const):
(WebCore::AtomHTMLToken::setName):
(WebCore::AtomHTMLToken::selfClosing const):
(WebCore::AtomHTMLToken::attributes):
(WebCore::AtomHTMLToken::attributes const):
(WebCore::AtomHTMLToken::characters const):
(WebCore::AtomHTMLToken::charactersLength const):
(WebCore::AtomHTMLToken::charactersIsAll8BitData const):
(WebCore::AtomHTMLToken::comment const):
(WebCore::AtomHTMLToken::forceQuirks const):
(WebCore::AtomHTMLToken::publicIdentifier const):
(WebCore::AtomHTMLToken::systemIdentifier const):
(WebCore::AtomHTMLToken::initializeAttributes):
- html/parser/HTMLConstructionSite.cpp:
(WebCore::setAttributes):
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
(WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
(WebCore::HTMLConstructionSite::insertDoctype):
(WebCore::HTMLConstructionSite::insertComment):
(WebCore::HTMLConstructionSite::insertCommentOnDocument):
(WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
(WebCore::HTMLConstructionSite::insertHTMLHeadElement):
(WebCore::HTMLConstructionSite::insertHTMLBodyElement):
(WebCore::HTMLConstructionSite::insertHTMLFormElement):
(WebCore::HTMLConstructionSite::insertHTMLElement):
(WebCore::HTMLConstructionSite::insertHTMLElementOrFindCustomElementInterface):
(WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
(WebCore::HTMLConstructionSite::insertFormattingElement):
(WebCore::HTMLConstructionSite::insertScriptElement):
(WebCore::HTMLConstructionSite::insertForeignElement):
(WebCore::HTMLConstructionSite::createElement):
(WebCore::HTMLConstructionSite::createHTMLElementOrFindCustomElementInterface):
(WebCore::HTMLConstructionSite::createHTMLElement):
(WebCore::HTMLConstructionSite::createElementFromSavedToken):
- html/parser/HTMLConstructionSite.h:
- html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::constructTreeFromHTMLToken):
- html/parser/HTMLStackItem.h:
(WebCore::HTMLStackItem::HTMLStackItem):
(WebCore::HTMLStackItem::create):
- html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
(WebCore::HTMLTreeBuilder::constructTree):
(WebCore::HTMLTreeBuilder::processToken):
(WebCore::HTMLTreeBuilder::processDoctypeToken):
(WebCore::HTMLTreeBuilder::processFakeStartTag):
(WebCore::HTMLTreeBuilder::processFakeEndTag):
(WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
(WebCore::shouldClose):
(WebCore::adjustSVGTagNameCase):
(WebCore::adjustAttributes):
(WebCore::adjustSVGAttributes):
(WebCore::adjustMathMLAttributes):
(WebCore::adjustForeignAttributes):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::insertGenericHTMLElement):
(WebCore::HTMLTreeBuilder::processTemplateStartTag):
(WebCore::HTMLTreeBuilder::processTemplateEndTag):
(WebCore::HTMLTreeBuilder::processEndOfFileForInTemplateContents):
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody):
(WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
(WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
(WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
(WebCore::HTMLTreeBuilder::processEndTagForInRow):
(WebCore::HTMLTreeBuilder::processEndTagForInCell):
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTagForInTable):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processComment):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::insertPhoneNumberLink):
(WebCore::HTMLTreeBuilder::processEndOfFile):
(WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
(WebCore::HTMLTreeBuilder::defaultForBeforeHead):
(WebCore::HTMLTreeBuilder::defaultForInHead):
(WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
(WebCore::HTMLTreeBuilder::defaultForAfterHead):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
(WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent):
(WebCore::hasAttribute):
(WebCore::HTMLTreeBuilder::processTokenInForeignContent):
(WebCore::HTMLTreeBuilder::parseError):
- html/parser/HTMLTreeBuilder.h:
- html/parser/TextDocumentParser.cpp:
(WebCore::TextDocumentParser::insertFakePreElement):
- 2:37 PM Changeset in webkit [280198] by
-
- 11 edits1 add in trunk
AirStackSlot's uint16_t byte size is too small
https://bugs.webkit.org/show_bug.cgi?id=228193
<rdar://80888059>
Reviewed by Mark Lam.
JSTests:
- stress/stack-slot-needs-to-use-more-than-uint16.js: Added.
Source/JavaScriptCore:
- b3/B3Procedure.cpp:
(JSC::B3::Procedure::addStackSlot):
- b3/B3Procedure.h:
- b3/air/AirCode.cpp:
(JSC::B3::Air::Code::addStackSlot):
- b3/air/AirCode.h:
- b3/air/AirStackSlot.cpp:
(JSC::B3::Air::StackSlot::StackSlot):
- b3/air/AirStackSlot.h:
(JSC::B3::Air::StackSlot::ensureSize):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::lower):
- ftl/FTLOutput.cpp:
(JSC::FTL::Output::lockedStackSlot):
- ftl/FTLOutput.h:
- 2:30 PM Changeset in webkit [280197] by
-
- 2 edits in trunk/LayoutTests
[BigSur wk2 arm64] imported/w3c/web-platform-tests/html/cross-origin-opener-policy/header-parsing.https.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=228197.
Unreviewwed test gardening.
- platform/mac-wk2/TestExpectations:
- 1:59 PM Changeset in webkit [280196] by
-
- 43 edits68 copies4 moves141 adds1 delete in trunk
Migrate Monterey expectations to OpenSource and bump version numbers
https://bugs.webkit.org/show_bug.cgi?id=228090
Reviewed by Ryan Haddad.
Tools:
- Scripts/webkitpy/port/mac.py:
(MacPort):
- Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_monterey_baseline_search_path):
(MacTest.test_big_sur_baseline_search_path): Deleted.
LayoutTests:
- TestExpectations:
- media/media-source/content/test-vp8-malformed-header-manifest.json: Renamed from LayoutTests/platform/mac-bigsur/media/media-source/content/test-vp8-malformed-header-manifest.json.
- media/media-source/content/test-vp8-malformed-header.webm: Renamed from LayoutTests/platform/mac-bigsur/media/media-source/content/test-vp8-malformed-header.webm.
- media/media-source/media-source-webm-vp8-malformed-header-expected.txt: Renamed from LayoutTests/platform/mac-bigsur/media/media-source/media-source-webm-vp8-malformed-header-expected.txt.
- media/media-source/media-source-webm-vp8-malformed-header.html: Renamed from LayoutTests/platform/mac-bigsur/media/media-source/media-source-webm-vp8-malformed-header.html.
- media/media-webm-no-duration-expected.txt: Renamed from LayoutTests/platform/mac-bigsur/media/media-webm-no-duration-expected.txt.
- media/media-webm-no-duration.html: Renamed from LayoutTests/platform/mac-bigsur/media/media-webm-no-duration.html.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/anchor-element-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/anchor-element-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/attrib-string-colors-with-color-filter-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attrib-string-colors-with-color-filter-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/attribute-string-for-copy-with-color-filter-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attribute-string-for-copy-with-color-filter-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-1-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-1-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-2-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-2-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-3-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-3-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-4-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-4-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-5-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-5-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-with-style-1-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-with-style-1-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-with-style-2-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-with-style-2-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/attributed-string-for-typing-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-for-typing-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/attributed-string-for-typing-with-color-filter-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-for-typing-with-color-filter-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/basic-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/basic-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/comment-cdata-section-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/comment-cdata-section-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/font-size-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/font-size-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/font-style-variant-effect-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/font-style-variant-effect-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/font-weight-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/font-weight-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/letter-spacing-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/letter-spacing-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/text-decorations-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/text-decorations-expected.txt.
- platform/mac-bigsur-wk1/editing/mac/attributed-string/vertical-align-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/vertical-align-expected.txt.
- platform/mac-bigsur-wk1/fast/scrolling/latching/iframe-latch-small-deltas-expected.txt: Copied from LayoutTests/platform/mac-wk1/fast/scrolling/latching/iframe-latch-small-deltas-expected.txt.
- platform/mac-bigsur-wk2/fast/events/contextmenu-lookup-action-for-image-expected.txt: Added.
- platform/mac-bigsur-wk2/http/tests/security/mixedContent/websocket/insecure-websocket-in-iframe-expected.txt: Added.
- platform/mac-bigsur-wk2/http/tests/security/mixedContent/websocket/insecure-websocket-in-main-frame-expected.txt: Added.
- platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/media-source/mediasource-invalid-codec-expected.txt: Added.
- platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/service-workers/service-worker/websocket-in-service-worker.https-expected.txt: Added.
- platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/service-workers/service-worker/websocket.https-expected.txt: Added.
- platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/websockets/Send-65K-data.any-expected.txt: Added.
- platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/websockets/Send-binary-65K-arraybuffer.any-expected.txt: Added.
- platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/websockets/Send-binary-arraybuffer.any-expected.txt: Added.
- platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/websockets/Send-data.any-expected.txt: Added.
- platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/websockets/Send-paired-surrogates.any-expected.txt: Added.
- platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/websockets/basic-auth.any-expected.txt: Added.
- platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/websockets/basic-auth.any.worker-expected.txt: Added.
- platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-arraybuffer-expected.txt: Added.
- platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-blob-expected.txt: Added.
- platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-getting-expected.txt: Added.
- platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-large-expected.txt: Added.
- platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-unicode-expected.txt: Added.
- platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/websockets/remove-own-iframe-during-onerror.window-expected.txt: Added.
- platform/mac-bigsur/fast/forms/button-sizes-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/button-sizes-expected.txt.
- platform/mac-bigsur/fast/forms/input-appearance-spinbutton-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-expected.txt.
- platform/mac-bigsur/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt.
- platform/mac-bigsur/fast/forms/select/optgroup-rendering-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select/optgroup-rendering-expected.txt.
- platform/mac-bigsur/fast/text/basic/014-expected.txt: Copied from LayoutTests/platform/mac/fast/text/basic/014-expected.txt.
- platform/mac-bigsur/fast/text/capitalize-boundaries-expected.txt: Copied from LayoutTests/platform/mac/fast/text/capitalize-boundaries-expected.txt.
- platform/mac-bigsur/fast/text/hyphenate-avoid-orphaned-word-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphenate-avoid-orphaned-word-expected.txt.
- platform/mac-bigsur/fast/text/hyphenate-character-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphenate-character-expected.txt.
- platform/mac-bigsur/fast/text/hyphenate-first-word-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphenate-first-word-expected.txt.
- platform/mac-bigsur/fast/text/hyphenate-limit-before-after-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphenate-limit-before-after-expected.txt.
- platform/mac-bigsur/fast/text/hyphenate-limit-lines-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphenate-limit-lines-expected.txt.
- platform/mac-bigsur/fast/text/hyphenate-locale-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphenate-locale-expected.txt.
- platform/mac-bigsur/fast/text/hyphens-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphens-expected.txt.
- platform/mac-bigsur/fast/text/midword-break-after-breakable-char-expected.txt: Copied from LayoutTests/platform/mac/fast/text/midword-break-after-breakable-char-expected.txt.
- platform/mac-bigsur/inspector/css/get-system-fonts-expected.txt: Added.
- platform/mac-bigsur/media/media-source/mediasource-addsourcebuffer-expected.txt: Added.
- platform/mac-bigsur/media/media-source/mediasource-invalid-codec-expected.txt: Added.
- platform/mac-bigsur/platform/mac/fast/loader/file-url-mimetypes-3-expected.txt: Added.
- platform/mac-bigsur/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt: Added.
- platform/mac-catalina-wk1/editing/mac/attributed-string/anchor-element-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/anchor-element-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/attrib-string-colors-with-color-filter-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attrib-string-colors-with-color-filter-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/attribute-string-for-copy-with-color-filter-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attribute-string-for-copy-with-color-filter-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-1-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-1-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-2-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-2-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-3-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-3-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-4-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-4-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-5-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-5-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-with-style-1-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-with-style-1-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-with-style-2-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-with-style-2-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-for-typing-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-for-typing-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/attributed-string-for-typing-with-color-filter-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/attributed-string-for-typing-with-color-filter-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/basic-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/basic-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/comment-cdata-section-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/comment-cdata-section-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/font-size-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/font-size-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/font-style-variant-effect-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/font-style-variant-effect-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/font-weight-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/font-weight-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/letter-spacing-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/letter-spacing-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/text-decorations-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/text-decorations-expected.txt.
- platform/mac-catalina-wk1/editing/mac/attributed-string/vertical-align-expected.txt: Copied from LayoutTests/platform/mac-wk1/editing/mac/attributed-string/vertical-align-expected.txt.
- platform/mac-catalina-wk1/fast/scrolling/latching/iframe-latch-small-deltas-expected.txt: Copied from LayoutTests/platform/mac-wk1/fast/scrolling/latching/iframe-latch-small-deltas-expected.txt.
- platform/mac-catalina-wk2/fast/events/contextmenu-lookup-action-for-image-expected.txt: Added.
- platform/mac-catalina-wk2/http/tests/security/mixedContent/websocket/insecure-websocket-in-iframe-expected.txt: Added.
- platform/mac-catalina-wk2/http/tests/security/mixedContent/websocket/insecure-websocket-in-main-frame-expected.txt: Added.
- platform/mac-catalina-wk2/imported/w3c/web-platform-tests/media-source/mediasource-invalid-codec-expected.txt: Added.
- platform/mac-catalina-wk2/imported/w3c/web-platform-tests/service-workers/service-worker/websocket-in-service-worker.https-expected.txt: Added.
- platform/mac-catalina-wk2/imported/w3c/web-platform-tests/service-workers/service-worker/websocket.https-expected.txt: Added.
- platform/mac-catalina-wk2/imported/w3c/web-platform-tests/websockets/Send-65K-data.any-expected.txt: Added.
- platform/mac-catalina-wk2/imported/w3c/web-platform-tests/websockets/Send-binary-65K-arraybuffer.any-expected.txt: Added.
- platform/mac-catalina-wk2/imported/w3c/web-platform-tests/websockets/Send-binary-arraybuffer.any-expected.txt: Added.
- platform/mac-catalina-wk2/imported/w3c/web-platform-tests/websockets/Send-data.any-expected.txt: Added.
- platform/mac-catalina-wk2/imported/w3c/web-platform-tests/websockets/Send-paired-surrogates.any-expected.txt: Added.
- platform/mac-catalina-wk2/imported/w3c/web-platform-tests/websockets/basic-auth.any-expected.txt: Added.
- platform/mac-catalina-wk2/imported/w3c/web-platform-tests/websockets/basic-auth.any.worker-expected.txt: Added.
- platform/mac-catalina-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-arraybuffer-expected.txt: Added.
- platform/mac-catalina-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-blob-expected.txt: Added.
- platform/mac-catalina-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-getting-expected.txt: Added.
- platform/mac-catalina-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-large-expected.txt: Added.
- platform/mac-catalina-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-unicode-expected.txt: Added.
- platform/mac-catalina-wk2/imported/w3c/web-platform-tests/websockets/remove-own-iframe-during-onerror.window-expected.txt: Added.
- platform/mac-catalina/fast/text/basic/014-expected.txt: Copied from LayoutTests/platform/mac/fast/text/basic/014-expected.txt.
- platform/mac-catalina/fast/text/capitalize-boundaries-expected.txt: Copied from LayoutTests/platform/mac/fast/text/capitalize-boundaries-expected.txt.
- platform/mac-catalina/fast/text/hyphenate-avoid-orphaned-word-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphenate-avoid-orphaned-word-expected.txt.
- platform/mac-catalina/fast/text/hyphenate-character-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphenate-character-expected.txt.
- platform/mac-catalina/fast/text/hyphenate-first-word-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphenate-first-word-expected.txt.
- platform/mac-catalina/fast/text/hyphenate-limit-before-after-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphenate-limit-before-after-expected.txt.
- platform/mac-catalina/fast/text/hyphenate-limit-lines-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphenate-limit-lines-expected.txt.
- platform/mac-catalina/fast/text/hyphenate-locale-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphenate-locale-expected.txt.
- platform/mac-catalina/fast/text/hyphens-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphens-expected.txt.
- platform/mac-catalina/fast/text/midword-break-after-breakable-char-expected.txt: Copied from LayoutTests/platform/mac/fast/text/midword-break-after-breakable-char-expected.txt.
- platform/mac-catalina/imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer-expected.txt: Added.
- platform/mac-catalina/imported/w3c/web-platform-tests/media-source/mediasource-invalid-codec-expected.txt: Added.
- platform/mac-catalina/inspector/css/get-system-fonts-expected.txt: Added.
- platform/mac-catalina/platform/mac/fast/loader/file-url-mimetypes-3-expected.txt: Added.
- platform/mac-catalina/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt: Added.
- platform/mac-wk1/TestExpectations:
- platform/mac-wk1/editing/mac/attributed-string/anchor-element-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/attrib-string-colors-with-color-filter-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/attribute-string-for-copy-with-color-filter-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-1-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-2-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-3-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-4-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-5-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-with-style-1-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/attributed-string-across-shadow-boundaries-with-style-2-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/attributed-string-for-typing-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/attributed-string-for-typing-with-color-filter-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/basic-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/comment-cdata-section-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/font-size-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/font-style-variant-effect-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/font-weight-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/letter-spacing-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/text-decorations-expected.txt:
- platform/mac-wk1/editing/mac/attributed-string/vertical-align-expected.txt:
- platform/mac-wk1/fast/scrolling/latching/iframe-latch-small-deltas-expected.txt:
- platform/mac-wk2/TestExpectations:
- platform/mac-wk2/fast/events/contextmenu-lookup-action-for-image-expected.txt: Added.
- platform/mac-wk2/http/tests/security/mixedContent/websocket/insecure-websocket-in-iframe-expected.txt: Added.
- platform/mac-wk2/http/tests/security/mixedContent/websocket/insecure-websocket-in-main-frame-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/media-source/mediasource-invalid-codec-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/service-workers/service-worker/websocket-in-service-worker.https-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/service-workers/service-worker/websocket.https-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/websockets/Send-65K-data.any-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/websockets/Send-binary-65K-arraybuffer.any-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/websockets/Send-binary-arraybuffer.any-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/websockets/Send-data.any-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/websockets/Send-paired-surrogates.any-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/websockets/basic-auth.any-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/websockets/basic-auth.any.worker-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-arraybuffer-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-blob-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-getting-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-large-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-unicode-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/websockets/remove-own-iframe-during-onerror.window-expected.txt: Added.
- platform/mac/TestExpectations:
- platform/mac/fast/forms/button-sizes-expected.txt:
- platform/mac/fast/forms/input-appearance-spinbutton-expected.txt:
- platform/mac/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt:
- platform/mac/fast/forms/select/optgroup-rendering-expected.txt:
- platform/mac/fast/text/basic/014-expected.txt:
- platform/mac/fast/text/capitalize-boundaries-expected.txt:
- platform/mac/fast/text/hyphenate-avoid-orphaned-word-expected.txt:
- platform/mac/fast/text/hyphenate-character-expected.txt:
- platform/mac/fast/text/hyphenate-first-word-expected.txt:
- platform/mac/fast/text/hyphenate-limit-before-after-expected.txt:
- platform/mac/fast/text/hyphenate-limit-lines-expected.txt:
- platform/mac/fast/text/hyphenate-locale-expected.txt:
- platform/mac/fast/text/hyphens-expected.txt:
- platform/mac/fast/text/midword-break-after-breakable-char-expected.txt:
- platform/mac/inspector/css/get-system-fonts-expected.txt: Added.
- platform/mac/media/media-source/media-source-webm-vp8-malformed-header-expected.png: Added.
- platform/mac/platform/mac/fast/loader/file-url-mimetypes-3-expected.txt: Added.
- 1:05 PM Changeset in webkit [280195] by
-
- 9 edits in trunk/Source
Fix uses of Dependency::fence with respect to the compiler outsmarting us
https://bugs.webkit.org/show_bug.cgi?id=227757
<rdar://problem/80280931>
Reviewed by Robin Morisset.
Source/JavaScriptCore:
We were running into issues on arm64 with respect to the memory model
ordering of loads, and how the compiler optimized code around Dependency::fence.
The issue manifested as calls to isMarked incorrectly returning true.
To see the issue, let's consider a program like this:
a = load(p1)
b = load(p2)
if (a != b) return;
d = Dependency::fence(b)
At the point of defining the dependency, the compiler has proven
a == b. So, instead of building the dependency on the register used
for b, we end up using the register for a. So the actual compiled
code ends up with a dependency on load(p1), not load(p2).
To fix this, we end up adding a new API, Dependency::loadEndFence(pointer,
result), which is defined as:
template<typename T>
static Dependency loadAndFence(T* pointer, T& output)
{
T value = *opaque(pointer);
Dependency dependency = Dependency::fence(value);
output = opaque(value);
return dependency;
}
The reason for this is that it split "b" in the above program into two values,
and the "b" the program compares against is not known to the compiler to be
the same value that we build a dependency on.
- heap/MarkedBlock.h:
(JSC::MarkedBlock::aboutToMark):
(JSC::MarkedBlock::isMarked):
- runtime/JSObject.cpp:
(JSC::JSObject::visitButterflyImpl):
- runtime/JSObject.h:
(JSC::JSObject::fencedButterfly):
- runtime/SparseArrayValueMap.cpp:
(JSC::SparseArrayEntry::getConcurrently):
(JSC::SparseArrayEntry::getConcurrently const): Deleted.
- runtime/SparseArrayValueMap.h:
- runtime/Structure.h:
(JSC::Structure::fencedIndexingMode):
- runtime/StructureIDBlob.h:
(JSC::StructureIDBlob::fencedIndexingModeIncludingHistory):
Source/WTF:
- wtf/Atomics.h:
(WTF::opaque):
(WTF::Dependency::loadAndFence):
- 1:04 PM Changeset in webkit [280194] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, follow-up after r280193
https://bugs.webkit.org/show_bug.cgi?id=228142
I accidentally reverted auto change when switching branches.
- wtf/text/AtomStringImpl.cpp:
(WTF::UCharBufferTranslator::equal):
(WTF::LCharBufferTranslator::equal):
(WTF::BufferFromStaticDataTranslator::equal):
- 12:18 PM Changeset in webkit [280193] by
-
- 17 edits in trunk
Micro-optimize innerHTML
https://bugs.webkit.org/show_bug.cgi?id=228142
Reviewed by Simon Fraser.
Source/WebCore:
No behavior change.
This patch does some micro optimizations revealed by the profiler when running some of Speedometer2 tests which intensively use innerHTML.
This offers improvement in jQuery-TodoMVC and Vanilla-ES2015-Babel-Webpack-TodoMVC since both are super innerHTML heavy benchmarks.
| subtest | ms | ms | b / a | pValue (significance using False Discovery Rate) |
| Elm-TodoMVC |126.862500 |126.687500 |0.998621 | 0.673462 |
| VueJS-TodoMVC |27.775000 |27.645833 |0.995350 | 0.741588 |
| EmberJS-TodoMVC |129.350000 |129.129167 |0.998293 | 0.624196 |
| BackboneJS-TodoMVC |51.129167 |51.204167 |1.001467 | 0.716622 |
| Preact-TodoMVC |21.870833 |21.337500 |0.975614 | 0.217771 |
| AngularJS-TodoMVC |139.854167 |140.266667 |1.002950 | 0.489838 |
| Vanilla-ES2015-TodoMVC |69.229167 |68.895833 |0.995185 | 0.238772 |
| Inferno-TodoMVC |68.391667 |68.266667 |0.998172 | 0.762281 |
| Flight-TodoMVC |77.979167 |78.166667 |1.002404 | 0.710324 |
| Angular2-TypeScript-TodoMVC |39.741667 |39.966667 |1.005662 | 0.524123 |
| VanillaJS-TodoMVC |55.416667 |55.512500 |1.001729 | 0.781447 |
| jQuery-TodoMVC |268.812500 |266.966667 |0.993133 | 0.003384 (significant) |
| EmberJS-Debug-TodoMVC |345.383333 |345.662500 |1.000808 | 0.695259 |
| React-TodoMVC |90.679167 |90.179167 |0.994486 | 0.067477 |
| React-Redux-TodoMVC |152.691667 |152.687500 |0.999973 | 0.991207 |
| Vanilla-ES2015-Babel-Webpack-TodoMVC |66.487500 |65.729167 |0.988594 | 0.000118 (significant) |
a mean = 242.12319
b mean = 242.80485
pValue = 0.1992654128
(Bigger means are better.)
1.003 times better
Results ARE NOT significant
- html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertTextNode):
- html/parser/HTMLConstructionSite.h:
- html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizerLoop): We do not need to call
shrinkToBestFit
in fragment parsing case since
we will discard HTMLToken soon.
- html/parser/HTMLMetaCharsetParser.cpp:
(WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::HTMLPreloadScanner::scan):
- html/parser/HTMLToken.h:
(WebCore::HTMLToken::clear): We found that these
clear
calls cause performance problem according to the Instruments: we
repeatedly use this Vector, and we repeatedly allocate and deallocate this Vector unnecessarily. We useresize(0)
instead
to avoid this allocation and deallocation.
(WebCore::HTMLToken::shrinkToBestFit): But HTMLToken is kept so long, so at some point, we would like to make backing storage
small. So, we add shrinkToBestFit and we call it only after finishing batching of HTMLToken processing.
(WebCore::HTMLToken::beginStartTag):
(WebCore::HTMLToken::beginEndTag):
- html/parser/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::shrinkToBestFit):
- html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::characterPredicate):
(WebCore::HTMLTreeBuilder::insertPhoneNumberLink):
(WebCore::HTMLTreeBuilder::linkifyPhoneNumbers):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
(WebCore::HTMLTreeBuilder::processCharacterBufferForInBody):
(WebCore::HTMLTreeBuilder::defaultForInTableText):
(WebCore::HTMLTreeBuilder::processTokenInForeignContent):
(WebCore::HTMLTreeBuilder::processFakeCharacters): Deleted. It is dead code before this patch.
- html/parser/HTMLTreeBuilder.h:
Source/WTF:
- wtf/Vector.h:
(WTF::Malloc>::shrinkToBestFit): This shrinks the backing storage to "appropriate for the living Vector".
- wtf/text/AtomStringImpl.cpp:
(WTF::UCharBufferTranslator::equal): WTF::equal for String does not check hash. This is because computing hash is expensive
and we would like to avoid that if it is not necessary. But when inserting string into AtomStringTable, we can use hash value
since they must be already computed because of HashMap's requirement. So let's use it before calling WTF::equal.
(WTF::LCharBufferTranslator::equal):
(WTF::BufferFromStaticDataTranslator::equal):
- wtf/text/StringView.h:
(WTF::StringView::stripLeadingMatchedCharacters): Add this and use it in HTMLTreeBuilder.
Tools:
- TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
- 12:13 PM Changeset in webkit [280192] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [iOS] ASSERTION FAILED: !m_messageReceiverMapCount under WebKit::RemoteAudioHardwareListener::~RemoteAudioHardwareListener().
https://bugs.webkit.org/show_bug.cgi?id=228038
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 12:12 PM Changeset in webkit [280191] by
-
- 3 edits in trunk/Source/JavaScriptCore
useProfiler option should automatically disable concurrent JIT
https://bugs.webkit.org/show_bug.cgi?id=228152
Reviewed by Saam Barati.
The bytecode profiler is not thread safe so we should have
recomputeDependentOptions() disable concurrent JIT. Also, fix the
jsc CLI to set the useProfiler option rather than have its own
state. Note, we call Options::setOption() rather than setting the
Options::useProfiler() option directly as setOption calls
recomputeDependentOptions() for us.
- jsc.cpp:
(CommandLine::parseArguments):
(runJSC):
- runtime/Options.cpp:
(JSC::Options::recomputeDependentOptions):
(JSC::Options::ensureOptionsAreCoherent):
- 12:00 PM Changeset in webkit [280190] by
-
- 3 edits in trunk/Source/WebCore
Rename EventHandler::m_textRecognitionHoverTimerFired()
https://bugs.webkit.org/show_bug.cgi?id=228183
rdar://78933684
Reviewed by Tim Horton.
When upstreaming support for Live Text in WebKit, I accidentally renamed the method
imageExtractionTimerFired()
tom_textRecognitionHoverTimerFired()
.
- page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::textRecognitionHoverTimerFired):
(WebCore::EventHandler::m_textRecognitionHoverTimerFired): Deleted.
- page/EventHandler.h:
- 11:26 AM Changeset in webkit [280189] by
-
- 2 edits in trunk/LayoutTests
[Mac wk2] http/tests/media/hls/hls-webvtt-seek-backwards.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=228189.
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 11:18 AM Changeset in webkit [280188] by
-
- 1 copy in tags/Safari-612.1.24.11.1
Tag Safari-612.1.24.11.1.
- 11:10 AM Changeset in webkit [280187] by
-
- 7 edits in branches/safari-612.1.24.11-branch/Source/JavaScriptCore
Cherry-pick r280066. rdar://problem/80851562
[JSC] StructureStubInfo's m_identifier should follow to the same protocol of inlineAccessBaseStructure
https://bugs.webkit.org/show_bug.cgi?id=228092
Reviewed by Saam Barati.
In r279813, we fixed a race condition related to inlineAccessBaseStructure: while we clear inlineAccessBaseStructure,
we still run code relying on this field's value until stub version of the code is generated. As a result,
we run the code which relies on the cells that are already collected. And we have the same problem with
m_identifier field too. This patch makes m_identifier follow to the same protocol of inlineAccessBaseStructure
so that we fix this race issue too: both fields will be alive until we switch to the code that are not relying on these
fields.
We also make inlineAccessBaseStructure to m_inlineAccessBaseStructure to easily find that this is member field.
And we also use setWithoutWriteBarrier for m_inlineAccessBaseStructure since we emit codeBlock->vm().heap.writeBarrier(codeBlock)
immediately after that.
- bytecode/AccessCase.cpp: (JSC::AccessCase::fromStructureStubInfo):
- bytecode/GetByStatus.cpp: (JSC::GetByStatus::computeForStubInfoWithoutExitSiteFeedback):
- bytecode/InByStatus.cpp: (JSC::InByStatus::computeForStubInfoWithoutExitSiteFeedback):
- bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeForStubInfo):
- bytecode/StructureStubInfo.cpp: (JSC::StructureStubInfo::initGetByIdSelf): (JSC::StructureStubInfo::initArrayLength): (JSC::StructureStubInfo::initStringLength): (JSC::StructureStubInfo::initPutByIdReplace): (JSC::StructureStubInfo::initInByIdSelf): (JSC::StructureStubInfo::addAccessCase): (JSC::StructureStubInfo::reset): (JSC::StructureStubInfo::visitAggregateImpl): (JSC::StructureStubInfo::visitWeakReferences): (JSC::StructureStubInfo::propagateTransitions): (JSC::StructureStubInfo::setCacheType): Deleted.
- bytecode/StructureStubInfo.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:10 AM Changeset in webkit [280186] by
-
- 7 edits1 add in branches/safari-612.1.24.11-branch
Cherry-pick r280050. rdar://problem/80851606
[JSC] InByStatus / InByVariant should visit CacheableIdentifier
https://bugs.webkit.org/show_bug.cgi?id=228088
rdar://80794604
Reviewed by Mark Lam.
JSTests:
- stress/in-by-variant-should-mark-cacheable-identifier.js: Added. (foo): (let.handler.has):
Source/JavaScriptCore:
After r278445, InByVariant holds CacheableIdentifier. And this can have
String/Symbol cells if this variant is generated by in_by_val. In that
case, we must visit this cell as GetByStatus / GetByVariant are doing.
- bytecode/InByStatus.cpp: (JSC::InByStatus::visitAggregateImpl):
- bytecode/InByStatus.h:
- bytecode/InByVariant.cpp: (JSC::InByVariant::visitAggregateImpl):
- bytecode/InByVariant.h:
- bytecode/RecordedStatuses.cpp: (JSC::RecordedStatuses::visitAggregateImpl):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:10 AM Changeset in webkit [280185] by
-
- 2 edits in branches/safari-612.1.24.11-branch/Source/WebKit
Cherry-pick r280001. rdar://problem/80788656
macOS Safari network sessions not being marked as being from a browser
https://bugs.webkit.org/show_bug.cgi?id=228028
<rdar://problem/80648664>
Reviewed by Brent Fulgham.
Move WebKitAdditions to open source to communicate full web browser
status to the networking stack. In the macOS case, we don't have
a full browser entitlement, so we should check for Safari.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::SessionWrapper::initialize): The name com.apple.WebKit.InAppBrowser is not the most accurate name, but changing it would require syncing with other parts of the network stack. We should do this in a separate bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280001 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:06 AM Changeset in webkit [280184] by
-
- 8 edits in branches/safari-612.1.24.11-branch/Source
Versioning.
WebKit-7612.1.24.11.1
- 11:04 AM Changeset in webkit [280183] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r279992): Crashes under RemoteLayerBackingStore::applyBackingStoreToLayer() in macCatalyst
https://bugs.webkit.org/show_bug.cgi?id=228181
rdar://80923581
Reviewed by Dan Bates.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
r279992 reorganized this code to determine the contents object and then
set it on the layer, instead of setting it directly; this means that the
lifetime of the contents object must be extended.
Interestingly, the common case (the CAMachPort case), as well as the
case I was actually adding in r279992 both were safe, because of the use
of autorelease. (macCatalyst uses IOSurface as layer contents directly,
without CAMachPort, so uses the one path that r279992 broke).
It is unnecessary to use autorelease; instead just store the contents
object in a RetainPtr until it is set.
- 10:53 AM Changeset in webkit [280182] by
-
- 1 copy in branches/safari-612.1.24.11-branch
New branch.
- 10:44 AM Changeset in webkit [280181] by
-
- 10 edits in trunk
XHR.send(Document) should replace mismatched surrogates with replacement character before sending
https://bugs.webkit.org/show_bug.cgi?id=228170
Patch by Alex Christensen <achristensen@webkit.org> on 2021-07-22
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/xhr/send-entity-body-document-bogus-expected.txt:
Source/WebCore:
This matches the behavior of Chrome and Firefox.
Covered by a newly passing WPT test.
- bindings/js/JSDOMConvertStrings.cpp:
(WebCore::identifierToUSVString):
(WebCore::valueToUSVString):
(WebCore::stringToUSVString): Deleted.
- bindings/js/JSDOMConvertStrings.h:
- css/parser/CSSTokenizer.cpp:
(WebCore::preprocessString):
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::send):
Source/WTF:
- wtf/text/WTFString.cpp:
(WTF::replaceUnpairedSurrogatesWithReplacementCharacter):
- wtf/text/WTFString.h:
Move from WebCore, rename as suggested, update spec link to one that works.
- 10:28 AM Changeset in webkit [280180] by
-
- 2 edits in trunk/Tools
[ BigSur Debug ] TestWebKitAPI.GPUProcess.CrashWhilePlayingAudioViaCreateMediaElementSource is flaky, hitting ASSERTION FAILED: !isInRoutingArbitrationForToken(token)
https://bugs.webkit.org/show_bug.cgi?id=227728
Unreviewed API test gardening.
- TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
- 10:18 AM Changeset in webkit [280179] by
-
- 3 edits in trunk/Source/WebCore
Compilation error with gcc version 9.3.0 (Buildroot 2020.08-14-ge5a2a90)
https://bugs.webkit.org/show_bug.cgi?id=228184
Reviewed by Chris Dumez.
Turn destructors into virtual ones for RTCRtpReceiver and RTCRtpSender.
It seems that gcc doesn't create a virtual table for these classes, while clang does. That
would the cause, when compiling clang, ImplementationLacksVTable is not needed in the IDL
file. The approach for this fix to force the virtual table creation by turning destructors
into virtual.
No new tests needed.
- Modules/mediastream/RTCRtpReceiver.h:
- Modules/mediastream/RTCRtpSender.h:
- 10:07 AM Changeset in webkit [280178] by
-
- 11 edits in trunk/Source
Avoid Quick Note overlay when scrolling to show a highlight
https://bugs.webkit.org/show_bug.cgi?id=228172
Reviewed by Wenson Hsieh and Tim Horton.
When scrolling to show the selected highlight after clicking on one in the QuickNote overlay,
make sure to avoid the Quick Note overlay, so that the user can actually see the highlight.
This required calculating more information about the selection rect for iOS, and also piping through
information to have the selection rect be the entire rect, rather that just the caret and the end of selection.
Source/WebCore:
- Modules/highlight/AppHighlightStorage.cpp:
(WebCore::AppHighlightStorage::attemptToRestoreHighlightAndScroll):
- editing/Editor.cpp:
(WebCore::TemporarySelectionChange::setSelection):
- editing/Editor.h:
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::updateAndRevealSelection):
(WebCore::FrameSelection::selectionBounds const):
- editing/FrameSelection.h:
Source/WebKit:
- Platform/spi/Cocoa/SynapseSPI.h:
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView adjustScrollRect:]):
(-[WKWebView _scrollToRect:origin:minimumScrollDistance:]):
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::appHighlightsNoteOverlayRect):
- UIProcess/WebPageProxy.h:
- 9:56 AM Changeset in webkit [280177] by
-
- 1 copy in branches/safari-612.1.25-branch
New branch.
- 9:49 AM Changeset in webkit [280176] by
-
- 17 edits3 deletes in trunk
[macOS Debug] Layout Test imported/w3c/web-platform-tests/IndexedDB/open-request-queue.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=172044
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/IndexedDB/open-request-queue-expected.txt:
Source/WebCore:
We used to start handling delete request when there is still open request in flight. We should start a request
after previous requests are done, to match spec (https://www.w3.org/TR/IndexedDB/#delete-a-database) and other
browsers' behavior.
Updated and rebaselined existing tests.
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::handleDatabaseOperations):
(WebCore::IDBServer::UniqueIDBDatabase::startVersionChangeTransaction):
LayoutTests:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-expected.txt:
- storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-private-expected.txt:
- storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
- storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-private-expected.txt:
- storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt:
- storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-private-expected.txt:
- storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers-expected.txt:
- storage/indexeddb/intversion-long-queue-expected.txt:
- storage/indexeddb/intversion-long-queue-private-expected.txt:
- storage/indexeddb/modern/deletedatabase-2-private.html: Removed. This test checks if a delete request is
started when there are ongoing open requests. We are removing this behavior to match spec so we don't need to
keep the test.
- storage/indexeddb/modern/deletedatabase-2.html: Removed. Ditto.
- storage/indexeddb/modern/resources/deletedatabase-2.js: Removed. Ditto.
- storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
(versionChangeCallback):
(deleteBlockedCallback):
- storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
(initiallyDeleted):
- storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
(onOpenSuccess):
- 9:37 AM Changeset in webkit [280175] by
-
- 3 edits2 adds in trunk
REGRESSION(r269745) Google Developers maps does not fully load
https://bugs.webkit.org/show_bug.cgi?id=228182
<rdar://79787819>
Reviewed by Antti Koivisto.
Source/WebCore:
IFC integration does not support cases when the inline level element stretches as the containing block size changes.
This should include both percent and calc width/height values.
Test: fast/inline/incorrect-sizing-with-calc.html
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForChild):
LayoutTests:
- fast/inline/incorrect-sizing-with-calc-expected.html: Added.
- fast/inline/incorrect-sizing-with-calc.html: Added.
- 9:27 AM Changeset in webkit [280174] by
-
- 9 edits in trunk
nullptr crash in ApplyStyleCommand::applyRelativeFontStyleChange
https://bugs.webkit.org/show_bug.cgi?id=223974
Patch by Frédéric Wang <fwang@igalia.com> on 2021-07-22
Reviewed by Darin Adler.
Source/WebCore:
WebCore::documentOrder does not handle well elements like <summary> that contains a
shadow substree. This is causing assertion failures in debug build when setting start/end
selection and nullptr crashes in release build when trying to browse selection between these
start and end nodes. This patch fixes that issue by switching to shadow including tree order
for these particular cases. It introduces a generic treeOrder<TreeType>(a, b) function that
can be used for TreeType = ShadowIncludingTree as well as by WebCore::documentOrder.
- dom/Node.cpp: Explicitly instantiate commonInclusiveAncestor<ShadowIncludingTree> so that it can be used
by WebCore::treeOrder.
- dom/Position.cpp: Explicitly instantiate templates.
(WebCore::treeOrder): Convert documentOrder to a template parametrized by TreeType.
(WebCore::documentOrder): Implement it with treeOrder<ComposedTree>.
- dom/Position.h: Delcare new template.
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::updateStartEnd): Use treeOrder<ShadowIncludingTree>.
(WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
- editing/VisiblePosition.cpp:
(WebCore::documentOrder): Use treeOrder<ShadowIncludingTree>.
- editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::setBaseAndExtentToDeepEquivalents): Use treeOrder<ShadowIncludingTree>.
(WebCore::VisibleSelection::setWithoutValidation): Ditto.
Tools:
- TestWebKitAPI/Tests/WebCore/DocumentOrder.cpp: Update FIXME.
- 4:48 AM Changeset in webkit [280173] by
-
- 3 edits in trunk/Source/WTF
Add CPU(RISCV64)
https://bugs.webkit.org/show_bug.cgi?id=228178
Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-07-22
Reviewed by Adrian Perez de Castro.
Detect when compiling for the RISC-V 64-bit architecture and define
the WTF_CPU_RISCV64 macro under that condition, enabling use of
CPU(RISCV64) build guards.
- wtf/PageBlock.h: Use 4 kB as the page size ceiling for CPU(RISCV64).
- wtf/PlatformCPU.h:
- 3:54 AM Changeset in webkit [280172] by
-
- 16 edits in trunk
[GLib] Expose API to access/modify capture devices states
https://bugs.webkit.org/show_bug.cgi?id=227902
Reviewed by Carlos Garcia Campos.
Source/WebKit:
Introduce new GLib API (and corresponding GObject properties):
webkit_web_view_get_camera_capture_state
webkit_web_view_get_microphone_capture_state
webkit_web_view_set_camera_capture_state
webkit_web_view_set_microphone_capture_state
webkit_web_view_get_display_capture_state
webkit_web_view_set_display_capture_state
webkit_user_media_permission_is_for_display_device
This can be useful in Web browsers willing to indicate the status of the capture devices
currently in use by the WebView.
Covered by API tests.
- UIProcess/API/glib/WebKitUIClient.cpp:
- UIProcess/API/glib/WebKitUserMediaPermissionRequest.cpp:
(webkit_user_media_permission_is_for_display_device):
- UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewMediaCaptureStateDidChange):
(webkitWebViewSetProperty):
(webkitWebViewGetProperty):
(webkit_web_view_class_init):
(webkitWebViewConfigureMediaCapture):
(webkit_web_view_get_camera_capture_state):
(webkit_web_view_set_camera_capture_state):
(webkit_web_view_get_microphone_capture_state):
(webkit_web_view_set_microphone_capture_state):
(webkit_web_view_get_display_capture_state):
(webkit_web_view_set_display_capture_state):
- UIProcess/API/glib/WebKitWebViewPrivate.h:
- UIProcess/API/gtk/WebKitUserMediaPermissionRequest.h:
- UIProcess/API/gtk/WebKitWebView.h:
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
- UIProcess/API/wpe/WebKitUserMediaPermissionRequest.h:
- UIProcess/API/wpe/WebKitWebView.h:
- UIProcess/API/wpe/docs/wpe-1.0-sections.txt:
Tools:
The GTK MiniBrowser is now able to show media capture indicators, through the URI entry. A
new API test was added, checking support for getDisplayMedia().
- MiniBrowser/gtk/BrowserTab.c:
(decidePermissionRequest):
- MiniBrowser/gtk/BrowserWindow.c:
(webViewMediaCaptureStateChanged):
(webViewUriEntryIconPressed):
(browserWindowSwitchTab):
- TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewUserMediaPermissionRequests):
(testWebViewAudioOnlyUserMediaPermissionRequests):
(testWebViewDisplayUserMediaPermissionRequests):
(beforeAll):
- TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(displayCaptureChanged):
(WebViewTest::waitUntilDisplayCaptureStateChangedTo):
(microphoneCaptureChanged):
(WebViewTest::waitUntilMicrophoneCaptureStateChangedTo):
(cameraCaptureChanged):
(WebViewTest::waitUntilCameraCaptureStateChangedTo):
- TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
- flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
- 2:00 AM Changeset in webkit [280171] by
-
- 15 edits in trunk/Source
[css-scroll-snap] Pass the full target point when selecting a snap offset
https://bugs.webkit.org/show_bug.cgi?id=228023
Reviewed by Frédéric Wang.
Source/WebCore:
Pass the full proposed destination scroll offset when calling closestSnapOffset. For
now, only the component in the scroll direction is used, but eventually the other
component will be used to avoid snapping to snap areas that are entirely off the screen.
No new tests. This change is simply a refactor in preparation for a behavior
change and shouldn't change behavior itself.
- page/scrolling/ScrollSnapOffsetsInfo.cpp:
(WebCore::closestSnapOffsetWithInfoAndAxis):
(WebCore::LayoutScrollSnapOffsetsInfo::closestSnapOffset const):
(WebCore::FloatScrollSnapOffsetsInfo::closestSnapOffset const):
- page/scrolling/ScrollSnapOffsetsInfo.h:
- page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::handleWheelEvent):
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::scroll):
(WebCore::ScrollAnimator::adjustScrollOffsetForSnappingIfNeeded):
- platform/ScrollAnimator.h:
- platform/ScrollController.cpp:
(WebCore::ScrollController::setNearestScrollSnapIndexForAxisAndOffset):
(WebCore::ScrollController::adjustScrollDestination):
(WebCore::ScrollController::updateActiveScrollSnapIndexForClientOffset):
(WebCore::ScrollController::resnapAfterLayout):
- platform/ScrollController.h:
- platform/ScrollSnapAnimatorState.cpp:
(WebCore::ScrollSnapAnimatorState::setupAnimationForState):
(WebCore::ScrollSnapAnimatorState::targetOffsetForStartOffset const):
- platform/ScrollSnapAnimatorState.h:
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::doPostThumbMoveSnapping):
Source/WebKit:
- UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
- UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm:
(WebKit::RemoteScrollingCoordinatorProxy::adjustTargetContentOffsetForSnapping):
(WebKit::RemoteScrollingCoordinatorProxy::closestSnapOffsetForMainFrameScrolling const):
- UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:
(-[WKScrollingNodeScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]):
Jul 21, 2021:
- 8:19 PM Changeset in webkit [280170] by
-
- 3 edits in trunk/LayoutTests
Update LayoutTests/TestExpectations for imported w3c IndexedDB tests
https://bugs.webkit.org/show_bug.cgi?id=228169
Reviewed by Chris Dumez.
Update LayoutTests/TestExpectations based on latest test results as we have fixed some existing issues, and we
no longer expect these tests to fail.
- TestExpectations:
- platform/wpe/TestExpectations:
- 5:23 PM Changeset in webkit [280169] by
-
- 2 edits in trunk/LayoutTests
[iOS Debug] media/media-usage-state-private-browsing.html is crashing.
https://bugs.webkit.org/show_bug.cgi?id=228171
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 5:06 PM Changeset in webkit [280168] by
-
- 1 copy in tags/Safari-612.1.24.1.4
Tag Safari-612.1.24.1.4.
- 5:05 PM Changeset in webkit [280167] by
-
- 1 copy in tags/Safari-612.1.24.0.4
Tag Safari-612.1.24.0.4.
- 4:18 PM Changeset in webkit [280166] by
-
- 2 edits in trunk/Tools
MiniBrowser xcconfig should include ccache.xcconfig conditionally
https://bugs.webkit.org/show_bug.cgi?id=228126
Reviewed by Tim Horton.
- MiniBrowser/Configurations/DebugRelease.xcconfig:
- 4:06 PM Changeset in webkit [280165] by
-
- 3 edits in trunk/LayoutTests
REGRESSION(r279971): [ Mac , iOS ] imported/w3c/web-platform-tests/webmessaging/broadcastchannel/blobs.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=228168.
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 3:43 PM Changeset in webkit [280164] by
-
- 2 edits in trunk/LayoutTests
[iOS Debug] media/media-fragments/TC0003.html is flaky crashing.
https://bugs.webkit.org/show_bug.cgi?id=228167
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:24 PM Changeset in webkit [280163] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix type check error in testb3
https://bugs.webkit.org/show_bug.cgi?id=228166
Reviewed by Saam Barati.
- b3/testb3_2.cpp:
(testXorNotWithLeftShift32):
(testXorNotWithRightShift32):
(testXorNotWithUnsignedRightShift32):
- 2:43 PM Changeset in webkit [280162] by
-
- 2 edits in trunk/LayoutTests
[iOS Debug] http/tests/resourceLoadStatistics/website-data-removal-for-site-with-user-interaction.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=228164
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 2:16 PM Changeset in webkit [280161] by
-
- 2 edits in trunk/LayoutTests
[iOS] http/wpt/webrtc/transfer-datachannel-service-worker.https.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=228165
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 1:59 PM Changeset in webkit [280160] by
-
- 6 edits in trunk/Source/WebKit
RunningBoard kills the network process if it is still holding the "holding locked file" assertion upon suspension
https://bugs.webkit.org/show_bug.cgi?id=228148
Reviewed by Sihui Liu.
RunningBoard kills the network process if it is still holding the "holding locked file" assertion upon suspension
because our assertion type is "uninterruptible" and we don't release it when it gets invalidated. To address the
issue, we now use an "interruptible" assertion instead when holding locked files.
- NetworkProcess/ios/NetworkProcessIOS.mm:
(WebKit::NetworkProcess::setIsHoldingLockedFiles):
- UIProcess/ProcessAssertion.h:
- UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::assertionName const):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didSetAssertionType):
- UIProcess/ios/ProcessAssertionIOS.mm:
(WebKit::runningBoardNameForAssertionType):
(WebKit::runningBoardDomainForAssertionType):
- 1:33 PM Changeset in webkit [280159] by
-
- 3 edits in trunk/LayoutTests
[GTK][WPE] Update test expectations after r279987 and r280077.
Unreviewed test gardening.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- 1:31 PM Changeset in webkit [280158] by
-
- 4 edits in trunk/Source
Add linkedOnOrAfter check for r269162
https://bugs.webkit.org/show_bug.cgi?id=228154
Source/WebCore:
<rdar://78575888>
Patch by Alex Christensen <achristensen@webkit.org> on 2021-07-21
Reviewed by Geoffrey Garen.
That revision broke some programs, but only on macOS.
On iOS, we needed SecKeyProxy and WKNavigationDelegate to get client certificates to send.
Add a linkedOnOrAfter check until they update to use WKNavigationDelegate instead of default keychain behavior.
- platform/cocoa/VersionChecks.h:
Source/WebKit:
Patch by Alex Christensen <achristensen@webkit.org> on 2021-07-21
Reviewed by Geoffrey Garen.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::configurationForSessionID):
- 1:29 PM Changeset in webkit [280157] by
-
- 3 edits in trunk/Source/WebKit
REGRESSION (r278916): Hitting ASSERT(!m_db.m_transactionInProgress) in SQLiteTransaction::begin()
https://bugs.webkit.org/show_bug.cgi?id=228151
<rdar://80231894>
Reviewed by Geoffrey Garen.
Because it is hard to keep track of whether or not a transaction has already been started in
ResourceLoadStatisticsDatabaseStore code and because passing a transaction as parameter adds
a lot of function overloads, I decided to switch to another approach. I added a
beginTransactionIfNecessary() member function that begins a transaction if there isn't one
already going on. This way, we can safely ask to begin a transaction within the scope of
a function (if we're about to do several write statements), without having to worry about
whether or not our caller already started a transaction.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::ResourceLoadStatisticsDatabaseStore):
(WebKit::ResourceLoadStatisticsDatabaseStore::migrateDataToNewTablesIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::addMissingColumnsToTable):
(WebKit::ResourceLoadStatisticsDatabaseStore::addMissingTablesIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::ensureAndMakeDomainList):
(WebKit::ResourceLoadStatisticsDatabaseStore::insertDomainRelationshipList):
(WebKit::ResourceLoadStatisticsDatabaseStore::insertDomainRelationships):
(WebKit::ResourceLoadStatisticsDatabaseStore::populateFromMemoryStore):
(WebKit::ResourceLoadStatisticsDatabaseStore::merge):
(WebKit::ResourceLoadStatisticsDatabaseStore::mergeStatistic):
(WebKit::ResourceLoadStatisticsDatabaseStore::mergeStatistics):
(WebKit::ResourceLoadStatisticsDatabaseStore::reclassifyResources):
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccessUnderOpener):
(WebKit::ResourceLoadStatisticsDatabaseStore::grantStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::grantStorageAccessInternal):
(WebKit::ResourceLoadStatisticsDatabaseStore::grandfatherDataForDomains):
(WebKit::ResourceLoadStatisticsDatabaseStore::ensurePrevalentResourcesForDebugMode):
(WebKit::ResourceLoadStatisticsDatabaseStore::logFrameNavigation):
(WebKit::ResourceLoadStatisticsDatabaseStore::logCrossSiteLoadWithLinkDecoration):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearTopFrameUniqueRedirectsToSinceSameSiteStrictEnforcement):
(WebKit::ResourceLoadStatisticsDatabaseStore::logUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::hasHadUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::setPrevalentResource):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearPrevalentResource):
(WebKit::ResourceLoadStatisticsDatabaseStore::setGrandfathered):
(WebKit::ResourceLoadStatisticsDatabaseStore::setIsScheduledForAllButCookieDataRemoval):
(WebKit::ResourceLoadStatisticsDatabaseStore::setSubframeUnderTopFrameDomain):
(WebKit::ResourceLoadStatisticsDatabaseStore::setSubresourceUnderTopFrameDomain):
(WebKit::ResourceLoadStatisticsDatabaseStore::setSubresourceUniqueRedirectTo):
(WebKit::ResourceLoadStatisticsDatabaseStore::setSubresourceUniqueRedirectFrom):
(WebKit::ResourceLoadStatisticsDatabaseStore::setTopFrameUniqueRedirectTo):
(WebKit::ResourceLoadStatisticsDatabaseStore::setTopFrameUniqueRedirectFrom):
(WebKit::ResourceLoadStatisticsDatabaseStore::registrableDomainsToDeleteOrRestrictWebsiteDataFor):
(WebKit::ResourceLoadStatisticsDatabaseStore::setLastSeen):
(WebKit::ResourceLoadStatisticsDatabaseStore::setVeryPrevalentResource):
(WebKit::ResourceLoadStatisticsDatabaseStore::includeTodayAsOperatingDateIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::insertExpiredStatisticForTesting):
(WebKit::ResourceLoadStatisticsDatabaseStore::insertPrivateClickMeasurement):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearPrivateClickMeasurement):
(WebKit::ResourceLoadStatisticsDatabaseStore::markAttributedPrivateClickMeasurementsAsExpiredForTesting):
(WebKit::ResourceLoadStatisticsDatabaseStore::beginTransactionIfNecessary):
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- 1:27 PM Changeset in webkit [280156] by
-
- 2 edits in trunk/LayoutTests
[ Win EWS ] Multiple fast layout-tests are slowing down results
https://bugs.webkit.org/show_bug.cgi?id=228162
Unreviewed Windows test gardening to speed up EWS.
- platform/win/TestExpectations:
- 1:10 PM Changeset in webkit [280155] by
-
- 27 edits4 adds in trunk
[GTK][WPE] Allow the user to configure the MemoryPressureHandler inside the web process
https://bugs.webkit.org/show_bug.cgi?id=222738
Reviewed by Carlos Garcia Campos.
Source/WebCore:
MemoryPressureHandler::currentMemoryUsagePolicy() is now an instance method and not a class one,
so update the call in RenderLayerCompositor to use the singleton instance.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingPolicy):
Source/WebKit:
Add a new API type WebKitMemoryPressureSettings that can be used to configure the behavior
of the MemoryPressureHandler. Add a property to WebKitWebContext that can be used to pass
new settings to it, and store them inside its API::ProcessPoolConfiguration. Those settings
will be set to new web processes during the platform initialization stage.
- PlatformGTK.cmake:
- PlatformWPE.cmake:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- SourcesGTK.txt:
- SourcesWPE.txt:
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/glib/WebKitMemoryPressureSettings.cpp: Added.
(webkit_memory_pressure_settings_new):
(webkit_memory_pressure_settings_copy):
(webkit_memory_pressure_settings_free):
(webkit_memory_pressure_settings_set_memory_limit):
(webkit_memory_pressure_settings_get_memory_limit):
(webkit_memory_pressure_settings_set_conservative_threshold):
(webkit_memory_pressure_settings_get_conservative_threshold):
(webkit_memory_pressure_settings_set_strict_threshold):
(webkit_memory_pressure_settings_get_strict_threshold):
(webkit_memory_pressure_settings_set_kill_threshold):
(webkit_memory_pressure_settings_get_kill_threshold):
(webkit_memory_pressure_settings_set_poll_interval):
(webkit_memory_pressure_settings_get_poll_interval):
(webkitMemoryPressureSettingsGetMemoryPressureHandlerConfiguration):
- UIProcess/API/glib/WebKitMemoryPressureSettingsPrivate.h: Added.
- UIProcess/API/glib/WebKitWebContext.cpp:
(webkitWebContextSetProperty):
(webkitWebContextConstructed):
(webkit_web_context_class_init):
- UIProcess/API/gtk/WebKitAutocleanups.h:
- UIProcess/API/gtk/WebKitMemoryPressureSettings.h: Added.
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
- UIProcess/API/gtk/webkit2.h:
- UIProcess/API/wpe/WebKitAutocleanups.h:
- UIProcess/API/wpe/WebKitMemoryPressureSettings.h: Added.
- UIProcess/API/wpe/docs/wpe-1.0-sections.txt:
- UIProcess/API/wpe/webkit.h:
- UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/glib/WebProcessGLib.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
Source/WTF:
Add a configuration structure to MemoryPressureHandler, with the methods to encode/decode it. Also
add a method to set a configuration structure to a MemoryPressureHandler instance, and modify the
behavior so the the configuration is used when checking the memory used by the process.
- wtf/MemoryPressureHandler.cpp:
(WTF::MemoryPressureHandler::setShouldUsePeriodicMemoryMonitor):
(WTF::MemoryPressureHandler::thresholdForMemoryKill):
(WTF::MemoryPressureHandler::thresholdForPolicy):
(WTF::MemoryPressureHandler::policyForFootprint):
(WTF::MemoryPressureHandler::Configuration::Configuration):
- wtf/MemoryPressureHandler.h:
(WTF::MemoryPressureHandler::Configuration::encode const):
(WTF::MemoryPressureHandler::Configuration::decode):
(WTF::MemoryPressureHandler::setConfiguration):
Tools:
Add a test for WebKitMemoryPressureSettings API and to test WebKitWebContext with
non default WebKitMemoryPressureSettings values.
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(MemoryPressureTest::setup):
(MemoryPressureTest::teardown):
(MemoryPressureTest::webProcessTerminatedCallback):
(MemoryPressureTest::waitUntilWebProcessTerminated):
(testMemoryPressureSettings):
(beforeAll):
- TestWebKitAPI/glib/WebKitGLib/TestMain.cpp:
- TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::Test):
- 12:48 PM Changeset in webkit [280154] by
-
- 2 edits in trunk/LayoutTests
Grouped/organized expectations for 227881.
https://bugs.webkit.org/show_bug.cgi?id=227728.
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 12:26 PM Changeset in webkit [280153] by
-
- 6 edits in trunk/Source
Unreviewed, reverting r280129.
Broke the internal Monterey build bots
Reverted changeset:
"GetIdentifierStringForPreferredVoiceInListWithLocale() is
deprecated in Monterey"
https://bugs.webkit.org/show_bug.cgi?id=228066
https://commits.webkit.org/r280129
- 11:51 AM Changeset in webkit [280152] by
-
- 2 edits in trunk/LayoutTests
Update test expectations for inspector/canvas/recording-2d-full.html and inspector/canvas/recording-2d-full.html .
https://bugs.webkit.org/show_bug.cgi?id=227881.
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 11:11 AM Changeset in webkit [280151] by
-
- 4 edits in trunk
Crash in -[WKWebView takeSnapshotWithConfiguration:completionHandler:] when taking empty snapshots
https://bugs.webkit.org/show_bug.cgi?id=228134
rdar://80146087
Reviewed by Chris Dumez.
Source/WebKit:
r279006 made it so that taking empty snapshots would no longer crash due
to division by zero, or assertions on the size of the returned image.
However, the change introduced a new crash, as a result of a deallocated
completionHandler. r279006 move-captured the completion handler. However,
since completionHandler is an Objective-C block, and WebKit is built
without ARC, the move does not retain the block. Consequently, the
method can call a deallocated completion handler.
To fix, capture the local handler variable already available in the
method, which retains the completion handler using makeBlockPtr.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView takeSnapshotWithConfiguration:completionHandler:]):
Tools:
Added a test to verify the crash no longer occurs.
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm:
(-[TestSnapshotWrapper takeSnapshotWithWebView:configuration:completionHandler:]):
(TEST):
- 11:09 AM Changeset in webkit [280150] by
-
- 2 edits in trunk/LayoutTests
Update expectations for inspector/canvas/recording-webgl-snapshots.html.
https://bugs.webkit.org/show_bug.cgi?id=227881.
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 10:48 AM Changeset in webkit [280149] by
-
- 3 edits in trunk/Source/JavaScriptCore
speculateNeitherDoubleNorStringNorHeapBigInt should only have a single JSType branch
https://bugs.webkit.org/show_bug.cgi?id=228146
Reviewed by Robin Morisset.
Since StringType and HeapBigIntType are adjacent JSTypes
we can do an integer range check rather than two separate
JSType checks.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateNeitherDoubleNorHeapBigIntNorString):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- 10:24 AM Changeset in webkit [280148] by
-
- 2 edits in trunk/LayoutTests
[ BigSur Release wk2 arm64 & iOS] http/tests/appcache/fail-on-update-2.html (layout-test) is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=225665
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 10:09 AM Changeset in webkit [280147] by
-
- 8 edits in branches/safari-612.1.24.1-branch/Source
Versioning.
WebKit-7612.1.24.1.4
- 10:03 AM Changeset in webkit [280146] by
-
- 8 edits in branches/safari-612.1.24.0-branch/Source/WebKit
Cherry-pick r280122. rdar://problem/80902802
[iOS] Add SPI for internal clients to consult whether or not viewport quirks should be enabled
https://bugs.webkit.org/show_bug.cgi?id=228123
rdar://80397679
Reviewed by Dan Bernstein.
Rename the SPI added in r280119 from
-_needsSiteSpecificQuirks
to-_needsSiteSpecificViewportQuirks
, to
clarify its intent (and importantly, to differentiate it from the existing WKPreferences SPI of the same name).
This distinction is important because this readonly property acts as a hint for WebKit clients to augment
certain viewport behaviors, whereas the readwrite WKPreferences property is a way for clients to indicate that
WebKit should opt in or out of site-specific quirks (unless overridden by Web Inspector).
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _needsSiteSpecificViewportQuirks]): (-[WKWebView _needsSiteSpecificQuirks]): Deleted.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resetStateAfterProcessTermination):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCommitLoad):
- WebProcess/WebPage/WebPage.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:03 AM Changeset in webkit [280145] by
-
- 8 edits in branches/safari-612.1.24.0-branch/Source/WebKit
Cherry-pick r280119. rdar://problem/80902802
[iOS] Add SPI for internal clients to consult whether or not viewport quirks should be enabled
https://bugs.webkit.org/show_bug.cgi?id=228123
rdar://80397679
Reviewed by Tim Horton.
Add support for an SPI property on WKWebView that indicates whether site-specific quirks should be enabled.
For now, this flag is only updated whenever we commit a mainframe load, which is sufficient for the purposes of
Safari to determine whether or not to use quirked viewport behaviors for tab pill behavior.
If needed in the future, this property should probably:
- Support KVO, and...
- Change eagerly when the option is toggled via Web Inspector.
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _needsSiteSpecificQuirks]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resetStateAfterProcessTermination):
Maintain a corresponding flag on the WebPageProxy in the UI process, which starts out as
true
and is reset
if the web process terminates.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebPage/WebPage.cpp:
Add plumbing to propagate changes in the boolean flag to the UI process.
(WebKit::WebPage::didCommitLoad):
Update the flag on WebPage.
- WebProcess/WebPage/WebPage.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280119 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:01 AM Changeset in webkit [280144] by
-
- 8 edits in branches/safari-612.1.24.0-branch/Source
Versioning.
WebKit-7612.1.24.0.4
- 9:49 AM Changeset in webkit [280143] by
-
- 2 edits in trunk/LayoutTests
Revert "Added test expectations to ios-wk2."
This reverts commit 280142.
- 9:37 AM Changeset in webkit [280142] by
-
- 2 edits in trunk/LayoutTests
Added test expectations to ios-wk2.
Unreviewed test gardening.
- 9:16 AM Changeset in webkit [280141] by
-
- 6 edits in trunk/LayoutTests
[AspectRatio] Fix select-element-001.html
https://bugs.webkit.org/show_bug.cgi?id=228144
Patch by Rob Buis <rbuis@igalia.com> on 2021-07-21
Reviewed by Manuel Rego Casasnovas.
LayoutTests/imported/w3c:
Import fixed select-element-001.html based on SHA c2ddbb6.
- web-platform-tests/css/css-sizing/aspect-ratio/select-element-001-expected.html:
- web-platform-tests/css/css-sizing/aspect-ratio/select-element-001.html:
- web-platform-tests/css/css-sizing/aspect-ratio/w3c-import.log:
LayoutTests:
Now select-element-001.html passes.
- 8:32 AM Changeset in webkit [280140] by
-
- 2 edits in trunk/Source/WebKit
[GTK] Theme scrollbar css is no longer respected
https://bugs.webkit.org/show_bug.cgi?id=228145
Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2021-07-21
Reviewed by Michael Catanzaro.
Fix a fontName -> themeName typo.
- WebProcess/gtk/GtkSettingsManagerProxy.cpp:
(WebKit::GtkSettingsManagerProxy::applySettings):
- 8:31 AM Changeset in webkit [280139] by
-
- 9 edits in releases/WebKitGTK/webkit-2.32/Source/WebKit
Merge r280128 - REGRESSION(r267763): [SOUP] After network process crash, all cookies are lost until browser is restarted
https://bugs.webkit.org/show_bug.cgi?id=228128
Reviewed by Adrian Perez de Castro.
Cookies configuration is no longer stored to be sent again to the new network process after a crash.
- NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::encode const): Encode cookieAcceptPolicy.
(WebKit::NetworkSessionCreationParameters::decode): Decode cookieAcceptPolicy.
- NetworkProcess/NetworkSessionCreationParameters.h: Add cookieAcceptPolicy.
- NetworkProcess/soup/NetworkSessionSoup.cpp:
(WebKit::NetworkSessionSoup::NetworkSessionSoup): Set cookie accept policy on NetworkStorageSession.
- UIProcess/API/glib/WebKitCookieManager.cpp:
(webkit_cookie_manager_set_persistent_storage): Use WebsiteDataStore API to cache the given values.
(webkit_cookie_manager_set_accept_policy): Ditto.
- UIProcess/WebCookieManagerProxy.h:
- UIProcess/WebsiteData/WebsiteDataStore.h:
- UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp:
(WebKit::WebsiteDataStore::platformSetNetworkParameters): Set cached cookie settings to network session parameters.
(WebKit::WebsiteDataStore::setCookiePersistentStorage): Cache the given value and notify the cookie manager.
(WebKit::WebsiteDataStore::setHTTPCookieAcceptPolicy): Ditto.
- UIProcess/soup/WebCookieManagerProxySoup.cpp:
(WebKit::WebCookieManagerProxy::getCookiePersistentStorage const): Deleted.
- 8:31 AM WebKitGTK/2.32.x edited by
- (diff)
- 8:09 AM Changeset in webkit [280138] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32/Source/WebCore
Merge r274403 - Cancel image loader events after first dispatch
https://bugs.webkit.org/show_bug.cgi?id=218556
Patch by Rob Buis <rbuis@igalia.com> on 2021-03-14
Reviewed by Darin Adler.
Address post review comments.
- dom/EventSender.h:
(WebCore::EventSender<T>::dispatchPendingEvents):
- 8:09 AM WebKitGTK/2.32.x edited by
- (diff)
- 8:07 AM WebKitGTK/2.32.x edited by
- (diff)
- 8:06 AM WebKitGTK/2.32.x edited by
- (diff)
- 8:01 AM WebKitGTK/2.32.x edited by
- (diff)
- 7:45 AM Changeset in webkit [280137] by
-
- 4 edits in releases/WebKitGTK/webkit-2.32/Source/WebKit
Merge r280074 - [GTK][WPE] Fix compilation when ATK is not used
https://bugs.webkit.org/show_bug.cgi?id=228077
Reviewed by Carlos Garcia Campos.
Guard ATK only inside implementations, so the code is more readable.
Also changed guard from ATK to GTK platform showEmojiPicker().
No new tests needed.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/wpe/WebPageProxyWPE.cpp:
(WebKit::WebPageProxy::bindAccessibilityTree):
- 7:45 AM Changeset in webkit [280136] by
-
- 4 edits in releases/WebKitGTK/webkit-2.32/Source/WebKit
Merge r279983 - [GTK][WPE] PSON: accessibility doesn't work after a cross site navigation
https://bugs.webkit.org/show_bug.cgi?id=228021
Reviewed by Adrian Perez de Castro.
The provisional page is not handling the BindAccessibilityTree message and we never embed the new web process
plug into the UI process socket.
- UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::bindAccessibilityTree): Save the a11y plug ID.
(WebKit::ProvisionalPageProxy::didReceiveMessage): Handle BindAccessibilityTree message.
- UIProcess/ProvisionalPageProxy.h:
(WebKit::ProvisionalPageProxy::accessibilityPlugID): Returns the a11y plug ID.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::swapToProvisionalPage): If the provisional page has a plug ID, bind the a11y tree.
- 7:44 AM Changeset in webkit [280135] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32/Source/WebCore
Merge r279873 - [GStreamer] Allow runtime opt-out of GL rendering
https://bugs.webkit.org/show_bug.cgi?id=227873
Patch by Philippe Normand <pnormand@igalia.com> on 2021-07-13
Reviewed by Xabier Rodriguez-Calvar.
In some cases GL rendering is not really useful, such as on machines without GPU. In those
cases currently Mesa's llvmpipe is used, introducing CPU and RAM usage increase compared to
the non-gl rendering path. For these cases the user can set a new env var,
WEBKIT_GST_DISABLE_GL_SINK=1, allowing the player to use the Cairo sink.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createVideoSinkGL):
- 7:44 AM Changeset in webkit [280134] by
-
- 5 edits in releases/WebKitGTK/webkit-2.32
Merge r278548 - [GTK][WPE] Signal "window-object-cleared" not emitted unless frame js context is get before
https://bugs.webkit.org/show_bug.cgi?id=221771
Reviewed by Michael Catanzaro.
Source/WebKit:
This is because when FrameLoader::dispatchDidClearWindowObjectInWorld() is called, the JSWindowProxy for the
world hasn't been created yet, so it returns early. But we want to dispatch it always for worlds created by the
API, to ensure that WebKitScriptWorld::window-object-cleared is emmitted.
- WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp: Implement globalObjectIsAvailableForFrame() to force the
creation of the JavaScript context for existing WebKitScriptWorlds.
Tools:
Update window-object-cleared test to check that the signal is emitted for the WebKitScriptWorld objects created
by the extension.
- TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(UserMessageTest::sendMessage):
(UserMessageTest::viewUserMessageReceived):
(UserMessageTest::waitUntilViewMessagesReceived):
(UserMessageTest::waitUntilViewMessageReceived):
(testWebExtensionWindowObjectCleared):
(beforeAll):
- TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
(windowObjectCleared):
(isolatedWorldWindowObjectCleared):
(webkit_web_extension_initialize_with_user_data):
- 7:44 AM Changeset in webkit [280133] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32/Source/WebCore
Merge r274025 - CanvasRenderingContext2DBase::canDrawTextWithParams() needs to resolve styles before using the drawingContext
https://bugs.webkit.org/show_bug.cgi?id=221257
<rdar://problem/73878095>
Reviewed by Ryosuke Niwa.
Simply call fontProxy() (which internally resolves styles) before calling drawingContext().
Test: fast/text/canvas-synchronous-events.html
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::canDrawTextWithParams):
- 7:44 AM Changeset in webkit [280132] by
-
- 4 edits in releases/WebKitGTK/webkit-2.32/Source/WebCore
Merge r274357 - Cancel image loader events after first dispatch
https://bugs.webkit.org/show_bug.cgi?id=218556
Patch by Rob Buis <rbuis@igalia.com> on 2021-03-12
Reviewed by Ryosuke Niwa.
Cancel image loader events after first dispatch.
Also change EventSender to use WeakPtr.
- dom/EventSender.h:
(WebCore::EventSender<T>::dispatchEventSoon):
(WebCore::EventSender<T>::dispatchPendingEvents):
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::dispatchPendingErrorEvent):
- loader/ImageLoader.h:
- 7:44 AM Changeset in webkit [280131] by
-
- 2 edits in releases/WebKitGTK/webkit-2.32/Source/WebKit
Merge r275802 - Properly use CompletionHandler when USE_OPENGL_OR_ES is set to OFF
https://bugs.webkit.org/show_bug.cgi?id=224149
Patch by Charlène Wendling <julianaito@posteo.jp> on 2021-04-10
Reviewed by Fujii Hironori.
- WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:
(WebKit::LayerTreeHost::forceRepaintAsync):
- 7:37 AM WebKitGTK/2.32.x edited by
- (diff)
- 7:06 AM WebKitGTK/2.32.x edited by
- (diff)
- 6:40 AM Changeset in webkit [280130] by
-
- 2 edits in trunk/Source/WebCore
Missing layouts when using simplified layout with OOF positioned elements
https://bugs.webkit.org/show_bug.cgi?id=226008
Reviewed by Alan Bujtas.
There are some situations that allow us to do simplified layouts like when there is a positioned child
that needs to be laid out and neither the parent nor any other normal children needs it. In those cases
we just pick the list of positioned objects and invoke layoutPositionedObjects(). However that list
might not be properly updated since it's only done during the layout in RenderBlock::layoutBlockChildren().
This is causing that we miss layouts in cases where a renderer has the posChildNeedsLayout() bit set
(due to some style change for example) but no descendants in the positionedDescendantsMap() because
it has not been laid out yet. In those cases we simply bail out the simplified layout and proceed as in
the normal layout process.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::simplifiedLayout):
- 5:57 AM Changeset in webkit [280129] by
-
- 6 edits in trunk/Source
GetIdentifierStringForPreferredVoiceInListWithLocale() is deprecated in Monterey
<https://webkit.org/b/228066>
<rdar://problem/80577312>
Reviewed by Alexey Proskuryakov.
Source/WebCore:
- platform/mac/PlatformSpeechSynthesizerMac.mm:
(WebCore::speechSynthesisGetDefaultVoiceIdentifierForLocale):
- Switch to use CopyIdentifierStringForPreferredVoiceInListWithLocale() in Monterey.
- Change to return RetainPtr<> to handle lifetime of object returned from new function.
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
- Change varible type to 'auto' since return type of speechSynthesisGetDefaultVoiceIdentifierForLocale() changed.
Source/WebCore/PAL:
- pal/spi/mac/SpeechSynthesisSPI.h:
(CopyIdentifierStringForPreferredVoiceInListWithLocale): Add.
- Define replacement function for GetIdentifierStringForPreferredVoiceInListWithLocale() in Monterey.
Source/WTF:
- wtf/PlatformHave.h:
- Add HAVE(SPEECHSYNTHESIS_MONTEREY_SPI).
- 4:51 AM Changeset in webkit [280128] by
-
- 9 edits in trunk/Source/WebKit
REGRESSION(r267763): [SOUP] After network process crash, all cookies are lost until browser is restarted
https://bugs.webkit.org/show_bug.cgi?id=228128
Reviewed by Adrian Perez de Castro.
Cookies configuration is no longer stored to be sent again to the new network process after a crash.
- NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::encode const): Encode cookieAcceptPolicy.
(WebKit::NetworkSessionCreationParameters::decode): Decode cookieAcceptPolicy.
- NetworkProcess/NetworkSessionCreationParameters.h: Add cookieAcceptPolicy.
- NetworkProcess/soup/NetworkSessionSoup.cpp:
(WebKit::NetworkSessionSoup::NetworkSessionSoup): Set cookie accept policy on NetworkStorageSession.
- UIProcess/API/glib/WebKitCookieManager.cpp:
(webkit_cookie_manager_set_persistent_storage): Use WebsiteDataStore API to cache the given values.
(webkit_cookie_manager_set_accept_policy): Ditto.
- UIProcess/WebCookieManagerProxy.h:
- UIProcess/WebsiteData/WebsiteDataStore.h:
- UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp:
(WebKit::WebsiteDataStore::platformSetNetworkParameters): Set cached cookie settings to network session parameters.
(WebKit::WebsiteDataStore::setCookiePersistentStorage): Cache the given value and notify the cookie manager.
(WebKit::WebsiteDataStore::setHTTPCookieAcceptPolicy): Ditto.
- UIProcess/soup/WebCookieManagerProxySoup.cpp:
(WebKit::WebCookieManagerProxy::getCookiePersistentStorage const): Deleted.
- 4:35 AM Changeset in webkit [280127] by
-
- 4 edits in trunk/Websites/perf.webkit.org
Use bigint for 'commit_order' field in 'commits' table to support larger range.
https://bugs.webkit.org/show_bug.cgi?id=228133
Reviewed by Ryosuke Niwa.
'integer' in postgres has range from -2147483648 to +2147483647 which is not big enough.
Use 'bigint' to support wider range (-9223372036854775808 to 9223372036854775807).
SQL query for migration:
ALTER TABLE commits ALTER commit_order TYPE bigint;
- init-database.sql: Update 'integer' to 'bigint' for 'commit_order'.
- migrate-database.sql: Added migration SQL for this change.
- server-tests/api-report-commits-tests.js: Add a unit test.
Jul 20, 2021:
- 10:55 PM Changeset in webkit [280126] by
-
- 1 copy in tags/Safari-612.1.24.0.3
Tag Safari-612.1.24.0.3.
- 10:37 PM Changeset in webkit [280125] by
-
- 8 edits in branches/safari-612.1.24.0-branch/Source
Versioning.
WebKit-7612.1.24.0.3
- 9:23 PM Changeset in webkit [280124] by
-
- 4 edits in trunk/Source
r280103 is not necessary on all operating systems
https://bugs.webkit.org/show_bug.cgi?id=228136
Reviewed by Alan Bujtas.
Source/WebCore:
r280103 is not necessary on all operating systems.
No new tests because there is no behavior change.
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::applyFontTransforms):
Source/WTF:
- wtf/PlatformUse.h:
- 8:33 PM Changeset in webkit [280123] by
-
- 24 edits in trunk/Source/WebCore
Make the 'targetElement' argument of the SVG animators to be a reference
https://bugs.webkit.org/show_bug.cgi?id=228132
Reviewed by Simon Fraser.
It is clear that many SVG animators functions assume the argument
'targetElement' is not nullptr. Also the caller SVGAnimateElementBase
makes sure its targetElement() is not nullptr before calling any of its
animator's functions.
- svg/SVGAnimateElementBase.cpp:
(WebCore::SVGAnimateElementBase::setTargetElement):
(WebCore::SVGAnimateElementBase::calculateFromAndToValues):
(WebCore::SVGAnimateElementBase::calculateFromAndByValues):
(WebCore::SVGAnimateElementBase::startAnimation):
(WebCore::SVGAnimateElementBase::calculateAnimatedValue):
(WebCore::SVGAnimateElementBase::applyResultsToTarget):
(WebCore::SVGAnimateElementBase::stopAnimation):
(WebCore::SVGAnimateElementBase::calculateDistance):
- svg/SVGElement.cpp:
(WebCore::SVGElement::commitPropertyChange):
- svg/properties/SVGAnimatedPropertyAnimator.h:
- svg/properties/SVGAnimatedPropertyAnimatorImpl.h:
- svg/properties/SVGAnimatedPropertyPairAnimator.h:
- svg/properties/SVGAnimatedPropertyPairAnimatorImpl.h:
- svg/properties/SVGAnimationAdditiveFunction.h:
- svg/properties/SVGAnimationAdditiveListFunctionImpl.h:
(WebCore::SVGAnimationLengthListFunction::animate):
(WebCore::SVGAnimationNumberListFunction::animate):
(WebCore::SVGAnimationPointListFunction::animate):
(WebCore::SVGAnimationTransformListFunction::animate):
- svg/properties/SVGAnimationAdditiveValueFunctionImpl.cpp:
(WebCore::SVGAnimationColorFunction::colorFromString):
(WebCore::SVGAnimationIntegerFunction::calculateDistance const):
- svg/properties/SVGAnimationAdditiveValueFunctionImpl.h:
(WebCore::SVGAnimationAngleFunction::animate):
(WebCore::SVGAnimationColorFunction::animate):
(WebCore::SVGAnimationLengthFunction::animate):
(WebCore::SVGAnimationNumberFunction::animate):
(WebCore::SVGAnimationPathSegListFunction::animate):
(WebCore::SVGAnimationRectFunction::animate):
- svg/properties/SVGAnimationDiscreteFunction.h:
(WebCore::SVGAnimationDiscreteFunction::animate):
- svg/properties/SVGAnimationDiscreteFunctionImpl.h:
- svg/properties/SVGAnimationFunction.h:
(WebCore::SVGAnimationFunction::calculateDistance const):
(WebCore::SVGAnimationFunction::addFromAndToValues):
- svg/properties/SVGAttributeAnimator.cpp:
(WebCore::SVGAttributeAnimator::isAnimatedStylePropertyAniamtor const):
(WebCore::SVGAttributeAnimator::invalidateStyle):
(WebCore::SVGAttributeAnimator::applyAnimatedStylePropertyChange):
(WebCore::SVGAttributeAnimator::removeAnimatedStyleProperty):
(WebCore::SVGAttributeAnimator::applyAnimatedPropertyChange):
- svg/properties/SVGAttributeAnimator.h:
(WebCore::SVGAttributeAnimator::setFromAndToValues):
(WebCore::SVGAttributeAnimator::setFromAndByValues):
(WebCore::SVGAttributeAnimator::calculateDistance const):
- svg/properties/SVGPrimitivePropertyAnimator.h:
- svg/properties/SVGPropertyAnimator.h:
(WebCore::SVGPropertyAnimator::adjustForInheritance const):
(WebCore::SVGPropertyAnimator::computeInheritedCSSPropertyValue const):
- svg/properties/SVGPropertyOwnerRegistry.h:
- svg/properties/SVGPropertyRegistry.h:
Fix a typo in the name of setAnimatedPropertyDirty().
- svg/properties/SVGValuePropertyAnimator.h:
- svg/properties/SVGValuePropertyAnimatorImpl.h:
- svg/properties/SVGValuePropertyListAnimator.h:
- svg/properties/SVGValuePropertyListAnimatorImpl.h:
- 7:47 PM Changeset in webkit [280122] by
-
- 8 edits in trunk/Source/WebKit
[iOS] Add SPI for internal clients to consult whether or not viewport quirks should be enabled
https://bugs.webkit.org/show_bug.cgi?id=228123
rdar://80397679
Reviewed by Dan Bernstein.
Rename the SPI added in r280119 from
-_needsSiteSpecificQuirks
to-_needsSiteSpecificViewportQuirks
, to
clarify its intent (and importantly, to differentiate it from the existing WKPreferences SPI of the same name).
This distinction is important because this readonly property acts as a hint for WebKit clients to augment
certain viewport behaviors, whereas the readwrite WKPreferences property is a way for clients to indicate that
WebKit should opt in or out of site-specific quirks (unless overridden by Web Inspector).
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _needsSiteSpecificViewportQuirks]):
(-[WKWebView _needsSiteSpecificQuirks]): Deleted.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetStateAfterProcessTermination):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
- WebProcess/WebPage/WebPage.h:
- 6:02 PM Changeset in webkit [280121] by
-
- 1 copy in tags/Safari-612.1.24.1.3
Tag Safari-612.1.24.1.3.
- 5:56 PM Changeset in webkit [280120] by
-
- 8 edits in branches/safari-612.1.24.1-branch/Source
Versioning.
WebKit-7612.1.24.1.3
- 5:51 PM Changeset in webkit [280119] by
-
- 8 edits in trunk/Source/WebKit
[iOS] Add SPI for internal clients to consult whether or not viewport quirks should be enabled
https://bugs.webkit.org/show_bug.cgi?id=228123
rdar://80397679
Reviewed by Tim Horton.
Add support for an SPI property on WKWebView that indicates whether site-specific quirks should be enabled.
For now, this flag is only updated whenever we commit a mainframe load, which is sufficient for the purposes of
Safari to determine whether or not to use quirked viewport behaviors for tab pill behavior.
If needed in the future, this property should probably:
- Support KVO, and...
- Change eagerly when the option is toggled via Web Inspector.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _needsSiteSpecificQuirks]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetStateAfterProcessTermination):
Maintain a corresponding flag on the WebPageProxy in the UI process, which starts out as
true
and is reset
if the web process terminates.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebPage/WebPage.cpp:
Add plumbing to propagate changes in the boolean flag to the UI process.
(WebKit::WebPage::didCommitLoad):
Update the flag on WebPage.
- WebProcess/WebPage/WebPage.h:
- 5:37 PM Changeset in webkit [280118] by
-
- 2 edits in trunk/LayoutTests
Updated test expectations from [Pass Timeouts] to [ DumpJSConsoleLogInStdErr Slow ].
Unreviewed test gardening.
- 5:29 PM Changeset in webkit [280117] by
-
- 1 copy in tags/Safari-612.1.24.2.1
Tag Safari-612.1.24.2.1.
- 5:26 PM Changeset in webkit [280116] by
-
- 1 copy in tags/Safari-612.1.24.1.2
Tag Safari-612.1.24.1.2.
- 5:26 PM Changeset in webkit [280115] by
-
- 1 copy in tags/Safari-612.1.24.0.2
Tag Safari-612.1.24.0.2.
- 4:37 PM Changeset in webkit [280114] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(ANGLE+METAL): WebGL2 content low frame rate
https://bugs.webkit.org/show_bug.cgi?id=228012
Reviewed by Dean Jackson.
Add Additional rules, allowing shared events to work in Webkit
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 4:34 PM Changeset in webkit [280113] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk2 ]inspector/canvas/recording-bitmaprenderer-full.html is a flaky failure and timeout.
https://bugs.webkit.org/show_bug.cgi?id=228131.
Unreviewed test gardening.
- 4:27 PM Changeset in webkit [280112] by
-
- 5 edits in trunk/Source/WebCore
Revert r272370: It delays first paint
https://bugs.webkit.org/show_bug.cgi?id=228121
<rdar://75362363>
Reviewed by Antti Koivisto.
r272370 breaks the cases when the rendering update is initiated when the layer tree is still frozen (circular dependency: visually empty check vs. rendering update)
- dom/Document.cpp:
(WebCore::Document::didInsertInDocumentShadowRoot):
- dom/Element.cpp:
(WebCore::Element::isVisibleWithoutResolvingFullStyle const):
- style/StyleScope.cpp:
(WebCore::Style::Scope::Scope):
(WebCore::Style::Scope::flushPendingSelfUpdate):
(WebCore::Style::Scope::clearPendingUpdate):
(WebCore::Style::Scope::scheduleUpdate):
(WebCore::Style::Scope::pendingUpdateTimerFired):
(WebCore::Style::Scope::insertedInDocument): Deleted.
- style/StyleScope.h:
- 4:20 PM Changeset in webkit [280111] by
-
- 7 edits in trunk/Source/JavaScriptCore
Add ARM64 EON opcode and select it in AIR
https://bugs.webkit.org/show_bug.cgi?id=228057
Reviewed by Saam Barati.
EON Rd Rn Rm <shift> #amount
Bitwise Exclusive OR NOT (shifted register) performs a bitwise Exclusive OR NOT
of a register value Rn and an optionally-shifted register value Rm, and writes the
result to the destination register. The instruction selector can utilize this to
lowering certain patterns in B3 IR before further Air optimization.
The equivalent pattern of EON Rd Rn Rm is d = n (m -1)
Given B3 IR:
Int @0 = ArgumentReg(%x0)
Int @1 = ArgumentReg(%x1)
Int @2 = -1
Int @3 = BitXor(@1, @2)
Int @4 = BitXor(@0, b@3)
Void@5 = Return(@4, Terminal)
Old optimized AIR
Not %x1, %x1, @3
Xor %x0, %x1, %x0, @4
Ret %x0, @5
New optimized AIR
XorNot %x0, %x1, %x0, @4
Ret %x0, @5
The equivalent pattern of EON-with-shift is d = n ((m ShiftType amount) -1)
Given B3 IR:
Int @0 = ArgumentReg(%x0)
Int @1 = ArgumentReg(%x1)
Int @2 = amount
Int @3 = -1
Int @4 = Shl(@1, @2)
Int @5 = BitXor(@4, @3)
Int @6 = BitXor(@0, @5)
Void b@7 = Return(b@6, Terminal)
Old optimized AIR
Lshift %x1, amount, %x1, @4
Not %x1, %x1, @5
Xor %x0, %x1, %x0, @6
Ret %x0, @7
New optimized AIR
XorNotLeftShift %x0, %x1, $63, %x0, @6
Ret %x0, @7
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::xorNot32):
(JSC::MacroAssemblerARM64::xorNot64):
(JSC::MacroAssemblerARM64::xorNotLeftShift32):
(JSC::MacroAssemblerARM64::xorNotRightShift32):
(JSC::MacroAssemblerARM64::xorNotUnsignedRightShift32):
(JSC::MacroAssemblerARM64::xorNotLeftShift64):
(JSC::MacroAssemblerARM64::xorNotRightShift64):
(JSC::MacroAssemblerARM64::xorNotUnsignedRightShift64):
- assembler/testmasm.cpp:
(JSC::testXorNot32):
(JSC::testXorNot64):
(JSC::testXorNotWithLeftShift32):
(JSC::testXorNotWithRightShift32):
(JSC::testXorNotWithUnsignedRightShift32):
(JSC::testXorNotWithLeftShift64):
(JSC::testXorNotWithRightShift64):
(JSC::testXorNotWithUnsignedRightShift64):
- b3/B3LowerToAir.cpp:
- b3/air/AirOpcode.opcodes:
- b3/testb3.h:
- b3/testb3_2.cpp:
(testXorNot32):
(testXorNot64):
(testXorNotWithLeftShift32):
(testXorNotWithRightShift32):
(testXorNotWithUnsignedRightShift32):
(testXorNotWithLeftShift64):
(testXorNotWithRightShift64):
(testXorNotWithUnsignedRightShift64):
(addBitTests):
- 4:08 PM Changeset in webkit [280110] by
-
- 7 edits in trunk/Source/WebKit
Completion handler of NetworkProcess::prepareToSuspend may not be invoked promptly
https://bugs.webkit.org/show_bug.cgi?id=228119
Reviewed by Chris Dumez.
WebResourceLoadStatisticsStore and StorageManagerSet dispatch task to suspend background thread on suspension.
When the task is finished on background thread, it dispatches a reply task to main thread. When all replies are
received, network process replies prepareToSuspend message. With our current implementation, if network process
receives messages in order { PrepareToSuspend, ProcessDidResume, PrepareToSuspend },
WebResourceLoadStatisticsStore and StorageManagerSet may dispatch two suspend tasks to background thread and
get suspended in the first task. In this case, the second PrepareToSuspend message will not be replied, and
UI process will be waiting on reply for the latest PrepareToSuspend message to release assertion. To solve this,
background thread should only execute latest suspend task by checking task identifier.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WTF_GUARDED_BY_LOCK):
(WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):
(WebKit::WebResourceLoadStatisticsStore::suspend):
(WebKit::WebResourceLoadStatisticsStore::resume):
(): Deleted.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::suspendIDBServers):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/WebStorage/StorageManagerSet.cpp:
(WebKit::StorageManagerSet::suspend):
(WebKit::StorageManagerSet::resume):
- NetworkProcess/WebStorage/StorageManagerSet.h:
(WebKit::StorageManagerSet::WTF_GUARDED_BY_LOCK):
(): Deleted.
- 3:55 PM Changeset in webkit [280109] by
-
- 2 edits in trunk/Tools
Don't run ftl-eager-no-cjit on debug builds
https://bugs.webkit.org/show_bug.cgi?id=228118
Reviewed by Mark Lam.
Many debug JSC stress tests time out intermittently. All I see are under
the ftl-eager-no-cjit mode.
- Scripts/run-jsc-stress-tests:
- 3:07 PM Changeset in webkit [280108] by
-
- 3 edits in trunk/LayoutTests
[ Mac , iOS Debug ] imported/w3c/web-platform-tests/html/cross-origin-opener-policy/resource-popup.https.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=228127.
Unreviewed test gardening.
- 2:20 PM Changeset in webkit [280107] by
-
- 2 edits in trunk/Tools
Adding myself to Contributors.json
Unreviewed.
- 2:10 PM Changeset in webkit [280106] by
-
- 2 edits in trunk/Tools
Adding myself to Contributors.json.
Unreviewed.
- 2:01 PM Changeset in webkit [280105] by
-
- 3 edits in trunk/Source/WebKit
[Cocoa] Silence telemetry on MSC_mach_wait_until
https://bugs.webkit.org/show_bug.cgi?id=228112
<rdar://problem/78965631>
Reviewed by Per Arne Vollan.
We are processing a lot of telemetry for MSC_mach_wait_until in cases where a block with failure is the correct behavior.
Silencing the warning to reduce CPU and network traffic related to generating and de-duping telemetry on this call.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
- 1:56 PM Changeset in webkit [280104] by
-
- 4 edits in trunk/LayoutTests
Update test expectations for svg/animations/smil-leak-list-property-instances.svg.
https://bugs.webkit.org/show_bug.cgi?id=214574.
Unreviewed test gardening.
Patch by Eric Hutchison <Eric Hutchison> on 2021-07-20
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 1:47 PM Changeset in webkit [280103] by
-
- 3 edits2 adds in trunk
REGRESSION(r272379): Characters with no fonts that support them are drawn as two .notdef glyphs in the fast text codepath
https://bugs.webkit.org/show_bug.cgi?id=228097
<rdar://problem/80798113>
Reviewed by Alan Bujtas.
Source/WebCore:
If a character is not in BMP, and we don't have a glyph for it,
we'll end up with two 0 glyphs in a row for the two surrogates of the character.
We need to make sure that, after shaping, these double-0-glyphs aren't preserved.
Test: fast/text/double-notdef-simple-text-codepath.html
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::applyFontTransforms):
LayoutTests:
- fast/text/double-notdef-simple-text-codepath-expected.html: Added.
- fast/text/double-notdef-simple-text-codepath.html: Added.
- 1:40 PM Changeset in webkit [280102] by
-
- 2 edits in trunk/Source/WebCore
Use references instead of pointers in WidthIterator::advanceInternal()
https://bugs.webkit.org/show_bug.cgi?id=228099
Reviewed by Fujii Hironori.
We assert that font is non-null, so we should be able to use a reference for it instead of a pointer.
No new tests because there is no behavior change.
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advanceInternal):
- 1:39 PM Changeset in webkit [280101] by
-
- 169 edits2 adds in trunk/LayoutTests
[GLIB] Test gardening, update baselines after r279987
https://bugs.webkit.org/show_bug.cgi?id=228109
That change enabled dark mode support, which added dark backgrounds
in many cases.
Unreviewed test gardening.
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-07-20
- platform/glib/compositing/backing/form-controls-backing-expected.txt:
- platform/glib/fast/box-sizing/percentage-height-expected.txt:
- platform/glib/fast/replaced/width100percent-searchfield-expected.txt:
- platform/glib/svg/custom/foreign-object-skew-expected.txt:
- platform/glib/tables/mozilla/bugs/bug92647-2-expected.txt:
- platform/gtk/css2.1/20110323/replaced-elements-001-expected.txt:
- platform/gtk/css3/flexbox/button-expected.txt:
- platform/gtk/editing/selection/3690703-2-expected.txt:
- platform/gtk/editing/selection/3690703-expected.txt:
- platform/gtk/editing/selection/3690719-expected.txt:
- platform/gtk/editing/selection/4397952-expected.txt:
- platform/gtk/editing/selection/5240265-expected.txt:
- platform/gtk/editing/selection/selection-button-text-expected.txt:
- platform/gtk/fast/block/float/float-avoidance-expected.txt:
- platform/gtk/fast/block/positioning/inline-block-relposition-expected.txt:
- platform/gtk/fast/css/continuationCrash-expected.txt:
- platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.txt:
- platform/gtk/fast/css/input-search-padding-expected.txt:
- platform/gtk/fast/css/margin-top-bottom-dynamic-expected.txt:
- platform/gtk/fast/css/rtl-ordering-expected.txt:
- platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.txt:
- platform/gtk/fast/css/text-overflow-input-expected.txt:
- platform/gtk/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt:
- platform/gtk/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
- platform/gtk/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
- platform/gtk/fast/forms/001-expected.txt:
- platform/gtk/fast/forms/basic-buttons-expected.txt:
- platform/gtk/fast/forms/basic-selects-expected.txt:
- platform/gtk/fast/forms/blankbuttons-expected.txt:
- platform/gtk/fast/forms/box-shadow-override-expected.txt:
- platform/gtk/fast/forms/button-align-expected.txt:
- platform/gtk/fast/forms/button-cannot-be-nested-expected.txt:
- platform/gtk/fast/forms/button-default-title-expected.txt:
- platform/gtk/fast/forms/button-generated-content-expected.txt:
- platform/gtk/fast/forms/button-inner-block-reuse-expected.txt:
- platform/gtk/fast/forms/button-positioned-expected.txt:
- platform/gtk/fast/forms/button-sizes-expected.txt:
- platform/gtk/fast/forms/button-style-color-expected.txt:
- platform/gtk/fast/forms/button-table-styles-expected.txt:
- platform/gtk/fast/forms/button-text-transform-expected.txt:
- platform/gtk/fast/forms/button-white-space-expected.txt:
- platform/gtk/fast/forms/control-clip-expected.txt:
- platform/gtk/fast/forms/control-clip-overflow-expected.txt:
- platform/gtk/fast/forms/control-restrict-line-height-expected.txt:
- platform/gtk/fast/forms/datalist/datalist-searchinput-appearance-expected.txt:
- platform/gtk/fast/forms/disabled-select-change-index-expected.txt:
- platform/gtk/fast/forms/file/file-input-direction-expected.txt:
- platform/gtk/fast/forms/file/file-input-disabled-expected.txt:
- platform/gtk/fast/forms/form-element-geometry-expected.txt:
- platform/gtk/fast/forms/formmove3-expected.txt:
- platform/gtk/fast/forms/input-appearance-height-expected.txt:
- platform/gtk/fast/forms/input-button-sizes-expected.txt:
- platform/gtk/fast/forms/input-first-letter-expected.txt:
- platform/gtk/fast/forms/input-value-expected.txt:
- platform/gtk/fast/forms/placeholder-position-expected.txt:
- platform/gtk/fast/forms/placeholder-pseudo-style-expected.txt:
- platform/gtk/fast/forms/search-cancel-button-style-sharing-expected.txt:
- platform/gtk/fast/forms/search-input-rtl-expected.txt:
- platform/gtk/fast/forms/search-rtl-expected.txt:
- platform/gtk/fast/forms/search-styled-expected.txt:
- platform/gtk/fast/forms/search/search-size-with-decorations-expected.txt:
- platform/gtk/fast/forms/searchfield-heights-expected.txt:
- platform/gtk/fast/forms/select-baseline-expected.txt:
- platform/gtk/fast/forms/select-disabled-appearance-expected.txt:
- platform/gtk/fast/forms/targeted-frame-submission-expected.txt:
- platform/gtk/fast/html/details-replace-summary-child-expected.txt:
- platform/gtk/fast/html/details-replace-text-expected.txt:
- platform/gtk/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:
- platform/gtk/fast/overflow/scrollRevealButton-expected.txt:
- platform/gtk/fast/repaint/search-field-cancel-expected.txt:
- platform/gtk/fast/replaced/replaced-breaking-expected.txt:
- platform/gtk/fast/replaced/width100percent-button-expected.txt:
- platform/gtk/fast/table/append-cells2-expected.txt:
- platform/gtk/fast/table/remove-td-display-none-expected.txt:
- platform/gtk/fast/text/international/hindi-spacing-expected.txt:
- platform/gtk/fast/text/textIteratorNilRenderer-expected.txt:
- platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-color-property-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative-expected.txt:
- platform/gtk/inspector/css/shadow-scoped-style-expected.txt:
- platform/gtk/svg/custom/inline-svg-in-xhtml-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug1188-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug1318-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug138725-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug18359-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug2479-2-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug2479-3-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug2479-4-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug26178-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug28928-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug33855-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug39209-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug4429-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug44505-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug46368-1-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug46368-2-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug51037-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug51727-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug52505-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug52506-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug60749-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug68912-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug7342-expected.txt:
- platform/gtk/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
- platform/gtk/tables/mozilla/dom/tableDom-expected.txt:
- platform/gtk/tables/mozilla/other/move_row-expected.txt:
- platform/gtk/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
- platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
- platform/gtk/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
- platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
- platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
- platform/wpe/css2.1/20110323/replaced-elements-001-expected.txt:
- platform/wpe/css3/flexbox/button-expected.txt:
- platform/wpe/fast/block/float/float-avoidance-expected.txt:
- platform/wpe/fast/block/positioning/inline-block-relposition-expected.txt:
- platform/wpe/fast/css/continuationCrash-expected.txt:
- platform/wpe/fast/css/focus-ring-exists-for-search-field-expected.txt:
- platform/wpe/fast/css/input-search-padding-expected.txt:
- platform/wpe/fast/css/margin-top-bottom-dynamic-expected.txt:
- platform/wpe/fast/css/rtl-ordering-expected.txt:
- platform/wpe/fast/css/text-input-with-webkit-border-radius-expected.txt:
- platform/wpe/fast/css/text-overflow-input-expected.txt:
- platform/wpe/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt:
- platform/wpe/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
- platform/wpe/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
- platform/wpe/fast/html/details-replace-summary-child-expected.txt:
- platform/wpe/fast/html/details-replace-text-expected.txt:
- platform/wpe/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:
- platform/wpe/fast/overflow/scrollRevealButton-expected.txt:
- platform/wpe/fast/replaced/replaced-breaking-expected.txt:
- platform/wpe/fast/replaced/width100percent-button-expected.txt:
- platform/wpe/fast/table/append-cells2-expected.txt:
- platform/wpe/fast/table/remove-td-display-none-expected.txt:
- platform/wpe/fast/text/international/hindi-spacing-expected.txt:
- platform/wpe/fast/text/textIteratorNilRenderer-expected.txt:
- platform/wpe/http/tests/navigation/javascriptlink-frames-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-color-property-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative-expected.txt:
- platform/wpe/svg/custom/inline-svg-in-xhtml-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug1188-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug1318-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug138725-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug18359-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug2479-2-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug2479-3-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug2479-4-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug26178-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug28928-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug33855-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug39209-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug4429-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug44505-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug46368-1-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug46368-2-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug51037-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug51727-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug52505-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug52506-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug60749-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug68912-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug7342-expected.txt:
- platform/wpe/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
- platform/wpe/tables/mozilla/dom/tableDom-expected.txt:
- platform/wpe/tables/mozilla/other/move_row-expected.txt:
- platform/wpe/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
- platform/wpe/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
- platform/wpe/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
- platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
- platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
- 1:10 PM Changeset in webkit [280100] by
-
- 2 edits in trunk/LayoutTests
Unreviewed Windows test gardening.
- platform/win/TestExpectations:
- 12:54 PM Changeset in webkit [280099] by
-
- 4 edits in trunk/Source/WebCore
Use WeakHashSet for Page::m_activityStateChangeObservers
https://bugs.webkit.org/show_bug.cgi?id=228065
Reviewed by Chris Dumez.
- page/ActivityStateChangeObserver.h: Inherit CanMakeWeakPtr.
- page/Page.cpp:
(WebCore::Page::addActivityStateChangeObserver):
(WebCore::Page::removeActivityStateChangeObserver):
(WebCore::Page::setActivityState):
- page/Page.h:
- 12:44 PM Changeset in webkit [280098] by
-
- 5 edits in trunk/Source/WebKit
IBeam cursor is horizontal in Mail compose window
https://bugs.webkit.org/show_bug.cgi?id=228107
<rdar://problem/80636912>
Reviewed by Wenson Hsieh.
Recently we added support for vertical writing mode for the IBeam
cursor in WebKit. This added a new parameter isHorizontalWritingMode
which defaults to false. This causes the IBeam to appear horizontal in
cases where WebPage::populateCaretContext is not called, regressing expected
behavior.
This patch changes isHorizontalWritingMode to isVerticalWritingMode
to fix this, while still allowing support for vertical writing mode.
- Shared/ios/InteractionInformationAtPosition.h:
- Shared/ios/InteractionInformationAtPosition.mm:
(WebKit::InteractionInformationAtPosition::encode const):
(WebKit::InteractionInformationAtPosition::decode):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView pointerInteraction:styleForRegion:]):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::populateCaretContext):
- 12:35 PM Changeset in webkit [280097] by
-
- 3 edits1 add in trunk
[JSC] invalidParameterInstanceofSourceAppender should care direct call of Symbol.hasInstance
https://bugs.webkit.org/show_bug.cgi?id=228075
rdar://80762879
Reviewed by Frédéric Wang.
JSTests:
- stress/symbol-hasinstance-error.js: Added.
(shouldThrow):
(let.a):
Source/JavaScriptCore:
invalidParameterInstanceofSourceAppender can be invoked without
instanceof
expression since we can call
[Symbol.hasInstance]
function directly, but the implementation did not assume that. This patch fixes
it to handle this direct call.
- runtime/ExceptionHelpers.cpp:
(JSC::invalidParameterInstanceofSourceAppender):
- 12:34 PM Changeset in webkit [280096] by
-
- 2 edits in trunk/LayoutTests
[iOS Release wk2] imported/w3c/web-platform-tests/fetch/content-type/script.window.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=228114
Unreviewed test gardening.
Patch by Eric Hutchison <Eric Hutchison> on 2021-07-20
- platform/ios-wk2/TestExpectations:
- 12:30 PM Changeset in webkit [280095] by
-
- 4 edits1 add in trunk
REGRESSION (r278062): Misplaced text in Wikipedia search field
https://bugs.webkit.org/show_bug.cgi?id=228098
<rdar://problem/80495165>
Reviewed by Simon Fraser.
Source/WebCore:
New test: GraphicsContextTests.DrawNativeImageDoesNotLeakCompositeOperator
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::setCGCompositeOperator):
(WebCore::GraphicsContextCG::drawNativeImage):
drawNativeImage uses CGContextStateSaver (not GraphicsContextStateSaver),
so any state changes it made must only be made to the CGContext, not
the WebCore::GraphicsContext.
However, r278062 mistakenly swapped setPlatformCompositeOperation out for
GraphicsContext::setCompositeOperation(), which mutates the state of
*both* contexts, and then (only sometimes!) depends on the state saver
to reset the state (but, of course, as mentioned, it only resets
the CGContext's state).
(WebCore::GraphicsContextCG::updateState):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/cg/GraphicsContextTestsCG.cpp: Added.
(TestWebKitAPI::greenImage):
(TestWebKitAPI::TEST):
Add a test for the issue described in the WebCore ChangeLog.
- 12:29 PM Changeset in webkit [280094] by
-
- 7 edits in branches/safari-612.1.24.0-branch/Source/JavaScriptCore
Cherry-pick r280066. rdar://problem/80851532
[JSC] StructureStubInfo's m_identifier should follow to the same protocol of inlineAccessBaseStructure
https://bugs.webkit.org/show_bug.cgi?id=228092
Reviewed by Saam Barati.
In r279813, we fixed a race condition related to inlineAccessBaseStructure: while we clear inlineAccessBaseStructure,
we still run code relying on this field's value until stub version of the code is generated. As a result,
we run the code which relies on the cells that are already collected. And we have the same problem with
m_identifier field too. This patch makes m_identifier follow to the same protocol of inlineAccessBaseStructure
so that we fix this race issue too: both fields will be alive until we switch to the code that are not relying on these
fields.
We also make inlineAccessBaseStructure to m_inlineAccessBaseStructure to easily find that this is member field.
And we also use setWithoutWriteBarrier for m_inlineAccessBaseStructure since we emit codeBlock->vm().heap.writeBarrier(codeBlock)
immediately after that.
- bytecode/AccessCase.cpp: (JSC::AccessCase::fromStructureStubInfo):
- bytecode/GetByStatus.cpp: (JSC::GetByStatus::computeForStubInfoWithoutExitSiteFeedback):
- bytecode/InByStatus.cpp: (JSC::InByStatus::computeForStubInfoWithoutExitSiteFeedback):
- bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeForStubInfo):
- bytecode/StructureStubInfo.cpp: (JSC::StructureStubInfo::initGetByIdSelf): (JSC::StructureStubInfo::initArrayLength): (JSC::StructureStubInfo::initStringLength): (JSC::StructureStubInfo::initPutByIdReplace): (JSC::StructureStubInfo::initInByIdSelf): (JSC::StructureStubInfo::addAccessCase): (JSC::StructureStubInfo::reset): (JSC::StructureStubInfo::visitAggregateImpl): (JSC::StructureStubInfo::visitWeakReferences): (JSC::StructureStubInfo::propagateTransitions): (JSC::StructureStubInfo::setCacheType): Deleted.
- bytecode/StructureStubInfo.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:29 PM Changeset in webkit [280093] by
-
- 7 edits1 add in branches/safari-612.1.24.0-branch
Cherry-pick r280050. rdar://problem/80851589
[JSC] InByStatus / InByVariant should visit CacheableIdentifier
https://bugs.webkit.org/show_bug.cgi?id=228088
rdar://80794604
Reviewed by Mark Lam.
JSTests:
- stress/in-by-variant-should-mark-cacheable-identifier.js: Added. (foo): (let.handler.has):
Source/JavaScriptCore:
After r278445, InByVariant holds CacheableIdentifier. And this can have
String/Symbol cells if this variant is generated by in_by_val. In that
case, we must visit this cell as GetByStatus / GetByVariant are doing.
- bytecode/InByStatus.cpp: (JSC::InByStatus::visitAggregateImpl):
- bytecode/InByStatus.h:
- bytecode/InByVariant.cpp: (JSC::InByVariant::visitAggregateImpl):
- bytecode/InByVariant.h:
- bytecode/RecordedStatuses.cpp: (JSC::RecordedStatuses::visitAggregateImpl):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:29 PM Changeset in webkit [280092] by
-
- 7 edits in branches/safari-612.1.24.1-branch/Source/JavaScriptCore
Cherry-pick r280066. rdar://problem/80851562
[JSC] StructureStubInfo's m_identifier should follow to the same protocol of inlineAccessBaseStructure
https://bugs.webkit.org/show_bug.cgi?id=228092
Reviewed by Saam Barati.
In r279813, we fixed a race condition related to inlineAccessBaseStructure: while we clear inlineAccessBaseStructure,
we still run code relying on this field's value until stub version of the code is generated. As a result,
we run the code which relies on the cells that are already collected. And we have the same problem with
m_identifier field too. This patch makes m_identifier follow to the same protocol of inlineAccessBaseStructure
so that we fix this race issue too: both fields will be alive until we switch to the code that are not relying on these
fields.
We also make inlineAccessBaseStructure to m_inlineAccessBaseStructure to easily find that this is member field.
And we also use setWithoutWriteBarrier for m_inlineAccessBaseStructure since we emit codeBlock->vm().heap.writeBarrier(codeBlock)
immediately after that.
- bytecode/AccessCase.cpp: (JSC::AccessCase::fromStructureStubInfo):
- bytecode/GetByStatus.cpp: (JSC::GetByStatus::computeForStubInfoWithoutExitSiteFeedback):
- bytecode/InByStatus.cpp: (JSC::InByStatus::computeForStubInfoWithoutExitSiteFeedback):
- bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeForStubInfo):
- bytecode/StructureStubInfo.cpp: (JSC::StructureStubInfo::initGetByIdSelf): (JSC::StructureStubInfo::initArrayLength): (JSC::StructureStubInfo::initStringLength): (JSC::StructureStubInfo::initPutByIdReplace): (JSC::StructureStubInfo::initInByIdSelf): (JSC::StructureStubInfo::addAccessCase): (JSC::StructureStubInfo::reset): (JSC::StructureStubInfo::visitAggregateImpl): (JSC::StructureStubInfo::visitWeakReferences): (JSC::StructureStubInfo::propagateTransitions): (JSC::StructureStubInfo::setCacheType): Deleted.
- bytecode/StructureStubInfo.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:29 PM Changeset in webkit [280091] by
-
- 7 edits1 add in branches/safari-612.1.24.1-branch
Cherry-pick r280050. rdar://problem/80851606
[JSC] InByStatus / InByVariant should visit CacheableIdentifier
https://bugs.webkit.org/show_bug.cgi?id=228088
rdar://80794604
Reviewed by Mark Lam.
JSTests:
- stress/in-by-variant-should-mark-cacheable-identifier.js: Added. (foo): (let.handler.has):
Source/JavaScriptCore:
After r278445, InByVariant holds CacheableIdentifier. And this can have
String/Symbol cells if this variant is generated by in_by_val. In that
case, we must visit this cell as GetByStatus / GetByVariant are doing.
- bytecode/InByStatus.cpp: (JSC::InByStatus::visitAggregateImpl):
- bytecode/InByStatus.h:
- bytecode/InByVariant.cpp: (JSC::InByVariant::visitAggregateImpl):
- bytecode/InByVariant.h:
- bytecode/RecordedStatuses.cpp: (JSC::RecordedStatuses::visitAggregateImpl):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:27 PM Changeset in webkit [280090] by
-
- 8 edits in branches/safari-612.1.24.1-branch/Source
Versioning.
WebKit-7612.1.24.1.2
- 11:21 AM Changeset in webkit [280089] by
-
- 7 edits in trunk/Source/WebCore
Make SVGPropertyAnimator::computeCSSPropertyValue() take a reference to SVGElement
https://bugs.webkit.org/show_bug.cgi?id=228093
<rdar://80789262>
Reviewed by Simon Fraser.
The assumption is the pointer 'targetElement' can't be nullptr. So make
it a reference instead.
- svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::computeCSSPropertyValue): Deleted.
(WebCore::inheritsFromProperty): Deleted.
(WebCore::SVGAnimationElement::determinePropertyValueTypes): Deleted.
- svg/SVGAnimationElement.h:
Delete unused methods from SVGAnimationElement.
- svg/properties/SVGPrimitivePropertyAnimator.h:
- svg/properties/SVGPropertyAnimator.h:
(WebCore::SVGPropertyAnimator::computeCSSPropertyValue const):
(WebCore::SVGPropertyAnimator::computeInheritedCSSPropertyValue const):
- svg/properties/SVGValuePropertyAnimatorImpl.h:
- svg/properties/SVGValuePropertyListAnimatorImpl.h:
- 10:53 AM Changeset in webkit [280088] by
-
- 1 copy in branches/safari-612.1.24.3-branch
New branch.
- 10:45 AM Changeset in webkit [280087] by
-
- 8 edits in branches/safari-612.1.24.0-branch/Source
Versioning.
WebKit-7612.1.24.0.2
- 10:41 AM Changeset in webkit [280086] by
-
- 8 edits in branches/safari-612.1.24.2-branch/Source
Versioning.
WebKit-7612.1.24.2.1
- 10:32 AM Changeset in webkit [280085] by
-
- 4 edits2 adds in trunk
REGRESSION (r278702): Cannot login to appaloosa-store.com/users/sign_in
https://bugs.webkit.org/show_bug.cgi?id=228096
<rdar://80596391>
Reviewed by Alex Christensen.
Source/WebCore:
r278702 added an optimization to FetchBodyConsumer::takeAsBlob() to avoid a copy of the data.
What I didn't realized when I wrote this optimization is that FetchBodyConsumer is copy-constructible
and its copy constructor gets called when calling FetchResponse.clone(). The copy constructor only
does a shallow-copy of its internal buffer so several FetchResponse objects can end up with their
FetchBodyConsumer using the same underlying SharedBuffer object. When that SharedBuffer is shared,
calling takeData() on it is unacceptable as it will disturb the body of other Fetch responses.
To address the issue, we now only call SharedBuffer::takeData() and avoid the copy when the
SharedBuffer has a RefCount of 1, meaning that is it not actually shared. In the cases where it
is shared, we copy the data, like we used to do before r278702.
Test: http/tests/fetch/response-clone-blob.html
- Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::FetchBodyConsumer::takeAsBlob):
LayoutTests:
Add layout test coverage.
- http/tests/fetch/response-clone-blob-expected.txt: Added.
- http/tests/fetch/response-clone-blob.html: Added.
- 10:07 AM Changeset in webkit [280084] by
-
- 8 edits1 move20 adds4 deletes in trunk
Canvas and OffscreenCanvas getContext should check if argument is an object before trying to convert it to a dictionary
https://bugs.webkit.org/show_bug.cgi?id=227792
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Synchronise with upstream WPT 2d canvas getContext tests.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d-getcontext-options.any-expected.txt: Added.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d-getcontext-options.any.html: Added.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d-getcontext-options.any.js: Added.
(test.const.options.get alpha):
(test.const.options.get willReadFrequently):
(test.const.options.get desynchronized):
(test.const.options.get colorSpace):
(test):
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d-getcontext-options.any.worker-expected.txt: Added.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d-getcontext-options.any.worker.html: Added.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.cache-expected.txt: Added.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.cache.html: Added.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.cache.worker-expected.txt: Added.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.cache.worker.html: Added.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.cache.worker.js: Added.
(t_fail.t.step_func):
(t.step):
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.create-expected.txt: Added.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.create.html: Added.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.create.worker-expected.txt: Added.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.create.worker.html: Added.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.create.worker.js: Added.
(t_fail.t.step_func):
(t.step):
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.html: Removed.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.worker.js: Removed.
- web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d-getcontext-options-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d-getcontext-options.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.extraargs.cache-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.extraargs.cache.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.extraargs.html.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.extraargs.create-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.extraargs.create.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log:
Source/WebCore:
Check if options argument is an object before converting to a dictionary.
Tests: imported/w3c/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d-getcontext-options.any.html
imported/w3c/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d-getcontext-options.any.worker.html
imported/w3c/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.cache.html
imported/w3c/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.cache.worker.html
imported/w3c/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.create.html
imported/w3c/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs.create.worker.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d-getcontext-options.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.extraargs.cache.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.extraargs.create.html
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
- html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::getContext):
LayoutTests:
Canvas 2d getContext extraargs tests now pass.
- platform/glib/TestExpectations:
- 9:54 AM Changeset in webkit [280083] by
-
- 2 edits in trunk/Source/WebCore
Protect m_data when iterating in CachedRawResource::didAddClient
https://bugs.webkit.org/show_bug.cgi?id=228108
<rdar://80716674>
Patch by Alex Christensen <achristensen@webkit.org> on 2021-07-20
Reviewed by Chris Dumez.
I think something is destroying m_data when its segments are being iterated.
Protect it so it doesn't get destroyed.
Also, to be on the safe side, check that the client is still a client before using it.
- loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::didAddClient):
- 9:43 AM Changeset in webkit [280082] by
-
- 1 copy in branches/safari-612.1.24.2-branch
New branch.
- 9:42 AM Changeset in webkit [280081] by
-
- 61 edits2 adds in trunk
Change referrer-policy default to strict-origin-when-cross-origin
https://bugs.webkit.org/show_bug.cgi?id=218909
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
This matches the behavior of other browsers. Update all our tests to deal with the origin now being shorter.
- web-platform-tests/fetch/api/cors/cors-preflight-referrer.any-expected.txt:
- web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.worker-expected.txt:
- web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/source/navigate-child-src-about-blank-expected.txt:
- web-platform-tests/html/browsers/windows/browsing-context-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-event-referrer-policy.https-expected.txt:
Source/WebCore:
This matches the behavior of other browsers.
Covered by existing tests and web platform tests we haven't imported yet.
- dom/Document.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::effectiveReferrerPolicy const):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
- platform/ReferrerPolicy.cpp:
(WebCore::parseReferrerPolicyToken):
- platform/ReferrerPolicy.h:
Tools:
This matches the behavior of other browsers.
Covered by existing tests and web platform tests we haven't imported yet.
- TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
LayoutTests:
This matches the behavior of other browsers.
Covered by existing tests and web platform tests we haven't imported yet.
- http/tests/media/media-stream/enumerate-devices-source-id.html:
- http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http-http.html:
- http/tests/resourceLoadStatistics/downgraded-referrer-for-navigation-with-link-query-from-prevalent-resource.html:
- http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin-https-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-same-origin-https-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-https-expected.txt:
- http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-iframe-expected.txt:
- http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-iframe-report-only-expected.txt:
- http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt:
- http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-iframe-expected.txt:
- http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-iframe-with-enforced-and-report-policies-expected.txt:
- http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-main-frame-expected.txt:
- http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-plugin-in-iframe-expected.txt:
- http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-plugin-in-main-frame-expected.txt:
- http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-script-in-iframe-expected.txt:
- http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-script-in-main-frame-expected.txt:
- http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-iframe-expected.txt:
- http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-main-frame-expected.txt:
- http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-synchronous-in-iframe-expected.txt:
- http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-synchronous-in-main-frame-expected.txt:
- http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled.py:
- http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled.py:
- http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies.py:
- http/tests/security/contentSecurityPolicy/report-status-code-zero-when-using-https-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-scheme-relative.py:
- http/tests/security/referrer-policy-header-expected.txt:
- http/tests/security/referrer-policy-header-multipart-expected.txt:
- http/tests/security/referrer-policy-header-test.js:
- http/wpt/beacon/cors/cors-preflight-blob-failure.html:
- http/wpt/beacon/cors/cors-preflight-blob-success.html:
- http/wpt/beacon/cors/cors-preflight-redirect-from-crossorigin-to-sameorigin.html:
- http/wpt/html/browsers/windows/browsing-context.html:
- platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-referrer.any-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-referrer.any.worker-expected.txt: Added.
- platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-iframe-expected.txt:
- platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame-expected.txt:
- platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-iframe-expected.txt:
- platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-iframe-with-enforced-and-report-policies-expected.txt:
- platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-main-frame-expected.txt:
- platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-plugin-in-iframe-expected.txt:
- platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-plugin-in-main-frame-expected.txt:
- platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-script-in-iframe-expected.txt:
- platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-script-in-main-frame-expected.txt:
- platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-iframe-expected.txt:
- platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-main-frame-expected.txt:
- platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-synchronous-in-iframe-expected.txt:
- platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-synchronous-in-main-frame-expected.txt:
- 8:29 AM Changeset in webkit [280080] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] Switch raw GstStructure pointers to GUniquePtr
https://bugs.webkit.org/show_bug.cgi?id=228106
Reviewed by Xabier Rodriguez-Calvar.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
(WebCore::MediaPlayerPrivateGStreamer::mediaLocationChanged):
(WebCore::MediaPlayerPrivateGStreamer::loadNextLocation):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- 5:48 AM Changeset in webkit [280079] by
-
- 2 edits in trunk/Tools
EWS should send email notification when a bot goes out of disk space
https://bugs.webkit.org/show_bug.cgi?id=216489
Reviewed by Ryan Haddad.
- CISupport/ews-build/steps.py:
(CleanUpGitIndexLock.start):
(CleanUpGitIndexLock.send_email_for_git_issue):
- 4:26 AM Changeset in webkit [280078] by
-
- 11 edits in trunk
Images as grid items should use the overridingLogicalWidth when defined to compute the logical Height
https://bugs.webkit.org/show_bug.cgi?id=228022
Reviewed by Javier Fernandez.
LayoutTests/imported/w3c:
Update test expectations as the sub-tests are now passing.
- web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-029-expected.txt:
- web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-030-expected.txt:
- web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-031-expected.txt:
- web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-035-expected.txt:
- web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-036-expected.txt:
Source/WebCore:
When computing the logical height using an intrinsic aspect ratio, RenderReplaced should use the
overridingLogicalWidth whenever defined just as how it does for flex items. This change is to
replace the use of intrinsic (non-stretched) logical width in current code with the overridingLogicalWidth.
The current code doesn't set overringLogicalWidth while the width changes while stretches along Row Axis.
This change adds the logic in.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded):
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeReplacedLogicalHeight const):
LayoutTests:
Update TestExpectations as 3 failed grid WPT tests are now passing.
- 4:08 AM Changeset in webkit [280077] by
-
- 17 edits7 adds in trunk/Source/WebKit
[GTK] Propagate GtkSettings to web process
https://bugs.webkit.org/show_bug.cgi?id=227854
Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2021-07-20
Reviewed by Carlos Garcia Campos.
There's a number of properties in GtkSettings that web process uses:
- gtk-cursor-blink
- gtk-cursor-blink-time
- gtk-font-name
- gtk-primary-button-warps-slider
- gtk-theme-name
- gtk-xft-antialias
- gtk-xft-dpi
- gtk-xft-hinting
- gtk-xft-hintstyle
- gtk-xft-rgba
While we do propagate gtk-theme-name, we don't do it for any of the other settings.
This means that they can only be fetched from XSettings/GSettings/settings portal
by GTK itself, but if the app changes them or if they are changed from inspector,
web processes won't see that.
Introduce GtkSettingsManager as a specific place that listens to preferences
changes and notifies the web process, where GtkSettingsManagerProxy updates
GtkSettings on that side. Keep the dark mode preference separate since there's
existing cross-platform infrastructure for it.
Apply settings after reinitializing as well, it was only done after initialization
so failed with PSON.
- PlatformGTK.cmake:
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- Shared/gtk/GtkSettingsState.cpp: Added.
(WebKit::GtkSettingsState::encode const):
(WebKit::GtkSettingsState::decode):
- Shared/gtk/GtkSettingsState.h: Added.
- Shared/gtk/NativeWebTouchEventGtk.cpp:
- SourcesGTK.txt:
- UIProcess/API/gtk/PageClientImpl.cpp:
- UIProcess/API/gtk/PageClientImpl.h:
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSetToplevelOnScreenWindow):
(webkitWebViewBaseRoot):
(webkitWebViewBaseUnroot):
(webkitWebViewBaseConstructed):
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
- UIProcess/WebPageProxy.h:
- UIProcess/gtk/GtkSettingsManager.cpp: Added.
(WebKit::GtkSettingsManager::singleton):
(WebKit::GtkSettingsManager::themeName const):
(WebKit::GtkSettingsManager::fontName const):
(WebKit::GtkSettingsManager::xftAntialias const):
(WebKit::GtkSettingsManager::xftHinting const):
(WebKit::GtkSettingsManager::xftHintStyle const):
(WebKit::GtkSettingsManager::xftRGBA const):
(WebKit::GtkSettingsManager::xftDPI const):
(WebKit::GtkSettingsManager::cursorBlink const):
(WebKit::GtkSettingsManager::cursorBlinkTime const):
(WebKit::GtkSettingsManager::primaryButtonWarpsSlider const):
(WebKit::GtkSettingsManager::settingsDidChange):
(WebKit::GtkSettingsManager::GtkSettingsManager):
- UIProcess/gtk/GtkSettingsManager.h: Added.
(WebKit::GtkSettingsManager::settingsState const):
- UIProcess/gtk/WebPageProxyGtk.cpp:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_appHighlightsVisible):
(WebKit::WebPage::reinitializeWebPage):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
- WebProcess/gtk/GtkSettingsManagerProxy.cpp: Added.
(WebKit::GtkSettingsManagerProxy::singleton):
(WebKit::GtkSettingsManagerProxy::GtkSettingsManagerProxy):
(WebKit::GtkSettingsManagerProxy::settingsDidChange):
(WebKit::GtkSettingsManagerProxy::applySettings):
- WebProcess/gtk/GtkSettingsManagerProxy.h: Added.
- WebProcess/gtk/GtkSettingsManagerProxy.messages.in: Added.
- 4:04 AM Changeset in webkit [280076] by
-
- 2 edits in trunk/Tools
Update myself (vjaquez) as committer in contributors.json
https://bugs.webkit.org/show_bug.cgi?id=228103
Unreviewed.
- Scripts/webkitpy/common/config/contributors.json:
- 3:39 AM Changeset in webkit [280075] by
-
- 10 edits2 deletes in trunk
Fix grid aspect-ratio tests
https://bugs.webkit.org/show_bug.cgi?id=225860
Patch by Rob Buis <rbuis@igalia.com> on 2021-07-20
Reviewed by Javier Fernandez.
LayoutTests/imported/w3c:
Import aspect-ratio tests based on 56bf98c5c0.
- web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-013-expected.xht: Removed.
- web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-013.html: Removed.
- web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-018.html:
- web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-019.html:
Source/WebCore:
Fix various combinations of implicit/explicit stretching in inline and
block directions as tested by grid-aspect-ratio-028.html until
grid-aspect-ratio-038.html and as specified [1, 2].
Also treat explicit stretching through justify-items/align-items: stretch
like justify-self/align-self: stretch.
[1] https://drafts.csswg.org/css-grid/#grid-item-sizing
[2] drafts.csswg.org/css-sizing-4/#aspect-ratio
- rendering/RenderBox.cpp:
(WebCore::RenderBox::hasStretchedLogicalWidth const):
(WebCore::RenderBox::shouldComputeLogicalWidthFromAspectRatio const):
- rendering/RenderBox.h:
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::selfAlignmentForChild const):
(WebCore::RenderGrid::alignSelfForChild const):
(WebCore::RenderGrid::justifySelfForChild const):
(WebCore::RenderGrid::aspectRatioPrefersInline):
(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded):
(WebCore::RenderGrid::hasAutoSizeInColumnAxis const):
(WebCore::RenderGrid::hasAutoSizeInRowAxis const):
- rendering/RenderGrid.h:
LayoutTests:
Unskip tests that now pass.
- 3:32 AM WebKitGTK/2.32.x edited by
- (diff)
- 3:25 AM Changeset in webkit [280074] by
-
- 4 edits in trunk/Source/WebKit
[GTK][WPE] Fix compilation when ATK is not used
https://bugs.webkit.org/show_bug.cgi?id=228077
Reviewed by Carlos Garcia Campos.
Guard ATK only inside implementations, so the code is more readable.
Also changed guard from ATK to GTK platform showEmojiPicker().
No new tests needed.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/wpe/WebPageProxyWPE.cpp:
(WebKit::WebPageProxy::bindAccessibilityTree):
Jul 19, 2021:
- 7:19 PM Changeset in webkit [280073] by
-
- 1 copy in tags/Safari-612.1.24.0.1
Tag Safari-612.1.24.0.1.
- 7:19 PM Changeset in webkit [280072] by
-
- 1 delete in tags/Safari-612.1.24.0.1
Delete tag.
- 7:18 PM Changeset in webkit [280071] by
-
- 12 edits in branches/safari-612.1.24.0-branch/Source
Cherry-pick r280019. rdar://problem/80788628
[iOS] [AX] Keyboard text candidates don't update when changing selection using Switch Control
https://bugs.webkit.org/show_bug.cgi?id=228051
rdar://79944295
Reviewed by Tim Horton.
Source/WebCore:
See WebKit ChangeLog for more details.
- accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::setSelectedTextRange): (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange const):
Call the new EditorClient methods added below. Additionally, drive-by fix
setSelectedVisiblePositionRange
so
that it also performs a user-triggered selection change in the case where the range is not collapsed; this
matches the behavior ofsetSelectedTextRange
as well.
- page/EditorClient.h: (WebCore::EditorClient::willChangeSelectionForAccessibility): (WebCore::EditorClient::didChangeSelectionForAccessibility):
Add new EditorClient hooks,
(will|did)ChangeSelectionForAccessibility
, that accessibility code can call before
and after it triggers a selection change; we use these two codepaths above when using the "Previous/Next
Character", "Previous/Next Word", and "Previous/Next Line" Switch Control menu actions.
Source/WebKit:
Add support for updating text candidates by calling into UIKeyboardImpl when changing the selection via
accessibility UI (e.g. when using Switch Control). To achieve this, we add a new EditorState flag that indicates
whether or not the EditorState change was triggered by accessibility; in WKContentView, we then consult this
flag and call-beginSelectionChange/-endSelectionChange
in the case where the updated editor state change was
triggered by accessibility and we're also not already in the scope of another selection change or gesture-based
selection change.
Note that the latter part of the check is critical in order to avoid deadlocks in UIKeyboardTaskQueue; see
r246013, r246425 and r246665, which introduced and later reverted a similar mechanism for updating
UIKeyboardImpl, but after every selection change.
- Shared/EditorState.cpp: (WebKit::EditorState::encode const): (WebKit::EditorState::decode): (WebKit::operator<<):
- Shared/EditorState.h:
Add the new boolean flag,
triggeredByAccessibilitySelectionChange
.
- UIProcess/WebPageProxy.cpp:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView beginSelectionChange]): (-[WKContentView endSelectionChange]):
Add a new
unsigned
flag,_selectionChangeNestingLevel
, that lets us know if we're expecting an eventual call
to-endSelectionChange
. See-_selectionChanged
below for more details. Note that we don't need to reset
_selectionChangeNestingLevel
to 0 when cleaning up the interaction after web process termination, because
the completion handlers that contain all the balanced calls to-endSelectionChange
should be invoked after
such an event anyways.
(-[WKContentView _selectionChanged]):
If the
triggeredByAccessibilitySelectionChange
bit is set on the incoming (post layout data) EditorState and:
(1) UIKit isn't in the middle of handling a gesture that modifies the selection, and...
(2) We aren't expecting a call to-endSelectionChange
.
...then we force UIKeyboardImpl to reload its UI (text suggestions, B/I/U state, etc.) using the incoming
EditorState. This allows accessibility-driven selection changes using Switch Control to behave like gesture-
based selection changes.
- WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::willChangeSelectionForAccessibility): (WebKit::WebEditorClient::didChangeSelectionForAccessibility):
Implement a couple of client hooks in WebKit2 so that we set a boolean flag on WebPage,
m_isChangingSelectionForAccessibility
, totrue
over the scope of an AX-driven selection change. See related
AX changes in WebCore for more details.
- WebProcess/WebCoreSupport/WebEditorClient.h:
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::hasPendingEditorStateUpdate const):
Add a helper method so that we can conveniently check whether we have a pending editor state update to flush,
since the previous boolean flag is now a tri-state enum (m_pendingEditorStateUpdateStatus
).
(WebKit::WebPage::editorState const):
(WebKit::WebPage::willCommitLayerTree):
(WebKit::WebPage::sendEditorStateUpdate):
(WebKit::WebPage::scheduleFullEditorStateUpdate):
If we're in the scope of an accessibility selection change, transition
m_pendingEditorStateUpdateStatus
to
ScheduledDuringAccessibilitySelectionChange
; otherwise, just useScheduled
.
(WebKit::WebPage::flushPendingEditorStateUpdate):
Refactor
m_hasPendingEditorStateUpdate
so that it now captures three states:
(1) We haven't scheduled an editor state update yet.
(2) We've scheduled an editor state update that was not triggered by accessibility.
(3) We've scheduled an editor state update that was triggered by accessibility.
The distinction between (2) and (3) allows us to populate EditorState's new
triggeredByAccessibilitySelectionChange
flag.
- WebProcess/WebPage/WebPage.h: (WebKit::WebPage::willChangeSelectionForAccessibility): (WebKit::WebPage::didChangeSelectionForAccessibility):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:18 PM Changeset in webkit [280070] by
-
- 2 edits in branches/safari-612.1.24.0-branch/Source/WebKit
Cherry-pick r279975. rdar://problem/80788597
[iOS] WKMouseGestureRecognizer should not have failure requirements on WKDeferringGestureRecognizer
https://bugs.webkit.org/show_bug.cgi?id=228013
rdar://80342462
Reviewed by Tim Horton.
Avoid adding a gesture failure requirement between any WKDeferringGestureRecognizers and
WKMouseGestureRecognizer; It doesn't make sense to claim that WKMouseGestureRecognizer should only recognize
once active touch events have been handled by the web page. Under normal circumstances, this gesture failure
requirement is actually completely benign, since touch events should never be received by
WKMouseGestureRecognizer in the first place, and when using a trackpad, deferring gesture recognizers are not
triggered.
However, if an app were to (hypothetically) swizzle out
-gestureRecognizer:shouldReceiveTouch:
to force
WKMouseGestureRecognizer to receive normal (non-trackpad) touch events, this could cause nearly all gesture
recognizers in the window to become unresponsive, since WKMouseGestureRecognizer would be stuck in Changed state
long after other gestures in the same subgraph have transitioned to Ended or Failed state, thereby preventing
all of these gestures from being reset to Possible state.
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView deferringGestureRecognizer:shouldDeferOtherGestureRecognizer:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279975 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:07 PM Changeset in webkit [280069] by
-
- 8 edits in branches/safari-612.1.24.0-branch/Source
Versioning.
WebKit-7612.1.24.0.1
- 6:51 PM Changeset in webkit [280068] by
-
- 2 edits in trunk/LayoutTests
[BigSur Release Wk2 Arm64] inspector/css/node-styles-refreshed.html is a flaky failure (224788)
https://bugs.webkit.org/show_bug.cgi?id=224788
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 6:40 PM Changeset in webkit [280067] by
-
- 2 edits in trunk/LayoutTests
[BigSur Wk1 Release] imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-017.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=225420
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 6:29 PM Changeset in webkit [280066] by
-
- 7 edits in trunk/Source/JavaScriptCore
[JSC] StructureStubInfo's m_identifier should follow to the same protocol of inlineAccessBaseStructure
https://bugs.webkit.org/show_bug.cgi?id=228092
Reviewed by Saam Barati.
In r279813, we fixed a race condition related to inlineAccessBaseStructure: while we clear inlineAccessBaseStructure,
we still run code relying on this field's value until stub version of the code is generated. As a result,
we run the code which relies on the cells that are already collected. And we have the same problem with
m_identifier field too. This patch makes m_identifier follow to the same protocol of inlineAccessBaseStructure
so that we fix this race issue too: both fields will be alive until we switch to the code that are not relying on these
fields.
We also make inlineAccessBaseStructure to m_inlineAccessBaseStructure to easily find that this is member field.
And we also use setWithoutWriteBarrier for m_inlineAccessBaseStructure since we emit codeBlock->vm().heap.writeBarrier(codeBlock)
immediately after that.
- bytecode/AccessCase.cpp:
(JSC::AccessCase::fromStructureStubInfo):
- bytecode/GetByStatus.cpp:
(JSC::GetByStatus::computeForStubInfoWithoutExitSiteFeedback):
- bytecode/InByStatus.cpp:
(JSC::InByStatus::computeForStubInfoWithoutExitSiteFeedback):
- bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeForStubInfo):
- bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::initGetByIdSelf):
(JSC::StructureStubInfo::initArrayLength):
(JSC::StructureStubInfo::initStringLength):
(JSC::StructureStubInfo::initPutByIdReplace):
(JSC::StructureStubInfo::initInByIdSelf):
(JSC::StructureStubInfo::addAccessCase):
(JSC::StructureStubInfo::reset):
(JSC::StructureStubInfo::visitAggregateImpl):
(JSC::StructureStubInfo::visitWeakReferences):
(JSC::StructureStubInfo::propagateTransitions):
(JSC::StructureStubInfo::setCacheType): Deleted.
- bytecode/StructureStubInfo.h:
- 6:27 PM Changeset in webkit [280065] by
-
- 1 copy in tags/Safari-612.1.24.0.1
Tag Safari-612.1.24.0.1.
- 6:19 PM Changeset in webkit [280064] by
-
- 1 copy in branches/safari-612.1.24.0-branch
New branch.
- 6:13 PM Changeset in webkit [280063] by
-
- 2 edits in trunk/LayoutTests
Update test expectations for imported/w3c/web-platform-tests/speech-api/SpeechSynthesis-speak-events.html.
https://bugs.webkit.org/show_bug.cgi?id=227501.
Unreviewed test gardening.
Patch by Eric Hutchison <Eric Hutchison> on 2021-07-19
- platform/ios-wk2/TestExpectations:
- 6:11 PM Changeset in webkit [280062] by
-
- 1 delete in branches/safari-612.1.24.0-branch
Delete branch.
- 5:58 PM Changeset in webkit [280061] by
-
- 1 copy in tags/Safari-612.1.24.1.1
Tag Safari-612.1.24.1.1.
- 5:48 PM Changeset in webkit [280060] by
-
- 3 edits1 add in trunk
DFG's parseIntResult() should check for negative zero.
https://bugs.webkit.org/show_bug.cgi?id=228068
rdar://80788603
Reviewed by Yusuke Suzuki.
JSTests:
- stress/dfg-parseIntResult-should-check-for-negative-zero.js: Added.
Source/JavaScriptCore:
We have to check for negative zero explicitly because C++ evaluates 0.0 == -0.0
as true.
- dfg/DFGOperations.cpp:
(JSC::DFG::parseIntResult):
- 5:44 PM Changeset in webkit [280059] by
-
- 2 edits in trunk/LayoutTests
Update expectations for imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001.html.
https://bugs.webkit.org/show_bug.cgi?id=228094.
Unreviewed test gardening.
Patch by Eric Hutchison <Eric Hutchison> on 2021-07-19
- platform/mac/TestExpectations:
- 5:27 PM Changeset in webkit [280058] by
-
- 2 edits in trunk/LayoutTests
[BigSur Wk1] svg/filters/feDiffuseLighting-bottomRightPixel.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=225470
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 5:00 PM Changeset in webkit [280057] by
-
- 2 edits2 adds in trunk
[iOS] Tapping images on twitter.com should not toggle tab bar visibility
https://bugs.webkit.org/show_bug.cgi?id=228086
rdar://79667219
Reviewed by Geoffrey Garen.
Treat taps over elements that are explicitly marked draggable and also respond to click events as "meaningful"
with respect to the private UIDelegate method-_webView:didTapAtPoint:withResult:
. In doing this, we use the
combination of responding to drags and clicks as a proxy for content that probably results in some meaningful
interaction when tapped.
Test: fast/events/ios/meaningful-click-when-tapping-draggable-content.html
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::isProbablyMeaningfulClick):
- 5:00 PM Changeset in webkit [280056] by
-
- 2 edits in trunk/LayoutTests
[BigSur Wk1 Release] imported/w3c/web-platform-tests/css/css-flexbox/abspos/position-absolute-containing-block-002.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=225490
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 4:50 PM Changeset in webkit [280055] by
-
- 2 edits in trunk/LayoutTests
[BigSur Wk1 Release] imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-023.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=225495
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 4:35 PM Changeset in webkit [280054] by
-
- 2 edits in trunk/LayoutTests
[ macOS iOS ] crypto/crypto-random-values-oom.html is a flakey timeout.
https://bugs.webkit.org/show_bug.cgi?id=223949
Unreviewed test gardening.
Updated test expectations due to test still appearing flaky.
Patch by Ayumi Kojima <Ayumi Kojima> on 2021-07-19
- platform/ios-simulator/TestExpectations:
- 4:09 PM Changeset in webkit [280053] by
-
- 33 edits in trunk
Implement IDBTransaction.commit()
https://bugs.webkit.org/show_bug.cgi?id=227815
<rdar://problem/80651270>
Reviewed by Brady Eidson.
LayoutTests/imported/w3c:
- web-platform-tests/IndexedDB/idb-explicit-commit-throw.any-expected.txt:
- web-platform-tests/IndexedDB/idb-explicit-commit-throw.any.worker-expected.txt:
- web-platform-tests/IndexedDB/idb-explicit-commit.any-expected.txt: Some test is timed out as our backend does
not support running multiple transactions simultaneously now.
- web-platform-tests/IndexedDB/idb-explicit-commit.any.worker-expected.txt: Ditto.
- web-platform-tests/IndexedDB/idlharness.any-expected.txt:
- web-platform-tests/IndexedDB/idlharness.any.worker-expected.txt:
Source/WebCore:
Spec: https://www.w3.org/TR/IndexedDB/#dom-idbtransaction-commit
Commit request for IDBTransaction is created automatically after all its requests are completed and success
events of those requests are fired. IDBTransaction.commit() lets client create commit request, without waiting
for the result of requests, so the commit can happen sooner.
In our implementation, if pending requests before the commit request are completed successfully, commit request
will be executed directly in the backend and dose not affect by things happening in request event handler. If
some pending request before the commit request has error, the commit request will be treated as abort request,
as commit() means no client operation, including error handling, should happen after it.
Rebaselined existing tests.
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::didStartTransaction):
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::dispatchEvent):
(WebCore::IDBRequest::willAbortTransactionAfterDispatchingEvent const):
- Modules/indexeddb/IDBRequest.h:
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::abortDueToFailedRequest):
(WebCore::IDBTransaction::abort):
(WebCore::IDBTransaction::abortInternal):
(WebCore::IDBTransaction::stop):
(WebCore::IDBTransaction::handleOperationsCompletedOnServer):
(WebCore::IDBTransaction::commit): If commit() is called in event handler for error event, and the error is
handled before the call, we will create a commit requet. Otherwise, it is ignored as transaction will abort
due to the error.
(WebCore::IDBTransaction::commitInternal):
(WebCore::IDBTransaction::commitOnServer):
(WebCore::IDBTransaction::didCommit): didCommit used to be called after all requests are done and events are
fired. As commit request can now be handled and replied before other requests, we need to make sure complete
event of transaction is fired after success event of requests, by tracking completion of the last request before
commit request.
(WebCore::IDBTransaction::operationCompletedOnClient):
(WebCore::IDBTransaction::autoCommit):
(WebCore::IDBTransaction::internalAbort): Deleted.
- Modules/indexeddb/IDBTransaction.h:
- Modules/indexeddb/IDBTransaction.idl:
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::commitTransaction):
- Modules/indexeddb/client/IDBConnectionProxy.h:
- Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::commitTransaction):
- Modules/indexeddb/client/IDBConnectionToServer.h:
- Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::commitTransaction):
- Modules/indexeddb/server/IDBServer.h:
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::commit):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::createObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::clearObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::createIndex):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteIndex):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameIndex):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::putOrAdd):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getAllRecords):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteRecord):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::openCursor):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::iterateCursor):
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
- loader/EmptyClients.cpp:
Source/WebKit:
- NetworkProcess/IndexedDB/WebIDBServer.cpp:
(WebKit::WebIDBServer::commitTransaction):
- NetworkProcess/IndexedDB/WebIDBServer.h:
- NetworkProcess/IndexedDB/WebIDBServer.messages.in:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
(WebKit::WebIDBConnectionToServer::commitTransaction):
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
Source/WebKitLegacy:
- Storage/InProcessIDBServer.cpp:
(InProcessIDBServer::commitTransaction):
- Storage/InProcessIDBServer.h:
- 3:59 PM Changeset in webkit [280052] by
-
- 2 edits in trunk/LayoutTests
[MacOS wk1 Release] media/modern-media-controls/scrubber-support/scrubber-support-drag.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=228091
Unreviewed test gardening.
Patch by Ayumi Kojima <Ayumi Kojima> on 2021-07-19
- platform/mac-wk1/TestExpectations:
- 3:35 PM Changeset in webkit [280051] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, mark imported/w3c/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html as flaky on WK1.
https://bugs.webkit.org/show_bug.cgi?id=228089
- platform/mac-wk1/TestExpectations:
- 3:17 PM Changeset in webkit [280050] by
-
- 7 edits1 add in trunk
[JSC] InByStatus / InByVariant should visit CacheableIdentifier
https://bugs.webkit.org/show_bug.cgi?id=228088
rdar://80794604
Reviewed by Mark Lam.
JSTests:
- stress/in-by-variant-should-mark-cacheable-identifier.js: Added.
(foo):
(let.handler.has):
Source/JavaScriptCore:
After r278445, InByVariant holds CacheableIdentifier. And this can have
String/Symbol cells if this variant is generated by in_by_val. In that
case, we must visit this cell as GetByStatus / GetByVariant are doing.
- bytecode/InByStatus.cpp:
(JSC::InByStatus::visitAggregateImpl):
- bytecode/InByStatus.h:
- bytecode/InByVariant.cpp:
(JSC::InByVariant::visitAggregateImpl):
- bytecode/InByVariant.h:
- bytecode/RecordedStatuses.cpp:
(JSC::RecordedStatuses::visitAggregateImpl):
- 3:01 PM Changeset in webkit [280049] by
-
- 3 edits in trunk/Source/WebCore
Port <dialog> close event to modern event handling code
https://bugs.webkit.org/show_bug.cgi?id=227915
Reviewed by Chris Dumez.
- html/HTMLDialogElement.cpp:
(WebCore::HTMLDialogElement::close):
(WebCore::dialogCloseEventSender): Deleted.
(WebCore::HTMLDialogElement::~HTMLDialogElement): Deleted.
(WebCore::HTMLDialogElement::dispatchPendingEvent): Deleted.
- html/HTMLDialogElement.h:
- 2:54 PM Changeset in webkit [280048] by
-
- 3 edits in trunk/LayoutTests
[ Mac wk2 ]Updated test expectations for media/video-seek-with-negative-playback.html and removed obsolete expectations in platforms/mac.
https://bugs.webkit.org/show_bug.cgi?id=228087.
Unreviewed test gardening.
Patch by Eric Hutchison <Eric Hutchison> on 2021-07-19
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 2:35 PM Changeset in webkit [280047] by
-
- 7 edits in trunk
HTMLImageElement.decoding should reflect the decoding content attribute, limited to only known values
https://bugs.webkit.org/show_bug.cgi?id=228081
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline WPT test now that more checks are passing.
- web-platform-tests/html/dom/reflection-embedded-expected.txt:
Source/WebCore:
HTMLImageElement.decoding should reflect the decoding content attribute, limited to only known values.
We were missing the *limited to only known values* logic:
This aligns our behavior with Firefox and Chrome.
No new tests, rebaselined existing test.
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::setDecoding):
(WebCore::HTMLImageElement::decoding const):
- html/HTMLImageElement.h:
- html/HTMLImageElement.idl:
- 2:33 PM Changeset in webkit [280046] by
-
- 9 edits in trunk
FetchResponse.formData() should not reject promise if the body is null and the MIME Type is "application/x-www-form-urlencoded"
https://bugs.webkit.org/show_bug.cgi?id=228085
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that more checks are passing.
- web-platform-tests/fetch/api/request/request-consume-empty.any-expected.txt:
- web-platform-tests/fetch/api/request/request-consume-empty.any.worker-expected.txt:
- web-platform-tests/fetch/api/response/response-consume-empty.any-expected.txt:
- web-platform-tests/fetch/api/response/response-consume-empty.any.worker-expected.txt:
Source/WebCore:
FetchResponse.formData() should not reject promise if the body is null and the MIME Type is "application/x-www-form-urlencoded":
- https://fetch.spec.whatwg.org/#concept-body-consume-body
- https://fetch.spec.whatwg.org/#concept-body-package-data
As per the specification, we should package an empty byte sequence in this case and resolve the promise with that.
No new tests, rebaselined existing tests.
- Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::FetchBodyConsumer::packageFormData):
(WebCore::resolveWithTypeAndData):
(WebCore::packageFormData): Deleted.
- Modules/fetch/FetchBodyConsumer.h:
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::formData):
- 1:49 PM Changeset in webkit [280045] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION(?): alpha slider doesn't match alpha input for
transparent
in color picker
https://bugs.webkit.org/show_bug.cgi?id=227941
<rdar://problem/80557438>
Reviewed by Devin Rousso.
- UserInterface/Views/Slider.js:
(WI.Slider.prototype.set value):
When the initial value was set to 0,set value
was exiting early when the passed value was 0.
- 1:45 PM Changeset in webkit [280044] by
-
- 11 edits91 adds in trunk/LayoutTests
Unreviewed, land test baselines for cross-origin-opener-policy tests
https://bugs.webkit.org/show_bug.cgi?id=228080
LayoutTests/imported/w3c:
- web-platform-tests/html/cross-origin-opener-policy/blob-popup.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/coep-blob-popup.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/coep-navigate-popup.https-expected.txt:
- web-platform-tests/html/cross-origin-opener-policy/coep-redirect.https-expected.txt:
- web-platform-tests/html/cross-origin-opener-policy/coep.https-expected.txt:
- web-platform-tests/html/cross-origin-opener-policy/coop-coep-sandbox.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/coop-csp-sandbox-navigate.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/coop-csp-sandbox.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/coop-navigated-history-popup.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/coop-navigated-popup.https-expected.txt:
- web-platform-tests/html/cross-origin-opener-policy/coop-same-origin-allow-popups-document-write-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/coop-sandbox.https-expected.txt:
- web-platform-tests/html/cross-origin-opener-policy/header-parsing.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/historical/coep-navigate-popup-unsafe-inherit.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-cross-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-site.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-cross-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-site.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-site-with-cross-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-site.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups-to-same-origin-allow-popups.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups-to-same-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups-to-unsafe-none.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/iframe-popup-same-origin-to-same-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/iframe-popup-same-origin-to-unsafe-none.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/iframe-popup-unsafe-none-to-same-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/iframe-popup-unsafe-none-to-unsafe-none.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/javascript-url.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/navigate-to-aboutblank.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/navigate-top-to-aboutblank.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-coop-by-sw-from-coop.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-coop-by-sw.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-meta-http-equiv.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-redirect-cache.https-expected.txt:
- web-platform-tests/html/cross-origin-opener-policy/popup-redirect-same-origin-allow-popups.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-same-origin-allow-popups-with-cross-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-same-origin-allow-popups-with-same-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-same-origin-allow-popups-with-same-site.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-same-origin-with-cross-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-same-origin-with-same-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-same-origin-with-same-site.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-unsafe-none-with-cross-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-unsafe-none-with-same-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-unsafe-none-with-same-site.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-unspecified-with-cross-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-unspecified-with-same-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-unspecified-with-same-site.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/popup-with-structured-header.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/access-from-coop-page-to-openee_coop-ro.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/access-from-coop-page-to-openee_coop-ro_cross-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/access-from-coop-page-to-opener_coop-ro.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/access-from-coop-page-to-opener_coop-ro_cross-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/access-from-coop-page-to-other_coop-ro.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/access-from-coop-page-to-other_coop-ro_cross-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/access-to-coop-page-from-openee_coop-ro.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/access-to-coop-page-from-openee_coop-ro_cross-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/access-to-coop-page-from-opener_coop-ro.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/access-to-coop-page-from-opener_coop-ro_cross-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/access-to-coop-page-from-other_coop-ro.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/access-to-coop-page-from-other_coop-ro_cross-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-blur.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-close.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-closed.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-focus.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-frames.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-indexed-getter.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-length.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-location-get.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-location-set.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-named-getter.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-opener-get.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-opener-set.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-postmessage-1.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-postmessage-2.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-self.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-top.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/property-window.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/report-to-both_coop-ro.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/access-reporting/reporting-observer-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/navigation-reporting/report-only-four-reports.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/navigation-reporting/report-only-from-unsafe-none.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/navigation-reporting/report-only-same-origin-report-to.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/navigation-reporting/report-only-same-origin-with-coep-report-only.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/navigation-reporting/report-only-same-origin-with-coep.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/navigation-reporting/report-only-same-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/navigation-reporting/reporting-coop-navigated-opener.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/navigation-reporting/reporting-coop-navigated-popup.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/navigation-reporting/reporting-popup-same-origin-allow-popups-report-to.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/navigation-reporting/reporting-popup-same-origin-coep-report-to.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/navigation-reporting/reporting-popup-same-origin-report-to.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/navigation-reporting/reporting-popup-same-origin.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/navigation-reporting/reporting-popup-unsafe-none-report-to.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/reporting/navigation-reporting/reporting-redirect-with-same-origin-allow-popups.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-opener-policy/resource-popup.https-expected.txt: Added.
LayoutTests:
- 1:14 PM Changeset in webkit [280043] by
-
- 3 edits in trunk/LayoutTests
[MacOS wk2 & iOS] 2 fast/canvas tests are flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=228082
Unreviewed test gardening.
Patch by Ayumi Kojima <Ayumi Kojima> on 2021-07-19
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 12:38 PM Changeset in webkit [280042] by
-
- 2 edits in trunk/LayoutTests
[ BigSur Release wk1 ] media/video-restricted-no-preload-auto.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=228084.
Unreviewed test gardening.
Patch by Eric Hutchison <Eric Hutchison> on 2021-07-19
- platform/mac-wk1/TestExpectations:
- 12:29 PM Changeset in webkit [280041] by
-
- 2 edits in trunk/Source/WebKit
Revert a debug assertion that was added in r280019
https://bugs.webkit.org/show_bug.cgi?id=228051
Reviewed by Tim Horton.
Several existing (non-accessibility-related) editing tests appear to hit this debug assertion that was added in
r280019, which indicates that it's currently possible to call-selectionDidChange:
without a balanced call to
-selectionWillChange:
, even before the changes in r280019.
For the time being, replace this assertion with a FIXME referencing a followup bug to investigate why this is
the case: https://webkit.org/b/228083. Thankfully, since the decrementing of_selectionChangeNestingLevel
is
idempotent once the level reaches 0, no other changes are needed to ensure that we don't end up with underflow
in_selectionChangeNestingLevel
.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView endSelectionChange]):
- 11:53 AM Changeset in webkit [280040] by
-
- 2 edits in trunk/Tools
[build.webkit.org] lldb-webkit-test is failing on Catalina queues
https://bugs.webkit.org/show_bug.cgi?id=227946
Reviewed by Aakash Jain.
The changes to lldb-webkit-test to support the Python 3 version of lldb present in the
Big Sur-aligned Xcode have made it incompatible with Catalin's Python 2 version.
Rather than creating and defending the results for two different versions of the lldb-webkit-test
script, disable this test step for Catalina.
- CISupport/build-webkit-org/factories.py:
(TestFactory.init):
- 11:14 AM Changeset in webkit [280039] by
-
- 2 edits in trunk/Source/WebKit
[Cocoa] Web Inspector: Service workers can't be inspected in Safari Technology Preview
https://bugs.webkit.org/show_bug.cgi?id=228001
Reviewed by Per Arne Vollan.
For inspecting targets in the WebProcess, like Service Workers, we read the
ShowDevelopMenu
default on Cocoa
platforms to determine if remote inspection should be allowed, but the sandbox broker bundle identifier used to
read that preference is different for Safari Technology Preview. We need to read the preference with the
appropriate sandbox broker bundle identifier when the host application is Safari Technology Preview.
- UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::shouldEnableRemoteInspector):
- 11:13 AM Changeset in webkit [280038] by
-
- 3 edits in trunk/Source/WebKit
[Cocoa] Web Inspector: REGRESSION(r271294) Service workers on iOS can't be inspected
https://bugs.webkit.org/show_bug.cgi?id=227971
Reviewed by Per Arne Vollan.
r271294 fixed inspecting Service Workers on macOS, but in the process broke inspecting Service Workers on iOS.
For iOS, previously a flag was set to mark RemoteInspector as needing to wait for a Sandbox Extension handle,
but after r271294 this flag will no longer be cleared properly, as the handle is acquired and consumed prior to
the point in initialization that iOS was special cased to wait for the handle. To resolve this, we now set the
flag once based on whether we were able to acquire a handle, which due to the changes in r270326 will already
have been done by the time we are initializing a WebProcess.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 11:06 AM Changeset in webkit [280037] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Elements: selecting a sibling node in the breadcrumb navigation doesn't do anything
https://bugs.webkit.org/show_bug.cgi?id=227893
Reviewed by Devin Rousso.
The
WI.HierarchicalPathComponent.Event.Clicked
event is only fired when there are no sibling path components
to select, therefor we must also listen for theWI.HierarchicalPathComponent.Event.SiblingWasSelected
event to
be able to then reveal and highlight the correct DOM node in the tree.
- UserInterface/Views/DOMTreeContentView.js:
(WI.DOMTreeContentView.prototype.get selectionPathComponents):
(WI.DOMTreeContentView.prototype._handlePathComponentSelected):
Drive-by to match our style of_handle*
event handler naming.
- 11:06 AM Changeset in webkit [280036] by
-
- 2 edits in trunk/Source/WebKit
Fix the build.
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
(WebKit::nameForBackingStoreType):
- 11:00 AM Changeset in webkit [280035] by
-
- 1 edit3 adds in trunk/Source/WebInspectorUI
Web Inspector: Add another Protocol Version (iOS 15.0)
https://bugs.webkit.org/show_bug.cgi?id=228079
Reviewed by Devin Rousso.
- UserInterface/Protocol/Legacy/15.0/InspectorBackendCommands.js: Added.
- Versions/Inspector-iOS-15.0.json: Added.
- 10:51 AM Changeset in webkit [280034] by
-
- 2 edits in trunk/LayoutTests
[MacOS Wk1] media/video-pause-immediately.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=227136.
Unreviewed test gardening.
Patch by Eric Hutchison <Eric Hutchison> on 2021-07-19
- platform/mac-wk1/TestExpectations:
- 10:40 AM Changeset in webkit [280033] by
-
- 12 edits in branches/safari-612.1.24.0-branch/Source
Cherry-pick r280019. rdar://problem/80788628
[iOS] [AX] Keyboard text candidates don't update when changing selection using Switch Control
https://bugs.webkit.org/show_bug.cgi?id=228051
rdar://79944295
Reviewed by Tim Horton.
Source/WebCore:
See WebKit ChangeLog for more details.
- accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::setSelectedTextRange): (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange const):
Call the new EditorClient methods added below. Additionally, drive-by fix
setSelectedVisiblePositionRange
so
that it also performs a user-triggered selection change in the case where the range is not collapsed; this
matches the behavior ofsetSelectedTextRange
as well.
- page/EditorClient.h: (WebCore::EditorClient::willChangeSelectionForAccessibility): (WebCore::EditorClient::didChangeSelectionForAccessibility):
Add new EditorClient hooks,
(will|did)ChangeSelectionForAccessibility
, that accessibility code can call before
and after it triggers a selection change; we use these two codepaths above when using the "Previous/Next
Character", "Previous/Next Word", and "Previous/Next Line" Switch Control menu actions.
Source/WebKit:
Add support for updating text candidates by calling into UIKeyboardImpl when changing the selection via
accessibility UI (e.g. when using Switch Control). To achieve this, we add a new EditorState flag that indicates
whether or not the EditorState change was triggered by accessibility; in WKContentView, we then consult this
flag and call-beginSelectionChange/-endSelectionChange
in the case where the updated editor state change was
triggered by accessibility and we're also not already in the scope of another selection change or gesture-based
selection change.
Note that the latter part of the check is critical in order to avoid deadlocks in UIKeyboardTaskQueue; see
r246013, r246425 and r246665, which introduced and later reverted a similar mechanism for updating
UIKeyboardImpl, but after every selection change.
- Shared/EditorState.cpp: (WebKit::EditorState::encode const): (WebKit::EditorState::decode): (WebKit::operator<<):
- Shared/EditorState.h:
Add the new boolean flag,
triggeredByAccessibilitySelectionChange
.
- UIProcess/WebPageProxy.cpp:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView beginSelectionChange]): (-[WKContentView endSelectionChange]):
Add a new
unsigned
flag,_selectionChangeNestingLevel
, that lets us know if we're expecting an eventual call
to-endSelectionChange
. See-_selectionChanged
below for more details. Note that we don't need to reset
_selectionChangeNestingLevel
to 0 when cleaning up the interaction after web process termination, because
the completion handlers that contain all the balanced calls to-endSelectionChange
should be invoked after
such an event anyways.
(-[WKContentView _selectionChanged]):
If the
triggeredByAccessibilitySelectionChange
bit is set on the incoming (post layout data) EditorState and:
(1) UIKit isn't in the middle of handling a gesture that modifies the selection, and...
(2) We aren't expecting a call to-endSelectionChange
.
...then we force UIKeyboardImpl to reload its UI (text suggestions, B/I/U state, etc.) using the incoming
EditorState. This allows accessibility-driven selection changes using Switch Control to behave like gesture-
based selection changes.
- WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::willChangeSelectionForAccessibility): (WebKit::WebEditorClient::didChangeSelectionForAccessibility):
Implement a couple of client hooks in WebKit2 so that we set a boolean flag on WebPage,
m_isChangingSelectionForAccessibility
, totrue
over the scope of an AX-driven selection change. See related
AX changes in WebCore for more details.
- WebProcess/WebCoreSupport/WebEditorClient.h:
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::hasPendingEditorStateUpdate const):
Add a helper method so that we can conveniently check whether we have a pending editor state update to flush,
since the previous boolean flag is now a tri-state enum (m_pendingEditorStateUpdateStatus
).
(WebKit::WebPage::editorState const):
(WebKit::WebPage::willCommitLayerTree):
(WebKit::WebPage::sendEditorStateUpdate):
(WebKit::WebPage::scheduleFullEditorStateUpdate):
If we're in the scope of an accessibility selection change, transition
m_pendingEditorStateUpdateStatus
to
ScheduledDuringAccessibilitySelectionChange
; otherwise, just useScheduled
.
(WebKit::WebPage::flushPendingEditorStateUpdate):
Refactor
m_hasPendingEditorStateUpdate
so that it now captures three states:
(1) We haven't scheduled an editor state update yet.
(2) We've scheduled an editor state update that was not triggered by accessibility.
(3) We've scheduled an editor state update that was triggered by accessibility.
The distinction between (2) and (3) allows us to populate EditorState's new
triggeredByAccessibilitySelectionChange
flag.
- WebProcess/WebPage/WebPage.h: (WebKit::WebPage::willChangeSelectionForAccessibility): (WebKit::WebPage::didChangeSelectionForAccessibility):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:40 AM Changeset in webkit [280032] by
-
- 2 edits in branches/safari-612.1.24.0-branch/Source/WebKit
Cherry-pick r279975. rdar://problem/80788597
[iOS] WKMouseGestureRecognizer should not have failure requirements on WKDeferringGestureRecognizer
https://bugs.webkit.org/show_bug.cgi?id=228013
rdar://80342462
Reviewed by Tim Horton.
Avoid adding a gesture failure requirement between any WKDeferringGestureRecognizers and
WKMouseGestureRecognizer; It doesn't make sense to claim that WKMouseGestureRecognizer should only recognize
once active touch events have been handled by the web page. Under normal circumstances, this gesture failure
requirement is actually completely benign, since touch events should never be received by
WKMouseGestureRecognizer in the first place, and when using a trackpad, deferring gesture recognizers are not
triggered.
However, if an app were to (hypothetically) swizzle out
-gestureRecognizer:shouldReceiveTouch:
to force
WKMouseGestureRecognizer to receive normal (non-trackpad) touch events, this could cause nearly all gesture
recognizers in the window to become unresponsive, since WKMouseGestureRecognizer would be stuck in Changed state
long after other gestures in the same subgraph have transitioned to Ended or Failed state, thereby preventing
all of these gestures from being reset to Possible state.
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView deferringGestureRecognizer:shouldDeferOtherGestureRecognizer:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279975 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:21 AM Changeset in webkit [280031] by
-
- 2 edits in branches/safari-612.1.24.1-branch/Source/WebKit
Cherry-pick r280001. rdar://problem/80788656
macOS Safari network sessions not being marked as being from a browser
https://bugs.webkit.org/show_bug.cgi?id=228028
<rdar://problem/80648664>
Reviewed by Brent Fulgham.
Move WebKitAdditions to open source to communicate full web browser
status to the networking stack. In the macOS case, we don't have
a full browser entitlement, so we should check for Safari.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::SessionWrapper::initialize): The name com.apple.WebKit.InAppBrowser is not the most accurate name, but changing it would require syncing with other parts of the network stack. We should do this in a separate bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280001 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:12 AM Changeset in webkit [280030] by
-
- 8 edits in branches/safari-612.1.24.0-branch/Source
Versioning.
WebKit-7612.1.24.0.1
- 10:12 AM Changeset in webkit [280029] by
-
- 8 edits in branches/safari-612.1.24.1-branch/Source
Versioning.
WebKit-7612.1.24.1.1
- 9:49 AM Changeset in webkit [280028] by
-
- 2 edits in trunk/LayoutTests
[Mac wk1 Debug] webaudio/audioworket-out-of-memory.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=227845.
Unreviewed test gardening.
Patch by Eric Hutchison <Eric Hutchison> on 2021-07-19
- platform/mac-wk1/TestExpectations:
- 9:34 AM Changeset in webkit [280027] by
-
- 1 copy in branches/safari-612.1.24.1-branch
New branch.
- 9:33 AM Changeset in webkit [280026] by
-
- 1 copy in branches/safari-612.1.24.0-branch
New branch.
- 9:15 AM Changeset in webkit [280025] by
-
- 2 edits in trunk/Tools
Unreviewed infrastructure fix, remove bot that is out for hardware repair.
- CISupport/ews-build/config.json:
- 7:25 AM Changeset in webkit [280024] by
-
- 11 edits in trunk
[css-grid] Images as grid items should use the overridingLogicalHeight when defined to compute the logical width
https://bugs.webkit.org/show_bug.cgi?id=227984
Reviewed by Javier Fernandez.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-011-expected.txt:
- web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-012-expected.txt:
- web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-013-expected.txt:
- web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-014-expected.txt:
- web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-017-expected.txt:
- web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-018-expected.txt:
Source/WebCore:
As discussed in https://github.com/w3c/csswg-drafts/issues/5713, for images as grid items, when
stretch alignment is only applied in one axis we should respect aspect-ratio on the other.
When computing the logical width using an intrinsic aspect ratio, RenderReplaced should use the
overridingLogicalHeight whenever defined just as how it does for flex items. This change is to
replace the use of intrinsic (non-stretched) logical height in current code with the overridingLogicalHeight.
This allows us to pass an additional of 9 grid WPT tests.
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeReplacedLogicalWidth const):
LayoutTests:
9 grid WPT tests are now passing.
- 6:55 AM Changeset in webkit [280023] by
-
- 5 edits in trunk
[css-grid] Use correct block-size to resolve min-content
https://bugs.webkit.org/show_bug.cgi?id=227167
Reviewed by Javier Fernandez.
LayoutTests/imported/w3c:
The following test is passing -
- web-platform-tests/css/css-grid/grid-items/grid-item-inline-contribution-001.html:
Source/WebCore:
When the min/max depends on block-size, We need to make sure that min/max widths are set dirty for
replaced element when block-size changes so that the correct block-size is used to get min/max widths.
Test: imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-item-inline-contribution-001.html
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::layout):
- 1:39 AM Changeset in webkit [280022] by
-
- 5 edits in trunk
[CSS-grid] Ignore the aspect-ratio of a replaced element if stretch alignments are applied to both axes
https://bugs.webkit.org/show_bug.cgi?id=227573
Reviewed by Javier Fernandez.
Source/WebCore:
As discussed in https://github.com/w3c/csswg-drafts/issues/5713, for the replaced element as a grid item,
when both axes have stretch alignments applied and there is no auto margin(s) presented, the aspect ratio
should be ignored if there is any.
Part of this patch is an import of Chromium CL at
https://chromium-review.googlesource.com/c/chromium/src/+/2651651
- rendering/RenderBox.cpp:
(WebCore::RenderBox::hasStretchedLogicalHeight const):
(WebCore::RenderBox::shouldComputeLogicalWidthFromAspectRatio const):
- rendering/RenderBox.h:
LayoutTests:
Two grid WPT tests are now passing.