Timeline
Aug 13, 2020:
- 11:39 PM Changeset in webkit [265662] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebKit
Merge r265650 - [GTK4] Notify the web process on drag leave
https://bugs.webkit.org/show_bug.cgi?id=215373
Reviewed by Adrian Perez de Castro.
We missed this when implemented drag and drop support for GTK4.
- UIProcess/API/gtk/DropTargetGtk4.cpp:
(WebKit::DropTarget::leave): Call dragExited() and resetCurrentDragInformation() on WebPageProxy.
- 11:39 PM Changeset in webkit [265661] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebKit
Merge r265649 - [GTK] Do not accept drag operations when the matched target list is empty
https://bugs.webkit.org/show_bug.cgi?id=215372
Reviewed by Adrian Perez de Castro.
Do not initialize m_selectionData if we don't have valid targets.
- UIProcess/API/gtk/DropTargetGtk3.cpp:
(WebKit::DropTarget::accept):
(WebKit::DropTarget::leaveTimerFired):
- 11:39 PM Changeset in webkit [265660] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebCore
Merge r265648 - REGRESSION(r254506): [Freetype] Spektra variable font does not work properly
https://bugs.webkit.org/show_bug.cgi?id=215214
<rdar://problem/66984524>
Reviewed by Adrian Perez de Castro.
This regressed in r254506, when a font smoothing mode is passed to drawGlyphsToContext() a new cairo font
options is set, using the default font options and changing the antialiasing. This means the font options from
the font (the ones containing the variation settings) set in the context by cairo_set_scaled_font() are
lost. We should copy the scaled font options instead, then set the antialiasing and apply them.
- platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::drawGlyphsToContext): Use cairo_scaled_font_get_font_options() instead of getDefaultCairoFontOptions().
- 11:39 PM Changeset in webkit [265659] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.30
Merge r265647 - Crash in WebCore::StyledMarkupAccumulator::traverseNodesForSerialization
https://bugs.webkit.org/show_bug.cgi?id=199224
Reviewed by Michael Catanzaro.
Source/WebCore:
The crash happens in StyledMarkupAccumulator::traverseNodesForSerialization() when we can't enter the node and
nextSkippingChildren() returns nullptr.
Test: editing/pasteboard/copy-across-shadow-boundaries-crash.html
- editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::traverseNodesForSerialization): Set next to pastEnd if nextSkippingChildren()
returns nullptr.
LayoutTests:
- editing/pasteboard/copy-across-shadow-boundaries-crash-expected.txt: Added.
- editing/pasteboard/copy-across-shadow-boundaries-crash.html: Added.
- 11:39 PM Changeset in webkit [265658] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.30/Source/WebCore
Merge r265630 - Add RenderTreeMutationDisallowedScope to track intrusive render tree mutations
https://bugs.webkit.org/show_bug.cgi?id=215463
<rdar://problem/67012831>
Reviewed by Simon Fraser.
RenderLayer::enclosingScrollableLayer should not mutate the render tree accidentally.
This is related to <rdar://problem/64739768>.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderTreeMutationDisallowedScope.cpp: Added.
- rendering/RenderTreeMutationDisallowedScope.h: Added.
(WebCore::RenderTreeMutationDisallowedScope::RenderTreeMutationDisallowedScope):
(WebCore::RenderTreeMutationDisallowedScope::~RenderTreeMutationDisallowedScope):
(WebCore::RenderTreeMutationDisallowedScope::isMutationAllowed):
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::destroy):
- 11:39 PM Changeset in webkit [265657] by
-
- 6 edits3 adds in releases/WebKitGTK/webkit-2.30
Merge r265603 - Font loads quickly followed by navigations may fail indefinitely
https://bugs.webkit.org/show_bug.cgi?id=215435
<rdar://problem/65560550>
Reviewed by Darin Adler.
Source/WebCore:
Font loads are coalesced using a zero-delay timer. However, that zero-delay timer
can fire while the page is in the middle of a navigation, which will cause the font
loads to fail. Then, the second page can request those same fonts, which are marked
as failed, and as such will never actually load/use the desired web font.
This patch just stops the zero-delay timer during navigations, and resumes it
when resuming the document. This means:
- The second page in the above story will not see that the font has failed, or
even started, and will then re-request the font and load it successfully
- If the user goes "back" to the previous page, the zero-delay timer is restarted,
the CachedFont realizes it's already succeeded, and the previous page is rendered
as expected.
Test: fast/loader/font-load-timer.html
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::suspendFontLoadingTimer):
(WebCore::CSSFontSelector::restartFontLoadingTimer):
- css/CSSFontSelector.h:
- dom/Document.cpp:
(WebCore::Document::resume):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::stopLoading):
LayoutTests:
1) The page has some content that has “font-family: WebFont” but there are no @font-face blocks on the page
2) In script, after the page has loaded, add an @font-face rule to the page with “font-family: WebFont” and some valid font URL
3) Synchronously, within the same turn of the run loop, trigger a synchronous layout of the element (using offsetWidth or something). This will add the font to the 0-delay time work list.
4) Synchronously, within the same turn of the run loop, navigate to a second page that doesn’t use the web font.
5) The second page waits some small-but-positive amount of time. This will cause the 0-delay timer to fire, but because the page is in the middle of navigating, the font load should fail.
6) The second page adds the same @font-face rule to itself using script. This should pull the same (failed) CachedResource object out of the memory cache.
7) Use the CSS Font Loading API to wait for the font load to complete
8) Make sure that the font is used on the second page (as a reference test). Today, the second page’s font load will fail because it pulled the failed font out of the memory cache. The test makes sure the second page’s font load succeeds.
- fast/loader/font-load-timer-expected.html: Added.
- fast/loader/font-load-timer.html: Added.
- fast/loader/resources/font-load-timer-navigation-destination.html: Added.
- 11:39 PM Changeset in webkit [265656] by
-
- 6 edits22 deletes in releases/WebKitGTK/webkit-2.30
Merge r265599 - Highpass Biquads use old formulas
https://bugs.webkit.org/show_bug.cgi?id=181191
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
*
web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-highpass-expected.txt:
Rebaselined
Source/WebCore:
Like r265517, but for the highpass filter.
Spec: https://www.w3.org/TR/webaudio/#dom-biquadfiltertype-highpass
Covered by existing tests
- platform/audio/Biquad.cpp:
(WebCore::Biquad::setHighpassParams):
LayoutTests:
Gardening r265517 (lowpass) showed our test failing for GStreamer due
to a different threshold than used by the imported WPT biquad tests.
As they test the same functionality, remove the old webaudio/biquad
tests and keep using the imported WPT ones with the detailed
thresholds.
- platform/glib/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-highpass-expected.txt: Removed.
- platform/mac-wk2/TestExpectations: Removed expectation regarding
deleted file.
- webaudio/biquad-allpass-expected.txt: Removed.
- webaudio/biquad-allpass.html: Removed.
- webaudio/biquad-bandpass-expected.txt: Removed.
- webaudio/biquad-bandpass.html: Removed.
- webaudio/biquad-getFrequencyResponse-expected.txt: Removed.
- webaudio/biquad-getFrequencyResponse.html: Removed.
- webaudio/biquad-highpass-expected.txt: Removed.
- webaudio/biquad-highpass.html: Removed.
- webaudio/biquad-highshelf-expected.txt: Removed.
- webaudio/biquad-highshelf.html: Removed.
- webaudio/biquad-lowpass-expected.txt: Removed.
- webaudio/biquad-lowpass.html: Removed.
- webaudio/biquad-lowshelf-expected.txt: Removed.
- webaudio/biquad-lowshelf.html: Removed.
- webaudio/biquad-notch-expected.txt: Removed.
- webaudio/biquad-notch.html: Removed.
- webaudio/biquad-peaking-expected.txt: Removed.
- webaudio/biquad-peaking.html: Removed.
- webaudio/biquadfilternode-basic-expected.txt: Removed.
- webaudio/biquadfilternode-basic.html: Removed.
- webaudio/resources/biquad-testing.js: Removed.
- 11:39 PM Changeset in webkit [265655] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebInspectorUI
Merge r265597 - Web Inspector: REGRESSION(r259170): text inputs in box-shadow editor push sliders offscreen
https://bugs.webkit.org/show_bug.cgi?id=215436
Reviewed by Darin Adler.
- UserInterface/Views/BoxShadowEditor.js:
(WI.BoxShadowEditor.createInputRow):
Make sure the inputs aretype="text"so that CSS is able to distinguish them from sliders.
- 11:38 PM Changeset in webkit [265654] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebCore
Merge r265564 - [PlayStation] Build fix for !ENABLE(ACCESSIBILITY) after r265514
https://bugs.webkit.org/show_bug.cgi?id=215426
AXObjectCache::getOrCreate(AccessibilityRole) changed names
in the above, but the short definition for
!ENABLE(ACCESSIBILITY) didn't update.
Unreviewed build fix.
- accessibility/AXObjectCache.h: Update name to match new name
- 11:38 PM Changeset in webkit [265653] by
-
- 4 edits in releases/WebKitGTK/webkit-2.30
Merge r265561 - Broken formatting in price table on yandex.ru after translating to English
https://bugs.webkit.org/show_bug.cgi?id=215416
<rdar://problem/66354018>
Reviewed by Tim Horton.
Source/WebCore:
Extend the behavior added in r265188 so that it applies to all elements that have
display: table-cell;, rather
than only table data cell elements.
- editing/TextManipulationController.cpp:
(WebCore::isEnclosingItemBoundaryElement):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
- 11:38 PM Changeset in webkit [265652] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebKit
Merge r265560 - WebPageProxy::registerEditCommand should be robust against invalid undo step identifiers
https://bugs.webkit.org/show_bug.cgi?id=215412
<rdar://problem/66296820>
Reviewed by Tim Horton.
Add a
MESSAGE_CHECKto avoid ever creating aWebEditCommandProxywith an invalid command identifier.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::registerEditCommand):
- 11:38 PM Changeset in webkit [265651] by
-
- 4 edits in releases/WebKitGTK/webkit-2.30/Source/WebCore
Merge r265559 - Unreviewed non-unified build fix.
No new tests needed.
- accessibility/AccessibilityMenuListOption.cpp: Add missing inclusion of
HTMLSelectElement.h.
- page/Quirks.h: Add mising forward declaration of HTMLVideoElement.
- page/UndoItem.cpp: Add missing inclusion of Document.h.
- 11:01 PM Changeset in webkit [265650] by
-
- 2 edits in trunk/Source/WebKit
[GTK4] Notify the web process on drag leave
https://bugs.webkit.org/show_bug.cgi?id=215373
Reviewed by Adrian Perez de Castro.
We missed this when implemented drag and drop support for GTK4.
- UIProcess/API/gtk/DropTargetGtk4.cpp:
(WebKit::DropTarget::leave): Call dragExited() and resetCurrentDragInformation() on WebPageProxy.
- 11:00 PM Changeset in webkit [265649] by
-
- 2 edits in trunk/Source/WebKit
[GTK] Do not accept drag operations when the matched target list is empty
https://bugs.webkit.org/show_bug.cgi?id=215372
Reviewed by Adrian Perez de Castro.
Do not initialize m_selectionData if we don't have valid targets.
- UIProcess/API/gtk/DropTargetGtk3.cpp:
(WebKit::DropTarget::accept):
(WebKit::DropTarget::leaveTimerFired):
- 10:59 PM Changeset in webkit [265648] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r254506): [Freetype] Spektra variable font does not work properly
https://bugs.webkit.org/show_bug.cgi?id=215214
<rdar://problem/66984524>
Reviewed by Adrian Perez de Castro.
This regressed in r254506, when a font smoothing mode is passed to drawGlyphsToContext() a new cairo font
options is set, using the default font options and changing the antialiasing. This means the font options from
the font (the ones containing the variation settings) set in the context by cairo_set_scaled_font() are
lost. We should copy the scaled font options instead, then set the antialiasing and apply them.
- platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::drawGlyphsToContext): Use cairo_scaled_font_get_font_options() instead of getDefaultCairoFontOptions().
- 10:57 PM Changeset in webkit [265647] by
-
- 3 edits2 adds in trunk
Crash in WebCore::StyledMarkupAccumulator::traverseNodesForSerialization
https://bugs.webkit.org/show_bug.cgi?id=199224
Reviewed by Michael Catanzaro.
Source/WebCore:
The crash happens in StyledMarkupAccumulator::traverseNodesForSerialization() when we can't enter the node and
nextSkippingChildren() returns nullptr.
Test: editing/pasteboard/copy-across-shadow-boundaries-crash.html
- editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::traverseNodesForSerialization): Set next to pastEnd if nextSkippingChildren()
returns nullptr.
LayoutTests:
- editing/pasteboard/copy-across-shadow-boundaries-crash-expected.txt: Added.
- editing/pasteboard/copy-across-shadow-boundaries-crash.html: Added.
- 10:42 PM Changeset in webkit [265646] by
-
- 1 edit1 add in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Add baseline for css3/filters/backdrop/blur-input-bounds.html.
- platform/glib/css3/filters/backdrop/blur-input-bounds-expected.txt: Added.
- 10:33 PM Changeset in webkit [265645] by
-
- 5 edits in trunk
VoiceOver not able to invoke play button on some web sites.
https://bugs.webkit.org/show_bug.cgi?id=215484
<rdar://problem/62729643>
Reviewed by Chris Fleizach.
Source/WebCore:
Test: accessibility/ios-simulator/has-touch-event-listener.html.
We were checking for the presence of listeners for touchstart and touchend
events only. Now we check for the presence of any touch-related event listener.
- accessibility/ios/AccessibilityObjectIOS.mm:
(WebCore::AccessibilityObject::hasTouchEventListener const):
LayoutTests:
Expanded this test to check for all touch-related event listeners.
- accessibility/ios-simulator/has-touch-event-listener-expected.txt:
- accessibility/ios-simulator/has-touch-event-listener.html:
- 10:01 PM Changeset in webkit [265644] by
-
- 9 edits in trunk
(WK2 only) gamepad mapping stops being reported as “standard” in new tabs.
rdar://problem/66946505 and https://bugs.webkit.org/show_bug.cgi?id=215486
Reviewed by Tim Horton.
Source/WebKit:
Covered by new API test.
Get rid of the premature optimization that was "full gamepaddata" vs "condensed gamepaddata"
In practice, the actual button and axis values are larger than the mapping and id, so
not much IPC was being saved.
- Shared/Gamepad/GamepadData.cpp:
- Shared/Gamepad/GamepadData.h:
- UIProcess/Gamepad/UIGamepad.cpp:
(WebKit::UIGamepad::gamepadData const):
(WebKit::UIGamepad::condensedGamepadData const): Deleted.
(WebKit::UIGamepad::fullGamepadData const): Deleted.
- UIProcess/Gamepad/UIGamepad.h:
- UIProcess/Gamepad/UIGamepadProvider.cpp:
(WebKit::UIGamepadProvider::snapshotGamepads):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::gamepadConnected):
Tools:
- TestWebKitAPI/Tests/mac/HIDGamepads.mm:
- 9:31 PM Changeset in webkit [265643] by
-
- 3 edits in trunk/LayoutTests
[GTK] Gardening
Unreviewed test gardening.
- platform/glib/TestExpectations: Missing debug guard.
- platform/gtk/TestExpectations:
- 9:11 PM Changeset in webkit [265642] by
-
- 6 edits1 add in trunk
Cache Structure::attributeChangeTransition()
https://bugs.webkit.org/show_bug.cgi?id=214890
Reviewed by Yusuke Suzuki.
JSTests:
- microbenchmarks/redefine-property-previous-attributes.js: Added.
Source/JavaScriptCore:
With this change, a non-dictionary structure adds attribute-change transitions
to transition table, making redefinition to previous atttributes a fast path.
After too many transitions, the structure becomes a dictionary, firing the
transition watchpoint. Attribute-change transitions pin their property tables,
preventing forEachPropertyConcurrently() traversal.
This patch advances provided microbenchmark by ~90% and progresses
Speedometer2/EmberJS-Debug-TodoMVC by ~12% (~5% over r264573).
No behavior change.
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::getRegExpPrototypeProperty):
- runtime/JSObjectInlines.h:
(JSC::JSObject::putDirectInternal):
- runtime/Structure.cpp:
(JSC::Structure::materializePropertyTable):
(JSC::Structure::removeNewPropertyTransition):
(JSC::Structure::attributeChangeTransition):
- runtime/Structure.h:
- 7:01 PM Changeset in webkit [265641] by
-
- 1 copy in tags/Safari-610.1.25.1.3
Tag Safari-610.1.25.1.3.
- 6:56 PM Changeset in webkit [265640] by
-
- 7 edits in trunk/Source/JavaScriptCore
Rework StructureTransitionTable::Hash::Key encoding
https://bugs.webkit.org/show_bug.cgi?id=215483
Reviewed by Yusuke Suzuki.
This patch implements new encoding of StructureTransitionTable::Hash::Key
to enable storing attribute change transitions in a transition table.
Since PropertyMapEntry attributes are always uint8_t, the remaining 8 bits
are used for TransitionKind, which also accommodates non-property transitions,
removing a bit hacky toAttributes() and utilization of unused pointer bits.
This change also introduces TransitionKind::Unknown we can validate against,
preventing addition transition from being a default, which could be unsafe.
No behavior change.
- runtime/JSObject.cpp:
(JSC::JSObject::notifyPresenceOfIndexedAccessors):
(JSC::JSObject::createInitialUndecided):
(JSC::JSObject::createInitialInt32):
(JSC::JSObject::createInitialDouble):
(JSC::JSObject::createInitialContiguous):
(JSC::JSObject::convertUndecidedToInt32):
(JSC::JSObject::convertUndecidedToDouble):
(JSC::JSObject::convertUndecidedToContiguous):
(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToDouble):
(JSC::JSObject::convertInt32ToContiguous):
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::convertDoubleToContiguous):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):
(JSC::JSObject::convertFromCopyOnWrite):
(JSC::JSObject::switchToSlowPutArrayStorage):
(JSC::JSObject::suggestedArrayStorageTransition const):
- runtime/JSObject.h:
- runtime/Structure.cpp:
(JSC::StructureTransitionTable::contains const):
(JSC::StructureTransitionTable::get const):
(JSC::StructureTransitionTable::add):
(JSC::Structure::Structure):
(JSC::Structure::addPropertyTransitionToExistingStructureImpl):
(JSC::Structure::addNewPropertyTransition):
(JSC::Structure::removePropertyTransitionFromExistingStructureImpl):
(JSC::Structure::removeNewPropertyTransition):
(JSC::Structure::sealTransition):
(JSC::Structure::freezeTransition):
(JSC::Structure::preventExtensionsTransition):
(JSC::Structure::nonPropertyTransitionSlow):
- runtime/Structure.h:
- runtime/StructureInlines.h:
(JSC::Structure::nonPropertyTransition):
- runtime/StructureTransitionTable.h:
(JSC::changesIndexingType):
(JSC::newIndexingType):
(JSC::preventsExtensions):
(JSC::setsDontDeleteOnAllProperties):
(JSC::setsReadOnlyOnNonAccessorProperties):
(JSC::StructureTransitionTable::Hash::Key::Key):
(JSC::StructureTransitionTable::Hash::Key::attributes const):
(JSC::StructureTransitionTable::Hash::Key::transitionKind const):
(JSC::StructureTransitionTable::Hash::hash):
(JSC::toAttributes): Deleted.
(JSC::StructureTransitionTable::Hash::Key::isAddition const): Deleted.
- 5:25 PM Changeset in webkit [265639] by
-
- 5 edits142 adds11 deletes in trunk/LayoutTests
Migrate some Apple internal Mac expectations here into WebKit sources
https://bugs.webkit.org/show_bug.cgi?id=215459
Reviewed by Jonathan Bedard.
- platform/glib/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audionode-interface/audionode-disconnect-audioparam-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-en-US-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-en-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-es-ES-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-es-MX-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-es-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-fr-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-hi-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-pt-BR-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-ru-expected.txt: Removed.
These expected files were identical to the ones that will be used otherwise.
- platform/ios/TestExpectations: Removed expectations for test that have been removed.
- platform/mac-bigsur-wk1/editing/pasteboard/drop-text-without-selection-expected.txt: Added.
- platform/mac-bigsur-wk1/editing/selection/select-across-readonly-input-4-expected.txt: Added.
- platform/mac-bigsur-wk1/editing/selection/select-across-readonly-input-5-expected.txt: Added.
- platform/mac-bigsur-wk1/http/tests/cookies/js-get-and-set-http-only-cookie-expected.txt: Added.
- platform/mac-bigsur/editing/input/reveal-caret-of-multiline-input-expected.txt: Added.
- platform/mac-bigsur/editing/pasteboard/drop-text-without-selection-expected.txt: Added.
- platform/mac-bigsur/editing/pasteboard/pasting-tabs-expected.txt: Added.
- platform/mac-bigsur/editing/selection/3690703-2-expected.txt: Added.
- platform/mac-bigsur/editing/selection/3690703-expected.txt: Added.
- platform/mac-bigsur/editing/selection/3690719-expected.txt: Added.
- platform/mac-bigsur/editing/selection/select-from-textfield-outwards-expected.txt: Added.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt: Added.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-backward-br-mixed-expected.txt: Added.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt: Added.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-backward-p-mixed-expected.txt: Added.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt: Added.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-forward-br-mixed-expected.txt: Added.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt: Added.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-forward-p-mixed-expected.txt: Added.
- platform/mac-bigsur/fast/block/float/float-avoidance-expected.txt: Added.
- platform/mac-bigsur/fast/block/margin-collapse/103-expected.txt: Added.
- platform/mac-bigsur/fast/css/apple-system-control-colors-expected.txt: Added.
- platform/mac-bigsur/fast/css/rtl-ordering-expected.txt: Added.
- platform/mac-bigsur/fast/css/text-overflow-input-expected.txt: Added.
- platform/mac-bigsur/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt: Added.
- platform/mac-bigsur/fast/forms/basic-inputs-expected.txt: Added.
- platform/mac-bigsur/fast/forms/basic-textareas-quirks-expected.txt: Added.
- platform/mac-bigsur/fast/forms/box-shadow-override-expected.txt: Added.
- platform/mac-bigsur/fast/forms/button-sizes-expected.txt: Added.
- platform/mac-bigsur/fast/forms/button-table-styles-expected.txt: Added.
- platform/mac-bigsur/fast/forms/form-element-geometry-expected.txt: Added.
- platform/mac-bigsur/fast/forms/input-appearance-preventDefault-expected.txt: Added.
- platform/mac-bigsur/fast/forms/input-appearance-spinbutton-expected.txt: Added.
- platform/mac-bigsur/fast/forms/input-appearance-spinbutton-up-expected.txt: Added.
- platform/mac-bigsur/fast/forms/input-placeholder-visibility-1-expected.txt: Added.
- platform/mac-bigsur/fast/forms/input-placeholder-visibility-3-expected.txt: Added.
- platform/mac-bigsur/fast/forms/input-table-expected.txt: Added.
- platform/mac-bigsur/fast/forms/input-value-expected.txt: Added.
- platform/mac-bigsur/fast/forms/listbox-bidi-align-expected.txt: Added.
- platform/mac-bigsur/fast/forms/listbox-width-change-expected.txt: Added.
- platform/mac-bigsur/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt: Added.
- platform/mac-bigsur/fast/forms/option-text-clip-expected.txt: Added.
- platform/mac-bigsur/fast/forms/search-rtl-expected.txt: Added.
- platform/mac-bigsur/fast/forms/search/search-size-with-decorations-expected.txt: Added.
- platform/mac-bigsur/fast/forms/select-change-listbox-to-popup-expected.txt: Added.
- platform/mac-bigsur/fast/forms/select-visual-hebrew-expected.txt: Added.
- platform/mac-bigsur/fast/forms/textAreaLineHeight-expected.txt: Added.
- platform/mac-bigsur/fast/forms/textarea-placeholder-visibility-1-expected.txt: Added.
- platform/mac-bigsur/fast/forms/textarea-placeholder-visibility-2-expected.txt: Added.
- platform/mac-bigsur/fast/forms/textfield-outline-expected.txt: Added.
- platform/mac-bigsur/fast/forms/visual-hebrew-text-field-expected.txt: Added.
- platform/mac-bigsur/fast/parser/entity-comment-in-textarea-expected.txt: Added.
- platform/mac-bigsur/fast/parser/open-comment-in-textarea-expected.txt: Added.
- platform/mac-bigsur/fast/text/backslash-to-yen-sign-euc-expected.txt: Added.
- platform/mac-bigsur/fast/text/drawBidiText-expected.txt: Added.
- platform/mac-bigsur/fast/text/international/danda-space-expected.txt: Added.
- platform/mac-bigsur/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt: Added.
- platform/mac-bigsur/fast/text/international/system-language/system-font-punctuation-expected.txt: Added.
- platform/mac-bigsur/fast/text/justify-ideograph-leading-expansion-expected.txt: Added.
- platform/mac-bigsur/fast/text/vertical-rl-rtl-linebreak-expected.txt: Added.
- platform/mac-bigsur/fast/text/vertical-rl-rtl-linebreak-mixed-expected.txt: Added.
- platform/mac-bigsur/http/tests/navigation/javascriptlink-frames-expected.txt: Added.
- platform/mac-bigsur/http/tests/xmlhttprequest/methods-async-expected.txt: Added.
- platform/mac-bigsur/http/tests/xmlhttprequest/methods-expected.txt: Added.
- platform/mac-bigsur/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Added.
- platform/mac-bigsur/http/tests/xmlhttprequest/workers/methods-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any.worker-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/fetch/redirect-navigate/preserve-fragment-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-002-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/xhr/send-entity-body-empty-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/xhr/send-entity-body-get-head-async-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/xhr/send-entity-body-get-head-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/xhr/send-entity-body-none-expected.txt: Added.
- platform/mac-bigsur/media/controls-after-reload-expected.txt: Added.
- platform/mac-bigsur/media/video-display-toggle-expected.txt: Added.
- platform/mac-bigsur/media/video-no-audio-expected.txt: Added.
- platform/mac-bigsur/media/video-volume-slider-expected.txt: Added.
- platform/mac-bigsur/platform/mac/fast/text/international/bidi-fallback-font-weight-expected.txt: Added.
- platform/mac-bigsur/svg/custom/svg-fonts-without-missing-glyph-expected.txt: Added.
- platform/mac-bigsur/tables/mozilla/bugs/bug18359-expected.txt: Added.
- platform/mac-bigsur/tables/mozilla/bugs/bug2479-3-expected.txt: Added.
- platform/mac-bigsur/tables/mozilla/bugs/bug30692-expected.txt: Added.
- platform/mac-bigsur/tables/mozilla/bugs/bug33855-expected.txt: Added.
- platform/mac-bigsur/tables/mozilla/bugs/bug60749-expected.txt: Added.
- platform/mac-bigsur/tables/mozilla/bugs/bug7342-expected.txt: Added.
- platform/mac-bigsur/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt: Added.
- platform/mac-bigsur/transforms/2d/zoom-menulist-expected.txt: Added.
Copied these expectation files here.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-en-US-expected.txt: Removed.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-en-expected.txt: Removed.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-es-ES-expected.txt: Removed.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-es-expected.txt: Removed.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-fr-expected.txt: Removed.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-hi-expected.txt: Removed.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-pt-BR-expected.txt: Removed.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-ru-expected.txt: Removed.
These expectations files were all the same as the ones that would be used otherwise.
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
Copied expectations here.
- 5:02 PM Changeset in webkit [265638] by
-
- 5 edits in trunk/Source/WebKit
Create SharedMemory::IPCHandle object to validate the size of SharedMemory::Handle objects sent over IPC
https://bugs.webkit.org/show_bug.cgi?id=215288
<rdar://problem/60870795>
Reviewed by David Kilzer.
Part 1 of a multi-patch plan to convert all SharedMemory::Handle
objects being sent over IPC to use SharedMemory::IPCHandle objects instead.
- Platform/SharedMemory.h:
(WebKit::SharedMemory::IPCHandle::IPCHandle):
- Platform/cocoa/SharedMemoryCocoa.cpp:
(WebKit::SharedMemory::IPCHandle::encode const):
(WebKit::SharedMemory::IPCHandle::decode):
Validate the size of the data sent in the IPCHandle::decode()
function.
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::IPCHandle::encode const):
(WebKit::SharedMemory::IPCHandle::decode):
- Platform/win/SharedMemoryWin.cpp:
Implement IPCHandle encode and decode for all platforms for when we remove
SharedMemory::Handle encode/decode functions.
- 4:29 PM Changeset in webkit [265637] by
-
- 2 edits in trunk/LayoutTests
[ iOS wk2 Release ] imported/w3c/eb-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-long-crash.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=215480
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 4:09 PM Changeset in webkit [265636] by
-
- 2 edits in trunk/LayoutTests
[ iOS wk2 Release ] imported/w3c/web-platform-tests/css/css-grid/abspos/empty-grid-001.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=215476
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:59 PM Changeset in webkit [265635] by
-
- 2 edits in trunk/Source/WebCore
Pocket City game play area is blank (WebGL is broken in Catalyst)
https://bugs.webkit.org/show_bug.cgi?id=215251
Follow-up review comments from Darin Adler.
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
- 3:50 PM Changeset in webkit [265634] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed non-unified build fix.
No new tests needed.
- WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::requestEnterFullScreen): Add missing WebCore:: namespace
prefix to usage of WebCore::FullscreenManager.
- 3:46 PM Changeset in webkit [265633] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk2 Release ] media/modern-media-controls/scrubber-support/scrubber-support-drag.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215468
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:41 PM Changeset in webkit [265632] by
-
- 2 edits in trunk/LayoutTests
[ Win10 wk1 ews ] imported/blink/compositing/squashing/squashing-reflection-disallowed.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=215467
Unreviewed test gardening.
- platform/win/TestExpectations:
- 3:29 PM Changeset in webkit [265631] by
-
- 2 edits in trunk/LayoutTests
WebGL conformance: Failures and Timeouts in suite 2.0.0/conformance2
https://bugs.webkit.org/show_bug.cgi?id=189672
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:28 PM Changeset in webkit [265630] by
-
- 5 edits2 adds in trunk/Source/WebCore
Add RenderTreeMutationDisallowedScope to track intrusive render tree mutations
https://bugs.webkit.org/show_bug.cgi?id=215463
<rdar://problem/67012831>
Reviewed by Simon Fraser.
RenderLayer::enclosingScrollableLayer should not mutate the render tree accidentally.
This is related to <rdar://problem/64739768>.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderTreeMutationDisallowedScope.cpp: Added.
- rendering/RenderTreeMutationDisallowedScope.h: Added.
(WebCore::RenderTreeMutationDisallowedScope::RenderTreeMutationDisallowedScope):
(WebCore::RenderTreeMutationDisallowedScope::~RenderTreeMutationDisallowedScope):
(WebCore::RenderTreeMutationDisallowedScope::isMutationAllowed):
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::destroy):
- 3:20 PM Changeset in webkit [265629] by
-
- 4 edits in branches/safari-610.1-branch/Source/WebCore
Cherry-pick r265280. rdar://problem/66945503
Update AudioSampleDataSource offset computation
https://bugs.webkit.org/show_bug.cgi?id=215127
<rdar://problem/65938265>
Reviewed by Eric Carlson.
As per logs, it sometimes happens that the offset is so big that the timestamp is below the start of the window.
In that case, our logic is not able to catch up and reduce the offset.
To handle this, we special case if the timestamp is below the start frame and do as if we were starting from scratch.
Otherwise, we continue our logic to fine tune the offset by slowly making it bigger to not hit the end of the window but still be close to it.
Updated logging to help further debugging this issue if needed.
- platform/audio/mac/AudioSampleDataSource.h:
- platform/audio/mac/AudioSampleDataSource.mm: (WebCore::AudioSampleDataSource::pushSamplesInternal): (WebCore::computeOffsetDelay): (WebCore::AudioSampleDataSource::pullSamplesInternal): (WebCore::AudioSampleDataSource::pullAvalaibleSamplesAsChunks):
- platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp: (WebCore::RealtimeIncomingAudioSourceCocoa::OnData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:20 PM Changeset in webkit [265628] by
-
- 4 edits in branches/safari-610.1-branch/Source/WebCore
Cherry-pick r265244. rdar://problem/66945503
Remove AudioSampleDataSource::setPaused
https://bugs.webkit.org/show_bug.cgi?id=215125
Reviewed by Geoffrey Garen.
m_paused is unused except for setting m_transitioningFromPaused.
setPaused is only used in AudioMediaStreamTrackRenderCocoa at creation of the source.
We can remove the call for setPaused(true) and remove setPaused/m_paused.
- platform/audio/mac/AudioSampleDataSource.h:
- platform/audio/mac/AudioSampleDataSource.mm: (WebCore::AudioSampleDataSource::setPaused): Deleted.
- platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.cpp: (WebCore::AudioMediaStreamTrackRendererCocoa::pushSamples):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:19 PM Changeset in webkit [265627] by
-
- 4 edits in branches/safari-610.1-branch/Source/WebCore
Revert "Cherry-pick r265280 and Unreviewed build fix. rdar://problem/66945503"
- 3:19 PM Changeset in webkit [265626] by
-
- 2 edits in trunk/Source/WebKitLegacy/ios
macCatalyst: Granting location permission doesn't allow geolocation access
https://bugs.webkit.org/show_bug.cgi?id=215464
<rdar://problem/64719458>
Reviewed by Wenson Hsieh.
- Misc/WebGeolocationCoreLocationProvider.mm:
(-[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]):
Un-ifdef this code that was ifdeffed in r229963 during macCatalyst
bring-up and doesn't need to be anymore.
- 3:09 PM Changeset in webkit [265625] by
-
- 2 edits1 copy1 add1 delete in trunk/LayoutTests
Unreviewed test gardening, rebaseline test after r265613.
- fast/forms/search/search-zoom-computed-style-height-expected.txt:
- platform/mac-bigsur/fast/forms/search/search-zoom-computed-style-height-expected.txt: Copied from LayoutTests/fast/forms/search/search-zoom-computed-style-height-expected.txt.
- platform/mac-mojave/fast/forms/search/search-zoom-computed-style-height-expected.txt: Removed.
- 3:05 PM Changeset in webkit [265624] by
-
- 4 edits1 add in trunk/LayoutTests
[GTK][WPE] Gardening and adding baseline
Unreviewed test gardening.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/gtk/fast/forms/search/search-zoom-computed-style-height-expected.txt: Added.
- platform/wpe/TestExpectations:
- 2:50 PM Changeset in webkit [265623] by
-
- 14 edits in trunk/Source
REGRESSION (r260684): Messages YouTube inline video: after Multitasking away and Back, Audio is heard but icon indicates "muted"
https://bugs.webkit.org/show_bug.cgi?id=215453
<rdar://problem/66136673>
Reviewed by Tim Horton.
Source/WebCore:
r260684 silenced all JS events during the snapshot sequence that occurs whenever the user homes out of Safari.
This was meant to address compatibility with websites that did not expect various resize/orientationchange
events when homing out. However, the snapshot sequence is fairly long and this was causing us to silence JS
events which have nothing to do with the snapshot sequence, like window.postMessage()'s message events. This is
what caused this regression.
To address the issue, this patch basically reverts r260684 and deals with websites-compatibility issues via
less risky site-specific and event-specific quirks:
- We silence Window resize events on nytimes.com to address <rdar://problem/59763843>.
- We silence Window resize events and MediaQueryList change events on twitter.com to address <rdar://problem/58804852> and <rdar://problem/61731801>.
- css/MediaQueryMatcher.cpp:
(WebCore::MediaQueryMatcher::evaluateAll):
- dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners):
- page/FrameView.cpp:
(WebCore::FrameView::sendResizeEventIfNeeded):
- page/Page.h:
(WebCore::Page::isTakingSnapshotsForApplicationSuspension const):
(WebCore::Page::setIsTakingSnapshotsForApplicationSuspension):
(WebCore::Page::shouldFireEvents const): Deleted.
(WebCore::Page::setShouldFireEvents): Deleted.
- page/Quirks.cpp:
(WebCore::Quirks::shouldSilenceWindowResizeEvents const):
(WebCore::Quirks::shouldSilenceMediaQueryListChangeEvents const):
- page/Quirks.h:
Source/WebKit:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setIsDoingSnapshotSequence):
(WebKit::WebPageProxy::setShouldFireEvents): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKApplicationStateTrackingView.mm:
(-[WKApplicationStateTrackingView _willBeginSnapshotSequence]):
(-[WKApplicationStateTrackingView _didCompleteSnapshotSequence]):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setIsDoingSnapshotSequence):
(WebKit::WebPage::setShouldFireEvents): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 2:42 PM Changeset in webkit [265622] by
-
- 3 edits in trunk/LayoutTests
[ macOS iOS wk2 Debug ] http/tests/security/no-indexeddb-from-sandbox.html is a constant crash
https://bugs.webkit.org/show_bug.cgi?id=215465
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 2:00 PM Changeset in webkit [265621] by
-
- 19 edits2 deletes in branches/safari-610.2.1-branch
Revert r265115. rdar://problem/67015032
- 1:52 PM Changeset in webkit [265620] by
-
- 1 copy in tags/Safari-610.1.25.5.1
Tag Safari-610.1.25.5.1.
- 1:49 PM Changeset in webkit [265619] by
-
- 3 edits in trunk/LayoutTests
Unreviewed, reverting r265612.
Commit fixed wincairo, but broke ios/mac
Reverted changeset:
"rdar://66995964 (REGRESSION (r265358): [ Win10 wk1 ]
animations/steps-transform-rendering-updates.html is a
constant failure (215454))"
https://trac.webkit.org/changeset/265612
- 1:33 PM Changeset in webkit [265618] by
-
- 10 edits in trunk/LayoutTests/imported/w3c
Unreviewed, rebaseline WPT tests that are currently marked as flaky.
- web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/suspend-after-construct-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-getFrequencyResponse-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/no-dezippering-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/no-dezippering-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-gainnode-interface/no-dezippering-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/detune-limiting-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/osc-basic-waveform-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-scriptprocessornode-interface/simple-input-output-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/waveshaper-copy-curve-expected.txt:
- 1:06 PM Changeset in webkit [265617] by
-
- 1 edit in branches/safari-610.1-branch/Source/WebCore/platform/audio/mac/AudioSampleDataSource.h
Unreviewed build fix. rdar://problem/66945503
Missing identifier m_paused.
- 11:45 AM Changeset in webkit [265616] by
-
- 2 edits in trunk/Tools
Regression(r265580): apply-watchlist is broken
https://bugs.webkit.org/show_bug.cgi?id=215457
Unreviewed infrastructure fix.
- Scripts/webkitpy/common/config/watchlist:
- 11:38 AM Changeset in webkit [265615] by
-
- 1 edit in branches/safari-610.1-branch/Source/WebCore/platform/graphics/ImageUtilities.h
Unreviewed build fix, rdar://problem/66945359
unknown type name "WorkQueue"
- 11:16 AM Changeset in webkit [265614] by
-
- 2 edits in trunk/Tools
[ews] email notifications should include Bugzilla link to the patch
https://bugs.webkit.org/show_bug.cgi?id=215455
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(Bugzilla):
(Bugzilla.patch_url): Method to generate patch url.
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Added link to the patch id.
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures): Ditto.
(ConfigureBuild.add_patch_id_url):
(ConfigureBuild.getPatchURL): Deleted.
- 10:56 AM Changeset in webkit [265613] by
-
- 3 edits7 adds in trunk
[macOS] Zoomed-in search field is clipped out
https://bugs.webkit.org/show_bug.cgi?id=215428
<rdar://problem/66161781>
Reviewed by Darin Adler.
Source/WebCore:
r257150 added support for painting large form controls using NSControlSizeLarge.
However, RenderThemeMac::searchFieldSizes() still returned a height
corresponding to NSControlSizeRegular rather than NSControlSizeLarge. This
behavior causes the height of the layout rect to be smaller than the height
of the painted cell, resulting in clipping.
Returning the correct height in searchFieldSizes is not enough to solve the
issue. Currently, the height of the layout rect is set before adjusting the font
size of the corresponding RenderStyle. This is problematic as the initial font
size could correspond to NSControlSizeRegular, but when adjusted for zoom, the
font size could correspond to NSControlSizeLarge. To ensure that the font size
and height correspond to the same control size, the font size is now adjusted
prior to adjusting the height.
Test: fast/forms/search/search-zoom-computed-style-height.html
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::searchFieldSizes const): Correct height for NSControlSizeLarge.
(WebCore::RenderThemeMac::adjustSearchFieldStyle const):
LayoutTests:
Added a test to verify the computed style height of a zoomed-in search field.
- fast/forms/search/search-zoom-computed-style-height-expected.txt: Added.
- fast/forms/search/search-zoom-computed-style-height.html: Added.
- platform/ios/fast/forms/search/search-zoom-computed-style-height-expected.txt: Added.
- platform/mac-mojave/fast/forms/search/search-zoom-computed-style-height-expected.txt: Added.
- platform/win/fast/forms/search/search-zoom-computed-style-height-expected.txt: Added.
- 10:27 AM Changeset in webkit [265612] by
-
- 3 edits in trunk/LayoutTests
rdar://66995964 (REGRESSION (r265358): [ Win10 wk1 ] animations/steps-transform-rendering-updates.html is a constant failure (215454))
Rebaseline Test - Remore test expectation.
Unreviewed test gardening.
- animations/steps-transform-rendering-updates-expected.txt:
- 9:47 AM Changeset in webkit [265611] by
-
- 2 edits in trunk/LayoutTests
Win10 wk1 ] animations/steps-transform-rendering-updates.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=215454
Unreviewed test gardening.
- platform/wincairo/TestExpectations:
- 9:01 AM Changeset in webkit [265610] by
-
- 2 edits in trunk/Tools
[ews] test names in ews notification email should be in sorted order
https://bugs.webkit.org/show_bug.cgi?id=215446
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures):
- 8:59 AM Changeset in webkit [265609] by
-
- 3 edits in trunk/Tools
[ews] Improve wording for test failure email
https://bugs.webkit.org/show_bug.cgi?id=215449
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures): Pluralize 'test failure' accordingly.
- BuildSlaveSupport/ews-build/send_email.py:
(send_email): Drive-by fix.
- 8:50 AM Changeset in webkit [265608] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk1 Debug ] imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-002.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215452
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 8:42 AM Changeset in webkit [265607] by
-
- 6 edits in trunk/Tools
[webkitpy] Use webkitcorepy's auto installer for coverage
https://bugs.webkit.org/show_bug.cgi?id=215419
<rdar://problem/66922400>
Reviewed by Stephanie Lewis.
- Scripts/webkitpy/init.py: Add coverage and it's dependencies.
- Scripts/webkitpy/test/main.py:
(Tester._run_tests): Stop relying on webkitpy's autoinstaller.
- Scripts/webkitpy/thirdparty/init.py:
(AutoinstallImportHook.find_module): Remove _install_coverage, _install_toml.
(AutoinstallImportHook._install_coverage): Deleted.
(AutoinstallImportHook._install_toml): Deleted.
- Scripts/webkitpy/thirdparty/init_unittest.py:
(ThirdpartyTest.test_imports): Remove coverage.
- flatpak/flatpakutils.py: Stop relying on webkitpy's autoinstaller.
- 8:35 AM Changeset in webkit [265606] by
-
- 3 edits1 add1 delete in trunk/Tools
[GTK][WPE] Add a script for generating MiniBrowser bundles
https://bugs.webkit.org/show_bug.cgi?id=215266
Reviewed by Carlos Garcia Campos.
This converts the previous generate-jsc-bundle into a new script
that is now able to do the following:
- generate a jsc bundle
- generate a MiniBrowse bundle
- generate an all bundle (jsc+MiniBrowser)
The bundle can include all the system-libraries from the system,
so that way (in theory) the bundle would run on any other distribution
or it can generate an install-dependencies script so it generates
a lightweight bundle with only the minimum libraries included that
would run only on the distribution where it has been created
(after running the install-dependencies script)
We already have a bot generating the jsc bundle and we plan to also
have bots for generating the MiniBrowser bundles as well.
- BuildSlaveSupport/build.webkit.org-config/steps.py: Update the step for the new command.
(GenerateJSCBundle):
- Scripts/generate-bundle: Added.
- Scripts/generate-jsc-bundle: Removed.
- jhbuild/jhbuildutils.py:
(enter_jhbuild_environment_if_available): Unicode argument not longer available on python3's gettext.install()
- 8:23 AM Changeset in webkit [265605] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] imported/w3c/web-platform-tests/media-source/mediasource-changetype-play-negative.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215450
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 6:23 AM Changeset in webkit [265604] by
-
- 4 edits in trunk/Source/WebKit
Unreviewed, reverting r265520.
Invalid sandbox change
Reverted changeset:
"[macOS] Deny access to directory for compiled WebKit
sandboxes"
https://bugs.webkit.org/show_bug.cgi?id=215384
https://trac.webkit.org/changeset/265520
- 1:13 AM Changeset in webkit [265603] by
-
- 6 edits3 adds in trunk
Font loads quickly followed by navigations may fail indefinitely
https://bugs.webkit.org/show_bug.cgi?id=215435
<rdar://problem/65560550>
Reviewed by Darin Adler.
Source/WebCore:
Font loads are coalesced using a zero-delay timer. However, that zero-delay timer
can fire while the page is in the middle of a navigation, which will cause the font
loads to fail. Then, the second page can request those same fonts, which are marked
as failed, and as such will never actually load/use the desired web font.
This patch just stops the zero-delay timer during navigations, and resumes it
when resuming the document. This means:
- The second page in the above story will not see that the font has failed, or
even started, and will then re-request the font and load it successfully
- If the user goes "back" to the previous page, the zero-delay timer is restarted,
the CachedFont realizes it's already succeeded, and the previous page is rendered
as expected.
Test: fast/loader/font-load-timer.html
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::suspendFontLoadingTimer):
(WebCore::CSSFontSelector::restartFontLoadingTimer):
- css/CSSFontSelector.h:
- dom/Document.cpp:
(WebCore::Document::resume):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::stopLoading):
LayoutTests:
1) The page has some content that has “font-family: WebFont” but there are no @font-face blocks on the page
2) In script, after the page has loaded, add an @font-face rule to the page with “font-family: WebFont” and some valid font URL
3) Synchronously, within the same turn of the run loop, trigger a synchronous layout of the element (using offsetWidth or something). This will add the font to the 0-delay time work list.
4) Synchronously, within the same turn of the run loop, navigate to a second page that doesn’t use the web font.
5) The second page waits some small-but-positive amount of time. This will cause the 0-delay timer to fire, but because the page is in the middle of navigating, the font load should fail.
6) The second page adds the same @font-face rule to itself using script. This should pull the same (failed) CachedResource object out of the memory cache.
7) Use the CSS Font Loading API to wait for the font load to complete
8) Make sure that the font is used on the second page (as a reference test). Today, the second page’s font load will fail because it pulled the failed font out of the memory cache. The test makes sure the second page’s font load succeeds.
- fast/loader/font-load-timer-expected.html: Added.
- fast/loader/font-load-timer.html: Added.
- fast/loader/resources/font-load-timer-navigation-destination.html: Added.
Aug 12, 2020:
- 11:09 PM Changeset in webkit [265602] by
-
- 22 edits in trunk
Remove the need for defining USE_NEW_BUILD_SYSTEM
https://bugs.webkit.org/show_bug.cgi?id=215439
Reviewed by Darin Adler.
When building WebKit for XCBuild, we currently require that the
external build system (such as the Makefile, build-webkit, etc.)
defines the USE_NEW_BUILD_SYSTEM=YES build setting. This build setting
controls parts of our build instructions that are sensitive to when
XCBuild or the Legacy build system are being used. Notably, we need to
know when to use our custom “copy and modify” scripts with copying
certain header files (used with the Legacy build system) vs. using the
enhanced Copy Headers build phase that’s enabled with
APPLY_RULES_IN_COPY_HEADERS=YES (introduced with and used by XCBuild).
The choice of which method to copy headers is used is controlled by
USE_NEW_BUILD_SYSTEM.
There is no built-in build setting that we can probe to help us
determine which approach to take when copying and modifying headers,
which is why we need to define USE_NEW_BUILD_SYSTEM ourselves. But it
turns out that we can *detect* which build system is being used by
taking advantage of a subtle difference between the two systems. As
noted in:
“When an .xcconfig file contains multiple assignments of the same
build setting, later assignments using $(inherited) or
$(<setting_name>) will inherit from earlier assignments in the
.xcconfig. The legacy build system caused every use of
$(inherited) or $(<setting_name>) skip any other values defined
within the .xcconfig.”
This difference can be exploited as follows:
WK_WHICH_BUILD_SYSTEM = not_
WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
WK_USE_NEW_BUILD_SYSTEM_legacy = NO
WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
We can then use WK_USE_NEW_BUILD_SYSTEM where we used to use the
externally-defined USE_NEW_BUILD_SYSTEM.
.:
- Makefile.shared:
Source/JavaScriptCore:
- Configurations/Base.xcconfig:
- Configurations/JavaScriptCore.xcconfig:
- JavaScriptCore.xcodeproj/project.pbxproj:
Source/ThirdParty/ANGLE:
- ANGLE.xcodeproj/project.pbxproj:
- Configurations/ANGLE-dynamic.xcconfig:
- Configurations/ANGLE-static.xcconfig:
- Configurations/Base.xcconfig:
Source/WebKit:
No new tests -- no new or changed functionality.
- Configurations/Base.xcconfig:
- Configurations/WebKit.xcconfig:
- WebKit.xcodeproj/project.pbxproj:
Source/WebKitLegacy:
- WebKitLegacy.xcodeproj/project.pbxproj:
Source/WebKitLegacy/mac:
- Configurations/Base.xcconfig:
- Configurations/WebKitLegacy.xcconfig:
Tools:
- Scripts/build-webkit:
- 11:06 PM Changeset in webkit [265601] by
-
- 3 edits1 add in trunk/Tools
Add settings for Copy WebKit Permalink
https://bugs.webkit.org/show_bug.cgi?id=215440
Reviewed by Daniel Bates.
- CopyPermalink/Sublime Text/CopyWebKitPermalink/Context.sublime-settings: Added.
- CopyPermalink/Sublime Text/CopyWebKitPermalink/CopyWebKitPermalink.py:
(plugin_loaded): Added.
(plugin_unloaded): Added.
(Settings): Added.
(Settings.init): Added.
(Settings.unload): Added.
(Settings.include_revision): Added.
(Settings._get): Added.
(Settings._set): Added.
Helper class for caching settings values.
(CopyWebKitPermalinkCommand.run):
(CopyWebKitPermalinkCommand.revision_info_for_path):
(CopyWebKitPermalinkCommand.permalink_for_path):
Only include the current revision in the URL if theinclude_revisionsetting is true.
Turning this off is desirable as getting the current revision often takes a few seconds.
- CopyPermalink/Sublime Text/INSTALL:
- 9:50 PM Changeset in webkit [265600] by
-
- 12 edits1 add in trunk
Inline cache Replace and Setters on PureForwardingProxy
https://bugs.webkit.org/show_bug.cgi?id=215250
Reviewed by Yusuke Suzuki.
JSTests:
- microbenchmarks/property-replace-and-setter-on-js-proxy.js: Added.
(assert):
(foo):
Source/JavaScriptCore:
We didn't used to cache any Puts on PureForwardingProxy. This patch
implements Replace and JS/Custom Setters on PureForwardingProxy. We don't support
Transition puts because in our current implementation different global objects
will never share the same structure.
This patch also aligns how our runtime and the ICs invoke Customs when the
passed in |this| value is a JSProxy. For custom accessors, our runtime passes
in the JSProxy, where our ICs used to pass in the target of the JSProxy, for
the receiver value. For custom values, the IC behavior and the runtime were
already aligned in passing in the property owner, which is the JSProxy's
target. This patch aligns our IC behavior to match our runtime behavior.
This patch also renames some of the registers in the IC code to clear
up what they're used for.
This is a 2.5x speedup on the microbenchmark I've added, and a 15-20% speedup
on JetStream2's 3d-cube-SP.
- bytecode/AccessCase.cpp:
(JSC::AccessCase::generateWithGuard):
(JSC::AccessCase::generateImpl):
- bytecode/GetterSetterAccessCase.cpp:
(JSC::GetterSetterAccessCase::create):
- bytecode/GetterSetterAccessCase.h:
- jit/JITOperations.cpp:
- jit/Repatch.cpp:
(JSC::tryCachePutByID):
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::originalStructureBeforePut):
(JSC::CommonSlowPaths::putDirectWithReify):
- 9:39 PM Changeset in webkit [265599] by
-
- 6 edits22 deletes in trunk
Highpass Biquads use old formulas
https://bugs.webkit.org/show_bug.cgi?id=181191
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
*
web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-highpass-expected.txt:
Rebaselined
Source/WebCore:
Like r265517, but for the highpass filter.
Spec: https://www.w3.org/TR/webaudio/#dom-biquadfiltertype-highpass
Covered by existing tests
- platform/audio/Biquad.cpp:
(WebCore::Biquad::setHighpassParams):
LayoutTests:
Gardening r265517 (lowpass) showed our test failing for GStreamer due
to a different threshold than used by the imported WPT biquad tests.
As they test the same functionality, remove the old webaudio/biquad
tests and keep using the imported WPT ones with the detailed
thresholds.
- platform/glib/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-highpass-expected.txt: Removed.
- platform/mac-wk2/TestExpectations: Removed expectation regarding
deleted file.
- webaudio/biquad-allpass-expected.txt: Removed.
- webaudio/biquad-allpass.html: Removed.
- webaudio/biquad-bandpass-expected.txt: Removed.
- webaudio/biquad-bandpass.html: Removed.
- webaudio/biquad-getFrequencyResponse-expected.txt: Removed.
- webaudio/biquad-getFrequencyResponse.html: Removed.
- webaudio/biquad-highpass-expected.txt: Removed.
- webaudio/biquad-highpass.html: Removed.
- webaudio/biquad-highshelf-expected.txt: Removed.
- webaudio/biquad-highshelf.html: Removed.
- webaudio/biquad-lowpass-expected.txt: Removed.
- webaudio/biquad-lowpass.html: Removed.
- webaudio/biquad-lowshelf-expected.txt: Removed.
- webaudio/biquad-lowshelf.html: Removed.
- webaudio/biquad-notch-expected.txt: Removed.
- webaudio/biquad-notch.html: Removed.
- webaudio/biquad-peaking-expected.txt: Removed.
- webaudio/biquad-peaking.html: Removed.
- webaudio/biquadfilternode-basic-expected.txt: Removed.
- webaudio/biquadfilternode-basic.html: Removed.
- webaudio/resources/biquad-testing.js: Removed.
- 8:21 PM Changeset in webkit [265598] by
-
- 4 edits1 delete in trunk/LayoutTests
[GTK][WPE] Gardening some more failures.
Unreviewed test gardening.
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-lowpass-expected.txt: Removed.
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 7:56 PM Changeset in webkit [265597] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION(r259170): text inputs in box-shadow editor push sliders offscreen
https://bugs.webkit.org/show_bug.cgi?id=215436
Reviewed by Darin Adler.
- UserInterface/Views/BoxShadowEditor.js:
(WI.BoxShadowEditor.createInputRow):
Make sure the inputs aretype="text"so that CSS is able to distinguish them from sliders.
- 6:46 PM Changeset in webkit [265596] by
-
- 4 edits in branches/safari-610.1-branch/Source/WebCore
Cherry-pick r265280. rdar://problem/66945503
Update AudioSampleDataSource offset computation
https://bugs.webkit.org/show_bug.cgi?id=215127
<rdar://problem/65938265>
Reviewed by Eric Carlson.
As per logs, it sometimes happens that the offset is so big that the timestamp is below the start of the window.
In that case, our logic is not able to catch up and reduce the offset.
To handle this, we special case if the timestamp is below the start frame and do as if we were starting from scratch.
Otherwise, we continue our logic to fine tune the offset by slowly making it bigger to not hit the end of the window but still be close to it.
Updated logging to help further debugging this issue if needed.
- platform/audio/mac/AudioSampleDataSource.h:
- platform/audio/mac/AudioSampleDataSource.mm: (WebCore::AudioSampleDataSource::pushSamplesInternal): (WebCore::computeOffsetDelay): (WebCore::AudioSampleDataSource::pullSamplesInternal): (WebCore::AudioSampleDataSource::pullAvalaibleSamplesAsChunks):
- platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp: (WebCore::RealtimeIncomingAudioSourceCocoa::OnData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:46 PM Changeset in webkit [265595] by
-
- 14 edits4 adds in branches/safari-610.1-branch
Cherry-pick r265515. rdar://problem/66943894
iOS: Scrolling and touch events sporadically stop working after navigating
https://bugs.webkit.org/show_bug.cgi?id=215368
<rdar://problem/65801531>
Reviewed by Wenson Hsieh.
Source/WebKit:
Test: fast/events/touch/ios/touch-event-stall-after-navigating-with-pending-asynchronous-touch-start.html
WebPageProxy::handlePreventableTouchEvent keeps a counter of the number
of outstanding "preventable" touch events that it is waiting to hear
from the Web Content process about. This counter is incremented when the
event is dispatched to the Web Content process's EventHandler queue,
and decremented when the reply (whether it was handled or not) comes
back from the Web Content process. While the counter is non-zero, all
deferrable gestures remain deferred (and when it returns to zero, the
WKDeferringGestureRecognizer gate is lifted, and events are allowed to flow).
This means that it is very important that every event eventually reply
about its handling status.
Before this change, when the Web Content process is navigating, and reaches didCommitLoad,
it cleared all queued touch events, without replying to to the UI process.
Thus, there is a small window of time in which an incoming touch event will
end up in the queue, *not* get dispatched/replied, and then get dropped on
the floor in didCommitLoad. Most events do not meet this fate, because they
are handled promptly, and commitLoad/didCommitLoad tend to be very quick.
However, if the Web Content process ends up spending any significant amount
of time under commitLoad (say, in an unload handler, or in media frameworks),
any incoming touch events during that time will get lost, and the UI process'
count of outstanding events will end up getting stuck non-zero.
Fix this by always pretending that the page ate any events that were outstanding
when didCommitLoad occurs, instead of just dropping them on the floor.
- UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::doneWithTouchEvent):
- WebProcess/WebPage/EventDispatcher.cpp: (WebKit::EventDispatcher::takeQueuedTouchEventsForPage): (WebKit::EventDispatcher::clearQueuedTouchEventsForPage): Deleted. (WebKit::EventDispatcher::getQueuedTouchEventsForPage): Deleted. Also, rename getQueuedTouchEventsForPage to takeQueuedTouchEventsForPage, since it removes the queue from EventDispatcher's set.
- WebProcess/WebPage/EventDispatcher.h:
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::touchEventSync): (WebKit::WebPage::didCommitLoad):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::cancelAsynchronousTouchEvents):
Tools:
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::runUIScriptImmediately):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): (WTR::TestInvocation::runUISideScriptImmediately): (WTR::TestInvocation::runUISideScriptAfterUpdateCallback):
- WebKitTestRunner/TestInvocation.h: Add a variant of runUISideScript that runs the script without waiting for a rendering update.
It makes sense for the default runUISideScript to wait for a rendering
update -- nearly every test is either unaffected or improved by this --
but for the test for this bug, since we have hung the Web Content process
main thread intentionally, we will not see a rendering update, and so
the UI-side script will never run.
LayoutTests:
- fast/events/touch/ios/resources/finish-test-after-scrolling-with-touch-event-handlers.html: Added.
- fast/events/touch/ios/touch-event-stall-after-navigating-with-pending-asynchronous-touch-start-expected.txt: Added.
- fast/events/touch/ios/touch-event-stall-after-navigating-with-pending-asynchronous-touch-start.html: Added. Add a test that ensures that a page that dispatches events in beforeunload, receiving preventable touch events during the next page's commitLoad does not result in scrolling being stuck.
Before this change, this test would time out.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265515 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:46 PM Changeset in webkit [265594] by
-
- 2 edits in branches/safari-610.1-branch/Source/JavaScriptCore
Cherry-pick r265493. rdar://problem/66944002
ScriptExecutable::newCodeBlockFor() neglected to set the exception pointer result in one case.
https://bugs.webkit.org/show_bug.cgi?id=215357
<rdar://problem/57675112>
Reviewed by Yusuke Suzuki.
At the bottom of ScriptExecutable::newCodeBlockFor(), it calls:
RELEASE_AND_RETURN(throwScope, FunctionCodeBlock::create(vm, executable, unlinkedCodeBlock, scope));
However, ScriptExecutable::newCodeBlockFor() has 2 return values: a CodeBlock*,
and a passed in Exception*& that needs to be set if there's an exception.
FunctionCodeBlock::create() is capable of returning a null CodeBlock* because
CodeBlock::finishCreation() can throw exceptions. As a result, we have a scenario
here where ScriptExecutable::newCodeBlockFor() can return a null CodeBlock* without
setting the Exception*& result.
Consequently, Interpreter::executeCall() is relying on this and can end up
crashing while dereferencing a null CodeBlock* because the exception result was
not set.
This patch fixes ScriptExecutable::newCodeBlockFor() to set the exception result.
- runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:46 PM Changeset in webkit [265593] by
-
- 18 edits in branches/safari-610.1-branch
Cherry-pick r265480. rdar://problem/66943866
AuxiliaryProcess::didReceiveInvalidMessage() for WebPage::PerformDragControllerAction IPC
https://bugs.webkit.org/show_bug.cgi?id=215341
<rdar://problem/59344091>
Reviewed by Alex Christensen.
Source/WebCore:
Consistently use OptionSet<DragApplicationFlags> instead of DragApplicationFlags.
- page/gtk/DragControllerGtk.cpp: (WebCore::DragController::isCopyKeyDown):
- page/mac/DragControllerMac.mm: (WebCore::DragController::isCopyKeyDown): (WebCore::DragController::dragOperation):
- platform/DragData.cpp: (WebCore::DragData::DragData):
- platform/DragData.h: (WebCore::DragData::flags const):
- platform/cocoa/DragDataCocoa.mm: (WebCore::DragData::DragData):
- platform/win/DragDataWin.cpp: (WebCore::DragData::DragData):
Source/WebKit:
DragApplicationFlags is an enum containing flags. It was being sent over IPC as a DragApplicationFlags
instead of an OptionSet<DragApplicationFlags>, and thus would fail enum value validation when decoding
when more than one flag is set.
- Scripts/webkit/messages.py:
- Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder<DragData>::decode):
- UIProcess/Cocoa/WebViewImpl.mm: (WebKit::applicationFlagsForDrag):
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::performDragControllerAction):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm: (overrideCurrentEvent): (TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265480 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:46 PM Changeset in webkit [265592] by
-
- 2 edits in branches/safari-610.1-branch/Source/WebCore
Cherry-pick r265457. rdar://problem/66943926
MobileSafari crashes at WebCore: -[WebAVPlayerController seekToTime:toleranceBefore:toleranceAfter:]
https://bugs.webkit.org/show_bug.cgi?id=215332
Reviewed by Eric Carlson.
Add a NULL pointer check to fix a crash.
- platform/ios/WebAVPlayerController.mm: (-[WebAVPlayerController seekToTime:toleranceBefore:toleranceAfter:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:46 PM Changeset in webkit [265591] by
-
- 2 edits in branches/safari-610.1-branch/Source/WebKit
Cherry-pick r265456. rdar://problem/66945442
Use RefPtr for WebKit::WebOpenPanelResultListenerProxy
<https://webkit.org/b/215252>
<rdar://problem/65753821>
Reviewed by Geoffrey Garen.
Unable to create an API test for this.
- UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::UIClient::runOpenPanel):
- Use RefPtr<WebOpenPanelResultListenerProxy> when passing
listenerinto the block.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265456 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:46 PM Changeset in webkit [265590] by
-
- 4 edits in branches/safari-610.1-branch/Source/WebCore
Cherry-pick r265437. rdar://problem/66943889
r262456 broke sites that expect webkitDisplayingFullscreen to be true almost immediately
https://bugs.webkit.org/show_bug.cgi?id=215240
<rdar://problem/66284042>
Reviewed by Darin Adler.
Add a quirk for sites that use the Akamai Media Player, which begins polling
webkitDisplayingFullscreenevery 100ms immediately after entering video fullscreen
mode and exits fullscreen as soon as it returns false. r262456 changed the HTMLMediaPlayer
state machine sowebkitDisplayingFullscreendoesn't returntrueuntil the fullscreen
window has been opened in the UI process. This was done to fix bugs triggered by
rapidly entering and exiting fullscreen and PiP and make our own fullscreen/PiP tests
less flakey, so instead of reverting the change universally do it as a quirk for sites
using the Akamai Media Player.
- html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitDisplayingFullscreen):
- page/Quirks.cpp: (WebCore::Quirks::needsAkamaiMediaPlayerQuirk const):
- page/Quirks.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265437 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:46 PM Changeset in webkit [265589] by
-
- 4 edits in branches/safari-610.1-branch/Source/WebKit
Cherry-pick r265433. rdar://problem/66943779
Always suspend IDB work when network process is prepared to suspend
https://bugs.webkit.org/show_bug.cgi?id=215239
<rdar://problem/65690450>
Reviewed by Geoffrey Garen.
We do not suspend IDB work in the network process when there is an ongoing transaction because the network
process is going to ask the UI process to hold a background process assertion for it. However, it is possible
that the request from the network process does not reach the UI process in time: RunningBoard may already decide
to suspend the network process after app is backgrounded and UI process drops the foreground assertion for the
network process.
In this case, IDB in the network process would continue its transaction and the network process will be killed
when it becomes suspened for holding database file locks. A network process crash can lead to a worse result
than suspending IDB work, which aborts ongoing transactions, because it will destroy all database connections
and transaction. Therefore, let's just suspend IDB work when the network process receives prepareToSuspend
message.
- NetworkProcess/IndexedDB/WebIDBServer.cpp: (WebKit::WebIDBServer::suspend):
- NetworkProcess/IndexedDB/WebIDBServer.h:
- NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::prepareToSuspend):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:46 PM Changeset in webkit [265588] by
-
- 2 edits in branches/safari-610.1-branch/Source/JavaScriptCore
Cherry-pick r265431. rdar://problem/66943961
REGRESSION(r261159) PokerBros only shows black screen
https://bugs.webkit.org/show_bug.cgi?id=215293
<rdar://problem/66073740>
Reviewed by Keith Miller.
The PokerBros app has some logic that was broken by the change in behavior of r261159.
It caused the app do do nothing except show a black screen upon opening.
Revert to the old behavior for this app until they update to iOS14.
- runtime/JSObject.cpp: (JSC::needsOldStringName): (JSC::JSObject::toStringName):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265431 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:46 PM Changeset in webkit [265587] by
-
- 15 edits2 moves4 adds in branches/safari-610.1-branch
Cherry-pick r265422. rdar://problem/66945359
[macOS] Drag/drop an image of a unsupported format to an file input element should convert it to a supported format
https://bugs.webkit.org/show_bug.cgi?id=212482
<rdar://problem/63731672>
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-08-09
Reviewed by Darin Adler.
Source/WebCore:
Although the list of the dropped files are sent from the UI process to
the Web process through the WebPage channel, the file input settings are
only known by the Web process. So we have to do the image transcoding in
WebCore.
Tests: fast/forms/file/entries-api/image-no-transcode-drag-drop.html
fast/forms/file/entries-api/image-transcode-drag-drop.html
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/FileInputType.cpp: (WebCore::FileInputType::handleDOMActivateEvent): (WebCore::FileInputType::fileChooserSettings const): Move filling FileChooserSettings to the function: fileChooserSettings().
(WebCore::FileInputType::applyFileChooserSettings):
Call fileChooserSettings() instead of receiving FileChooserSettings as
an argument.
(WebCore::FileInputType::filesChosen):
Add this function which can be called from receiveDroppedFiles() or
receiveDroppedFilesWithImageTranscoding().
(WebCore::FileInputType::receiveDroppedFilesWithImageTranscoding):
Finds out whether image transcoding is needed for the dropped files. If
it is needed, it will be done in a WorkQueue and call filesChosen() when
it is done. Otherwise it will call filesChosen() immediately.
(WebCore::FileInputType::receiveDroppedFiles):
- html/FileInputType.h:
- platform/graphics/ImageUtilities.h: Added.
- platform/graphics/cg/ImageUtilitiesCG.cpp: Added. (WebCore::sharedImageTranscodingQueue): Provide a shared WorkQueue which can be used by WebCore and WebKit.
(WebCore::transcodeImage):
(WebCore::findImagesForTranscoding):
(WebCore::transcodeImages):
Source/WebKit:
Move ImageUtilities.h and ImageUtilitiesCG.cpp from WebKit to WebCore.
Use the image transcoding functions and shared WorkQueue from WebCore.
- Platform/ImageUtilities.h: Removed.
- Platform/cg: Removed.
- SourcesCocoa.txt:
- UIProcess/WebPageProxy.cpp: (WebKit::m_limitsNavigationsToAppBoundDomains): (WebKit::WebPageProxy::didChooseFilesForOpenPanelWithImageTranscoding): (WebKit::m_transcodingQueue): Deleted.
- UIProcess/WebPageProxy.h:
- WebKit.xcodeproj/project.pbxproj:
LayoutTests:
Enable the new tests on macOS WK1. eventSender.beginDragWithFiles is
supported on WK1 only.
- fast/forms/file/entries-api/image-no-transcode-drag-drop-expected.txt: Added.
- fast/forms/file/entries-api/image-no-transcode-drag-drop.html: Added.
- fast/forms/file/entries-api/image-transcode-drag-drop-expected.txt: Added.
- fast/forms/file/entries-api/image-transcode-drag-drop.html: Added.
- platform/ios/TestExpectations:
- platform/win/TestExpectations:
- platform/wincairo/TestExpectations:
- platform/wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265422 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:46 PM Changeset in webkit [265586] by
-
- 5 edits in branches/safari-610.1-branch/Source/JavaScriptCore
Cherry-pick r265405. rdar://problem/66943811
[JSC] Speculate children first in DFG NewArray
https://bugs.webkit.org/show_bug.cgi?id=215308
<rdar://problem/64749263>
Reviewed by Mark Lam.
SpeculativeJIT::emitAllocateRawObject can create uninitialized butterfly since we later fill them.
However, DFG NewArray node has speculation after that. So if speculation failure happens, we release
half-baked butterfly.
Let's see the example.
8459 emitAllocateRawObject(resultGPR, structure, storageGPR, numElements, vectorLengthHint);
...
8482 case ALL_INT32_INDEXING_TYPES:
8483 case ALL_CONTIGUOUS_INDEXING_TYPES: {
8484 JSValueOperand operand(this, use, ManualOperandSpeculation);
8485 JSValueRegs operandRegs = operand.jsValueRegs();
8486 if (hasInt32(node->indexingType())) {
8487 DFG_TYPE_CHECK(
8488 operandRegs, use, SpecInt32Only,
8489 m_jit.branchIfNotInt32(operandRegs));
8490 }
8491 m_jit.storeValue(operandRegs, MacroAssembler::Address(storageGPR, sizeof(JSValue) * operandIdx));
8492 break;
8493 }
L8487-L8489 is doing speculation check. If it failed, the rest of the butterfly can be filled with garbage. This looks OK since
it is Int32 butterfly so GC never scans it. However, if have-a-bad-time happens and the array is reachable from the conservative root,
this half-baked array is converted from Int32 array to ArrayStorage. At that time, since Int32 butterfly should hold JSInt32,
we store this garbage to ArrayStorage. Later, if conservative root still holds this array, and GC scans this garbage as as JSValue,
this value confuses GC.
In this patch, we first perform speculation before creating uninitialized JSArray so that we can ensure that we never exit after
creating this array until we fill it. This strategy is the same to FTL's NewArray implementation.
And we also found that emitAllocateRawObject is allocating an object from JSFinalObject space while we use it for JSArray too.
We should get per-type allocator to ensure JSArray is allocated in its IsoSubspace.
- dfg/DFGOperations.cpp:
- dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateRawObject): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileMaterializeNewObject):
- ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject):
- runtime/JSObject.h: (JSC::JSObject::createRawObject): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265405 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:46 PM Changeset in webkit [265585] by
-
- 7 edits2 adds in branches/safari-610.1-branch
Cherry-pick r265379. rdar://problem/66945470
REGRESSION (r260276): instructure.com custom PDF viewer stops scrolling / loading after switching to another tab then switching back
https://bugs.webkit.org/show_bug.cgi?id=215215
<rdar://problem/65743028>
Reviewed by Simon Fraser.
Source/WebCore:
Test: scrollingcoordinator/overflow-proxy-reattach.html
- page/scrolling/ScrollingStateOverflowScrollProxyNode.cpp: (WebCore::ScrollingStateOverflowScrollProxyNode::setPropertyChangedBitsAfterReattach):
We need to reset OverflowScrollingNode after reattach.
- page/scrolling/ScrollingStateOverflowScrollProxyNode.h:
- testing/Internals.cpp: (WebCore::Internals::setPageIsInWindow):
- testing/Internals.h:
- testing/Internals.idl:
Add direct testing support for background tab state.
LayoutTests:
- scrollingcoordinator/overflow-proxy-reattach-expected.html: Added.
- scrollingcoordinator/overflow-proxy-reattach.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265379 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:46 PM Changeset in webkit [265584] by
-
- 2 edits in branches/safari-610.1-branch/Source/WebCore
Cherry-pick r265346. rdar://problem/66945452
[CG] Avoid creating a sub-image when drawing a small scaled sub-rect from a native image
https://bugs.webkit.org/show_bug.cgi?id=215015
<rdar://problem/63845893>
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-08-06
Reviewed by Simon Fraser.
The reason for creating the sub-image in GraphicsContext::drawNativeImage()
is to have a better image interpolation for the scaled sub-rect. For small
destRect, the interpolation on the original image is almost the same as
the interpolation on the sub-image. So we should avoid creating the sub-
image if destRect.area() is less than some minimum value. Creating many
sub-images can affect the rendering performance.
- platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawNativeImage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:46 PM Changeset in webkit [265583] by
-
- 2 edits in branches/safari-610.1-branch/Source/WebKit
Cherry-pick r265339. rdar://problem/66945496
[Mac,WK2] REGRESSION(r262322): ScreenTime overlay is hidden in fullscreen mode
https://bugs.webkit.org/show_bug.cgi?id=215222
<rdar://problem/65871844>
Reviewed by Eric Carlson.
During a refactor, a call to -[NSWindow setAutodisplay:YES] was dropped (in addition to a call to
NSEnableScreenUpdates(), but that has a 1s timeout so its effects aren't persistent). This meant
all NSViews added to that window need -display called on them explicitly in order to paint, and
so subviews like the ScreenTime overlay is never drawn.
- UIProcess/mac/WKFullScreenWindowController.mm: (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265339 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:45 PM Changeset in webkit [265582] by
-
- 2 edits in branches/safari-610.1-branch/Source/WebKit
Cherry-pick r265322. rdar://problem/66943882
Could not find module 'WebKit' for target 'armv7-apple-ios'
<https://bugs.webkit.org/show_bug.cgi?id=215190>
<rdar://problem/65642049>
Reviewed by Brady Eidson.
- SwiftOverlay/Configurations/WebKitSwiftOverlayTests.xcconfig: Define SWIFT_MODULE_ONLY_ARCHS to emit other architectures.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265322 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:08 PM Changeset in webkit [265581] by
-
- 2 edits in trunk/Source/WebCore
First search on Google Maps shows black bar at top of map and blank strips through the middle
https://bugs.webkit.org/show_bug.cgi?id=214945
<rdar://problem/63374422>
Reviewed by Tim Horton.
On iOS with an attached keyboard, Google Maps appears to calculate
the viewport it will use for map display at a time when the Unified
Control Bar (keyboard accessories) is visible. If it then changes the
map location via the user submitting a search form, the resulting map
will be using the incorrect viewport as the control bar has disappeared.
This causes parts of the map display to get the wrong stencil masks, leaving
blank strips. This fixes itself as soon as you force the map to recalculate
its viewport (e.g. by rotating the device).
Rather than have Google Maps update its code to detect these viewport changes,
we're adding a Quirk to not use the control bar in these calculations.
- page/Quirks.cpp:
(WebCore::Quirks::shouldAvoidResizingWhenInputViewBoundsChange const):
Return true for "*.google.com/maps/".
- 6:00 PM Changeset in webkit [265580] by
-
- 2 edits in trunk/Tools
Update my watchlist entries and add some additional Web Inspector definitions
- Scripts/webkitpy/common/config/watchlist:
- 5:54 PM Changeset in webkit [265579] by
-
- 8 edits in branches/safari-610.1-branch/Source
Versioning.
WebKit-610.1.27
- 5:31 PM Changeset in webkit [265578] by
-
- 1 copy in tags/Safari-610.1.26
Tag Safari-610.1.26.
- 5:12 PM Changeset in webkit [265577] by
-
- 8 edits in branches/safari-610.1.25.5-branch/Source
Versioning.
WebKit-7610.1.25.5.1
- 4:55 PM Changeset in webkit [265576] by
-
- 1 copy in branches/safari-610.1.25.5-branch
New branch.
- 4:44 PM Changeset in webkit [265575] by
-
- 1 copy in branches/safari-610.1.25.4-branch
New branch.
- 4:10 PM Changeset in webkit [265574] by
-
- 5 edits in trunk/Tools
[webkitpy] Use webkitcorepy's auto installer for requests
https://bugs.webkit.org/show_bug.cgi?id=214951
<rdar://problem/66308049>
Reviewed by Stephanie Lewis.
- Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py: Use webkitcorepy's auto installer.
- Scripts/webkitpy/results/upload.py: Ditto.
- Scripts/webkitpy/results/upload_unittest.py: Ditto.
- Scripts/webkitpy/thirdparty/init.py:
(AutoinstallImportHook._ensure_autoinstalled_dir_is_in_sys_path): Make sure webkitcorepy takes precedence
over webkitpy.
(AutoinstallImportHook.find_module): Delete _install_requests.
(AutoinstallImportHook._install_pytest): Ditto.
(AutoinstallImportHook._install_beautifulsoup): Ditto.
(AutoinstallImportHook._install_selenium): Ditto.
(AutoinstallImportHook._install_requests): Deleted.
- 4:06 PM Changeset in webkit [265573] by
-
- 4 edits in trunk
Fail preconnect requests to deprecated TLS instead of allowing application to show warning
https://bugs.webkit.org/show_bug.cgi?id=215424
<rdar://problem/66784116>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-08-12
Reviewed by Geoffrey Garen.
Source/WebKit:
Preconnecting is just a suggestion, so if the content really wants to load something from the deprecated TLS server,
we will see the warning when the load actually happens.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST):
(TestWebKitAPI::webViewWithNavigationDelegate):
- 3:49 PM Changeset in webkit [265572] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Allow additional iokit-get-property to support HEIF images
https://bugs.webkit.org/show_bug.cgi?id=215431
<rdar://problem/66760775>
Reviewed by Per Arne Vollan.
Allow the WebContent process to read the HEVCCanDecodeTileToCanvas property.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 3:41 PM Changeset in webkit [265571] by
-
- 3 edits in branches/safari-610.1.25.1-branch/Source/WebKit
Cherry-pick r265427. rdar://problem/66932337
Add required entitlement for Catalyst
https://bugs.webkit.org/show_bug.cgi?id=215244
Reviewed by Darin Adler.
The entitlement 'com.apple.private.webkit.use-xpc-endpoint' should be added to the WebContent process on Catalyst as well,
since it is needed on all Apple platforms. This entitlement is needed to support direct XPC communication between WebKit
processes, which is used to send the Launch Services database to the WebContent process from the Networking process. Also,
add some more logging related to this, to detect if it takes a long time for the WebContent process to receive the database.
- Scripts/process-entitlements.sh:
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm: (WebKit::WebPage::platformDidReceiveLoadParameters):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:40 PM Changeset in webkit [265570] by
-
- 8 edits in branches/safari-610.1.25.1-branch/Source
Versioning.
WebKit-7610.1.25.1.3
- 3:32 PM Changeset in webkit [265569] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Fix iokit get property sandbox violation
https://bugs.webkit.org/show_bug.cgi?id=215430
<rdar://problem/65290967>
Reviewed by Brent Fulgham.
The WebContent process' sandbox on macOS needs to allow querying the iokit property "acoustic-id".
- WebProcess/com.apple.WebProcess.sb.in:
- 3:03 PM Changeset in webkit [265568] by
-
- 8 edits in branches/safari-610.2.1-branch/Source
Versioning.
WebKit-610.2.1
- 2:57 PM Changeset in webkit [265567] by
-
- 2 edits in trunk/Source/WebCore
Add my new Twitter handle to the feature status page
https://bugs.webkit.org/show_bug.cgi?id=215429
Reviewed by Chris Dumez.
rniwa_dev is my new Twitter handle.
- features.json:
- 2:51 PM Changeset in webkit [265566] by
-
- 1 copy in branches/safari-610.2.1-branch
Tracking WebKit-7610.2.1
- 2:40 PM Changeset in webkit [265565] by
-
- 2 edits in trunk/Tools
[ews] email notifications should include link to corresponding bug
https://bugs.webkit.org/show_bug.cgi?id=215425
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure):
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures):
- 2:31 PM Changeset in webkit [265564] by
-
- 2 edits in trunk/Source/WebCore
[PlayStation] Build fix for !ENABLE(ACCESSIBILITY) after r265514
https://bugs.webkit.org/show_bug.cgi?id=215426
AXObjectCache::getOrCreate(AccessibilityRole) changed names
in the above, but the short definition for
!ENABLE(ACCESSIBILITY) didn't update.
Unreviewed build fix.
- accessibility/AXObjectCache.h: Update name to match new name
- 2:11 PM Changeset in webkit [265563] by
-
- 3 edits in trunk/LayoutTests
Unreviewed test gardening, rebaseline test after r265514.
- inspector/dom/getAccessibilityPropertiesForNode-expected.txt:
- inspector/dom/getAccessibilityPropertiesForNode.html: Remove a FIXME since it is no longer applicable.
- 1:55 PM Changeset in webkit [265562] by
-
- 27 edits in trunk/Source
Add the support to return to element fullscreen from picture-in-picture
https://bugs.webkit.org/show_bug.cgi?id=215305
Reviewed by Jer Noble.
Source/WebCore:
When a container element enters fullscreen (with the fullscreen API), a descendant
video element will enter the video fullscreen standby state so that it can enter
picture-in-picture on application suspend (r226217). But we cannot restore
to that state from the picture-in-picture mode when we click the "restore" button
on the top-right corner of the PiP window. Instead, the video element will return
to the inline mode.
However, when a video element enters video fullscreen first and then enters
picture-in-picture, we can let the video restore to fullscreen by clicking the
"restore" button on the top-right corner of the picture-in-picture window.
The inconsistent behaviors may confuse users who are not aware of the difference
between the fullscreen API (or element fullscreen) and video fullscreen.
This patch enables the support to restore to element fullscreen from picture-in-picture
mode so that users can have a consistent experience on element fullscreen and
video fullscreen.
- dom/FullscreenManager.h:
Export requestFullscreenForElement() so that we can use it in WebKit code.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::enterFullscreen):
(WebCore::HTMLMediaElement::prepareForVideoFullscreenStandby):
- html/HTMLMediaElement.h:
- page/ChromeClient.h:
(WebCore::ChromeClient::prepareForVideoFullscreen):
Add the interface to request a video element to be prepared for the video fullscreen
standby state.
- platform/cocoa/VideoFullscreenChangeObserver.h:
Add prepareToExitFullscreen() and fullscreenWillReturnToInline().
- platform/cocoa/VideoFullscreenModel.h:
(WebCore::VideoFullscreenModelClient::hasVideoChanged):
(WebCore::VideoFullscreenModelClient::videoDimensionsChanged):
(WebCore::VideoFullscreenModelClient::prepareToExitPictureInPicture):
Some minor clean-ups and add function prepareToExitPictureInPicture().
- platform/ios/VideoFullscreenInterfaceAVKit.h:
- platform/ios/VideoFullscreenInterfaceAVKit.mm:
(VideoFullscreenInterfaceAVKit::cleanupFullscreen):
(VideoFullscreenInterfaceAVKit::prepareForPictureInPictureStop):
(VideoFullscreenInterfaceAVKit::didStartPictureInPicture):
(VideoFullscreenInterfaceAVKit::willStopPictureInPicture):
(VideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler):
(VideoFullscreenInterfaceAVKit::setReadyToStopPictureInPicture):
(VideoFullscreenInterfaceAVKit::willEnterStandbyFromPictureInPicture):
(VideoFullscreenInterfaceAVKit::setWillEnterStandbyFromPictureInPicture):
(VideoFullscreenInterfaceAVKit::fullscreenMayReturnToInline): Deleted.
When we enter picture-in-picture, we need to save the state and be prepared to
restore to element fullscreen if needed.
Before we exit picture-in-picture, if the "restore" button is clicked, we need
to notify the client to prepare for the picture-in-picture stop, and call
VideoFullscreenInterfaceAVKit::setReadyToStopPictureInPicture(true) when the client
is ready.
Based on those changes, a client (e.g., WKFullScreenWindowControllerVideoFullscreenModelClient)
can coordinate with WKFullScreenWindowController to implement the "restore to
element fullscreen" feature.
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(VideoFullscreenControllerContext::fullscreenWillReturnToInline):
(VideoFullscreenControllerContext::fullscreenMayReturnToInline): Deleted.
Source/WebKit:
This patch replaces WKFullScreenViewControllerVideoFullscreenModelClient
with WKFullScreenWindowControllerVideoFullscreenModelClient. We need to do
that because the instance of WKFullScreenViewControllerVideoFullscreenModelClient
will be destroyed after the container element exits fullscreen while the video
element enters picture-in-picture.
The instance of WKFullScreenWindowControllerVideoFullscreenModelClient
will always exist when the WKFullScreenWindowController instance is alive,
so that it can receive callbacks from the VideoFullscreenInterfaceAVKit instance
to implement the "return to element fullscreen from picture-in-picture" feature.
This patch supports the following transitions:
element fullscreen -> picture-in-picture (through user gestures)
element fullscreen -> picture-in-picture (through the PiP button)
picture-in-picture -> element fullscreen (when the tab is visible)
picture-in-picture -> element fullscreen (when the tab is invisible)
picture-in-picture -> element fullscreen (when the browser is in background)
picture-in-picture -> inline (when the browser is in foreground)
exit picture-in-picture when the browser is in background
- UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenModelContext::fullscreenWillReturnToInline):
(WebKit::VideoFullscreenModelContext::prepareToExitFullscreen):
Notify clients to prepare for the stop of fullscreen/picture-in-picture.
(WebKit::VideoFullscreenManagerProxy::setupFullscreenWithID):
Fix issues that increase the client count unnecessarily.
(WebKit::VideoFullscreenManagerProxy::preparedToReturnToInline):
Call m_page->fullscreenMayReturnToInline() earlier.
(WebKit::VideoFullscreenManagerProxy::fullscreenMayReturnToInline):
Ditto.
(WebKit::VideoFullscreenManagerProxy::fullscreenWillReturnToInline):
Notify VideoFullscreenManager to prepare for exiting picture-in-picture or video fullscreen
and report the destination rectangle of the exit picture-in-picture or video fullscreen animations.
- UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::requestEnterFullScreen):
- UIProcess/WebFullScreenManagerProxy.h:
Add a function requestEnterFullScreen() so that we can request an element to enter fullscreen
from the UI process side.
- UIProcess/ios/fullscreen/WKFullScreenViewController.h:
- UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
(-[WKFullScreenViewController initWithWebView:]):
(-[WKFullScreenViewController dealloc]):
(-[WKFullScreenViewController videoControlsManagerDidChange]):
(-[WKFullScreenViewController setAnimatingViewAlpha:]):
(-[WKFullScreenViewController _cancelAction:]):
(WKFullScreenViewControllerVideoFullscreenModelClient::setParent): Deleted.
(WKFullScreenViewControllerVideoFullscreenModelClient::setInterface): Deleted.
(WKFullScreenViewControllerVideoFullscreenModelClient::interface const): Deleted.
(-[WKFullScreenViewController willEnterPictureInPicture]): Deleted.
(-[WKFullScreenViewController didEnterPictureInPicture]): Deleted.
(-[WKFullScreenViewController failedToEnterPictureInPicture]): Deleted.
Minor clean-ups and remove code related to WKFullScreenViewControllerVideoFullscreenModelClient.
- UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.h:
- UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(WKFullScreenWindowControllerVideoFullscreenModelClient::setParent):
(WKFullScreenWindowControllerVideoFullscreenModelClient::setInterface):
(WKFullScreenWindowControllerVideoFullscreenModelClient::interface const):
(-[WKFullScreenWindowController initWithWebView:]):
(-[WKFullScreenWindowController dealloc]):
(-[WKFullScreenWindowController enterFullScreen]):
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController requestEnterFullScreen]):
(-[WKFullScreenWindowController requestExitFullScreen]):
(-[WKFullScreenWindowController _completedExitFullScreen]):
(-[WKFullScreenWindowController videoControlsManagerDidChange]):
(-[WKFullScreenWindowController willEnterPictureInPicture]):
(-[WKFullScreenWindowController didEnterPictureInPicture]):
(-[WKFullScreenWindowController failedToEnterPictureInPicture]):
(-[WKFullScreenWindowController prepareToExitPictureInPicture]):
(-[WKFullScreenWindowController didExitPictureInPicture]):
Add WKFullScreenWindowControllerVideoFullscreenModelClient and implement the support
to "restore fullscreen from picture-in-picture".
- WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::enterFullScreenForElement):
(WebKit::WebFullScreenManager::requestEnterFullScreen):
- WebProcess/FullScreen/WebFullScreenManager.h:
- WebProcess/FullScreen/WebFullScreenManager.messages.in:
Add the interface requestEnterFullScreen() and the corresponding IPC message.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::prepareForVideoFullscreen):
- WebProcess/WebCoreSupport/WebChromeClient.h:
Add the interface to prepare for video fullscreen standby. The web process can
use this interface to create a VideoFullscreenManager instance to avoid the
scenario that an IPC message comes from the VideoFullscreenManagerProxy but
the VideoFullscreenManager instance is not constructed yet.
- WebProcess/cocoa/VideoFullscreenManager.h:
- WebProcess/cocoa/VideoFullscreenManager.messages.in:
- WebProcess/cocoa/VideoFullscreenManager.mm:
(WebKit::VideoFullscreenManager::fullscreenWillReturnToInline):
(WebKit::VideoFullscreenManager::fullscreenMayReturnToInline): Deleted.
Rename fullscreenMayReturnToInline() to fullscreenWillReturnToInline().
In the UI process side, fullscreenMayReturnToInline() is used by
VideoFullscreenManagerProxy to notify applications regarding UI
changes (e.g., switch browser tabs).
- 1:11 PM Changeset in webkit [265561] by
-
- 4 edits in trunk
Broken formatting in price table on yandex.ru after translating to English
https://bugs.webkit.org/show_bug.cgi?id=215416
<rdar://problem/66354018>
Reviewed by Tim Horton.
Source/WebCore:
Extend the behavior added in r265188 so that it applies to all elements that have
display: table-cell;, rather
than only table data cell elements.
- editing/TextManipulationController.cpp:
(WebCore::isEnclosingItemBoundaryElement):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
- 12:53 PM Changeset in webkit [265560] by
-
- 2 edits in trunk/Source/WebKit
WebPageProxy::registerEditCommand should be robust against invalid undo step identifiers
https://bugs.webkit.org/show_bug.cgi?id=215412
<rdar://problem/66296820>
Reviewed by Tim Horton.
Add a
MESSAGE_CHECKto avoid ever creating aWebEditCommandProxywith an invalid command identifier.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::registerEditCommand):
- 12:46 PM Changeset in webkit [265559] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed non-unified build fix.
No new tests needed.
- accessibility/AccessibilityMenuListOption.cpp: Add missing inclusion of
HTMLSelectElement.h.
- page/Quirks.h: Add mising forward declaration of HTMLVideoElement.
- page/UndoItem.cpp: Add missing inclusion of Document.h.
- 12:45 PM Changeset in webkit [265558] by
-
- 8 edits in trunk/Source
Versioning.
WebKit-610.2.2
- 12:21 PM Changeset in webkit [265557] by
-
- 2 edits1 add in trunk/Tools
Add Copy WebKit Permalink items to Sublime Text command palette
https://bugs.webkit.org/show_bug.cgi?id=215418
Reviewed by Keith Miller.
- CopyPermalink/Sublime Text/CopyWebKitPermalink/Context.sublime-commands: Added.
- CopyPermalink/Sublime Text/INSTALL:
- 11:07 AM Changeset in webkit [265556] by
-
- 1 edit1 delete in trunk/Websites/webkit.org
Remove unused selector performance test
https://bugs.webkit.org/show_bug.cgi?id=215414
Reviewed by Darin Adler.
- perf/slickspeed/config.ini: Removed.
- perf/slickspeed/footer.html: Removed.
- perf/slickspeed/frameworks/DomQuery.js: Removed.
- perf/slickspeed/frameworks/dummy.js: Removed.
- perf/slickspeed/frameworks/jquery-1.2.3.js: Removed.
- perf/slickspeed/frameworks/prototype.js: Removed.
- perf/slickspeed/header.html: Removed.
- perf/slickspeed/index.php: Removed.
- perf/slickspeed/instructions.txt: Removed.
- perf/slickspeed/logo.png: Removed.
- perf/slickspeed/selectors.list: Removed.
- perf/slickspeed/style.css: Removed.
- perf/slickspeed/system/index.php: Removed.
- perf/slickspeed/system/slickspeed.js: Removed.
- perf/slickspeed/system/template.php: Removed.
- perf/slickspeed/template.html: Removed.
- 10:57 AM Changeset in webkit [265555] by
-
- 2 edits in trunk/Tools
[ews] emails for test failures should include link to test history
https://bugs.webkit.org/show_bug.cgi?id=215337
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures):
- 10:56 AM Changeset in webkit [265554] by
-
- 2 edits in trunk/Tools
[ews-build] Add another Big Sur bot
https://bugs.webkit.org/show_bug.cgi?id=215193
Reviewed by Aakash Jain.
- BuildSlaveSupport/ews-build/config.json: Move ews169 from tvOS -> Big Sir.
- 10:55 AM Changeset in webkit [265553] by
-
- 3 edits in trunk/Tools
[ews] send emails as html instead of plain-text
https://bugs.webkit.org/show_bug.cgi?id=215331
Reviewed by Darin Adler.
- BuildSlaveSupport/ews-build/send_email.py:
(send_email): Send email as html instead of plain-text.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Encode few characters like <,>,& for html. Also format the logs in <code> block.
(AnalyzeCompileWebKitResults.send_email_for_preexisting_build_failure): Ditto.
- 9:48 AM Changeset in webkit [265552] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, address post-landing review comment from Sam Weinig for r265536.
- Modules/webaudio/WaveShaperDSPKernel.cpp:
(WebCore::WaveShaperDSPKernel::processCurve):
- 9:25 AM Changeset in webkit [265551] by
-
- 3 edits1 move in trunk/Tools
[resultsdbpy] Move to Tools/Scripts/libraries
https://bugs.webkit.org/show_bug.cgi?id=215401
<rdar://problem/66868387>
Reviewed by Aakash Jain.
- BuildSlaveSupport/ews-build/steps.py:
(CheckPatchRelevance): Changed resultsdbpy location.
(RunResultsdbpyTests): Ditto.
- BuildSlaveSupport/ews-build/steps_unittest.py:
(TestRunResultsdbpyTests.test_success):
(TestRunResultsdbpyTests.test_failure):
- Scripts/libraries/resultsdbpy: Copied from Tools/resultsdbpy.
- resultsdbpy: Removed.
- 8:25 AM Changeset in webkit [265550] by
-
- 4 edits8 adds in trunk/LayoutTests
[GTK][WPE] Rebaseline after new offscreencanvas progress
Unreviewed test gardening.
- platform/glib/fast/mediacapturefromelement/CanvasCaptureMediaStream-offscreencanvas-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/html/canvas/offscreen/filter/offscreencanvas.filter.w-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/html/canvas/offscreen/manual/filter/offscreencanvas.filter.w-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- 6:35 AM Changeset in webkit [265549] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed build fix after r265546.
The <Ref.h> include should be now in the header now that we've inlined the create() function.
- Modules/webxr/WebXRInputSourceArray.cpp: Removed include.
- Modules/webxr/WebXRInputSourceArray.h: Added include
- 6:34 AM WebKitFlatpakSDK edited by
- (diff)
- 6:33 AM WebKitFlatpakSDK/DebugWithRR created by
- 5:25 AM Changeset in webkit [265548] by
-
- 95 edits4 adds2 deletes in trunk
Refresh WritableStream up to spec
https://bugs.webkit.org/show_bug.cgi?id=215267
Reviewed by Geoff Garen.
LayoutTests/imported/w3c:
- web-platform-tests/encoding/streams/realms.window-expected.txt:
- web-platform-tests/fetch/api/response/response-stream-disturbed-by-pipe.any-expected.txt:
- web-platform-tests/fetch/api/response/response-stream-disturbed-by-pipe.any.worker-expected.txt:
- web-platform-tests/streams/idlharness.any-expected.txt:
- web-platform-tests/streams/idlharness.any.worker-expected.txt:
- web-platform-tests/streams/piping/abort.any-expected.txt:
- web-platform-tests/streams/piping/abort.any.worker-expected.txt:
- web-platform-tests/streams/piping/close-propagation-backward.any-expected.txt:
- web-platform-tests/streams/piping/close-propagation-backward.any.worker-expected.txt:
- web-platform-tests/streams/piping/close-propagation-forward.any-expected.txt:
- web-platform-tests/streams/piping/close-propagation-forward.any.worker-expected.txt:
- web-platform-tests/streams/piping/error-propagation-backward.any-expected.txt:
- web-platform-tests/streams/piping/error-propagation-backward.any.worker-expected.txt:
- web-platform-tests/streams/piping/error-propagation-forward.any-expected.txt:
- web-platform-tests/streams/piping/error-propagation-forward.any.worker-expected.txt:
- web-platform-tests/streams/piping/flow-control.any-expected.txt:
- web-platform-tests/streams/piping/flow-control.any.worker-expected.txt:
- web-platform-tests/streams/piping/general.any-expected.txt:
- web-platform-tests/streams/piping/general.any.worker-expected.txt:
- web-platform-tests/streams/piping/multiple-propagation.any-expected.txt:
- web-platform-tests/streams/piping/multiple-propagation.any.worker-expected.txt:
- web-platform-tests/streams/piping/pipe-through.any-expected.txt:
- web-platform-tests/streams/piping/pipe-through.any.worker-expected.txt:
- web-platform-tests/streams/piping/then-interception.any-expected.txt:
- web-platform-tests/streams/piping/then-interception.any.worker-expected.txt:
- web-platform-tests/streams/piping/throwing-options.any-expected.txt:
- web-platform-tests/streams/transform-streams/patched-global.any.worker-expected.txt:
- web-platform-tests/streams/readable-streams/patched-global.any-expected.txt:
- web-platform-tests/streams/readable-streams/patched-global.any.worker-expected.txt:
- web-platform-tests/streams/readable-streams/reentrant-strategies.any-expected.txt:
- web-platform-tests/streams/readable-streams/reentrant-strategies.any.worker-expected.txt:
- web-platform-tests/streams/transform-streams/reentrant-strategies.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/aborting.any-expected.txt:
- web-platform-tests/streams/writable-streams/aborting.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/bad-strategies.any-expected.txt:
- web-platform-tests/streams/writable-streams/bad-strategies.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/bad-underlying-sinks.any-expected.txt:
- web-platform-tests/streams/writable-streams/bad-underlying-sinks.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/byte-length-queuing-strategy.any-expected.txt:
- web-platform-tests/streams/writable-streams/byte-length-queuing-strategy.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/close.any-expected.txt:
- web-platform-tests/streams/writable-streams/close.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/constructor.any-expected.txt:
- web-platform-tests/streams/writable-streams/constructor.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/count-queuing-strategy.any-expected.txt:
- web-platform-tests/streams/writable-streams/count-queuing-strategy.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/error.any-expected.txt:
- web-platform-tests/streams/writable-streams/error.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/floating-point-total-queue-size.any-expected.txt:
- web-platform-tests/streams/writable-streams/floating-point-total-queue-size.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/general.any-expected.txt:
- web-platform-tests/streams/writable-streams/general.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/properties.any-expected.txt:
- web-platform-tests/streams/writable-streams/properties.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/reentrant-strategy.any-expected.txt:
- web-platform-tests/streams/writable-streams/reentrant-strategy.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/start.any-expected.txt:
- web-platform-tests/streams/writable-streams/start.any.js:
- web-platform-tests/streams/writable-streams/start.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/write.any-expected.txt:
- web-platform-tests/streams/writable-streams/write.any.worker-expected.txt:
- web-platform-tests/workers/semantics/interface-objects/001.worker-expected.txt:
- web-platform-tests/workers/semantics/interface-objects/002.worker-expected.txt:
Source/WebCore:
Update according latest spec, including WebIDL, controller and writer.
Covered by rebased tests.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/streams/StreamInternals.js:
- Modules/streams/WritableStream.idl:
- Modules/streams/WritableStream.js:
- Modules/streams/WritableStreamDefaultController.idl: Added.
- Modules/streams/WritableStreamDefaultController.js: Added.
- Modules/streams/WritableStreamDefaultWriter.idl: Added.
- Modules/streams/WritableStreamDefaultWriter.js: Added.
- Modules/streams/WritableStreamInternals.js:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
Source/WebKit:
- Shared/WebPreferences.yaml:
Add a dedicated runtime flag, off by default.
Tools:
Put console log in stderr as this makes some tests flaky otherwise.
- DumpRenderTree/TestOptions.cpp:
(shouldDumpJSConsoleLogInStdErr):
- WebKitTestRunner/TestOptions.cpp:
(WTR::shouldDumpJSConsoleLogInStdErr):
LayoutTests:
- js/dom/builtin-getter-name-expected.txt:
- js/dom/builtin-getter-name.html:
- streams/pipe-to-expected.txt:
- streams/reference-implementation/bad-strategies-expected.txt:
- streams/reference-implementation/bad-underlying-sinks-expected.txt:
- streams/reference-implementation/brand-checks-expected.txt:
- streams/reference-implementation/byte-length-queuing-strategy-expected.txt:
- streams/reference-implementation/count-queuing-strategy-expected.txt:
- streams/reference-implementation/pipe-through-expected.txt:
- streams/reference-implementation/pipe-to-expected.txt:
- streams/reference-implementation/pipe-to-options-expected.txt:
- streams/reference-implementation/readable-stream-templated-expected.txt:
- streams/reference-implementation/writable-stream-abort-expected.txt: Removed.
- streams/reference-implementation/writable-stream-abort.html: Removed.
Removed as not up to date.
We should probably do so with all the reference implementation tests.
- streams/reference-implementation/writable-stream-expected.txt:
- 4:48 AM Changeset in webkit [265547] by
-
- 4 edits in trunk/Source
Enable H264 low latency code path by default for MacOS
https://bugs.webkit.org/show_bug.cgi?id=215371
Reviewed by Eric Carlson.
Source/ThirdParty/libwebrtc:
- Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
Remove the workaround to use VCP encoder if software is detected as regular software code path should work now.
Source/WebKit:
Covered by existing tests, in particular platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html.
- Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultWebRTCH264LowLatencyEncoderEnabled):
- 4:06 AM Changeset in webkit [265546] by
-
- 50 edits2 copies1 move17 adds in trunk
[WebXR] Update WebXR WPT directory
https://bugs.webkit.org/show_bug.cgi?id=215224
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/webxr/anchors/ar_anchor_freefloating_create_move.https.html: Added.
- web-platform-tests/webxr/anchors/ar_anchor_freefloating_delay_creation.https.html: Added.
- web-platform-tests/webxr/anchors/ar_anchor_freefloating_failure.https.html: Added.
- web-platform-tests/webxr/anchors/ar_anchor_freefloating_pause_resume_stop.https.html: Added.
- web-platform-tests/webxr/anchors/ar_anchor_states.https.html: Added.
- web-platform-tests/webxr/anchors/idlharness.https.window.html: Added.
- web-platform-tests/webxr/anchors/idlharness.https.window.js: Copied from LayoutTests/imported/w3c/web-platform-tests/webxr/ar-module/idlharness.https.window.js.
(async idl_array):
- web-platform-tests/webxr/anchors/w3c-import.log: Added.
- web-platform-tests/webxr/ar-module/idlharness.https.window-expected.txt:
- web-platform-tests/webxr/ar-module/idlharness.https.window.js:
(async idl_array):
- web-platform-tests/webxr/dom-overlay/ar_dom_overlay.https.html:
- web-platform-tests/webxr/dom-overlay/ar_dom_overlay_hit_test.https.html: Added.
- web-platform-tests/webxr/dom-overlay/idlharness.https.window.html: Added.
- web-platform-tests/webxr/dom-overlay/idlharness.https.window.js: Copied from LayoutTests/imported/w3c/web-platform-tests/webxr/ar-module/idlharness.https.window.js.
(async idl_array):
- web-platform-tests/webxr/dom-overlay/w3c-import.log:
- web-platform-tests/webxr/events_input_sources_change.https.html:
- web-platform-tests/webxr/events_referenceSpace_reset_immersive.https.html:
- web-platform-tests/webxr/events_session_select.https.html:
- web-platform-tests/webxr/events_session_select_subframe.https.html:
- web-platform-tests/webxr/events_session_squeeze.https.html:
- web-platform-tests/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html:
- web-platform-tests/webxr/gamepads-module/xrInputSource_gamepad_input_registered.https.html:
- web-platform-tests/webxr/getInputPose_handedness.https.html:
- web-platform-tests/webxr/getInputPose_pointer.https.html:
- web-platform-tests/webxr/getViewerPose_emulatedPosition.https.html:
- web-platform-tests/webxr/hit-test/ar_hittest_subscription_inputSources.https.html: Added.
- web-platform-tests/webxr/hit-test/ar_hittest_subscription_refSpaces.https.html:
- web-platform-tests/webxr/hit-test/ar_hittest_subscription_states_regular.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/webxr/hit-test/ar_hittest_subscription_states.https.html.
- web-platform-tests/webxr/hit-test/ar_hittest_subscription_states_transient.https.html: Added.
- web-platform-tests/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html: Added.
- web-platform-tests/webxr/hit-test/idlharness.https.html: Added.
- web-platform-tests/webxr/hit-test/w3c-import.log:
- web-platform-tests/webxr/hit-test/xrRay_constructor.https.html:
- web-platform-tests/webxr/idlharness.https.window-expected.txt:
- web-platform-tests/webxr/idlharness.https.window.js:
(async idl_array):
- web-platform-tests/webxr/render_state_update.https.html: Added.
- web-platform-tests/webxr/resources/webxr_test_constants.js:
- web-platform-tests/webxr/resources/webxr_util.js:
(xr_debug):
(async requestSkipAnimationFrame):
(async loadChromiumResources):
(setupWebKitWebXRTestAPI):
(xr_promise_test): Deleted.
(async xr_session_promise_test): Deleted.
- web-platform-tests/webxr/w3c-import.log:
- web-platform-tests/webxr/webGLCanvasContext_create_xrcompatible.https.html:
- web-platform-tests/webxr/webGLCanvasContext_makecompatible_contextlost.https.html:
- web-platform-tests/webxr/webGLCanvasContext_makecompatible_reentrant.https.html: Added.
- web-platform-tests/webxr/xrBoundedReferenceSpace_updates.https.html:
- web-platform-tests/webxr/xrInputSource_add_remove.https.html:
- web-platform-tests/webxr/xrInputSource_emulatedPosition.https.html:
- web-platform-tests/webxr/xrInputSource_profiles.https.html:
- web-platform-tests/webxr/xrInputSource_sameObject.https.html:
- web-platform-tests/webxr/xrPose_transform_sameObject.https.html:
- web-platform-tests/webxr/xrReferenceSpace_originOffset.https.html:
- web-platform-tests/webxr/xrReferenceSpace_originOffsetBounded.https.html:
- web-platform-tests/webxr/xrReferenceSpace_relationships.https.html: Added.
- web-platform-tests/webxr/xrSession_input_events_end.https.html:
- web-platform-tests/webxr/xrSession_requestAnimationFrame_timestamp.https.html:
- web-platform-tests/webxr/xrSession_sameObject.https.html:
- web-platform-tests/webxr/xrSession_visibilityState.https.html:
- web-platform-tests/webxr/xrStationaryReferenceSpace_floorlevel_updates.https.html:
- web-platform-tests/webxr/xrWebGLLayer_constructor.https.html:
Source/WebCore:
The update of the WebXR WPT directory helped us to unveil a couple of mistakes in the current code.
First of all the Events defined in the WebXR spec had to be iso allocated as the Event base class.
Secondly the WebXRInputSourceArray must have a ::create() method. Finally the m_inputSources attribute
of the WebXRSession must be a Ref instead of a RefPtr because the specs mention that the initial
value is an empty array.
Tests: imported/w3c/web-platform-tests/webxr/anchors/ar_anchor_freefloating_create_move.https.html
imported/w3c/web-platform-tests/webxr/anchors/ar_anchor_freefloating_delay_creation.https.html
imported/w3c/web-platform-tests/webxr/anchors/ar_anchor_freefloating_failure.https.html
imported/w3c/web-platform-tests/webxr/anchors/ar_anchor_freefloating_pause_resume_stop.https.html
imported/w3c/web-platform-tests/webxr/anchors/ar_anchor_states.https.html
imported/w3c/web-platform-tests/webxr/anchors/idlharness.https.window.html
imported/w3c/web-platform-tests/webxr/dom-overlay/ar_dom_overlay_hit_test.https.html
imported/w3c/web-platform-tests/webxr/dom-overlay/idlharness.https.window.html
imported/w3c/web-platform-tests/webxr/hit-test/ar_hittest_subscription_inputSources.https.html
imported/w3c/web-platform-tests/webxr/hit-test/ar_hittest_subscription_states_regular.https.html
imported/w3c/web-platform-tests/webxr/hit-test/ar_hittest_subscription_states_transient.https.html
imported/w3c/web-platform-tests/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html
imported/w3c/web-platform-tests/webxr/hit-test/idlharness.https.html
imported/w3c/web-platform-tests/webxr/render_state_update.https.html
imported/w3c/web-platform-tests/webxr/webGLCanvasContext_makecompatible_reentrant.https.html
imported/w3c/web-platform-tests/webxr/xrReferenceSpace_relationships.https.html
- Modules/webxr/WebXRInputSourceArray.cpp:
(WebCore::WebXRInputSourceArray::create): Added.
- Modules/webxr/WebXRInputSourceArray.h:
- Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::WebXRSession): Initialize the m_inputSources.
(WebCore::WebXRSession::inputSources const): Return a const reference.
- Modules/webxr/WebXRSession.h:
- Modules/webxr/XRInputSourcesChangeEvent.cpp: Make it iso allocated.
- Modules/webxr/XRInputSourcesChangeEvent.h: Ditto.
- Modules/webxr/XRSessionEvent.cpp: Ditto.
- Modules/webxr/XRSessionEvent.h: Ditto.
LayoutTests:
- platform/wpe/TestExpectations: Skipped one test that started to fail after the import.
- 3:38 AM Changeset in webkit [265545] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r259805): Not able to scroll vertically after scrolling horizontally without leaving message and coming back
https://bugs.webkit.org/show_bug.cgi?id=215374
<rdar://problem/65269837>
Reviewed by Darin Adler.
The content has a horizontally scrolling overflow. While rubberbanding it we mark a wheel event unhandled which causes Mail
to take over event handling and leaves us semi-permanently in stretched state.
- platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::handleWheelEvent):
Dissallowed vertical stretch would mark the event unhandled even though we are rubberbanding in horizontal direction.
Only mark a wheel event unhandled if it actually concerns the tested direction.
- 2:23 AM WebKitGTK/2.30.x created by
- 2:08 AM Changeset in webkit [265544] by
-
- 1 copy in releases/WebKitGTK/webkit-2.30
Branch WebKitGTK for 2.30
- 2:05 AM Changeset in webkit [265543] by
-
- 21 edits1 delete in trunk
Implement Canvas.transferControlToOffscreen and OffscreenCanvasRenderingContext2D.commit
https://bugs.webkit.org/show_bug.cgi?id=202797
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/html/canvas/offscreen/filter/offscreencanvas.filter.w-expected.txt:
- web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit-expected.txt:
- web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit.w-expected.txt:
- web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.getcontext-expected.txt:
- web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.getcontext.worker-expected.txt:
- web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.resize-expected.txt:
- web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transfercontrol.to.offscreen-expected.txt:
- web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transfercontrol.to.offscreen.w-expected.txt:
Source/WebCore:
Implement HTMLCanvasElement.transferControlToOffscreen and
OffscreenCanvasRenderingContext2D.commit. This allows for
(synchronous) display of asynchronously rendered OffscreenCanvas
content.
No new tests. Covered by existing tests.
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::setHeight):
(WebCore::HTMLCanvasElement::setWidth):
(WebCore::HTMLCanvasElement::reset):
(WebCore::HTMLCanvasElement::transferControlToOffscreen):
(WebCore::HTMLCanvasElement::setImageBufferAndMarkDirty):
(WebCore::HTMLCanvasElement::isControlledByOffscreen const):
- html/HTMLCanvasElement.h:
- html/HTMLCanvasElement.idl:
- html/OffscreenCanvas.cpp:
(WebCore::DetachedOffscreenCanvas::takePlaceholderCanvas):
(WebCore::OffscreenCanvas::create):
(WebCore::OffscreenCanvas::getContext):
(WebCore::OffscreenCanvas::didDraw):
(WebCore::OffscreenCanvas::detach):
(WebCore::OffscreenCanvas::setPlaceholderCanvas):
(WebCore::OffscreenCanvas::pushBufferToPlaceholder):
(WebCore::OffscreenCanvas::commitToPlaceholderCanvas):
(WebCore::OffscreenCanvas::scheduleCommitToPlaceholderCanvas):
(WebCore::OffscreenCanvas::reset):
- html/OffscreenCanvas.h:
- html/canvas/OffscreenCanvasRenderingContext2D.cpp:
(WebCore::OffscreenCanvasRenderingContext2D::commit):
- html/canvas/OffscreenCanvasRenderingContext2D.h:
- html/canvas/OffscreenCanvasRenderingContext2D.idl:
- html/canvas/PlaceholderRenderingContext.cpp:
(WebCore::PlaceholderRenderingContext::canvas const):
- html/canvas/PlaceholderRenderingContext.h:
LayoutTests:
- platform/glib/imported/w3c/web-platform-tests/html/canvas/offscreen/manual/filter/offscreencanvas.filter.w-expected.txt: Removed.
- 12:35 AM Changeset in webkit [265542] by
-
- 7 edits in trunk/Source
REGRESSION(r261570): [GTK] Fails to send drop event to JavaScript
https://bugs.webkit.org/show_bug.cgi?id=215032
Reviewed by Darin Adler.
Source/WebCore:
Add support for custom data in drag and drop operations too.
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::write): Se custom data on m_selectionData.
(WebCore::Pasteboard::read): Initialize the content origin also for drag and drop pasteboards.
(WebCore::Pasteboard::hasData): For drag and drop pasteboards return true also if m_selectionData has custom data.
(WebCore::Pasteboard::typesSafeForBindings): Implement this for drag and drop pasteboards.
(WebCore::Pasteboard::readOrigin): Ditto.
(WebCore::Pasteboard::readStringInCustomData): Ditto.
(WebCore::Pasteboard::writeCustomData): Ditto.
Source/WebKit:
Handle custom data in drag and drop operations.
- UIProcess/API/gtk/DragSourceGtk3.cpp:
(WebKit::DragSource::DragSource):
(WebKit::DragSource::begin):
- UIProcess/API/gtk/DragSourceGtk4.cpp:
(WebKit::DragSource::begin):
- UIProcess/API/gtk/DropTargetGtk3.cpp:
(WebKit::DropTarget::DropTarget):
(WebKit::DropTarget::accept):
(WebKit::DropTarget::dataReceived):
- UIProcess/API/gtk/DropTargetGtk4.cpp:
(WebKit::DropTarget::DropTarget):
(WebKit::DropTarget::accept):