Timeline
Sep 5, 2020:
- 9:56 PM Changeset in webkit [266679] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, suppress exception checking after unwrapForOldFunctions
https://bugs.webkit.org/show_bug.cgi?id=216193
- runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatPrototypeGetterFormat):
(JSC::IntlNumberFormatPrototypeFuncResolvedOptions):
- 7:49 PM Changeset in webkit [266678] by
-
- 74 edits1 copy2 adds1 delete in trunk/Source/WebCore
[WebIDL] Add support for interface mixins
https://bugs.webkit.org/show_bug.cgi?id=216217
Reviewed by Darin Adler.
Implement support for WebIDL interface mixins, which are interface fragments
that can be included into other interfaces (using an 'includes' statement),
but do not create new types themselves.
Prior to this, we have been emulating the behavior by allowing any interface
to be included in another interface, and marking some interfaces with the
[LegacyNoInterfaceObject] extended attribute. This change codifies that with
in the spec approved way.
- Updates IDL parser to parse mixin interfaces (and fixes the parsing of callback interfaces to be a bit more strict while I was there).
- Updates IDL pre-processor to avoid creating global variables and IsoSubspaces for mixins.
- Updates IDL code generator to only support including mixin interfaces during supplemental inclusion.
- Updates IDL files to use interface mixin where appropriately specified.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- CMakeLists.txt:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- dom/DeviceOrientationOrMotionEvent.idl: Removed.
Remove DeviceOrientationOrMotionEvent.idl and corresponding generated files, inlining
it into DeviceMotionEvent.idl and DeviceOrientationEvent.idl as specified. This is
needed as mixin interfaces do not support static operations or attributes.
- bindings/scripts/CodeGenerator.pm:
(IsValidSupplementalInterface):
(IsValidSupplementalDictionary):
(ProcessSupplementalDependencies):
(GetInterfaceExtendedAttributesFromName):
Update IDL code generator to only support including mixin interfaces during
supplemental inclusion. Also removes some left of remnents of exception interface
support.
- bindings/scripts/IDLParser.pm:
(parseCallbackRestOrInterface):
(parseCallbackInterface):
(parseCallbackInterfaceMembers):
(parseCallbackInterfaceMember):
(parseMixin):
(parseMixinMembers):
(parseMixinMember):
(parseNamespace):
(parsePartialInterfaceMember):
(parseAttributeOrOperationForStringifierOrStatic):
Update IDL parser to parse mixin interfaces and fix the parsing of callback
interfaces to match the spec by restricting its members to constants and
regular functions.
- bindings/scripts/preprocess-idls.pl:
(isMixinInterfaceFromIDL):
(containsInterfaceFromIDL):
(getInterfaceExtendedAttributesFromIDL):
(containsInterfaceOrExceptionFromIDL): Deleted.
Ensure mixin interfaces don't get exposed on any global objects and
remove some left of remnents of exception interface support.
- bindings/scripts/test/JS/JSTestInterface.cpp:
- bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.cpp: Added.
- bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.h: Added.
- bindings/scripts/test/SupplementalDependencies.dep:
- bindings/scripts/test/TestIncludes.idl:
- bindings/scripts/test/TestLegacyNoInterfaceObject.idl: Added.
- bindings/scripts/test/TestOperationBase.idl:
Update bindings tests to use mixins for includes. Add new dedicated
[LegacyNoInterfaceObject] since it was no longer being tested.
- Modules/fetch/FetchBody.idl:
- Modules/mediasource/VideoPlaybackQuality.idl:
- Modules/speech/SpeechSynthesis.idl:
- Modules/speech/SpeechSynthesisVoice.idl:
- Modules/streams/ReadableStreamSink.idl:
- accessibility/AccessibilityRole.idl:
- accessibility/AriaAttributes.idl:
- animation/Animatable.idl:
- css/ElementCSSInlineStyle.idl:
- css/StyleMedia.idl:
- dom/ChildNode.idl:
- dom/DeviceMotionEvent.idl:
- dom/DeviceOrientationEvent.idl:
- dom/Document.idl:
- dom/DocumentAndElementEventHandlers.idl:
- dom/DocumentOrShadowRoot.idl:
- dom/EventListener.idl:
- dom/GlobalEventHandlers.idl:
- dom/NavigatorMaxTouchPoints.idl:
- dom/NonDocumentTypeChildNode.idl:
- dom/NonElementParentNode.idl:
- dom/ParentNode.idl:
- dom/Slotable.idl:
- html/HTMLHyperlinkElementUtils.idl:
- html/HTMLOrForeignElement.idl:
- html/canvas/CanvasCompositing.idl:
- html/canvas/CanvasDrawImage.idl:
- html/canvas/CanvasDrawPath.idl:
- html/canvas/CanvasFillStrokeStyles.idl:
- html/canvas/CanvasFilters.idl:
- html/canvas/CanvasGradient.idl:
- html/canvas/CanvasImageData.idl:
- html/canvas/CanvasImageSmoothing.idl:
- html/canvas/CanvasPath.idl:
- html/canvas/CanvasPathDrawingStyles.idl:
- html/canvas/CanvasRect.idl:
- html/canvas/CanvasShadowStyles.idl:
- html/canvas/CanvasState.idl:
- html/canvas/CanvasText.idl:
- html/canvas/CanvasTextDrawingStyles.idl:
- html/canvas/CanvasTransform.idl:
- html/canvas/CanvasUserInterface.idl:
- html/canvas/WebGLRenderingContextBase.idl:
- page/GlobalCrypto.idl:
- page/GlobalPerformance.idl:
- page/Navigator.idl:
- page/NavigatorID.idl:
- page/NavigatorLanguage.idl:
- page/NavigatorOnLine.idl:
- page/NavigatorPlugins.idl:
- page/NavigatorServiceWorker.idl:
- page/NavigatorShare.idl:
- page/WindowEventHandlers.idl:
- page/WindowOrWorkerGlobalScope.idl:
- svg/SVGFilterPrimitiveStandardAttributes.idl:
- svg/SVGFitToViewBox.idl:
- svg/SVGTests.idl:
- svg/SVGURIReference.idl:
- svg/SVGZoomAndPan.idl:
- workers/AbstractWorker.idl:
- xml/XPathEvaluator.idl:
- xml/XPathNSResolver.idl:
Update IDLs.
- 6:36 PM Changeset in webkit [266677] by
-
- 10 edits in trunk/Source
[MotionMark] RenderLayer::paintLayerContents spends ~5% of the time in MonotonicTime::now() in Multiply
https://bugs.webkit.org/show_bug.cgi?id=216190
Reviewed by Darin Adler.
Source/WebCore:
In several of MotionMark's subtests (for instance, Multiply), we spent a large amount of time underneath
RenderLayer::paintLayerContentsdue to both the large number of layers and the need to frequently repaint
each layer (all of which are constantly being animated). Underneath this method, a nontrivial amount of time
(~5%) is then spent grabbing the system time viaMonotonicTime::now().
We can avoid this extra work by instead using the timestamp of the last rendering update (before we started
painting), which we keep track of using a new member variable onPage. See below for more details, as well as
the WebKit2 ChangeLog.
- page/ChromeClient.h:
(WebCore::ChromeClient::timestampForPaintFrequencyTracking const):
Add a client hook to fetch the timestamp to use when tracking painting frequency. See the WebKit2 ChangeLog for
more details.
- page/Page.cpp:
(WebCore::Page::updateRendering):
Update
m_lastRenderingUpdateTimestamp.
- page/Page.h:
(WebCore::Page::lastRenderingUpdateTimestamp const):
- rendering/PaintFrequencyTracker.h:
Drive-by cleanup: narrow the
PaintFrequencyenum toboolwidth.
(WebCore::PaintFrequencyTracker::begin):
(WebCore::SinglePaintFrequencyTracking::SinglePaintFrequencyTracking):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):
Call out to the client layer to return a timestamp for tracking painting frequency. By default, this is simply
the current time (MonotonicTime::now()), but ports (namely, WebKit2) may opt for a coarser granularity.
(WebCore::RenderLayer::simulateFrequentPaint):
- rendering/RenderLayer.h:
Source/WebKit:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::timestampForPaintFrequencyTracking const):
In WebKit2, we can assume (with the exception of SVG pages) that we must've performed a rendering update prior
to tracking painting frequencies. As such, we can use the page's rendering update timestamp instead of the real
current time (MonotonicTime::now()).
Note that in WebKit1, it is possible for any client to force a synchronous paint of the page before the page has
performed a rendering update, which triggers assertions inSinglePaintFrequencyTracking::end(). As such, we
stick withMonotonicTime::now()in WebKit1.
- WebProcess/WebCoreSupport/WebChromeClient.h:
- 5:44 PM Changeset in webkit [266676] by
-
- 2 edits in trunk/Source/WebCore
Fix formatting of LegacyOverrideBuiltIns
https://bugs.webkit.org/show_bug.cgi?id=216218
Reviewed by Darin Adler.
Neglected to fix this bit of feedback in a previous change. Makes
enum class LegacyOverrideBuiltIns a bit more readable.
- bindings/js/JSDOMAbstractOperations.h:
- 5:26 PM Changeset in webkit [266675] by
-
- 6 edits2 adds in trunk
[css-grid] Use min-content size for intrinsic maximums resolution
https://bugs.webkit.org/show_bug.cgi?id=216142
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Import WPT test.
- web-platform-tests/css/css-grid/layout-algorithm/grid-intrinsic-track-sizes-001-expected.txt: Added.
- web-platform-tests/css/css-grid/layout-algorithm/grid-intrinsic-track-sizes-001.html: Added.
- web-platform-tests/css/css-grid/layout-algorithm/w3c-import.log:
Source/WebCore:
By mistake the specification used to say that, for items spanning
multiple tracks, the growth limits of the tracks with an intrinsic max
track sizing function should grow to accommodate the minimum
contribution of the item.
But this was a mistake, because an intrinsic max track sizing function
can only be min-content or max-content. So instead of distributing the
minimum contribution, it should be the min-content contribution.
The spec has been fixed and there is a CSSWG resolution in
https://github.com/w3c/csswg-drafts/issues/4790
This patch fixes the problem by reverting r207290. The change is likely
web compatible, since it only affects a rare edge case with 'minmax()'
where the min sizing function is 'auto' or a fixed value smaller than
the min-content contribution, the max sizing function is 'min-content',
and an item whose minimum contribution is forced to be different than
the min-content contribution, and spans multiple tracks.
This is a port of https://crrev.com/803871 from Chromium.
Tests: fast/css-grid-layout/grid-intrinsic-maximums.html
imported/w3c/web-platform-tests/css/css-grid/layout-algorithm/grid-intrinsic-track-sizes-001.html
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithm::itemSizeForTrackSizeComputationPhase const):
LayoutTests:
Update test expectations. Some are wrong due to bug 216144.
- fast/css-grid-layout/grid-intrinsic-maximums-expected.html:
- 5:11 PM Changeset in webkit [266674] by
-
- 60 edits1 delete in trunk
[css-logical] Ship flow-relative shorthand and offset properties
https://bugs.webkit.org/show_bug.cgi?id=216178
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update test expectations and remove instances of
<!-- webkit-test-runner [ internal:CSSLogicalEnabled=true ] -->
- web-platform-tests/css/css-cascade/parsing/all-valid-expected.txt:
- web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-001-expected.txt:
- web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-002-expected.txt:
- web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-003-expected.txt:
- web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-004-expected.txt:
- web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-005-expected.txt:
- web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-007-expected.txt:
- web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-016-expected.txt:
- web-platform-tests/css/css-grid/abspos/positioned-grid-descendants-007-expected.txt:
- web-platform-tests/css/css-grid/abspos/positioned-grid-descendants-012-expected.txt:
- web-platform-tests/css/css-grid/abspos/positioned-grid-descendants-014-expected.txt:
- web-platform-tests/css/css-grid/abspos/positioned-grid-descendants-016-expected.txt:
- web-platform-tests/css/css-logical/animation-001-expected.txt:
- web-platform-tests/css/css-logical/animation-002-expected.txt:
- web-platform-tests/css/css-logical/getComputedStyle-listing-expected.txt:
- web-platform-tests/css/css-logical/inheritance-expected.txt:
- web-platform-tests/css/css-logical/logical-box-border-color.html:
- web-platform-tests/css/css-logical/logical-box-border-shorthands.html:
- web-platform-tests/css/css-logical/logical-box-border-style.html:
- web-platform-tests/css/css-logical/logical-box-border-width.html:
- web-platform-tests/css/css-logical/logical-box-inset.html:
- web-platform-tests/css/css-logical/logical-box-margin.html:
- web-platform-tests/css/css-logical/logical-box-padding.html:
- web-platform-tests/css/css-logical/parsing/border-block-color-computed-expected.txt:
- web-platform-tests/css/css-logical/parsing/border-block-color-valid-expected.txt:
- web-platform-tests/css/css-logical/parsing/border-block-style-computed-expected.txt:
- web-platform-tests/css/css-logical/parsing/border-block-style-valid-expected.txt:
- web-platform-tests/css/css-logical/parsing/border-block-valid-expected.txt:
- web-platform-tests/css/css-logical/parsing/border-block-width-computed-expected.txt:
- web-platform-tests/css/css-logical/parsing/border-block-width-valid-expected.txt:
- web-platform-tests/css/css-logical/parsing/border-inline-color-computed-expected.txt:
- web-platform-tests/css/css-logical/parsing/border-inline-color-valid-expected.txt:
- web-platform-tests/css/css-logical/parsing/border-inline-style-computed-expected.txt:
- web-platform-tests/css/css-logical/parsing/border-inline-style-valid-expected.txt:
- web-platform-tests/css/css-logical/parsing/border-inline-valid-expected.txt:
- web-platform-tests/css/css-logical/parsing/border-inline-width-computed-expected.txt:
- web-platform-tests/css/css-logical/parsing/border-inline-width-valid-expected.txt:
- web-platform-tests/css/css-logical/parsing/inset-block-inline-computed-expected.txt:
- web-platform-tests/css/css-logical/parsing/inset-block-inline-shorthand-expected.txt:
- web-platform-tests/css/css-logical/parsing/inset-block-inline-valid-expected.txt:
- web-platform-tests/css/css-logical/parsing/inset-computed-expected.txt:
- web-platform-tests/css/css-logical/parsing/inset-shorthand-expected.txt:
- web-platform-tests/css/css-logical/parsing/inset-valid-expected.txt:
- web-platform-tests/css/css-logical/parsing/margin-block-inline-computed-expected.txt:
- web-platform-tests/css/css-logical/parsing/margin-block-inline-shorthand-expected.txt:
- web-platform-tests/css/css-logical/parsing/margin-block-inline-valid-expected.txt:
- web-platform-tests/css/css-logical/parsing/padding-block-inline-computed-expected.txt:
- web-platform-tests/css/css-logical/parsing/padding-block-inline-shorthand-expected.txt:
- web-platform-tests/css/css-logical/parsing/padding-block-inline-valid-expected.txt:
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-001-expected.txt:
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-001-expected.txt:
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-001-expected.txt:
- web-platform-tests/quirks/unitless-length/excluded-properties-001.html:
- web-platform-tests/quirks/unitless-length/excluded-properties-003.html:
Source/WebCore:
This patch ships the logical properties that were already implemented behind a flag.
Specifically:
- border-block, border-block-color, border-block-style, border-block-width
- border-inline, border-inline-color, border-inline-style, border-inline-width
- inset-block-start, inset-block-end, inset-inline-start, inset-inline-end
- inset, inset-block, inset-inline
- margin-block, margin-inline
- padding-block, padding-inline
Tests: imported/w3c/web-platform-tests/css/css-cascade/parsing/all-valid.html
imported/w3c/web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-001.html
imported/w3c/web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-002.html
imported/w3c/web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-003.html
imported/w3c/web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-004.html
imported/w3c/web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-005.html
imported/w3c/web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-007.html
imported/w3c/web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-016.html
imported/w3c/web-platform-tests/css/css-grid/abspos/positioned-grid-descendants-007.html
imported/w3c/web-platform-tests/css/css-grid/abspos/positioned-grid-descendants-012.html
imported/w3c/web-platform-tests/css/css-grid/abspos/positioned-grid-descendants-014.html
imported/w3c/web-platform-tests/css/css-grid/abspos/positioned-grid-descendants-016.html
imported/w3c/web-platform-tests/css/css-logical/animation-001.html
imported/w3c/web-platform-tests/css/css-logical/animation-002.html
imported/w3c/web-platform-tests/css/css-logical/getComputedStyle-listing.html
imported/w3c/web-platform-tests/css/css-logical/inheritance.html
imported/w3c/web-platform-tests/css/css-logical/logical-box-border-color.html
imported/w3c/web-platform-tests/css/css-logical/logical-box-border-shorthands.html
imported/w3c/web-platform-tests/css/css-logical/logical-box-border-style.html
imported/w3c/web-platform-tests/css/css-logical/logical-box-border-width.html
imported/w3c/web-platform-tests/css/css-logical/logical-box-inset.html
imported/w3c/web-platform-tests/css/css-logical/logical-box-margin.html
imported/w3c/web-platform-tests/css/css-logical/logical-box-padding.html
imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-computed.html
imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-valid.html
imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-computed.html
imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-valid.html
imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-valid.html
imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-computed.html
imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-valid.html
imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-computed.html
imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-valid.html
imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-computed.html
imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-valid.html
imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-valid.html
imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-computed.html
imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-valid.html
imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-computed.html
imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-shorthand.html
imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-valid.html
imported/w3c/web-platform-tests/css/css-logical/parsing/inset-computed.html
imported/w3c/web-platform-tests/css/css-logical/parsing/inset-shorthand.html
imported/w3c/web-platform-tests/css/css-logical/parsing/inset-valid.html
imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-computed.html
imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-shorthand.html
imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-valid.html
imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-computed.html
imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-shorthand.html
imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-valid.html
imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-001.html
imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-001.html
imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-001.html
imported/w3c/web-platform-tests/quirks/unitless-length/excluded-properties-001.html
imported/w3c/web-platform-tests/quirks/unitless-length/excluded-properties-003.html
- css/CSSProperties.json: Enable logical properties by default.
- css/makeprop.pl: Avoid compile warning when generating isEnabledCSSProperty if there is no property behind flag.
LayoutTests:
css-properties-behind-flags.html used to check that CSS properties
disabled behind a flag were effectible disabled.
But there is no longer any CSS property disabled behind a flag, so I'm
just removing it.
- platform/mac/TestExpectations:
- webexposed/css-properties-behind-flags-expected.txt: Removed.
- webexposed/css-properties-behind-flags.html: Removed.
- 3:27 PM Changeset in webkit [266673] by
-
- 6 edits1 delete in trunk/Source/WebCore
[iOS Family] Remove the concept of custom fallback fonts
https://bugs.webkit.org/show_bug.cgi?id=215690
Reviewed by Sam Weinig.
They're no longer necessary for iOS, and macOS doesn't
even have the concept of custom fallback fonts, so we
can just remove the entire concept.
- platform/graphics/FontCache.h:
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontCache::systemFallbackForCharacters):
- platform/graphics/cocoa/FontCacheCoreText.h:
- platform/graphics/ios/FontCacheIOS.mm:
(WebCore::requiresCustomFallbackFont): Deleted.
(WebCore::FontCache::getCustomFallbackFont): Deleted.
- 2:34 PM Changeset in webkit [266672] by
-
- 15 edits2 adds in trunk/Source
[Cocoa] USE(PLATFORM_SYSTEM_FALLBACK_LIST) is true on all Cocoa platforms, so there's no need to consult it in Cocoa-specific files
https://bugs.webkit.org/show_bug.cgi?id=215684
Reviewed by Darin Adler.
Source/WebCore:
Removes dead code.
No new tests because there is no behavior change.
- Configurations/WebCore.xcconfig:
- PlatformFTW.cmake:
- PlatformWin.cmake:
- page/cocoa/MemoryReleaseCocoa.mm:
(WebCore::platformReleaseMemory):
- platform/FreeType.cmake:
- platform/graphics/FontCascadeDescription.cpp:
(WebCore::FontCascadeDescription::effectiveFamilyCount const): Deleted.
(WebCore::FontCascadeDescription::effectiveFamilyAt const): Deleted.
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::invalidateFontCache):
- platform/graphics/cocoa/FontDescriptionCocoa.cpp:
(WebCore::FontCascadeDescription::effectiveFamilyAt const):
- platform/graphics/cocoa/FontFamilySpecificationCoreText.cpp:
(WebCore::FontFamilySpecificationCoreText::fontRanges const):
- platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:
- platform/graphics/harfbuzz/FontDescriptionHarfBuzz.cpp: Added. Moved port-specific
implementations into port-specific files.
(WebCore::FontCascadeDescription::effectiveFamilyCount const):
(WebCore::FontCascadeDescription::effectiveFamilyAt const):
- platform/graphics/win/FontDescriptionWin.cpp: Added. Moved port-specific
implementations into port-specific files.
(WebCore::FontCascadeDescription::effectiveFamilyCount const):
(WebCore::FontCascadeDescription::effectiveFamilyAt const):
Source/WebCore/PAL:
- pal/spi/cocoa/CoreTextSPI.h:
Source/WTF:
- wtf/PlatformUse.h:
- 1:54 PM Changeset in webkit [266671] by
-
- 4 edits in trunk
XML documents in iframes should not inherit encoding from parent frame
https://bugs.webkit.org/show_bug.cgi?id=216216
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/encoding/utf-32-from-win1252-expected.txt:
Source/WebCore:
This seems to match the behavior of Chrome and Firefox.
Covered by newly passing web platform tests, which other browsers already pass.
- loader/DocumentWriter.cpp:
(WebCore::canReferToParentFrameEncoding):
- 1:10 PM Changeset in webkit [266670] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: AXI: Audit: obtuse error strings
https://bugs.webkit.org/show_bug.cgi?id=201080
<rdar://problem/54648118>
Patch by Greg Doolittle <gr3g@apple.com> on 2020-09-05
Reviewed by Devin Rousso.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Controllers/AuditManager.js:
(WI.AuditManager.prototype._addDefaultTests):
(WI.AuditManager):
- 1:06 PM Changeset in webkit [266669] by
-
- 20 edits11 adds in trunk
Web Inspector: allow DOM breakpoints to be configured
https://bugs.webkit.org/show_bug.cgi?id=215795
Reviewed by Brian Burg.
Source/JavaScriptCore:
- inspector/protocol/DOMDebugger.json:
Add an
optionsparameter toDOMDebugger.setDOMBreakpointto allow configuration.
Source/WebCore:
Tests: inspector/dom-debugger/attribute-modified-style.html
inspector/dom-debugger/dom-breakpoints.html
inspector/dom-debugger/dom-breakpoint-attribute-modified.html
inspector/dom-debugger/dom-breakpoint-node-removed-ancestor.html
inspector/dom-debugger/dom-breakpoint-node-removed-direct.html
inspector/dom-debugger/dom-breakpoint-subtree-modified-add.html
inspector/dom-debugger/dom-breakpoint-subtree-modified-remove.html
- inspector/agents/page/PageDOMDebuggerAgent.h:
- inspector/agents/page/PageDOMDebuggerAgent.cpp:
(WebCore::PageDOMDebuggerAgent::disable):
(WebCore::PageDOMDebuggerAgent::setDOMBreakpoint):
(WebCore::PageDOMDebuggerAgent::removeDOMBreakpoint):
(WebCore::PageDOMDebuggerAgent::frameDocumentUpdated):
(WebCore::calculateDistance): Added.
(WebCore::PageDOMDebuggerAgent::willInsertDOMNode):
(WebCore::PageDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::PageDOMDebuggerAgent::didRemoveDOMNode):
(WebCore::PageDOMDebuggerAgent::willModifyDOMAttr):
(WebCore::PageDOMDebuggerAgent::willInvalidateStyleAttr):
(WebCore::PageDOMDebuggerAgent::buildPauseDataForDOMBreakpoint): Added.
(WebCore::domTypeForName): Deleted.
(WebCore::domTypeName): Deleted.
(WebCore::PageDOMDebuggerAgent::didInsertDOMNode): Deleted.
(WebCore::PageDOMDebuggerAgent::descriptionForDOMEvent): Deleted.
(WebCore::PageDOMDebuggerAgent::updateSubtreeBreakpoints): Deleted.
(WebCore::PageDOMDebuggerAgent::hasBreakpoint): Deleted.
Replace the bitmask with separateHashMapfor each type of DOM breakpoint. Instead of
propagating theSubtreeModifiedbit to the entire subtree when new nodes are added (which
means there's an entry in theHashMapfor every descendant) and removing them all when
that node is removed, only keep nodes in eachHashMapif it directly has a DOM breakpoint.
Walk up the ancestor chain when nodes are added/removed to determine if there is a nearby
breakpoint to pause. When a node is removed, remove any existing DOM breakpoint if it's
owner is part of the removed subtree.
- inspector/agents/worker/WorkerDOMDebuggerAgent.h:
- inspector/agents/worker/WorkerDOMDebuggerAgent.cpp:
(WebCore::WorkerDOMDebuggerAgent::setDOMBreakpoint):
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
Source/WebInspectorUI:
- UserInterface/Controllers/DOMManager.js:
(WI.DOMManager.prototype._setChildNodes):
Dispatch events for each new child node added and each existing child node removed so that
any listeners can also know when new nodes are added via a full children payload update.
- UserInterface/Controllers/DOMDebuggerManager.js:
(WI.DOMDebuggerManager):
(WI.DOMDebuggerManager.prototype.addDOMBreakpoint):
(WI.DOMDebuggerManager.prototype.removeDOMBreakpoint):
(WI.DOMDebuggerManager.prototype._detachDOMBreakpointsForFrame): Added.
(WI.DOMDebuggerManager.prototype._speculativelyResolveDOMBreakpointsForURL):
(WI.DOMDebuggerManager.prototype._speculativelyResolveDOMBreakpoint): Added.
(WI.DOMDebuggerManager.prototype._resolveDOMBreakpoint):
(WI.DOMDebuggerManager.prototype._setDOMBreakpoint): Added.
(WI.DOMDebuggerManager.prototype._removeDOMBreakpoint): Added.
(WI.DOMDebuggerManager.prototype._handleDOMBreakpointDisabledStateChanged):
(WI.DOMDebuggerManager.prototype._handleDOMBreakpointEditablePropertyChanged): Added.
(WI.DOMDebuggerManager.prototype._handleDOMBreakpointActionsChanged): Added.
(WI.DOMDebuggerManager.prototype._handleDOMBreakpointDOMNodeWillChange): Added.
(WI.DOMDebuggerManager.prototype._handleDOMBreakpointDOMNodeDidChange): Added.
(WI.DOMDebuggerManager.prototype._childFrameWasRemoved):
(WI.DOMDebuggerManager.prototype._mainResourceDidChange):
(WI.DOMDebuggerManager.prototype._nodeInserted):
(WI.DOMDebuggerManager.prototype._nodeRemoved):
(WI.DOMDebuggerManager.prototype._detachDOMBreakpoint): Deleted.
(WI.DOMDebuggerManager.prototype._detachBreakpointsForFrame): Deleted.
(WI.DOMDebuggerManager.prototype._updateDOMBreakpoint): Deleted.
Recursively walk any added node's subtree to resolve and set any matching DOM breakpoints.
Iterate all existing DOM breakpoints to see if the owner node is part of the subtree of any
removed nodes and remove ot if so.
- UserInterface/Models/DOMBreakpoint.js:
(WI.DOMBreakpoint):
(WI.DOMBreakpoint.displayNameForType):
(WI.DOMBreakpoint.fromJSON):
(WI.DOMBreakpoint.prototype.get editable): Added.
(WI.DOMBreakpoint.prototype.get domNode): Added.
(WI.DOMBreakpoint.prototype.set domNode): Added.
(WI.DOMBreakpoint.prototype.get domNodeIdentifier): Deleted.
(WI.DOMBreakpoint.prototype.set domNodeIdentifier): Deleted.
- UserInterface/Views/DOMTreeContentView.js:
(WI.DOMTreeContentView):
(WI.DOMTreeContentView.prototype.closed):
(WI.DOMTreeContentView.prototype._domTreeElementAdded):
(WI.DOMTreeContentView.prototype._domBreakpointAddedOrRemoved):
(WI.DOMTreeContentView.prototype._handleDOMBreakpointDisabledStateChanged):
(WI.DOMTreeContentView.prototype._handleDOMBreakpointDOMNodeWillChange): Added.
(WI.DOMTreeContentView.prototype._handleDOMBreakpointDOMNodeDidChange): Added.
(WI.DOMTreeContentView.prototype._updateBreakpointStatus):
(WI.DOMTreeContentView.prototype._restoreBreakpointsAfterUpdate):
(WI.DOMTreeContentView.prototype._handleDOMBreakpointDOMNodeChanged): Deleted.
- UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel):
(WI.SourcesNavigationSidebarPanel.prototype._updatePauseReasonSection):
(WI.SourcesNavigationSidebarPanel.prototype._handleDOMBreakpointDOMNodeWillChange): Added.
(WI.SourcesNavigationSidebarPanel.prototype._handleDOMBreakpointDOMNodeDidChange): Added.
(WI.SourcesNavigationSidebarPanel.prototype._handleDOMBreakpointDOMNodeChanged): Deleted.
Use aWI.DOMNodeinstead of an identifier instead of fetching the node for the identifier
each time and checking if is valid.
LayoutTests:
- inspector/debugger/resources/breakpoint-options-utilities.js:
(TestPage.registerInitializer.InspectorTest.BreakpointOptions.addTestCases):
- inspector/dom-debugger/resources/dom-breakpoint-utilities.js: Added.
(TestPage.registerInitializer.InspectorTest.DOMBreakpoint.teardown):
(TestPage.registerInitializer.InspectorTest.DOMBreakpoint.createBreakpoint):
(TestPage.registerInitializer.InspectorTest.DOMBreakpoint.addBreakpoint):
(TestPage.registerInitializer.InspectorTest.DOMBreakpoint.awaitQuerySelector):
- inspector/dom-debugger/attribute-modified-style.html:
- inspector/dom-debugger/attribute-modified-style-expected.txt:
- inspector/dom-debugger/dom-breakpoints.html:
- inspector/dom-debugger/dom-breakpoints-expected.txt:
- inspector/dom-debugger/dom-breakpoint-attribute-modified.html: Added.
- inspector/dom-debugger/dom-breakpoint-attribute-modified-expected.txt: Added.
- inspector/dom-debugger/dom-breakpoint-node-removed-ancestor.html: Added.
- inspector/dom-debugger/dom-breakpoint-node-removed-ancestor-expected.txt: Added.
- inspector/dom-debugger/dom-breakpoint-node-removed-direct.html: Added.
- inspector/dom-debugger/dom-breakpoint-node-removed-direct-expected.txt: Added.
- inspector/dom-debugger/dom-breakpoint-subtree-modified-add.html: Added.
- inspector/dom-debugger/dom-breakpoint-subtree-modified-remove-expected.txt: Added.
- inspector/dom-debugger/dom-breakpoint-subtree-modified-remove.html: Added.
- inspector/dom-debugger/dom-breakpoint-subtree-modified-add-expected.txt: Added.
- 12:48 PM Changeset in webkit [266668] by
-
- 12 edits1 delete in trunk
TextDecoder should properly handle streams
https://bugs.webkit.org/show_bug.cgi?id=216202
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/encoding/streams/decode-non-utf8.any-expected.txt:
- web-platform-tests/encoding/streams/decode-non-utf8.any.js:
- web-platform-tests/encoding/streams/decode-non-utf8.any.worker-expected.txt:
- web-platform-tests/encoding/streams/decode-split-character.any-expected.txt:
- web-platform-tests/encoding/streams/decode-split-character.any.worker-expected.txt:
- web-platform-tests/encoding/streams/realms.window-expected.txt:
- web-platform-tests/encoding/textdecoder-fatal-streaming-expected.txt: Removed.
- web-platform-tests/encoding/textdecoder-fatal-streaming.any-expected.txt:
- web-platform-tests/encoding/textdecoder-fatal-streaming.any.worker-expected.txt:
Source/WebCore:
A TextCodec keeps state when it decodes part of valid input, such as the first byte of a multibyte sequence.
TextEncoding::decode makes a new TextCodec and throws away that state.
In order to properly handle streaming, we need to keep the TextCodec and call TextCodec::decode directly.
Covered by newly passing web platform tests. I also added a test that failed in my first implementation attempt
but passes now in WebKit as well as Chromium. Firefox hasn't implemented TextDecoderStream yet, but this test will
hopefully help them not make the same mistake I did.
- dom/TextDecoder.cpp:
(WebCore::TextDecoder::decode):
(WebCore::codeUnitByteSize): Deleted.
- dom/TextDecoder.h:
- 11:21 AM Changeset in webkit [266667] by
-
- 9 edits in trunk/Source
[Cocoa] CTFontIsSystemUIFont() is faster than CTFontDescriptorIsSystemUIFont()/CTFontCopyFontDescriptor()
https://bugs.webkit.org/show_bug.cgi?id=215687
Reviewed by Darin Adler.
Source/WebCore:
Instead of making the two calls, we can make a single call that has the same effect.
No new tests because there is no behavior change.
- platform/graphics/FontPlatformData.h:
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::fontIsSystemFont):
- platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::FontCascade::primaryFontIsSystemFont const):
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::isSystemFont):
Source/WebCore/PAL:
- pal/spi/cocoa/CoreTextSPI.h:
Source/WTF:
- wtf/PlatformHave.h:
- 11:07 AM Changeset in webkit [266666] by
-
- 4 edits in trunk/Source
[Cocoa] Migrate off SPI in Font::platformWidthForGlyph()
https://bugs.webkit.org/show_bug.cgi?id=215670
Reviewed by Zalan Bujtas.
Source/WebCore:
All the tests pass, and the microbenchmark attached to <rdar://problem/21026016> says it isn't a regression.
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformWidthForGlyph const):
Source/WTF:
- wtf/PlatformUse.h:
- 10:57 AM Changeset in webkit [266665] by
-
- 5 edits2 adds in trunk
[macOS] Don't apply synthetic bold or italics to emoji
https://bugs.webkit.org/show_bug.cgi?id=215686
Reviewed by Darin Adler.
Source/WebCore:
Italicized emoji are one of the most hideous things I've ever seen.
This unifies the behavior between macOS and iOS.
Test: fast/text/emoji-synthesis.html
- WebCore.xcodeproj/xcshareddata/xcschemes/WebCore.xcscheme:
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::computeNecessarySynthesis):
LayoutTests:
- fast/text/emoji-synthesis-expected.html: Added.
- fast/text/emoji-synthesis.html: Added.
- platform/win/TestExpectations:
- platform/mac/fast/text/fallback-traits-fixup-expected.txt:
- 10:55 AM Changeset in webkit [266664] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION (r260571): Scrolling on weather.com in Safari causes the gradient background to flicker (fixed backgrounds)
https://bugs.webkit.org/show_bug.cgi?id=216192
<rdar://problem/68192010>
Reviewed by Tim Horton.
If a page has slow-scrolling reasons, like background-attachment:fixed on a non-root element,
then we should never update layer positions on the scrolling thread, since this results
in scroll position being out of sync with the painted background position.
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::canUpdateLayersOnScrollingThread const):
(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):
(WebCore::ThreadedScrollingTree::delayedRenderingUpdateDetectionTimerFired):
(WebCore::ThreadedScrollingTree::displayDidRefreshOnScrollingThread):
- page/scrolling/ThreadedScrollingTree.h:
- 10:51 AM Changeset in webkit [266663] by
-
- 8 edits1 delete in trunk/Source/WebCore
[Cocoa] Unify implementation of custom font name aliases between all Cocoa platforms
https://bugs.webkit.org/show_bug.cgi?id=215689
Reviewed by Darin Adler.
The existing code is duplicated almost verbatim. There's no point in having two copies of the same thing.
No new tests because there is no behavior change.
- PlatformMac.cmake:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::fontWithFamilySpecialCase):
(WebCore::fontWithFamily):
- platform/graphics/cocoa/FontCacheCoreText.h:
- platform/graphics/cocoa/FontDescriptionCocoa.cpp:
(WebCore::FontCascadeDescription::effectiveFamilyCount const):
(WebCore::FontCascadeDescription::effectiveFamilyAt const):
- platform/graphics/ios/FontCacheIOS.mm:
(WebCore::baseSystemFontDescriptor): Deleted.
(WebCore::systemFontModificationAttributes): Deleted.
(WebCore::systemFontDescriptor): Deleted.
(WebCore::platformFontWithFamilySpecialCase): Deleted.
- platform/graphics/mac/FontCacheMac.mm: Removed.
- 10:14 AM Changeset in webkit [266662] by
-
- 189 edits1 copy7 moves4 adds5 deletes in trunk/Source
[WebIDL] Realign our IDL extended attribute names with those specified in WebIDL
https://bugs.webkit.org/show_bug.cgi?id=216194
Reviewed by Darin Adler.
Source/WebCore:
Over time, the WebIDL and HTML specifications have added / renamed extended attributes and we have
not stayed up to date. This updates the names everywhere and URLs in IDLAttributes.json.
[AllowShared] -> new, marked as unsupported
[HTMLConstructor] - > new, marked as unsupported
[LegacyLenientSetter] -> renamed from [LenientSetter], still unsupported
[LegacyLenientThis] -> renamed from [LenientThis]
[LegacyNamespace] -> new, marked as unsupported
[LegacyNoInterfaceObject] -> renamed from [NoInterfaceObject]
[LegacyNullToEmptyString] -> renamed from [TreatNullAs=EmptyString]
[LegacyOverrideBuiltIns] -> renamed from OverrideBuiltins
[LegacyTreatNonObjectAsNull] -> renamed from [TreatNonObjectAsNull], still unsupported
[LegacyUnforgeable] -> renamed from [Unforgeable]
[Serializable] -> new, marked as unsupported
[Transferable] -> new, marked as unsupported
- Modules/applepay/ApplePayCancelEvent.idl:
- Modules/applepay/ApplePayPaymentAuthorizedEvent.idl:
- Modules/applepay/ApplePayPaymentMethodSelectedEvent.idl:
- Modules/applepay/ApplePayShippingContactSelectedEvent.idl:
- Modules/applepay/ApplePayShippingMethodSelectedEvent.idl:
- Modules/applepay/ApplePayValidateMerchantEvent.idl:
- Modules/fetch/FetchBody.idl:
- Modules/mediacontrols/MediaControlsHost.idl:
- Modules/mediasource/VideoPlaybackQuality.idl:
- Modules/mediastream/RTCPeerConnection.idl:
- Modules/plugins/QuickTimePluginReplacement.idl:
- Modules/quota/StorageInfo.idl:
- Modules/quota/StorageQuota.idl:
- Modules/speech/SpeechSynthesis.idl:
- Modules/speech/SpeechSynthesisVoice.idl:
- Modules/streams/ReadableStreamSink.idl:
- Modules/streams/ReadableStreamSource.idl:
- Modules/webaudio/WebKitAudioBufferSourceNode.idl:
- Modules/webaudio/WebKitAudioListener.idl:
- Modules/webaudio/WebKitDynamicsCompressorNode.idl:
- Modules/webaudio/WebKitOscillatorNode.idl:
- Scripts/SettingsTemplates/InternalSettingsGenerated.idl.erb:
- accessibility/AccessibilityRole.idl:
- accessibility/AriaAttributes.idl:
- animation/Animatable.idl:
- bindings/IDLTypes.h:
- bindings/js/DOMWrapperWorld.h:
(WebCore::DOMWrapperWorld::disableLegacyOverrideBuiltInsBehavior):
(WebCore::DOMWrapperWorld::shouldDisableLegacyOverrideBuiltInsBehavior const):
(WebCore::DOMWrapperWorld::disableOverrideBuiltinsBehavior): Deleted.
(WebCore::DOMWrapperWorld::shouldDisableOverrideBuiltinsBehavior const): Deleted.
- bindings/js/JSDOMAbstractOperations.h:
(WebCore::isVisibleNamedProperty):
(WebCore::accessVisibleNamedProperty):
- bindings/js/JSDOMConvertNullable.h:
- bindings/js/JSDOMConvertStrings.h:
(WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): Deleted.
(WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlot):
(GenerateGetOwnPropertySlotByIndex):
(GeneratePut):
(GeneratePutByIndex):
(GenerateIsLegacyUnforgeablePropertyName):
(GenerateDefineOwnProperty):
(GenerateDeletePropertyCommon):
(AttributeShouldBeOnInstance):
(OperationShouldBeOnInstance):
(IsAcceleratedDOMAttribute):
(GetJSCAttributesForAttribute):
(GenerateHeader):
(GenerateImplementation):
(GenerateAttributeGetterTrampolineDefinition):
(GenerateAttributeSetterTrampolineDefinition):
(IsAnnotatedType):
(GetAnnotatedIDLType):
(GenerateConstructorHelperMethods):
(NeedsConstructorProperty):
(IsLegacyUnforgeable):
(ComputeFunctionSpecial):
(GenerateIsUnforgeablePropertyName): Deleted.
(IsUnforgeable): Deleted.
- bindings/scripts/IDLAttributes.json:
- bindings/scripts/preprocess-idls.pl:
- bindings/scripts/test/BindingTestGlobalConstructors.idl:
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
- bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.cpp: Added.
- bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.h: Added.
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp: Added.
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.h: Added.
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp: Added.
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.h: Added.
- bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: Removed.
- bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: Removed.
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: Removed.
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: Removed.
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: Removed.
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: Removed.
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: Removed.
- bindings/scripts/test/JS/JSTestOverrideBuiltins.h: Removed.
- bindings/scripts/test/SupplementalDependencies.dep:
- bindings/scripts/test/TestIncludes.idl:
- bindings/scripts/test/TestLegacyOverrideBuiltIns.idl: Added.
- bindings/scripts/test/TestNamedSetterWithLegacyOverrideBuiltIns.idl: Added.
- bindings/scripts/test/TestNamedSetterWithLegacyUnforgeableProperties.idl: Added.
- bindings/scripts/test/TestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.idl: Added.
- bindings/scripts/test/TestNamedSetterWithOverrideBuiltins.idl: Removed.
- bindings/scripts/test/TestNamedSetterWithUnforgableProperties.idl: Removed.
- bindings/scripts/test/TestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.idl: Removed.
- bindings/scripts/test/TestObj.idl:
- bindings/scripts/test/TestOperationBase.idl:
- bindings/scripts/test/TestOverrideBuiltins.idl: Removed.
- css/CSSStyleDeclaration.idl:
- css/CSSUnknownRule.idl:
- css/ElementCSSInlineStyle.idl:
- css/MediaList.idl:
- css/StyleMedia.idl:
- dom/CharacterData.idl:
- dom/ChildNode.idl:
- dom/DOMImplementation.idl:
- dom/DOMStringMap.idl:
- dom/DeviceOrientationOrMotionEvent.idl:
- dom/Document.idl:
- dom/DocumentAndElementEventHandlers.idl:
- dom/DocumentOrShadowRoot.idl:
- dom/Element.idl:
- dom/Event.idl:
- dom/EventListener.idl:
- dom/GlobalEventHandlers.idl:
- dom/NavigatorMaxTouchPoints.idl:
- dom/NonDocumentTypeChildNode.idl:
- dom/NonElementParentNode.idl:
- dom/ParentNode.idl:
- dom/ShadowRoot.idl:
- dom/Slotable.idl:
- html/HTMLBodyElement.idl:
- html/HTMLDocument.idl:
- html/HTMLElement.idl:
- html/HTMLFontElement.idl:
- html/HTMLFormElement.idl:
- html/HTMLFrameElement.idl:
- html/HTMLHyperlinkElementUtils.idl:
- html/HTMLIFrameElement.idl:
- html/HTMLImageElement.idl:
- html/HTMLInputElement.idl:
- html/HTMLObjectElement.idl:
- html/HTMLOrForeignElement.idl:
- html/HTMLOutputElement.idl:
- html/HTMLTableCellElement.idl:
- html/HTMLTableElement.idl:
- html/HTMLTableRowElement.idl:
- html/HTMLTextAreaElement.idl:
- html/canvas/ANGLEInstancedArrays.idl:
- html/canvas/CanvasCompositing.idl:
- html/canvas/CanvasDrawImage.idl:
- html/canvas/CanvasDrawPath.idl:
- html/canvas/CanvasFillStrokeStyles.idl:
- html/canvas/CanvasFilters.idl:
- html/canvas/CanvasImageData.idl:
- html/canvas/CanvasImageSmoothing.idl:
- html/canvas/CanvasPath.idl:
- html/canvas/CanvasPathDrawingStyles.idl:
- html/canvas/CanvasRect.idl:
- html/canvas/CanvasShadowStyles.idl:
- html/canvas/CanvasState.idl:
- html/canvas/CanvasText.idl:
- html/canvas/CanvasTextDrawingStyles.idl:
- html/canvas/CanvasTransform.idl:
- html/canvas/CanvasUserInterface.idl:
- html/canvas/EXTBlendMinMax.idl:
- html/canvas/EXTColorBufferFloat.idl:
- html/canvas/EXTColorBufferHalfFloat.idl:
- html/canvas/EXTFragDepth.idl:
- html/canvas/EXTShaderTextureLOD.idl:
- html/canvas/EXTTextureFilterAnisotropic.idl:
- html/canvas/EXTsRGB.idl:
- html/canvas/OESElementIndexUint.idl:
- html/canvas/OESStandardDerivatives.idl:
- html/canvas/OESTextureFloat.idl:
- html/canvas/OESTextureFloatLinear.idl:
- html/canvas/OESTextureHalfFloat.idl:
- html/canvas/OESTextureHalfFloatLinear.idl:
- html/canvas/OESVertexArrayObject.idl:
- html/canvas/WebGLColorBufferFloat.idl:
- html/canvas/WebGLCompressedTextureASTC.idl:
- html/canvas/WebGLCompressedTextureATC.idl:
- html/canvas/WebGLCompressedTextureETC.idl:
- html/canvas/WebGLCompressedTextureETC1.idl:
- html/canvas/WebGLCompressedTexturePVRTC.idl:
- html/canvas/WebGLCompressedTextureS3TC.idl:
- html/canvas/WebGLCompressedTextureS3TCsRGB.idl:
- html/canvas/WebGLDebugRendererInfo.idl:
- html/canvas/WebGLDebugShaders.idl:
- html/canvas/WebGLDepthTexture.idl:
- html/canvas/WebGLDrawBuffers.idl:
- html/canvas/WebGLLoseContext.idl:
- html/canvas/WebGLRenderingContextBase.idl:
- html/canvas/WebGLVertexArrayObjectOES.idl:
- html/track/TextTrackCueGeneric.idl:
- html/track/VTTRegionList.idl:
- inspector/CommandLineAPIHost.idl:
- inspector/InspectorFrontendHost.idl:
- page/DOMWindow.idl:
- page/GlobalCrypto.idl:
- page/GlobalPerformance.idl:
- page/Location.idl:
- page/NavigatorID.idl:
- page/NavigatorLanguage.idl:
- page/NavigatorOnLine.idl:
- page/NavigatorPlugins.idl:
- page/NavigatorServiceWorker.idl:
- page/NavigatorShare.idl:
- page/RemoteDOMWindow.idl:
- page/WindowEventHandlers.idl:
- page/WindowOrWorkerGlobalScope.idl:
- svg/SVGFilterPrimitiveStandardAttributes.idl:
- svg/SVGFitToViewBox.idl:
- svg/SVGTests.idl:
- svg/SVGURIReference.idl:
- svg/SVGZoomAndPan.idl:
- testing/GCObservation.idl:
- testing/InternalSettings.idl:
- testing/Internals.idl:
- testing/InternalsMapLike.idl:
- testing/InternalsSetLike.idl:
- testing/MallocStatistics.idl:
- testing/MemoryInfo.idl:
- testing/MockCDMFactory.idl:
- testing/MockContentFilterSettings.idl:
- testing/MockPageOverlay.idl:
- testing/MockPaymentCoordinator.idl:
- testing/ServiceWorkerInternals.idl:
- testing/TypeConversions.idl:
- testing/WebFakeXRDevice.idl:
- testing/WebFakeXRInputController.idl:
- testing/WebXRTest.idl:
- workers/AbstractWorker.idl:
- xml/XPathNSResolver.idl:
Source/WebKit:
- WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
(WebKit::InjectedBundleScriptWorld::disableOverrideBuiltinsBehavior):
Update for new name WebCore::DOMWrapperWorld.
- 8:57 AM Changeset in webkit [266661] by
-
- 2 edits in trunk/Source/WebCore
-Wreturn-type warning in BaseAudioContext.cpp
https://bugs.webkit.org/show_bug.cgi?id=216215
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-09-05
Reviewed by Darin Adler.
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::periodicWave):
- 8:45 AM Changeset in webkit [266660] by
-
- 12 edits3 deletes in trunk
CSS revert should serialize as "revert", not "Revert"
https://bugs.webkit.org/show_bug.cgi?id=216187
Reviewed by Anders Carlsson.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-color-adjust/parsing/color-scheme-valid-expected.txt: Expect
one additional test to pass instead of fail.
- web-platform-tests/css/css-values/unset-value-storage-expected.txt: Expect pass instead of fail.
- web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt: Ditto.
Source/WebCore:
Tests: imported/w3c/web-platform-tests/css/css-values/unset-value-storage.html
imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block.html
- css/CSSRevertValue.cpp:
(WebCore::CSSRevertValue::customCSSText const): Use lowercase "revert".
- css/StyleProperties.cpp:
(WebCore::isCSSWideValueKeyword): Added. Replaces isInitialOrInherit.
(WebCore::StyleProperties::fontValue const): Use isCSSWideValueKeyword rather
than isInitialOrInherit.
(WebCore::StyleProperties::getLayeredShorthandValue const): Ditto. Also
rearranged thee function a bit and shortened some excessively wordy code.
(WebCore::StyleProperties::getShorthandValue const): Ditto.
(WebCore::StyleProperties::borderPropertyValue const): Ditto.
(WebCore::StyleProperties::asText const): Added code to properly handle the
case where both background-position/repeat-x and -y are the same CSS-wide
value keyword as well as cases involving "initial". The general case above
handles these properly, but background-position/repeat have their own code,
which needed to repeat some of the same logic.
(WebCore::StyleProperties::PropertyReference::cssText const): Use makeString
instead of StringBuilder.
- dom/StyledElement.cpp:
(WebCore::StyledElement::styleAttributeChanged): Removed incorrect code that
detached the CSS object model style wrapper from the element when the style
attribute was removed. This was incorrect behavior; it should stay attached.
This fix happens to be tested by the same file as the "revert"/"Revert" fix
and I wanted the whole file to pass, not just one more test.
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::addBlockStyle): Rewrote for simplicity, but
also so this works properly when inlineStyle is non-null but empty. This case
arises in one test now because of the change to StyledElement above.
LayoutTests:
- editing/spelling/spelling-dots-position-expected.html: Remove some unneeded style text.
Caught my eye because it uses "background-position: initial".
- fast/css/background-position-serialize-expected.txt: Updated for a progression.
We now correctly omit "background-position: initial initial; background-repeat: initial initial;".
- platform/gtk/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt: Removed.
These were only needed because the failure strings depended on the exact set of attributes.
But the test passes now.
- 8:18 AM Changeset in webkit [266659] by
-
- 4 edits in trunk
Implement serialization of CSSPropertyGap
https://bugs.webkit.org/show_bug.cgi?id=216210
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-align/parsing/gap-valid-expected.txt: Expect pass.
Source/WebCore:
- css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue const): Use get2Values to serialize
the gap shorthand.
- 3:11 AM Changeset in webkit [266658] by
-
- 5 edits in trunk
Unreviewed, reverting r266614 and r266657.
https://bugs.webkit.org/show_bug.cgi?id=216213
Broke builds
Reverted changesets:
"Fix Internals::supportsVCPEncoder on BigSur"
https://bugs.webkit.org/show_bug.cgi?id=216174
https://trac.webkit.org/changeset/266614
"Fix the build after r266614"
https://bugs.webkit.org/show_bug.cgi?id=216174
https://trac.webkit.org/changeset/266657
Patch by Commit Queue <commit-queue@webkit.org> on 2020-09-05
- 12:20 AM Changeset in webkit [266657] by
-
- 2 edits in trunk/Source/WebCore
Fix the build after r266614
https://bugs.webkit.org/show_bug.cgi?id=216174
Unreviewed.
- testing/Internals.cpp:
(WebCore::Internals::supportsVCPEncoder): These parentheses really should be in
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h,
but I don't know the process for updating that third-party library. This is a
short-term build fix.
Sep 4, 2020:
- 11:43 PM Changeset in webkit [266656] by
-
- 3 edits2 adds in trunk
CSS :visited color taken on non-visited link when using CSS variables
https://bugs.webkit.org/show_bug.cgi?id=210525
Source/WebCore:
Patch by Tyler Wilcock <Tyler Wilcock> on 2020-09-04
Reviewed by Darin Adler.
This patch fixes a bug in which :visited styles with variables (custom properties)
were being applied to non-visited links, as the builder link match state was
unconditionally changed from MatchVisited to MatchDefault when resolving said variables.
Now all link state mutations are limited to the smallest scope possible, meaning the
erroneous reset to MatchDefault is no longer necessary.
Test: fast/css/link-with-variable-styling.html
- style/StyleBuilder.cpp:
(WebCore::Style::Builder::applyCustomProperty): Limit m_linkState mutations with SetForScope to prevent said
mutations from leaking out and causing unintended side effects.
LayoutTests:
Add reftest ensuring :visited link styles don't override regular styles
for links that have not yet been visited.
Patch by Tyler Wilcock <Tyler Wilcock> on 2020-09-04
Reviewed by Darin Adler.
- fast/css/link-with-variable-styling-expected.html: Added.
- fast/css/link-with-variable-styling.html: Added.
- 9:53 PM Changeset in webkit [266655] by
-
- 19 edits2 adds in trunk
[JSC] Align legacy Intl constructor behavior to spec
https://bugs.webkit.org/show_bug.cgi?id=216193
Reviewed by Darin Adler.
JSTests:
- stress/intl-datetimeformat.js:
- stress/intl-legacy-constructors.js: Added.
(shouldBe):
(shouldThrow):
(testLegacyConstructor):
- stress/intl-numberformat.js:
Source/JavaScriptCore:
Legacy Intl constructors (Intl.DateTimeFormat and Intl.NumberFormat) have special handling when it is called via
Intl.DateTimeFormat()form.
This allowed legacy Intl constructors to be used with prototype-based inheritance without using class syntax. This legacy behavior is later specified
explicitly in the spec. So we should align our implementation to the spec's one.
- When defining fallback formats, we need to put them into the property which is visible via Symbol("IntlLegacyConstructedSymbol").
- Even if the provided thisValue is IntlDateTimeFormat* / IntlNumberFormat*, we should create another instance and put it to Symbol("IntlLegacyConstructedSymbol") field.
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/BuiltinNames.cpp:
(JSC::BuiltinNames::BuiltinNames):
- builtins/BuiltinNames.h:
(JSC::BuiltinNames::intlLegacyConstructedSymbol const):
- runtime/CommonIdentifiers.h:
- runtime/IntlDateTimeFormat.h:
- runtime/IntlDateTimeFormatConstructor.cpp:
(JSC::IntlDateTimeFormatConstructor::finishCreation):
(JSC::callIntlDateTimeFormat):
- runtime/IntlDateTimeFormatInlines.h: Added.
(JSC::IntlDateTimeFormat::unwrapForOldFunctions):
- runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::IntlDateTimeFormatPrototypeGetterFormat):
(JSC::IntlDateTimeFormatPrototypeFuncFormatToParts):
(JSC::IntlDateTimeFormatPrototypeFuncFormatRange):
(JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions):
- runtime/IntlNumberFormat.h:
- runtime/IntlNumberFormatConstructor.cpp:
(JSC::IntlNumberFormatConstructor::finishCreation):
(JSC::callIntlNumberFormat):
- runtime/IntlNumberFormatInlines.h:
(JSC::IntlNumberFormat::unwrapForOldFunctions):
- runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatPrototypeGetterFormat):
(JSC::IntlNumberFormatPrototypeFuncFormatToParts):
(JSC::IntlNumberFormatPrototypeFuncResolvedOptions):
- runtime/IntlObject.cpp:
(JSC::createDateTimeFormatConstructor):
(JSC::createNumberFormatConstructor):
- runtime/IntlObjectInlines.h:
(JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor):
(JSC::unwrapForLegacyIntlConstructor):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::dateTimeFormatConstructor):
(JSC::JSGlobalObject::dateTimeFormatPrototype):
(JSC::JSGlobalObject::numberFormatConstructor):
(JSC::JSGlobalObject::numberFormatPrototype):
- 9:07 PM Changeset in webkit [266654] by
-
- 30 edits2 copies2 adds in trunk
Move PDF heads-up display to UI process on macOS
https://bugs.webkit.org/show_bug.cgi?id=215780
<rdar://problem/58715847>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-09-04
Reviewed by Tim Horton.
Source/WebKit:
This has many benefits including the one in the radar, testability, and moving WebKit-specific code from PDFKit to WebKit.
Now that the HUD is displayed in the UI process instead of in the web content, zooming in keeps the HUD the same size.
A 3d-transformed iframe with a PDF in it now shows the HUD in the place you can click on it, instead of in the transformed PDF.
Also, moving the mouse to the HUD within the first 3 seconds prevents it from hiding, which it does when the mouse leaves the HUD.
The rest of the behavior I think should be the same. Most users should not notice any difference.
Functionality covered by API tests, the first tests for PDF content interaction!
- Scripts/webkit/messages.py:
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/mac/WKView.mm:
(-[WKView _createPDFHUD:rect:]):
(-[WKView _pdfHUD:changedLocation:]):
(-[WKView _removePDFHUD:]):
(-[WKView _removeAllPDFHUDs]):
- UIProcess/API/mac/WKWebViewMac.mm:
(-[WKWebView mouseMoved:]):
(-[WKWebView mouseDown:]):
(-[WKWebView mouseUp:]):
(-[WKWebView _createPDFHUD:rect:]):
(-[WKWebView _pdfHUD:changedLocation:]):
(-[WKWebView _removePDFHUD:]):
(-[WKWebView _removeAllPDFHUDs]):
- UIProcess/API/mac/WKWebViewPrivateForTestingMac.h:
- UIProcess/API/mac/WKWebViewTestingMac.mm:
(-[WKWebView pdfHUDs]):
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::createPDFHUD):
(WebKit::WebViewImpl::updatePDFHUDLocation):
(WebKit::WebViewImpl::removePDFHUD):
(WebKit::WebViewImpl::removeAllPDFHUDs):
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::processDidTerminate):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication): Deleted.
(WebKit::WebPageProxy::openPDFFromTemporaryFolderWithNativeApplication): Deleted.
- UIProcess/mac/PageClientImplMac.h:
- UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::createPDFHUD):
(WebKit::PageClientImpl::updatePDFHUDLocation):
(WebKit::PageClientImpl::removePDFHUD):
(WebKit::PageClientImpl::removeAllPDFHUDs):
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication):
(WebKit::WebPageProxy::createPDFHUD):
(WebKit::WebPageProxy::removePDFHUD):
(WebKit::WebPageProxy::updatePDFHUDLocation):
(WebKit::WebPageProxy::pdfZoomIn):
(WebKit::WebPageProxy::pdfZoomOut):
(WebKit::WebPageProxy::pdfSaveToPDF):
(WebKit::WebPageProxy::pdfOpenWithPreview):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Plugins/PDF/PDFLayerControllerSPI.h:
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFLayerControllerDelegate openWithNativeApplication]):
(-[WKPDFLayerControllerDelegate saveToPDF]):
(WebKit::PDFPlugin::PDFPlugin):
(WebKit::PDFPlugin::~PDFPlugin):
(WebKit::PDFPlugin::frameForHUD const):
(WebKit::PDFPlugin::calculateSizes):
(WebKit::PDFPlugin::convertFromPDFViewToRootView const):
(WebKit::PDFPlugin::visibilityDidChange):
(WebKit::PDFPlugin::zoomIn):
(WebKit::PDFPlugin::zoomOut):
(WebKit::PDFPlugin::save):
(WebKit::PDFPlugin::openWithPreview):
- WebProcess/WebPage/WebPage.cpp:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::zoomPDFIn):
(WebKit::WebPage::zoomPDFOut):
(WebKit::WebPage::savePDF):
(WebKit::WebPage::openPDFWithPreview):
(WebKit::WebPage::createPDFHUD):
(WebKit::WebPage::updatePDFHUDLocation):
(WebKit::WebPage::removePDFHUD):
Source/WTF:
- wtf/PlatformHave.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
(pdfData):
(TEST):
(checkFrame):
- TestWebKitAPI/cocoa/TestUIDelegate.h:
- TestWebKitAPI/cocoa/TestUIDelegate.mm:
(-[TestUIDelegate _webView:saveDataToFile:suggestedFilename:mimeType:originatingURL:]):
- 8:52 PM Changeset in webkit [266653] by
-
- 2 edits in trunk/LayoutTests
(REGRESSION (r266045): [ Big Sur ] 6 forms and 3 tables tests are a constant failure with approximately 1px difference)
rdar://68372418
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 8:41 PM Changeset in webkit [266652] by
-
- 2 edits in trunk/Source/WebCore
Fix build when using non-standard unified sources.
- Modules/applepay/ApplePayPaymentMethod.h:
There was a missing include.
- 7:51 PM Changeset in webkit [266651] by
-
- 6 edits in trunk
Align KOI8-U and ibm866 encodings with Chrome, Firefox, and the specification
https://bugs.webkit.org/show_bug.cgi?id=216184
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/encoding/single-byte-decoder-expected.txt:
Source/WebCore:
Covered by newly passing web platform tests.
- platform/text/TextCodecICU.cpp:
- platform/text/TextCodecSingleByte.cpp:
(WebCore::tableForEncoding):
(WebCore::tableForDecoding):
(WebCore::TextCodecSingleByte::registerEncodingNames):
(WebCore::TextCodecSingleByte::registerCodecs):
- platform/text/TextCodecSingleByte.h:
- 6:05 PM Changeset in webkit [266650] by
-
- 2 edits in trunk/Source/WebKit
handleXPCEndpointMessages does not check XPC object is an xpc_endpoint_t
https://bugs.webkit.org/show_bug.cgi?id=216196
<rdar://problem/68198293>
Reviewed by Per Arne Vollan.
Add a check to have sure the XPC object is indeed an xpc_endpoint_t before
using it.
- WebProcess/cocoa/HandleXPCEndpointMessages.mm:
(WebKit::handleXPCEndpointMessages):
- 5:19 PM Changeset in webkit [266649] by
-
- 14 edits3 moves1 add1 delete in trunk/Source/WebCore
[WebIDL] Adopt LegacyFactoryFunction extended attribute in lieu of NamedConstructor
https://bugs.webkit.org/show_bug.cgi?id=213316
Reviewed by Darin Adler.
Rename the following the extended attributes to more closely align with WebIDL:
NamedConstructor -> LegacyFactoryFunction
ConstructorCallWith -> LegacyFactoryFunctionCallWith
ConstructorEnabledBySetting -> LegacyFactoryFunctionEnabledBySetting
ConstructorMayThrowException -> LegacyFactoryFunctionMayThrowException
Note, ConstructorCallWith, ConstructorEnabledBySetting and ConstructorMayThrowException
were only used with NamedConstructors previously as normal constructors don't require
interface level extended attributes for these as the extended attribute can be directly
on the constructor itself. Ideally, we would do the same with LegacyFactoryFunction by
allowing extended attributes on the operator itself like:
[
...
LegacyFactoryFunction=[CallWith=Document] Audio(optional [AtomString] DOMString src)
]
but this requires changes to the IDLParser (which are straightforward) and creates a lot of
additional complexity inside the very hacky preprocess-idls.pl reproducing those parser changes.
I will leave that additional cleanup for a subsequent change.
- html/HTMLAudioElement.idl:
- html/HTMLImageElement.idl:
- html/HTMLOptionElement.idl:
- html/track/TextTrackCue.idl:
Update to use new names.
- bindings/js/JSDOMLegacyFactoryFunction.h: Copied from bindings/js/JSDOMNamedConstructor.h.
- bindings/js/JSDOMNamedConstructor.h: Removed.
- WebCore.xcodeproj/project.pbxproj:
Update for rename of JSDOMNamedConstructor.h to JSDOMLegacyFactoryFunction.h
- bindings/scripts/CodeGeneratorJS.pm:
- bindings/scripts/IDLParser.pm:
(applyExtendedAttributeList):
- bindings/scripts/preprocess-idls.pl:
(GenerateConstructorAttributes):
Update IDL processing to handle new names.
- bindings/scripts/IDLAttributes.json:
Update extended attribute definitions for new names. Removed unused Constructor extended attribute.
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
- bindings/scripts/test/JS/JSTestLegacyFactoryFunction.cpp: Copied from bindings/scripts/test/JS/JSTestNamedConstructor.cpp.
- bindings/scripts/test/JS/JSTestLegacyFactoryFunction.h: Copied from bindings/scripts/test/JS/JSTestNamedConstructor.h.
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Removed.
- bindings/scripts/test/JS/JSTestNamedConstructor.h: Removed.
- bindings/scripts/test/SupplementalDependencies.dep:
- bindings/scripts/test/TestLegacyFactoryFunction.idl: Copied from bindings/scripts/test/TestNamedConstructor.idl.
- bindings/scripts/test/TestNamedConstructor.idl: Removed.
Update tests for new names.
- 4:38 PM Changeset in webkit [266648] by
-
- 2 edits in trunk/LayoutTests
fast/text/international/generic-font-family-language-traditional.html is passing, remove expectation.
rdar://60227623
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 4:34 PM Changeset in webkit [266647] by
-
- 2 edits in trunk/LayoutTests
Correct typo in expectation for imported/blink/fast/text/international/text-shaping-arabic.html
rdar://41103260
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 4:32 PM Changeset in webkit [266646] by
-
- 2 edits in trunk/LayoutTests
imported/blink/fast/text/international/text-shaping-arabic.html is Passing on Big Sur
rdar://41103260
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 4:30 PM Changeset in webkit [266645] by
-
- 6 edits in trunk/Source
Move lazy DisplayLink tear down logic from the WebProcess to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=216195
Reviewed by Simon Fraser.
Move lazy DisplayLink tear down logic from the WebProcess to the UIProcess, now that the
DisplayLink has been moved to the UIProcess due to sandboxing.
After a DisplayLink no longer has any clients, we keep it firing up to 20 times without
any clients in case a new client gets added shortly after. The idea was to avoid killing
and respawning too many threads when adding and removing clients in quick succession.
However, now that the DisplayLink lives in the UIProcess side and sends IPC to the
WebProcesses every time it fires, it makes a lot more sense to implement this logic in
the UIProcess side, to avoid sending unnecessary IPC to processes that do not care about
it.
Source/WebCore:
- platform/graphics/DisplayRefreshMonitor.cpp:
(WebCore::DisplayRefreshMonitor::displayDidRefresh):
- platform/graphics/DisplayRefreshMonitor.h:
(WebCore::DisplayRefreshMonitor::shouldBeTerminated const):
Source/WebKit:
- UIProcess/mac/DisplayLink.cpp:
(WebKit::DisplayLink::addObserver):
(WebKit::DisplayLink::removeObserver):
(WebKit::DisplayLink::removeObservers):
(WebKit::DisplayLink::displayLinkCallback):
(WebKit::DisplayLink::hasObservers const): Deleted.
- UIProcess/mac/DisplayLink.h:
- 4:19 PM Changeset in webkit [266644] by
-
- 3 edits in trunk/LayoutTests
REGRESSION(266399?): [ iOS wk2 ] imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location_hash.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=216124
<rdar://problem/68282113>
Unreviewed, rebaselined test on iOS.
- platform/ios-wk2/TestExpectations:
- platform/ios/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location_hash-expected.txt:
- 4:01 PM Changeset in webkit [266643] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r265603): ASSERTION FAILED: m_suspended in WebCore::SuspendableTimerBase::resume() seen with http/tests/security/no-indexeddb-from-sandbox.html
https://bugs.webkit.org/show_bug.cgi?id=215465
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:45 PM Changeset in webkit [266642] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r265603): ASSERTION FAILED: m_suspended in WebCore::SuspendableTimerBase::resume() seen with http/tests/security/no-indexeddb-from-sandbox.html
https://bugs.webkit.org/show_bug.cgi?id=215465
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:33 PM Changeset in webkit [266641] by
-
- 2 edits in trunk/Source/JavaScriptCore
Array.prototype.push should always perform Set in strict mode
https://bugs.webkit.org/show_bug.cgi?id=216121
Unreviewed, address Darin's feedback on r266581.
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncPush): Remove unnecessary static_cast<uint64_t>.
- 3:29 PM Changeset in webkit [266640] by
-
- 3 edits1 copy in trunk/Tools
[webkitcorepy] Add mock Response object
https://bugs.webkit.org/show_bug.cgi?id=216150
<rdar://problem/68307522>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Bump version.
- Scripts/libraries/webkitcorepy/webkitcorepy/mocks/init.py:
- Scripts/libraries/webkitcorepy/webkitcorepy/mocks/requests.py: Added.
(Response): A response object similar to the one used by requests.
- 2:58 PM Changeset in webkit [266639] by
-
- 1 copy in tags/Safari-610.2.4
Tag Safari-610.2.4.
- 2:44 PM Changeset in webkit [266638] by
-
- 5 edits in trunk/Tools
run-webkit-tests rebuilds ImageDiff every time
https://bugs.webkit.org/show_bug.cgi?id=204420
<rdar://problem/68232690>
Reviewed by Tim Horton.
- Scripts/webkitpy/port/base.py:
(Port.check_image_diff): Check the version of ImageDiff we actually intend to use.
(Port): Use webkitcorepy's Memoize in _path_to_image_diff.
(Port._build_image_diff): Clear the memoized cache after building ImageDiff.
- Scripts/webkitpy/port/darwin.py:
(DarwinPort): Memoize _path_to_image_diff.
- Scripts/webkitpy/port/gtk.py:
(GtkPort): Memoize _path_to_image_diff.
- Scripts/webkitpy/port/wpe.py:
(WPEPort): Memoize _path_to_image_diff.
- 2:21 PM Changeset in webkit [266637] by
-
- 2 edits in trunk/LayoutTests
[ Big Sur ] imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-v-framerate.html is a flaky failure/timeout)
rdar://68364365
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:45 PM Changeset in webkit [266636] by
-
- 2 edits in trunk/Tools
[GTK] Unreviewed test gardening. Mark several GTK API tests as flaky.
These tests were failing in EWS GTK-API tests bots, but I didn't
manage to reproduce the failures in tip of master.
- TestWebKitAPI/glib/TestExpectations.json:
- 1:43 PM Changeset in webkit [266635] by
-
- 2 edits in trunk/Source/WebCore
[Cocoa,EME] -outputObscuredDueToInsufficientExternalProtection KVO will set OutputObscured for all attached MediaKeySessions.
https://bugs.webkit.org/show_bug.cgi?id=216185
Reviewed by Eric Carlson.
When EME clients add licenses that have, for instance, different HDCP level requirements, the keyStatus for
each key in the Session (and indeed all attached MediaKeySessions) will be marked as OutputRestricted, since
it is impossible to tell from that KVO which key or session was responsible for creating the violation.
On platforms where the more granular -willOutputBeObscuredDueToInsufficientExternalProtectionForDisplays: query
is available, ignore the KVO from AVSampleBufferDisplayLayer, and rely entirely on the per-request query to
determine key status.
Drive-by fix: add logging when we receive the -outputObscuredDueToInsufficientExternalProtection KVO notification, and
include keyIDs in the keyStatus logging.
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WTF::LogArgument<WebCore::CDMInstanceFairPlayStreamingAVFObjC::Keys>::toString):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::keyStatuses const):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::outputObscuredDueToInsufficientExternalProtectionChanged):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::keyRequestHasInsufficientProtectionForDisplayID const):
- 1:17 PM Changeset in webkit [266634] by
-
- 8 edits in trunk/Source
Webpages flash when switching between windows
https://bugs.webkit.org/show_bug.cgi?id=216012
Reviewed by Tim Horton.
Source/WebCore/PAL:
- pal/spi/cocoa/QuartzCoreSPI.h:
Source/WebKit:
Based on patches from Tim Horton. To avoid flash, we need to make sure view to be selected updates its content
before UI process commits its transaction. We did this by making UI process block until receiving a reply
DidUpdateActivityState from web process. However, web process did not make sure the reply would be sent after
normal rendering update and corresponding transasction commit. Instead, it flushed transactions in progress and
replied. To fix this, now we make web process reply in transaction commit handler after rendering update, if
there is an active transaction.
In the switching case, view to be unselected will detach from root layer in its web process, which makes its
content empty. This change is independent from the UI process commit, so we want this to happen after UI process
commits (which submits the view hierachy change). Otherwise, empty content(white flash) on the unselected view
will be displayed. To fix this, we let UI process send the activity state change message in transaction commit
handler, if there is an active transaction.
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::scheduleActivityStateUpdate):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setSuppressVisibilityUpdates):
(WebKit::WebPageProxy::activityStateDidChange):
(WebKit::WebPageProxy::dispatchActivityStateChange):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::updateRendering):
(WebKit::TiledCoreAnimationDrawingArea::handleActivityStateChangeCallbacks):
(WebKit::TiledCoreAnimationDrawingArea::handleActivityStateChangeCallbacksIfNeeded):
(WebKit::TiledCoreAnimationDrawingArea::activityStateDidChange):
(WebKit::TiledCoreAnimationDrawingArea::didUpdateActivityStateTimerFired): Deleted.
- 1:06 PM Changeset in webkit [266633] by
-
- 1 copy in tags/Safari-610.2.3.1
Tag Safari-610.2.3.1.
- 1:04 PM Changeset in webkit [266632] by
-
- 8 edits in branches/safari-610.2.3-branch/Source
Versioning.
WebKit-7610.2.3.1
- 12:22 PM Changeset in webkit [266631] by
-
- 1 copy in releases/WPE WebKit/webkit-2.29.91
WPE WebKit 2.29.91
- 12:21 PM Changeset in webkit [266630] by
-
- 4 edits in releases/WebKitGTK/webkit-2.30
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.29.91 release
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for the 2.29.91 release.
- 12:19 PM Changeset in webkit [266629] by
-
- 2 edits in trunk/Tools
[ews] Notify bot watchers about pre-existing and flaky test failures for JSC tests
https://bugs.webkit.org/show_bug.cgi?id=215948
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeJSCTestsResults.start):
(AnalyzeJSCTestsResults.send_email_for_flaky_failure):
(AnalyzeJSCTestsResults):
(AnalyzeJSCTestsResults.send_email_for_pre_existing_failure):
- 12:12 PM Changeset in webkit [266628] by
-
- 4 edits4 copies14 adds in trunk/Tools
[webkitscmpy] Add root, branch and remote for local SCM repositories
https://bugs.webkit.org/show_bug.cgi?id=215960
<rdar://problem/67968919>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Bump version.
- Scripts/libraries/webkitcorepy/webkitcorepy/decorators.py: Added.
(Memoize): Add a memoize call that can cache a response for a set amount of time
Or be explicitly cleared.
- Scripts/libraries/webkitcorepy/webkitcorepy/tests/decorators_unittest.py: Added.
(TestMemoize):
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/local: Added.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/init.py: Added.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: Added.
(Git): Object representing a local git checkout.
(Git.is_checkout): Check if a given path is a git checkout.
(Git.init): Initialize a Git checkout.
(Git.root_path): Return the path for the root of the local repository.
(Git.branch): Return the current branch.
(Git.remote): Return the url of the remote.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py: Added.
(Scm): Base class for all local SCM checkouts.
(Scm.Exception):
(Scm.from_path): Given a path, return an instantiated SVN object from that
path, if possible.
(Scm.init):
(Scm.root_path): Virtual function implemented by children.
(Scm.branch): Ditto.
(Scm.remote): Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py: Added.
(Svn): Object representing a local Svn checkout.
(Svn.is_checkout): Check if a given path is a svn checkout.
(Svn.init): Initialize a Svn checkout.
(Svn.info): Return the contents of svn info as a dictionary.
(Svn.root_path): Return the path for the root of the local repository.
(Svn.branch): Return the current branch.
(Svn.remote): Return the url of the remote.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks: Added.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/init.py: Added.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local: Added.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/init.py: Added.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Added.
(Git): Mock a local Git repository.
(Git.init):
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py: Added.
(Svn): Mock a local SVN repository.
- Scripts/libraries/webkitscmpy/webkitscmpy/test: Added.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/init.py: Added.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py: Added.
(TestGit):
- Scripts/libraries/webkitscmpy/webkitscmpy/test/scm_unittest.py: Added.
(TestScm):
- Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py: Added.
(TestSvn):
- 11:54 AM Changeset in webkit [266627] by
-
- 11 edits in trunk
Improve interpolation algorithm in OscillatorNode
https://bugs.webkit.org/show_bug.cgi?id=216183
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that more checks are passing.
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-oscillator-connections-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:
Source/WebCore:
Align our OscillatorNode implementation with Chromium to get us a few more
passes on WPT tests. In particular, the following changes were made:
- Align detune AudioParam nominal range values with Chromium's.
- We now clamp the frequency value to lie within Nyquist frequency.
- Use different interpolation algorithms based on frequency.
- Split A-Rate / K-Rate processing code into separate functions for clarity.
No new tests, rebaselined existing tests.
- Modules/webaudio/OscillatorNode.cpp:
(WebCore::detuneToFrequencyMultiplier):
(WebCore::clampFrequency):
(WebCore::OscillatorNode::OscillatorNode):
(WebCore::OscillatorNode::calculateSampleAccuratePhaseIncrements):
(WebCore::doInterpolation):
(WebCore::OscillatorNode::processARate):
(WebCore::OscillatorNode::processKRate):
(WebCore::OscillatorNode::process):
- Modules/webaudio/OscillatorNode.h:
LayoutTests:
Unskip test that should no longer be flaky now that it is passing.
- 11:50 AM Changeset in webkit [266626] by
-
- 2 edits in trunk/Tools
[ews] Notify bot watchers about pre-existing and flaky test failures for API tests
https://bugs.webkit.org/show_bug.cgi?id=215949
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeAPITestsResults.analyzeResults):
(AnalyzeAPITestsResults.send_email_for_flaky_failure):
(AnalyzeAPITestsResults):
(AnalyzeAPITestsResults.send_email_for_pre_existing_failure):
- 11:48 AM Changeset in webkit [266625] by
-
- 1 copy in branches/safari-610.2.3-branch
New branch.
- 11:42 AM Changeset in webkit [266624] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Localization: typo in WAI-ARIA string ("[the] element have")
https://bugs.webkit.org/show_bug.cgi?id=216176
Patch by Patrick Angle <Patrick Angle> on 2020-09-04
Reviewed by Devin Rousso.
Resolved element not being pluralized in some audit test descriptions.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Controllers/AuditManager.js:
(WI.AuditManager.prototype._addDefaultTests):
(WI.AuditManager):
- 11:30 AM Changeset in webkit [266623] by
-
- 7 edits in trunk/Source/WebCore
[WebIDL] Remove support for exception interfaces from WebIDL parser and code generators
https://bugs.webkit.org/show_bug.cgi?id=216129
Reviewed by Chris Dumez.
Replace exception interfaces, only used by DOMException.idl, OverconstrainedError.idl
and the tests, with a new "Exception" extended attribute on the interface.
The way WebIDL specifies things, the extended attribute should not really be necessary,
as the DOMException interface is specifically called out as having special EcmaScript
bindings (https://heycam.github.io/webidl/#es-DOMException-specialness), but since
OverconstrainedError is currently relying on those semantics, using an extended attribute
was a useful tool to maintain parity.
- Modules/mediastream/OverconstrainedError.idl:
- bindings/scripts/test/TestException.idl:
- dom/DOMException.idl:
Replace use of special "exception" style interface with Exception extended attribute.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
Replace $interface->isException with $interface->extendedAttributes->{Exception}
- bindings/scripts/IDLAttributes.json:
Add new Exception attribute.
- bindings/scripts/IDLParser.pm:
(parseDefinition):
(parseDictionaryMembers):
(parseDictionaryMember):
(parseArgument):
(parseArgumentsRest):
(parseException): Deleted.
(parseExceptionMembers): Deleted.
(parseOptionalOrRequiredArgument): Deleted.
(parseExceptionMember): Deleted.
(parseExceptionField): Deleted.
Remove custom exception parsing. Update places using the $nextExceptionField_1 and $nextExceptionMembers_1
to use more clearly named constants.
- 11:23 AM Changeset in webkit [266622] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Localization: "Low/Medium/High" strings need separate keys for different uses in the UI
https://bugs.webkit.org/show_bug.cgi?id=216136
Reviewed by Brian Burg.
Provide enough context to understand what nouns "low/medium/high" are used with
("impact" and "priority", in our case). This is necessary to determine adjectives'
grammatical gender.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Models/Resource.js:
(WI.Resource.displayNameForPriority):
- UserInterface/Views/CPUTimelineView.js:
(WI.CPUTimelineView.prototype._layoutEnergyChart):
Drive-by: merge two if blocks into one to minimize code repetition.
- 11:06 AM Changeset in webkit [266621] by
-
- 3 edits in trunk/Source/WebCore
Fix indentation after r266533
https://bugs.webkit.org/show_bug.cgi?id=193274
- dom/TextEncoder.cpp:
(WebCore::TextEncoder::encodeInto):
- dom/TextEncoder.idl:
- 10:46 AM Changeset in webkit [266620] by
-
- 26 edits2 deletes in trunk
Align EUC-JP, ISO-2022-JP, and Shift_JIS decoding with Chrome, Firefox, and the specification
https://bugs.webkit.org/show_bug.cgi?id=216168
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/encoding/iso-2022-jp-decoder-expected.txt: Removed.
- web-platform-tests/encoding/iso-2022-jp-decoder.any-expected.txt:
- web-platform-tests/encoding/iso-2022-jp-decoder.any.worker-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-errors-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-csiso2022jp-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp_chars-csiso2022jp.html:
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp_chars.html:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-csshiftjis-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-errors-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-ms932-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-ms_kanji-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-shift-jis-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-sjis-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-windows-31j-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-x-sjis-expected.txt:
- web-platform-tests/encoding/streams/decode-non-utf8.any-expected.txt:
- web-platform-tests/encoding/streams/decode-non-utf8.any.worker-expected.txt:
Source/WebCore:
Covered by newly passing web platform tests.
- platform/text/EncodingTables.cpp:
- platform/text/EncodingTables.h:
- platform/text/TextCodecCJK.cpp:
(WebCore::WTF_ARRAY_LENGTH):
(WebCore::TextCodecCJK::decodeCommon):
(WebCore::codePointJIS0208):
(WebCore::codePointJIS0212):
(WebCore::TextCodecCJK::eucJPDecode):
(WebCore::TextCodecCJK::iso2022JPDecode):
(WebCore::TextCodecCJK::iso2022JPEncode):
(WebCore::TextCodecCJK::shiftJISDecode):
(WebCore::TextCodecCJK::eucKRDecode):
(WebCore::TextCodecCJK::big5Decode):
(WebCore::TextCodecCJK::decode):
- platform/text/TextCodecCJK.h:
LayoutTests:
- platform/mac/imported/w3c/web-platform-tests/encoding/eof-shift_jis-expected.txt: Removed.
- 10:23 AM Changeset in webkit [266619] by
-
- 2 edits in trunk/Source/WebCore
Add a fast path in TransformationMatrix::mapRect(const FloatRect&) for affine transformations
https://bugs.webkit.org/show_bug.cgi?id=216139
Reviewed by Tim Horton.
Add a fast path when mapping 2D points through affine transformation matrices that takes advantage of both:
- The predetermined 0 and 1 values in affine transformation matrices.
- The fact that points in the FloatRect are aligned with x and y axes (as opposed to a FloatQuad of 4 arbitrary
points), which allows us to avoid mapping all 4 corners of the rect through the matrix.
The current implementation of this method maps each of the 4 corners through the transformation matrix, creates
a FloatQuad using these 4 transformed points, and then asks the FloatQuad for its bounding box. This requires
a total of 26 floating point additions, 24 multiplications and 20 comparisons, as well as a small (but
measurable) amount of overhead when creating the FloatPoints and FloatQuad and asking for the bounding rect.
We can pare this down to just 8 additions, 8 multiplications, and 4 comparisons by using a different strategy
that instead branches on the 4 relevant matrix coefficientsa, b, c, d(rather than the each of the final x
and y coordinates) to determine which of the min or max x and y values to multiply in order to compute the min
and max x and y coordinates in the final bounding rect.
In a quick microbenchmark that maps FloatRects through an affine TransformationMatrix, this roughly halves the
time spent inTransformationMatrix::mapRect; on the Multiply subtest of MotionMark (which invokes this method
~17 million times, almost entirely with affine transformation matrices), I measured a ~1% improvement.
- platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::mapRect const):
- 10:22 AM Changeset in webkit [266618] by
-
- 6 edits in trunk/Source/WebCore
Simplify some editing code
https://bugs.webkit.org/show_bug.cgi?id=216097
Reviewed by Sam Weinig.
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::replaceAllChildrenWithNewText):
If string is empty, don't add a text node. Turns out all callers wanted
this behavior.
- dom/Node.cpp:
(WebCore::Node::setTextContent): Simplify by relying on new behavior
of replaceAllChildrenWithNewText when passed an empty string.
- editing/ios/EditorIOS.mm:
(WebCore::Editor::setTextAsChildOfElement): Use
replaceAllChildrenWithNewText instead of the unnecessarily complicated
code that was here. Also simplify the VisibeSelection manipulation at
the end of the function.
- html/HTMLElement.cpp:
(WebCore::HTMLElement::setInnerText): Simplify by relying on new
behavior of replaceAllChildrenWithNewText when passed an empty string.
- page/DOMSelection.cpp:
(WebCore::DOMSelection::deleteFromDocument): Simplify by using the
selection function that takes a SimpleRange rather than the one that
takes two containers and offsets.
- 10:18 AM Changeset in webkit [266617] by
-
- 6 edits in trunk/Source/WebCore
[WebIDL] Remove support for the legacycaller special operation type in favor of an extended attribute
https://bugs.webkit.org/show_bug.cgi?id=216157
Reviewed by Anders Carlsson.
WebIDL no longer specifies the legacycaller special operation type, so to make our
parser more closely match the spec, this change removes support for it. Since we still
need something for HTMLAllCollection's override of Call, it is replaced with a
new extended attribute [LegacyCaller], which has the same semantics as the old special.
- bindings/scripts/CodeGeneratorJS.pm:
(AddLegacyCallerOperationIfNeeded):
- bindings/scripts/IDLAttributes.json:
- bindings/scripts/IDLParser.pm:
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::jsTestGlobalObjectTestDefaultToJSONConstructorGetter):
(WebCore::jsTestGlobalObjectTestDefaultToJSONConstructor):
(WebCore::setJSTestGlobalObjectTestDefaultToJSONConstructorSetter):
(WebCore::setJSTestGlobalObjectTestDefaultToJSONConstructor):
- bindings/scripts/test/SupplementalDependencies.dep:
- bindings/scripts/test/TestObj.idl:
- html/HTMLAllCollection.idl:
- 10:00 AM Changeset in webkit [266616] by
-
- 6 edits2 adds in trunk
REGRESSION(macOS Big Sur) https://magenta.github.io/lofi-player/ is broken
https://bugs.webkit.org/show_bug.cgi?id=216163
<rdar://problem/68198173>
Reviewed by Eric Carlson.
Source/WebCore:
Address a crash and a backward-compatibility issue on https://magenta.github.io/lofi-player/.
Test: webaudio/webkitofflineaudiocontext-startRendering-crash.html
- Modules/webaudio/AudioBufferSourceNode.idl:
- Modules/webaudio/AudioListener.idl:
- Modules/webaudio/OscillatorNode.idl:
Even after fixing the crash, the game would fail to load because it expected
window.OscillatorNode to exist. When we started working on modern Web Audio,
we renamed the non-standard oscillator node to WebKitOscillatorNode and
added a new standards compliant OscillatorNode behind a runtime flag (off
by default). As a result, window.OscillatorNode no longer existed on Big Sur,
which is not backward compatible. To address the issue, we now expose
window.OscillatorNode even if modern unprefixed WebAudio is not enabled and
we merely disable its constructor at runtime. The same policy applies to
AudioBufferSourceNode & AudioListener because we did the exact same thing
for these interfaces.
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::startRendering):
Make sure we call lazyInitialize() before we start offline rendering.
The context may not be initialized yet if no audio nodes were created
for this context. This is similar to what is done in our modern Web
Audio code in OfflineAudioContext::startOfflineRendering(), which is
why the crash was not reproducible when enabling the Modern Web Audio
experimental feature.
LayoutTests:
Add layout test that was reproducing the crash on https://magenta.github.io/lofi-player/.
- webaudio/webkitofflineaudiocontext-startRendering-crash-expected.txt: Added.
- webaudio/webkitofflineaudiocontext-startRendering-crash.html: Added.
- 9:40 AM Changeset in webkit [266615] by
-
- 9 edits1 copy41 adds in trunk
Binding generator is not always computing the right interface attributes
https://bugs.webkit.org/show_bug.cgi?id=216173
Reviewed by Alex Christensen.
Source/WebCore:
Update the regular expression to make sure preprocess-idls.pl computes the right attributes for interfaces.
Previously, it was causing issues if a dictionary defined before an interface in the same file had some extended attributes.
Add some global objects IDL files to enable binding test coverage.
Covered by binding tests and existing layout tests.
- bindings/scripts/preprocess-idls.pl:
(getInterfaceExtendedAttributesFromIDL):
- bindings/scripts/test/BindingTestGlobalConstructors.idl: Added.
- bindings/scripts/test/DOMWindow.idl: Added.
- bindings/scripts/test/DOMWindowConstructors.idl: Added.
- bindings/scripts/test/DedicatedWorkerGlobalScope.idl: Added.
- bindings/scripts/test/DedicatedWorkerGlobalScopeConstructors.idl: Added.
- bindings/scripts/test/ExposedToWorkerAndWindow.idl: Added.
- bindings/scripts/test/JS/JSBindingTestGlobalConstructors.cpp: Added.
- bindings/scripts/test/JS/JSBindingTestGlobalConstructors.h: Added.
- bindings/scripts/test/JS/JSDOMWindow.cpp: Added.
(WebCore::JSDOMWindowConstructor::prototypeForStructure):
(WebCore::JSDOMWindowConstructor::initializeProperties):
(WebCore::JSDOMWindowPrototype::finishCreation):
(WebCore::JSDOMWindow::JSDOMWindow):
(WebCore::JSDOMWindow::finishCreation):
(WebCore::JSDOMWindow::getConstructor):
(WebCore::IDLAttribute<JSDOMWindow>::cast):
(WebCore::jsDOMWindowConstructor):
(WebCore::setJSDOMWindowConstructor):
(WebCore::jsDOMWindowExposedToWorkerAndWindowConstructorGetter):
(WebCore::jsDOMWindowExposedToWorkerAndWindowConstructor):
(WebCore::setJSDOMWindowExposedToWorkerAndWindowConstructorSetter):
(WebCore::setJSDOMWindowExposedToWorkerAndWindowConstructor):
(WebCore::jsDOMWindowTestNodeConstructorGetter):
(WebCore::jsDOMWindowTestNodeConstructor):
(WebCore::setJSDOMWindowTestNodeConstructorSetter):
(WebCore::setJSDOMWindowTestNodeConstructor):
(WebCore::jsDOMWindowTestObjectConstructorGetter):
(WebCore::jsDOMWindowTestObjectConstructor):
(WebCore::setJSDOMWindowTestObjectConstructorSetter):
(WebCore::setJSDOMWindowTestObjectConstructor):
(WebCore::jsDOMWindowTestPromiseRejectionEventConstructorGetter):
(WebCore::jsDOMWindowTestPromiseRejectionEventConstructor):
(WebCore::setJSDOMWindowTestPromiseRejectionEventConstructorSetter):
(WebCore::setJSDOMWindowTestPromiseRejectionEventConstructor):
(WebCore::JSDOMWindow::subspaceForImpl):
(WebCore::JSDOMWindow::analyzeHeap):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSDOMWindow::toWrapped):
- bindings/scripts/test/JS/JSDOMWindow.h: Added.
(WebCore::JSDOMWindow::create):
(WebCore::JSDOMWindow::createStructure):
(WebCore::JSDOMWindow::subspaceFor):
(WebCore::JSDOMWindow::wrapped const):
(WebCore::toJS):
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSDOMWindowConstructors.cpp: Added.
- bindings/scripts/test/JS/JSDOMWindowConstructors.h: Added.
- bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp: Added.
(WebCore::JSDedicatedWorkerGlobalScopeConstructor::prototypeForStructure):
(WebCore::JSDedicatedWorkerGlobalScopeConstructor::initializeProperties):
(WebCore::JSDedicatedWorkerGlobalScopePrototype::finishCreation):
(WebCore::JSDedicatedWorkerGlobalScope::JSDedicatedWorkerGlobalScope):
(WebCore::JSDedicatedWorkerGlobalScope::finishCreation):
(WebCore::JSDedicatedWorkerGlobalScope::getConstructor):
(WebCore::jsDedicatedWorkerGlobalScopeConstructor):
(WebCore::setJSDedicatedWorkerGlobalScopeConstructor):
(WebCore::JSDedicatedWorkerGlobalScope::subspaceForImpl):
(WebCore::JSDedicatedWorkerGlobalScope::analyzeHeap):
- bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.h: Added.
(WebCore::JSDedicatedWorkerGlobalScope::create):
(WebCore::JSDedicatedWorkerGlobalScope::createStructure):
(WebCore::JSDedicatedWorkerGlobalScope::subspaceFor):
(WebCore::JSDedicatedWorkerGlobalScope::wrapped const):
- bindings/scripts/test/JS/JSDedicatedWorkerGlobalScopeConstructors.cpp: Added.
- bindings/scripts/test/JS/JSDedicatedWorkerGlobalScopeConstructors.h: Added.
- bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp: Added.
(WebCore::convertDictionary<ExposedToWorkerAndWindow::Dict>):
(WebCore::convertDictionaryToJS):
(WebCore::JSExposedToWorkerAndWindowConstructor::construct):
(WebCore::JSExposedToWorkerAndWindowConstructor::prototypeForStructure):
(WebCore::JSExposedToWorkerAndWindowConstructor::initializeProperties):
(WebCore::JSExposedToWorkerAndWindowPrototype::finishCreation):
(WebCore::JSExposedToWorkerAndWindow::JSExposedToWorkerAndWindow):
(WebCore::JSExposedToWorkerAndWindow::finishCreation):
(WebCore::JSExposedToWorkerAndWindow::createPrototype):
(WebCore::JSExposedToWorkerAndWindow::prototype):
(WebCore::JSExposedToWorkerAndWindow::getConstructor):
(WebCore::JSExposedToWorkerAndWindow::destroy):
(WebCore::IDLOperation<JSExposedToWorkerAndWindow>::cast):
(WebCore::jsExposedToWorkerAndWindowConstructor):
(WebCore::setJSExposedToWorkerAndWindowConstructor):
(WebCore::jsExposedToWorkerAndWindowPrototypeFunctionDoSomethingBody):
(WebCore::jsExposedToWorkerAndWindowPrototypeFunctionDoSomething):
(WebCore::JSExposedToWorkerAndWindow::subspaceForImpl):
(WebCore::JSExposedToWorkerAndWindow::analyzeHeap):
(WebCore::JSExposedToWorkerAndWindowOwner::isReachableFromOpaqueRoots):
(WebCore::JSExposedToWorkerAndWindowOwner::finalize):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSExposedToWorkerAndWindow::toWrapped):
- bindings/scripts/test/JS/JSExposedToWorkerAndWindow.h: Copied from Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h.
(WebCore::JSExposedToWorkerAndWindow::create):
(WebCore::JSExposedToWorkerAndWindow::createStructure):
(WebCore::JSExposedToWorkerAndWindow::subspaceFor):
(WebCore::wrapperOwner):
(WebCore::wrapperKey):
(WebCore::toJS):
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp: Added.
(WebCore::JSPaintWorkletGlobalScopeConstructor::prototypeForStructure):
(WebCore::JSPaintWorkletGlobalScopeConstructor::initializeProperties):
(WebCore::JSPaintWorkletGlobalScopePrototype::finishCreation):
(WebCore::JSPaintWorkletGlobalScope::JSPaintWorkletGlobalScope):
(WebCore::JSPaintWorkletGlobalScope::finishCreation):
(WebCore::JSPaintWorkletGlobalScope::getConstructor):
(WebCore::jsPaintWorkletGlobalScopeConstructor):
(WebCore::setJSPaintWorkletGlobalScopeConstructor):
(WebCore::JSPaintWorkletGlobalScope::subspaceForImpl):
(WebCore::JSPaintWorkletGlobalScope::analyzeHeap):
- bindings/scripts/test/JS/JSPaintWorkletGlobalScope.h: Added.
(WebCore::JSPaintWorkletGlobalScope::create):
(WebCore::JSPaintWorkletGlobalScope::createStructure):
(WebCore::JSPaintWorkletGlobalScope::subspaceFor):
(WebCore::JSPaintWorkletGlobalScope::wrapped const):
- bindings/scripts/test/JS/JSPaintWorkletGlobalScopeConstructors.cpp: Added.
- bindings/scripts/test/JS/JSPaintWorkletGlobalScopeConstructors.h: Added.
- bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp: Added.
(WebCore::JSServiceWorkerGlobalScopeConstructor::prototypeForStructure):
(WebCore::JSServiceWorkerGlobalScopeConstructor::initializeProperties):
(WebCore::JSServiceWorkerGlobalScopePrototype::finishCreation):
(WebCore::JSServiceWorkerGlobalScope::JSServiceWorkerGlobalScope):
(WebCore::JSServiceWorkerGlobalScope::finishCreation):
(WebCore::JSServiceWorkerGlobalScope::getConstructor):
(WebCore::jsServiceWorkerGlobalScopeConstructor):
(WebCore::setJSServiceWorkerGlobalScopeConstructor):
(WebCore::JSServiceWorkerGlobalScope::subspaceForImpl):
(WebCore::JSServiceWorkerGlobalScope::analyzeHeap):
- bindings/scripts/test/JS/JSServiceWorkerGlobalScope.h: Added.
(WebCore::JSServiceWorkerGlobalScope::create):
(WebCore::JSServiceWorkerGlobalScope::createStructure):
(WebCore::JSServiceWorkerGlobalScope::subspaceFor):
(WebCore::JSServiceWorkerGlobalScope::wrapped const):
- bindings/scripts/test/JS/JSServiceWorkerGlobalScopeConstructors.cpp: Added.
- bindings/scripts/test/JS/JSServiceWorkerGlobalScopeConstructors.h: Added.
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::jsTestGlobalObjectDOMWindowConstructorGetter):
(WebCore::jsTestGlobalObjectDOMWindowConstructor):
(WebCore::setJSTestGlobalObjectDOMWindowConstructorSetter):
(WebCore::setJSTestGlobalObjectDOMWindowConstructor):
(WebCore::jsTestGlobalObjectDedicatedWorkerGlobalScopeConstructorGetter):
(WebCore::jsTestGlobalObjectDedicatedWorkerGlobalScopeConstructor):
(WebCore::setJSTestGlobalObjectDedicatedWorkerGlobalScopeConstructorSetter):
(WebCore::setJSTestGlobalObjectDedicatedWorkerGlobalScopeConstructor):
(WebCore::jsTestGlobalObjectPaintWorkletGlobalScopeConstructorGetter):
(WebCore::jsTestGlobalObjectPaintWorkletGlobalScopeConstructor):
(WebCore::setJSTestGlobalObjectPaintWorkletGlobalScopeConstructorSetter):
(WebCore::setJSTestGlobalObjectPaintWorkletGlobalScopeConstructor):
(WebCore::jsTestGlobalObjectServiceWorkerGlobalScopeConstructorGetter):
(WebCore::jsTestGlobalObjectServiceWorkerGlobalScopeConstructor):
(WebCore::setJSTestGlobalObjectServiceWorkerGlobalScopeConstructorSetter):
(WebCore::setJSTestGlobalObjectServiceWorkerGlobalScopeConstructor):
(WebCore::jsTestGlobalObjectWorkerGlobalScopeConstructorGetter):
(WebCore::jsTestGlobalObjectWorkerGlobalScopeConstructor):
(WebCore::setJSTestGlobalObjectWorkerGlobalScopeConstructorSetter):
(WebCore::setJSTestGlobalObjectWorkerGlobalScopeConstructor):
(WebCore::jsTestGlobalObjectWorkletGlobalScopeConstructorGetter):
(WebCore::jsTestGlobalObjectWorkletGlobalScopeConstructor):
(WebCore::setJSTestGlobalObjectWorkletGlobalScopeConstructorSetter):
(WebCore::setJSTestGlobalObjectWorkletGlobalScopeConstructor):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
- bindings/scripts/test/JS/JSWorkerGlobalScope.cpp: Added.
(WebCore::JSWorkerGlobalScopeConstructor::prototypeForStructure):
(WebCore::JSWorkerGlobalScopeConstructor::initializeProperties):
(WebCore::JSWorkerGlobalScopePrototype::finishCreation):
(WebCore::JSWorkerGlobalScope::JSWorkerGlobalScope):
(WebCore::JSWorkerGlobalScope::finishCreation):
(WebCore::JSWorkerGlobalScope::createPrototype):
(WebCore::JSWorkerGlobalScope::prototype):
(WebCore::JSWorkerGlobalScope::getConstructor):
(WebCore::IDLAttribute<JSWorkerGlobalScope>::cast):
(WebCore::jsWorkerGlobalScopeConstructor):
(WebCore::setJSWorkerGlobalScopeConstructor):
(WebCore::jsWorkerGlobalScopeExposedToWorkerAndWindowConstructorGetter):
(WebCore::jsWorkerGlobalScopeExposedToWorkerAndWindowConstructor):
(WebCore::setJSWorkerGlobalScopeExposedToWorkerAndWindowConstructorSetter):
(WebCore::setJSWorkerGlobalScopeExposedToWorkerAndWindowConstructor):
(WebCore::jsWorkerGlobalScopeTestNodeConstructorGetter):
(WebCore::jsWorkerGlobalScopeTestNodeConstructor):
(WebCore::setJSWorkerGlobalScopeTestNodeConstructorSetter):
(WebCore::setJSWorkerGlobalScopeTestNodeConstructor):
(WebCore::jsWorkerGlobalScopeTestObjectConstructorGetter):
(WebCore::jsWorkerGlobalScopeTestObjectConstructor):
(WebCore::setJSWorkerGlobalScopeTestObjectConstructorSetter):
(WebCore::setJSWorkerGlobalScopeTestObjectConstructor):
(WebCore::jsWorkerGlobalScopeTestPromiseRejectionEventConstructorGetter):
(WebCore::jsWorkerGlobalScopeTestPromiseRejectionEventConstructor):
(WebCore::setJSWorkerGlobalScopeTestPromiseRejectionEventConstructorSetter):
(WebCore::setJSWorkerGlobalScopeTestPromiseRejectionEventConstructor):
(WebCore::JSWorkerGlobalScope::subspaceForImpl):
(WebCore::JSWorkerGlobalScope::analyzeHeap):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSWorkerGlobalScope::toWrapped):
- bindings/scripts/test/JS/JSWorkerGlobalScope.h: Added.
(WebCore::JSWorkerGlobalScope::create):
(WebCore::JSWorkerGlobalScope::createStructure):
(WebCore::JSWorkerGlobalScope::subspaceFor):
(WebCore::JSWorkerGlobalScope::wrapped const):
(WebCore::toJS):
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSWorkerGlobalScopeConstructors.cpp: Added.
- bindings/scripts/test/JS/JSWorkerGlobalScopeConstructors.h: Added.
- bindings/scripts/test/JS/JSWorkletGlobalScope.cpp: Added.
(WebCore::JSWorkletGlobalScopeConstructor::prototypeForStructure):
(WebCore::JSWorkletGlobalScopeConstructor::initializeProperties):
(WebCore::JSWorkletGlobalScopePrototype::finishCreation):
(WebCore::JSWorkletGlobalScope::JSWorkletGlobalScope):
(WebCore::JSWorkletGlobalScope::finishCreation):
(WebCore::JSWorkletGlobalScope::createPrototype):
(WebCore::JSWorkletGlobalScope::prototype):
(WebCore::JSWorkletGlobalScope::getConstructor):
(WebCore::jsWorkletGlobalScopeConstructor):
(WebCore::setJSWorkletGlobalScopeConstructor):
(WebCore::JSWorkletGlobalScope::subspaceForImpl):
(WebCore::JSWorkletGlobalScope::analyzeHeap):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSWorkletGlobalScope::toWrapped):
- bindings/scripts/test/JS/JSWorkletGlobalScope.h: Added.
(WebCore::JSWorkletGlobalScope::create):
(WebCore::JSWorkletGlobalScope::createStructure):
(WebCore::JSWorkletGlobalScope::subspaceFor):
(WebCore::JSWorkletGlobalScope::wrapped const):
(WebCore::toJS):
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSWorkletGlobalScopeConstructors.cpp: Added.
- bindings/scripts/test/JS/JSWorkletGlobalScopeConstructors.h: Added.
- bindings/scripts/test/PaintWorkletGlobalScope.idl: Added.
- bindings/scripts/test/PaintWorkletGlobalScopeConstructors.idl: Added.
- bindings/scripts/test/ServiceWorkerGlobalScope.idl: Added.
- bindings/scripts/test/ServiceWorkerGlobalScopeConstructors.idl: Added.
- bindings/scripts/test/SupplementalDependencies.dep:
- bindings/scripts/test/WorkerGlobalScope.idl: Added.
- bindings/scripts/test/WorkerGlobalScopeConstructors.idl: Added.
- bindings/scripts/test/WorkletGlobalScope.idl: Added.
- bindings/scripts/test/WorkletGlobalScopeConstructors.idl: Added.
- dom/TextEncoder.idl:
Tools:
Add support to validate global constructor idl file generator.
- Scripts/webkitpy/bindings/main.py:
(BindingsTests.generate_from_idl):
(BindingsTests.generate_supplemental_dependency):
(BindingsTests.main):
- 9:39 AM Changeset in webkit [266614] by
-
- 5 edits in trunk
Fix Internals::supportsVCPEncoder on BigSur
https://bugs.webkit.org/show_bug.cgi?id=216174
Reviewed by Eric Carlson.
Source/WebCore:
Fixed by unflaked test.
- testing/Internals.cpp:
(WebCore::Internals::supportsVCPEncoder):
LayoutTests:
- platform/mac-wk2/TestExpectations:
- platform/mac/webrtc/captureCanvas-webrtc-software-encoder-expected.txt:
- platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html:
Slight modification to make the test run faster and output more comprehensive error message if error happens.
- 9:35 AM Changeset in webkit [266613] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Add client decoder entitlement
https://bugs.webkit.org/show_bug.cgi?id=216175
<rdar://problem/67532128>
Reviewed by Brent Fulgham.
Add client decoder entitlement in the WebContent process on macOS.
- Scripts/process-entitlements.sh:
- 9:25 AM Changeset in webkit [266612] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Localization: typo in WAI-ARIA string ("[the] element have")
https://bugs.webkit.org/show_bug.cgi?id=216176
Patch by Patrick Angle <Patrick Angle> on 2020-09-04
Reviewed by Brian Burg.
Resolved auxiliary verb in localizable strings having the wrong pluralization for the singular element.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Controllers/AuditManager.js:
(WI.AuditManager.prototype._addDefaultTests):
(WI.AuditManager):
- 9:11 AM Changeset in webkit [266611] by
-
- 5 edits2 adds in trunk
MediaRecorder timeslice parameter causing internal error on longer videos
https://bugs.webkit.org/show_bug.cgi?id=216076
<rdar://problem/68209422>
Reviewed by Eric Carlson.
Source/WebCore:
Test: http/wpt/fetch/blob-range.html
- platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::readDataAsync):
Source/WebKit:
Test: http/wpt/fetch/blob-range.html
- NetworkProcess/NetworkDataTaskBlob.cpp:
(WebKit::NetworkDataTaskBlob::readData):
readData can be re-entrant so we need to reset m_currentItemReadSize before consuming data.
LayoutTests:
- http/wpt/fetch/blob-range-expected.txt: Added.
- http/wpt/fetch/blob-range.html: Added.
- 8:44 AM Changeset in webkit [266610] by
-
- 3 edits2 adds in trunk
REGRESSION (r241734): [iOS] Changing the value of a select element and tapping on another results in two changes
https://bugs.webkit.org/show_bug.cgi?id=216077
Reviewed by Darin Adler.
Source/WebKit:
r241734 added a call to [self _endEditing] in
[WKContentView _elementDidBlur] to ensure that any open form controls
are dismissed when using the keyboard to change focus.
[self _endEditing] calls [_inputPeripheral endEditing], which
eventually calls [WKFormControl controlEndEditing].
However, if the focus is changed by tapping on another form control, a
a gesture recognizer calls [_inputPeripheral endEditing]. Consequently,
changing the focused element by tapping results in two calls to
[WKFormControl controlEndEditing]. First from the gesture recognizer,
and then from [WKContentView _elementDidBlur].
For certain form controls on iPhone, such as the select element,
controlEndEditing is responsible for updating the element's value in
the WebProcess. Note that the same is not true on iPad, as
controlEndEditing simply dismisses a popover. Now, the first call to
[WKSelectSinglePicker controlEndEditing] correctly updates the expected
select element. However, when tapping on another select element, the
second call to [WKSelectSinglePicker controlEndEditing] also attempts
to update the value of the focused element. By this time, the focused
element in the WebProcess is the second select element. Consequently,
changing the value in one select element and then tapping another
results in updates to both elements.
To fix this issue, while preserving the intent of r241734, we should
prevent callers from being able to end editing in a control twice. Note
that WKFormPeripheralBase already keeps track of the editing state of a
control in a boolean variable _editing. If the control has finished
being edited, _editing is set to false. This patch adds an early return
to [WKFormPeripheralBase endEditing] if _editing is false, ensuring
controlEndEditing is never called twice. For parity, also ensure that
controlBeginEditing can only be called if the control is not already
being edited.
Test: fast/forms/ios/select-picker-change-and-focus-another-select.html
- UIProcess/ios/forms/WKFormPeripheralBase.mm:
(-[WKFormPeripheralBase beginEditing]): Early return if control is already being edited.
(-[WKFormPeripheralBase endEditing]): Early return if control is not being edited.
LayoutTests:
- fast/forms/ios/select-picker-change-and-focus-another-select-expected.txt: Added.
- fast/forms/ios/select-picker-change-and-focus-another-select.html: Added.
- 8:23 AM Changeset in webkit [266609] by
-
- 6 edits in trunk
TextDecoderStreamDecoder.@encoding is broken
https://bugs.webkit.org/show_bug.cgi?id=216169
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/encoding/streams/decode-attributes.any-expected.txt:
- web-platform-tests/encoding/streams/decode-attributes.any.worker-expected.txt:
Source/WebCore:
Binding generator does not support private attributes.
Use a private method instead.
Covered by rebased tests.
- dom/TextDecoderStream.js:
(initializeTextDecoderStream):
- dom/TextDecoderStreamDecoder.idl:
- 8:03 AM Changeset in webkit [266608] by
-
- 2 edits in trunk/Source/WebCore
WebCore::DOMTimerFireState constructor fails to initialize m_initialDOMTreeVersion, m_previous on worker threads
<https://webkit.org/b/216085>
Reviewed by Darin Adler.
- page/DOMTimer.cpp:
(WebCore::DOMTimerFireState):
- Reorder instance variables so more logic can be moved into the initializer list.
- 7:57 AM Changeset in webkit [266607] by
-
- 2 edits in trunk/Source/WebKit
[macOS] UI process sometimes crashes under -[WKSharingServicePickerDelegate sharingService:didShareItems:]
https://bugs.webkit.org/show_bug.cgi?id=216167
<rdar://problem/68287449>
Reviewed by Anders Carlsson.
It's not clear what causes the array of items in this delegate method to be empty, but we should at least be
robust against this scenario and avoid crashing the application process.
- UIProcess/mac/WKSharingServicePickerDelegate.mm:
(-[WKSharingServicePickerDelegate sharingService:didShareItems:]):
- 7:43 AM Changeset in webkit [266606] by
-
- 4 edits in trunk/Source/WebKit
WebProcessProxy::checkURLReceivedFromWebProcess() does not always need to check the back/forward list
https://bugs.webkit.org/show_bug.cgi?id=216109
<rdar://problem/59867349>
Reviewed by Brady Eidson.
We should not need to check the back/forward list when setting a
pasteboard URL because any valid pasteboard URL will be handled
by one of the other if-statements in
WebProcessProxy::checkURLReceivedFromWebProcess(), therefore checking
again is a waste of time.
This also hardens the process against potential abuse by preventing
the possibility of an invalid URL in the back/forward list being
saved in the pasteboard property list.
- UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
(WebKit::WebPasteboardProxy::setPasteboardURL):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
- UIProcess/WebProcessProxy.h:
- 7:39 AM Changeset in webkit [266605] by
-
- 5 edits2 moves in trunk/Source/WebCore
[LFC][IFC] Rename LineLayoutContext to LineBuilder
https://bugs.webkit.org/show_bug.cgi?id=216166
Reviewed by Antti Koivisto.
LineLayoutContext builds the line.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):
(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):
- layout/inlineformatting/InlineFormattingContext.h:
- layout/inlineformatting/InlineLineBuilder.cpp: Renamed from Source/WebCore/layout/inlineformatting/LineLayoutContext.cpp.
(WebCore::Layout::endsWithSoftWrapOpportunity):
(WebCore::Layout::isAtSoftWrapOpportunity):
(WebCore::Layout::nextWrapOpportunity):
(WebCore::Layout::LineCandidate::InlineContent::runs const):
(WebCore::Layout::LineCandidate::InlineContent::logicalWidth const):
(WebCore::Layout::LineCandidate::InlineContent::trailingLineBreak const):
(WebCore::Layout::LineCandidate::InlineContent::appendLineBreak):
(WebCore::Layout::LineCandidate::InlineContent::setTrailingLineBreak):
(WebCore::Layout::LineCandidate::FloatContent::list const):
(WebCore::Layout::LineCandidate::FloatContent::intrusiveWidth const):
(WebCore::Layout::LineCandidate::InlineContent::appendInlineItem):
(WebCore::Layout::LineCandidate::InlineContent::reset):
(WebCore::Layout::LineCandidate::FloatContent::append):
(WebCore::Layout::LineCandidate::FloatContent::reset):
(WebCore::Layout::LineCandidate::reset):
(WebCore::Layout::LineBuilder::inlineItemWidth const):
(WebCore::Layout::LineBuilder::LineBuilder):
(WebCore::Layout::LineBuilder::layoutInlineContent):
(WebCore::Layout::LineBuilder::close):
(WebCore::Layout::LineBuilder::nextContentForLine):
(WebCore::Layout::LineBuilder::commitFloats):
(WebCore::Layout::LineBuilder::handleFloatsAndInlineContent):
(WebCore::Layout::LineBuilder::commitPartialContent):
(WebCore::Layout::LineBuilder::rebuildLine):
- layout/inlineformatting/InlineLineBuilder.h: Renamed from Source/WebCore/layout/inlineformatting/LineLayoutContext.h.
(WebCore::Layout::LineBuilder::InlineItemRange::isEmpty const):
(WebCore::Layout::LineBuilder::InlineItemRange::size const):
(WebCore::Layout::LineBuilder::formattingContext const):
(WebCore::Layout::LineBuilder::root const):
- 6:57 AM Changeset in webkit [266604] by
-
- 2 edits in trunk/Tools
[ews] Share bots between JSC builder and tester queues
https://bugs.webkit.org/show_bug.cgi?id=215934
Reviewed by Carlos Alberto Lopez Perez.
- BuildSlaveSupport/ews-build/config.json:
- 5:59 AM Changeset in webkit [266603] by
-
- 10 edits2 moves in trunk/Source/WebCore
Rename LineBuilder to Line
https://bugs.webkit.org/show_bug.cgi?id=216165
Reviewed by Antti Koivisto.
This class evolved to the actual line and LineLayoutContext became the LineBuilder.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):
- layout/inlineformatting/InlineFormattingContext.h:
- layout/inlineformatting/InlineFormattingContextQuirks.cpp:
(WebCore::Layout::InlineFormattingContext::Quirks::lineDescentNeedsCollapsing const):
- layout/inlineformatting/InlineLine.cpp: Renamed from Source/WebCore/layout/inlineformatting/InlineLineBuilder.cpp.
(WebCore::Layout::isWhitespacePreserved):
(WebCore::Layout::Line::Line):
(WebCore::Layout::Line::~Line):
(WebCore::Layout::Line::open):
(WebCore::Layout::Line::clearContent):
(WebCore::Layout::Line::close):
(WebCore::Layout::Line::removeTrailingTrimmableContent):
(WebCore::Layout::Line::visuallyCollapsePreWrapOverflowContent):
(WebCore::Layout::Line::moveLogicalLeft):
(WebCore::Layout::Line::moveLogicalRight):
(WebCore::Layout::Line::append):
(WebCore::Layout::Line::appendPartialTrailingTextItem):
(WebCore::Layout::Line::appendWith):
(WebCore::Layout::Line::appendNonBreakableSpace):
(WebCore::Layout::Line::appendInlineContainerStart):
(WebCore::Layout::Line::appendInlineContainerEnd):
(WebCore::Layout::Line::appendTextContent):
(WebCore::Layout::Line::appendNonReplacedInlineBox):
(WebCore::Layout::Line::appendReplacedInlineBox):
(WebCore::Layout::Line::appendLineBreak):
(WebCore::Layout::Line::isRunVisuallyNonEmpty const):
(WebCore::Layout::Line::formattingContext const):
(WebCore::Layout::Line::TrimmableTrailingContent::TrimmableTrailingContent):
(WebCore::Layout::Line::TrimmableTrailingContent::addFullyTrimmableContent):
(WebCore::Layout::Line::TrimmableTrailingContent::addPartiallyTrimmableContent):
(WebCore::Layout::Line::TrimmableTrailingContent::remove):
(WebCore::Layout::Line::TrimmableTrailingContent::removePartiallyTrimmableContent):
(WebCore::Layout::Line::Run::Run):
(WebCore::Layout::Line::Run::expand):
(WebCore::Layout::Line::Run::hasTrailingLetterSpacing const):
(WebCore::Layout::Line::Run::trailingLetterSpacing const):
(WebCore::Layout::Line::Run::removeTrailingLetterSpacing):
(WebCore::Layout::Line::Run::removeTrailingWhitespace):
(WebCore::Layout::Line::Run::visuallyCollapseTrailingWhitespace):
(WebCore::Layout::Line::Run::setExpansionBehavior):
(WebCore::Layout::Line::Run::expansionBehavior const):
(WebCore::Layout::Line::Run::setHorizontalExpansion):
- layout/inlineformatting/InlineLine.h: Renamed from Source/WebCore/layout/inlineformatting/InlineLineBuilder.h.
(WebCore::Layout::Line::setHasIntrusiveFloat):
(WebCore::Layout::Line::hasIntrusiveFloat const):
(WebCore::Layout::Line::isVisuallyEmpty const):
(WebCore::Layout::Line::lineLogicalWidth const):
(WebCore::Layout::Line::contentLogicalWidth const):
(WebCore::Layout::Line::availableWidth const):
(WebCore::Layout::Line::trimmableTrailingWidth const):
(WebCore::Layout::Line::isTrailingRunFullyTrimmable const):
(WebCore::Layout::Line::Run::isText const):
(WebCore::Layout::Line::Run::isBox const):
(WebCore::Layout::Line::Run::isLineBreak const):
(WebCore::Layout::Line::Run::isContainerStart const):
(WebCore::Layout::Line::Run::isContainerEnd const):
(WebCore::Layout::Line::Run::layoutBox const):
(WebCore::Layout::Line::Run::style const):
(WebCore::Layout::Line::Run::textContent const):
(WebCore::Layout::Line::Run::logicalWidth const):
(WebCore::Layout::Line::Run::logicalLeft const):
(WebCore::Layout::Line::Run::logicalRight const):
(WebCore::Layout::Line::Run::expansion const):
(WebCore::Layout::Line::Run::hasExpansionOpportunity const):
(WebCore::Layout::Line::Run::expansionOpportunityCount const):
(WebCore::Layout::Line::Run::hasTrailingWhitespace const):
(WebCore::Layout::Line::Run::trailingWhitespaceWidth const):
(WebCore::Layout::Line::Run::moveHorizontally):
(WebCore::Layout::Line::Run::shrinkHorizontally):
(WebCore::Layout::Line::Run::setNeedsHyphen):
(WebCore::Layout::Line::Run::hasCollapsibleTrailingWhitespace const):
(WebCore::Layout::Line::Run::hasCollapsedTrailingWhitespace const):
(WebCore::Layout::Line::runs const):
(WebCore::Layout::Line::contentLogicalRight const):
(WebCore::Layout::Line::TrimmableTrailingContent::width const):
(WebCore::Layout::Line::TrimmableTrailingContent::isEmpty const):
(WebCore::Layout::Line::TrimmableTrailingContent::isTrailingRunFullyTrimmable const):
(WebCore::Layout::Line::TrimmableTrailingContent::isTrailingRunPartiallyTrimmable const):
(WebCore::Layout::Line::TrimmableTrailingContent::reset):
(WebCore::Layout::Line::Run::trailingWhitespaceType const):
- layout/inlineformatting/InlineLineBox.cpp:
(WebCore::Layout::collectHangingContent):
(WebCore::Layout::horizontalAlignmentOffset):
(WebCore::Layout::LineBox::LineBox):
(WebCore::Layout::LineBox::inlineRectForTextRun const):
(WebCore::Layout::LineBox::constructInlineBoxes):
- layout/inlineformatting/InlineLineBox.h:
- layout/inlineformatting/LineLayoutContext.cpp:
(WebCore::Layout::LineLayoutContext::layoutInlineContent):
(WebCore::Layout::LineLayoutContext::close):
(WebCore::Layout::LineLayoutContext::commitFloats):
(WebCore::Layout::LineLayoutContext::handleFloatsAndInlineContent):
(WebCore::Layout::LineLayoutContext::commitPartialContent):
(WebCore::Layout::LineLayoutContext::rebuildLine):
- layout/inlineformatting/LineLayoutContext.h:
- 5:58 AM Changeset in webkit [266602] by
-
- 24 edits34 adds in trunk/LayoutTests
[css-grid] Import grid tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=216147
LayoutTests/imported/w3c:
Import grid tests from WPT.
Reviewed by Carlos Alberto Lopez Perez.
- web-platform-tests/css/css-grid/alignment/grid-baseline-align-001-expected.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-baseline-align-001.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-baseline-justify-001-expected.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-baseline-justify-001.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-gutters-014-expected.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-gutters-014.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-1-expected.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-1.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-10-expected.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-10.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-2-expected.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-2.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-3-expected.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-3.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-4-expected.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-4.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-5-expected.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-5.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-6-expected.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-6.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-7-expected.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-7.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-8-expected.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-8.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-9-expected.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-9.html: Added.
- web-platform-tests/css/css-grid/alignment/w3c-import.log:
- web-platform-tests/css/css-grid/grid-definition/grid-auto-explicit-rows-001-expected.txt: Added.
- web-platform-tests/css/css-grid/grid-definition/grid-auto-explicit-rows-001.html: Added.
- web-platform-tests/css/css-grid/grid-definition/grid-auto-fill-columns-001-expected.txt:
- web-platform-tests/css/css-grid/grid-definition/grid-auto-fill-columns-001.html:
- web-platform-tests/css/css-grid/grid-definition/grid-auto-fill-rows-001-expected.txt:
- web-platform-tests/css/css-grid/grid-definition/grid-auto-fill-rows-001.html:
- web-platform-tests/css/css-grid/grid-definition/grid-auto-fit-rows-001-expected.txt:
- web-platform-tests/css/css-grid/grid-definition/grid-auto-fit-rows-001.html:
- web-platform-tests/css/css-grid/grid-definition/grid-template-columns-fit-content-001-expected.html:
- web-platform-tests/css/css-grid/grid-definition/grid-template-columns-fit-content-001.html:
- web-platform-tests/css/css-grid/grid-definition/grid-template-rows-fit-content-001-expected.html:
- web-platform-tests/css/css-grid/grid-definition/grid-template-rows-fit-content-001.html:
- web-platform-tests/css/css-grid/grid-definition/support/testing-utils.js:
(testGridTemplateColumnsRows):
- web-platform-tests/css/css-grid/grid-definition/w3c-import.log:
- web-platform-tests/css/css-grid/grid-items/grid-item-flex-container-001-expected.txt: Added.
- web-platform-tests/css/css-grid/grid-items/grid-item-flex-container-001.html: Added.
- web-platform-tests/css/css-grid/grid-items/w3c-import.log:
- web-platform-tests/css/css-grid/grid-model/grid-gutters-and-tracks-001.html:
- web-platform-tests/css/css-grid/layout-algorithm/flex-and-intrinsic-sizes-002-expected.xht: Added.
- web-platform-tests/css/css-grid/layout-algorithm/flex-and-intrinsic-sizes-002.html: Added.
- web-platform-tests/css/css-grid/layout-algorithm/grid-flex-track-intrinsic-sizes-003-expected.txt:
- web-platform-tests/css/css-grid/layout-algorithm/grid-flex-track-intrinsic-sizes-003.html:
- web-platform-tests/css/css-grid/layout-algorithm/w3c-import.log:
- web-platform-tests/css/css-grid/parsing/grid-template-areas-invalid-expected.txt:
- web-platform-tests/css/css-grid/parsing/grid-template-areas-invalid.html:
- web-platform-tests/css/css-grid/parsing/grid-template-areas-one-cell-expected.txt: Added.
- web-platform-tests/css/css-grid/parsing/grid-template-areas-one-cell.html: Added.
- web-platform-tests/css/css-grid/parsing/w3c-import.log:
LayoutTests:
Reviewed by Carlos Alberto Lopez Perez.
Mark some new tests as failing.
- 5:57 AM Changeset in webkit [266601] by
-
- 2 edits in trunk
Unreviewed. [WPE] Bump version numbers
- Source/cmake/OptionsWPE.cmake:
- 5:38 AM Changeset in webkit [266600] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] Horizontal alignment should move the inline boxes and not the line box
https://bugs.webkit.org/show_bug.cgi?id=216153
Reviewed by Antti Koivisto.
When the "text-align" property triggers horizontal alignment, the line content (inline boxes and runs) should
be moved horizontally while the line box should stay at the initial top/left position.
This patch is also a preparation for making the LineBox more aligned with the spec.
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):
- layout/inlineformatting/InlineLineBox.cpp:
(WebCore::Layout::m_inlineFormattingContext):
(WebCore::Layout::LineBox::inlineRectForTextRun const):
(WebCore::Layout::LineBox::constructInlineBoxes):
- layout/inlineformatting/InlineLineBox.h:
(WebCore::Layout::LineBox::horizontalAlignmentOffset const):
- 5:25 AM Changeset in webkit [266599] by
-
- 2 edits in trunk
Unreviewed. [GTK] Bump version numbers
- Source/cmake/OptionsGTK.cmake:
- 5:12 AM Changeset in webkit [266598] by
-
- 1 copy in releases/WebKitGTK/webkit-2.29.92
WebKitGTK 2.29.92
- 5:12 AM Changeset in webkit [266597] by
-
- 4 edits in releases/WebKitGTK/webkit-2.30
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.29.92 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.29.92.
- 4:16 AM Changeset in webkit [266596] by
-
- 6 edits in releases/WebKitGTK/webkit-2.30
Merge r266584 - [GLIB] Stop using firefox user agent quirk for google docs
https://bugs.webkit.org/show_bug.cgi?id=215845
Reviewed by Adrian Perez de Castro.
Source/WebCore:
It causes problems with the CSP headers when accounts.youtube.com is used by google login and it no longer works
for google docs in any case.
- platform/UserAgentQuirks.cpp:
(WebCore::isGoogle):
(WebCore::urlRequiresFirefoxBrowser):
Tools:
Update API tests. Bring back UserAgentQuirks.cpp to the build that was removed in r244857.
- TestWebKitAPI/PlatformGTK.cmake:
- TestWebKitAPI/PlatformWPE.cmake:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
- 4:16 AM Changeset in webkit [266595] by
-
- 4 edits in releases/WebKitGTK/webkit-2.30
Merge r266297 - [WPE] Enable Notifications support
https://bugs.webkit.org/show_bug.cgi?id=215924
Reviewed by Philippe Normand.
.:
Enable web notifications support for the WPE port. The code is shared with the GTK
port, but as we do not try to find and enable libnotify the default implementation
is a stub: embedders can customize how to display notifications by connecting to
the WebKitWebView:show-notification signal. This way we do not add any additional
build dependencies.
- Source/cmake/OptionsWPE.cmake: Flip ENABLE_NOTIFICATIONS to ON.
LayoutTests:
- platform/wpe/TestExpectations: Update test expectations.
- 4:16 AM Changeset in webkit [266594] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/JavaScriptCore
Merge r266577 - Unreviewed. [GLIB] Add missing return
There's no change in behavior because jsObjectCall() returns undefined in case of failure, but fixes a memory leak.
- API/glib/JSCValue.cpp:
(jsc_value_object_invoke_methodv):
- 4:16 AM Changeset in webkit [266593] by
-
- 14 edits in releases/WebKitGTK/webkit-2.30
Merge r266576 - [GTK] Unexpected User-Agent on redirect
https://bugs.webkit.org/show_bug.cgi?id=191858
Reviewed by Youenn Fablet.
Source/WebKit:
Clear the user agent on new request after a redirect to ensure a new one is computed taking into account the
quirks if needed. Also ensure quirks are applied for downloads started in the UI process.
- NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::continueHTTPRedirection): Clear the user agent on new request.
- UIProcess/API/glib/WebKitDownloadClient.cpp:
- UIProcess/WebPageProxy.h: Add userAgentForURL().
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::download): Use userAgentForURL() instead of userAgent().
- UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::userAgentForURL): Implement it to apply quirks if needed.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::userAgentForURL): Just return the web page user agent.
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::userAgentForURL): Ditto.
- UIProcess/playstation/WebPageProxyPlayStation.cpp:
(WebKit::WebPageProxy::userAgentForURL): Ditto.
- UIProcess/win/WebPageProxyWin.cpp:
(WebKit::WebPageProxy::userAgentForURL): Ditto.
- UIProcess/wpe/WebPageProxyWPE.cpp:
(WebKit::WebPageProxy::userAgentForURL): Ditto.
Tools:
Add unit tests to check the user agent is sent in headers and preserved after a redirect for both main resource
and subresources.
- TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
(serverCallback):
(testDownloadUserAgent):
(beforeAll):
- TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
(testUserAgent):
(serverCallback):
(beforeAll):
- 4:16 AM Changeset in webkit [266592] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebKit
Merge r266389 - [GTK][WPE] Do not use the default WebsiteDataStore for downloads
https://bugs.webkit.org/show_bug.cgi?id=216001
Reviewed by Adrian Perez de Castro.
Use the web context one instead.
- UIProcess/API/glib/WebKitWebContext.cpp:
(webkitWebContextStartDownload):
- 4:16 AM Changeset in webkit [266591] by
-
- 8 edits in releases/WebKitGTK/webkit-2.30
Merge r266000 - [GTK][WPE] Debug crashes in backdrop filter tests
https://bugs.webkit.org/show_bug.cgi?id=215209
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2020-08-20
Reviewed by Adrian Perez de Castro.
Source/WebCore:
This only happens in WKTR because RenderLayerCompositor::flushPendingLayerChanges() is called from
RenderLayerCompositor::layerTreeAsText(), so the coordinator doesn't know layers are being flushed and we don't
return early from notifyFlushRequired(). We don't really need to have a coordinator associated to the backdrop
layer, we just need to attach the layer to the coordinator to ensure it's updated.
- platform/graphics/nicosia/NicosiaAnimation.cpp:
(Nicosia::Animation::applyInternal): Handle AnimatedPropertyWebkitBackdropFilter.
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer): Detach also the backdrop layer.
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly): Attach the backdrop layer to the
coordinator if there's one.
(WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers): Do not call this for the
backdrop layer.
(WebCore::CoordinatedGraphicsLayer::invalidateCoordinator): Set coordinator to nullptr.
(WebCore::CoordinatedGraphicsLayer::setCoordinatorIncludingSubLayersIfNeeded): Set the coordinator and attach
the layer. Also attach the backdrop layer.
(WebCore::CoordinatedGraphicsLayer::setCoordinator): Deleted.
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
Source/WebKit:
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::CompositingCoordinator::~CompositingCoordinator): Use invalidateCoordinator() instead of setCoordinator()
that has been removed.
(WebKit::CompositingCoordinator::createGraphicsLayer): Use setCoordinatorIncludingSubLayersIfNeeded() instead of
attaching the layer directly.
(WebKit::CompositingCoordinator::attachLayer): Do not call setCoordinator(), the caller is expected to set the
coordinator.
LayoutTests:
Remove expectations for tests that are now passing.
- platform/glib/TestExpectations:
- 4:16 AM Changeset in webkit [266590] by
-
- 12 edits in releases/WebKitGTK/webkit-2.30/Source
Merge r266388 - [Linux] Web Inspector: show per thread cpu usage
https://bugs.webkit.org/show_bug.cgi?id=215883
Reviewed by Adrian Perez de Castro.
Source/JavaScriptCore:
Remove platform specific getter machThread() and add thread() to return the Thread instead. The caller knows how
to get the machThread or id from a Thread.
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::reportTopBytecodes):
(JSC::SamplingProfiler::machThread): Deleted.
- runtime/SamplingProfiler.h:
(JSC::SamplingProfiler::thread):
Source/WebCore:
Get per thread CPU usage and information to fill ResourceUsageData in Linux.
- page/ResourceUsageThread.h:
- page/cocoa/ResourceUsageThreadCocoa.mm:
(WebCore::ResourceUsageThread::platformSaveStateBeforeStarting): Update to new API in SamplingProfiler.
- page/linux/ResourceUsageThreadLinux.cpp:
(WebCore::ResourceUsageThread::platformSaveStateBeforeStarting): Initialize m_samplingProfilerThreadID.
(WebCore::threadInfoMap):
(WebCore::threadCPUUsage):
(WebCore::collectCPUUsage):
(WebCore::ResourceUsageThread::platformCollectCPUData):
(WebCore::cpuUsage): Deleted.
Source/WTF:
Add API to get the thread ID in Linux platform.
- wtf/Threading.cpp:
(WTF::Thread::initializeInThread):
- wtf/Threading.h:
(WTF::Thread::id const):
- wtf/ThreadingPrimitives.h:
- wtf/posix/ThreadingPOSIX.cpp:
(WTF::Thread::currentID):
- 4:16 AM Changeset in webkit [266589] by
-
- 12 edits in releases/WebKitGTK/webkit-2.30/Source
Merge r266227 - [GTK] Include the run loop source name in frame rendering timeline
https://bugs.webkit.org/show_bug.cgi?id=215847
Reviewed by Adrian Perez de Castro.
Source/WebCore:
Include the given name in rendering frame record data.
- inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createRenderingFrameData):
- inspector/TimelineRecordFactory.h:
- inspector/agents/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::internalStart):
Source/WebInspectorUI:
Show the frame name if present in timeline panel.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Controllers/TimelineManager.js:
(WI.TimelineManager.prototype._processRecord):
- UserInterface/Models/RenderingFrameTimelineRecord.js:
(WI.RenderingFrameTimelineRecord):
(WI.RenderingFrameTimelineRecord.prototype.get name):
- UserInterface/Views/TimelineTabContentView.js:
(WI.TimelineTabContentView.displayNameForRecord):
Source/WTF:
Pass the run loop source name to the observer.
- wtf/RunLoop.h:
- wtf/glib/RunLoopGLib.cpp:
(WTF::RunLoop::RunLoop):
(WTF::RunLoop::notify):
- 4:16 AM WebKitGTK/2.30.x edited by
- (diff)
- 4:16 AM Changeset in webkit [266588] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WTF
Merge r266331 - [GTK] REGRESSION(r150392) insufficient space allocation results in heap corruption
https://bugs.webkit.org/show_bug.cgi?id=215976
Patch by Jim Mason <jmason@ibinx.com> on 2020-08-30
Reviewed by Carlos Garcia Campos.
- wtf/glib/RunLoopGLib.cpp:
(WTF::RunLoop::TimerBase::TimerBase):
- 4:15 AM Changeset in webkit [266587] by
-
- 6 edits in releases/WebKitGTK/webkit-2.30/Source
Merge r266103 - [GTK] Implement rendering frames timeline panel for GTK+ port
https://bugs.webkit.org/show_bug.cgi?id=150392
<rdar://problem/23200510>
Reviewed by Brian Burg.
Source/WebCore:
Use new RunLoop API to observe the run loop events when the GLib event loop is used.
- inspector/agents/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::internalStart):
(WebCore::InspectorTimelineAgent::internalStop):
- inspector/agents/InspectorTimelineAgent.h:
Source/WTF:
Add API to observe RunLoop events for GLib event loop implementation.
- wtf/RunLoop.h:
- wtf/glib/RunLoopGLib.cpp:
(WTF::RunLoop::RunLoop): Use RunLoopSource struct and initialize the RunLoop.
(WTF::RunLoop::observe): Add the given observer to the set.
(WTF::RunLoop::notify): Notife observers of the given event.
(WTF::RunLoop::TimerBase::TimerBase): Use RunLoopSource struct and initialize the RunLoop.
- 4:15 AM Changeset in webkit [266586] by
-
- 5 edits in releases/WebKitGTK/webkit-2.30
Merge r265940 - REGRESSION(r265856) [GTK][WPE] hybi websockets tests failing
https://bugs.webkit.org/show_bug.cgi?id=215679
Reviewed by Carlos Garcia Campos.
Source/WebKit:
r265856 changed WebSocketChannel to expect AbnormalClosure when the
closing handshake is not received.
Covered by existing tests.
- NetworkProcess/soup/WebSocketTaskSoup.cpp:
(WebKit::WebSocketTask::didFail):
LayoutTests:
Rebaseline and update expectations.
- platform/glib/TestExpectations:
- platform/glib/http/tests/websocket/tests/hybi/close-code-and-reason-expected.txt:
- platform/glib/http/tests/websocket/tests/hybi/workers/close-code-and-reason-expected.txt:
- 4:15 AM Changeset in webkit [266585] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebKit
Merge r265856 - WebSocketChannel::didClose should correctly compute whether a closing handshake was received
https://bugs.webkit.org/show_bug.cgi?id=215644
Reviewed by Darin Adler.
Covered by LayoutTests/http/tests/websocket/tests/hybi/close-code-and-reason.html with NSURLSession code path enabled.
- WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::didClose):
As noted by Jiten Mehta, absence of closing handshake from the server is notified by WebSocketChannel::CloseEventCodeAbnormalClosure.
Update check accordingly.
- 4:14 AM Changeset in webkit [266584] by
-
- 6 edits in trunk
[GLIB] Stop using firefox user agent quirk for google docs
https://bugs.webkit.org/show_bug.cgi?id=215845
Reviewed by Adrian Perez de Castro.
Source/WebCore:
It causes problems with the CSP headers when accounts.youtube.com is used by google login and it no longer works
for google docs in any case.
- platform/UserAgentQuirks.cpp:
(WebCore::isGoogle):
(WebCore::urlRequiresFirefoxBrowser):
Tools:
Update API tests. Bring back UserAgentQuirks.cpp to the build that was removed in r244857.
- TestWebKitAPI/PlatformGTK.cmake:
- TestWebKitAPI/PlatformWPE.cmake:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
- 1:31 AM Changeset in webkit [266583] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Update test expectations after r266559.
- platform/glib/TestExpectations:
- 1:23 AM Changeset in webkit [266582] by
-
- 3 edits1 delete in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Update baselines after r266528.
- platform/glib/imported/w3c/web-platform-tests/encoding/single-byte-decoder-expected.txt: Removed.
- platform/glib/imported/w3c/web-platform-tests/encoding/textdecoder-fatal-single-byte.any-expected.txt:
- platform/glib/imported/w3c/web-platform-tests/encoding/textdecoder-fatal-single-byte.any.worker-expected.txt:
- 1:05 AM Changeset in webkit [266581] by
-
- 4 edits in trunk
Array.prototype.push should always perform Set in strict mode
https://bugs.webkit.org/show_bug.cgi?id=216121
Reviewed by Darin Adler.
JSTests:
- test262/expectations.yaml: Mark 2 test cases as passing.
Source/JavaScriptCore:
This patch fixes arrayProtoFuncPush() to throw a TypeError if putting an
index beyond UINT32_MAX has failed, aligning JSC with the spec [1], V8,
and SpiderMonkey. Also, refactors the method leveraging putByIndexInline().
Array.prototype.push microbenchmarks, including varargs tests, are neutral.
[1]: https://tc39.es/ecma262/#sec-array.prototype.push (step 5.b)
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncPush):
- 12:02 AM Changeset in webkit [266580] by
-
- 2 edits in trunk/Tools
Update James Darpinian's status to committer
https://bugs.webkit.org/show_bug.cgi?id=216154
Reviewed by Kenneth Russell.
- Scripts/webkitpy/common/config/contributors.json: