Timeline



Jan 7, 2020:

11:59 PM Changeset in webkit [254189] by sbarati@apple.com
  • 2 edits in trunk/Tools

run-jsc should not print "... I should not be here ..." when it doesn't get killed when sending a signal to itself
https://bugs.webkit.org/show_bug.cgi?id=205907

Reviewed by Ross Kirsling.

In r253024, I added code that would try to make run-jsc exit with the same
signal that the actual jsc binary exitted with. This made it so crashes and
in the jsc process would look like equivalent crashes in run-jsc process.
Not thinking of non terminating signals, I added code like this:
`
system("kill -" . $signal . " " . $PID);
print STDERR "\n... I should not be here ...\n";
`

However, this print will happen for totally legitimate reasons, like when
you Ctrl+C from the REPL when using run-jsc. This patch removes this print.

  • Scripts/run-jsc:
11:23 PM Changeset in webkit [254188] by sbarati@apple.com
  • 3 edits
    2 adds in trunk

AI rule for ValueMod/ValueDiv produce constants with the wrong format when the result can be an int32
https://bugs.webkit.org/show_bug.cgi?id=205906
<rdar://problem/56108519>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/ai-value-div-should-result-in-constant-int-where-possible.js: Added.

(foo.bar.f):
(foo.):
(foo):

  • stress/ai-value-mod-should-result-in-constant-int-where-possible.js: Added.

(foo.bar.f):
(foo.):
(foo):

Source/JavaScriptCore:

The runtime code for ValueMod and ValueDiv produces an int32 when the result
is of int32 value. However, the AI was saying the result is in double format.
This patch fixes AI to produce a JSValue in the right format.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::handleConstantDivOp):

10:40 PM Changeset in webkit [254187] by commit-queue@webkit.org
  • 32 edits
    6 adds in trunk

Implement css3-images image-orientation
https://bugs.webkit.org/show_bug.cgi?id=89052

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-01-07
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-images/inheritance-expected.txt:
  • web-platform-tests/css/css-images/inheritance.html:

This test is re-synced from upstream

  • web-platform-tests/css/css-images/parsing/image-orientation-computed-expected.txt:
  • web-platform-tests/css/css-images/parsing/image-orientation-valid-expected.txt:

Source/JavaScriptCore:

Remove the ENABLE_CSS_IMAGE_ORIENTATION feature flag.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Implement the CSS image-orientation property for content images. The valid
values are "from-image" or "none". The default value is "from-image".

Specification: https://drafts.csswg.org/css-images-3/#the-image-orientation
GitHub issue: https://github.com/w3c/csswg-drafts/issues/4164

Tests: fast/images/image-orientation-dynamic-from-image.html

fast/images/image-orientation-dynamic-none.html
fast/images/image-orientation-none.html

  • Configurations/FeatureDefines.xcconfig:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator ImageOrientation const): Deleted.

  • css/CSSProperties.json:
  • css/CSSValueKeywords.in:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeImageOrientation):
(WebCore::CSSPropertyParser::parseSingleValue):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::imageOrientation const):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::styleDidChange):

  • rendering/style/RenderStyle.cpp:

(WebCore::rareInheritedDataChangeRequiresLayout):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::setImageOrientation):
(WebCore::RenderStyle::initialImageOrientation):
(WebCore::RenderStyle::imageOrientation const):

  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):

  • rendering/style/StyleRareInheritedData.h:
  • style/StyleBuilderConverter.h:

(WebCore::Style::BuilderConverter::convertImageOrientation):

Source/WebCore/PAL:

Remove the ENABLE_CSS_IMAGE_ORIENTATION feature flag.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

Remove the ENABLE_CSS_IMAGE_ORIENTATION feature flag.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

Remove the ENABLE_CSS_IMAGE_ORIENTATION feature flag.

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

Remove the ENABLE_CSS_IMAGE_ORIENTATION feature flag.

  • wtf/FeatureDefines.h:

Tools:

Remove the ENABLE_CSS_IMAGE_ORIENTATION feature flag.

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

Test the css image-orientation property.

  • fast/images/image-orientation-dynamic-from-image-expected.html: Added.
  • fast/images/image-orientation-dynamic-from-image.html: Added.
  • fast/images/image-orientation-dynamic-none-expected.html: Added.
  • fast/images/image-orientation-dynamic-none.html: Added.
  • fast/images/image-orientation-none-expected.html: Added.
  • fast/images/image-orientation-none.html: Added.
9:02 PM Changeset in webkit [254186] by Devin Rousso
  • 17 edits in trunk/Source

Web Inspector: unable to edit or view the source of style sheets injected by safari app extensions
https://bugs.webkit.org/show_bug.cgi?id=205900
<rdar://problem/57898773>

Reviewed by Timothy Hatcher.

Remove the restrictions around CSS.StyleSheetOrigin.User style sheets, thereby allowing
Web Inspector to get the source information that is necessary to show the "resource" in the
Sources Tab.

Source/WebCore:

  • dom/ExtensionStyleSheets.h:
  • dom/ExtensionStyleSheets.cpp:

(WebCore::ExtensionStyleSheets::updateInjectedStyleSheetCache const):
(WebCore::ExtensionStyleSheets::contentForInjectedStyleSheet const): Added.
Save a copy of the string source of any injected style sheet and provide a way to get it for
any given CSSStyleSheet.

  • style/StyleScope.cpp:

(WebCore::Style::Scope::activeStyleSheetsForInspector):

  • style/InspectorCSSOMWrappers.cpp:

(WebCore::Style::InspectorCSSOMWrappers::collectDocumentWrappers):
Include all types of extension style sheets when collecting active rules and style sheets
for Web Inspector to instrument.

  • inspector/InspectorStyleSheet.cpp:
  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::originalStyleSheetText const):
(WebCore::InspectorStyleSheet::resourceStyleSheetText const):
(WebCore::InspectorStyleSheet::inlineStyleSheetText const):
(WebCore::InspectorStyleSheet::extensionStyleSheetText const): Added.

Source/WebInspectorUI:

  • UserInterface/Models/CSSStyleSheet.js:

(WI.CSSStyleSheet.prototype.get displayName):
(WI.CSSStyleSheet.prototype.get injected): Added.
(WI.CSSStyleSheet.prototype.get anonymous): Added.

  • UserInterface/Models/DOMNodeStyles.js:

(WI.DOMNodeStyles.prototype._parseRulePayload):

  • UserInterface/Models/CSSRule.js:

(WI.CSSRule):
(WI.CSSRule.prototype.get editable):
(WI.CSSRule.prototype._selectorResolved):
Attempt to create a source code location for any style sheet with a source range, not just
for the Inspector Style Sheet.

  • UserInterface/Views/CSSStyleSheetTreeElement.js:

(WI.CSSStyleSheetTreeElement):
Instead of hardcoding "Inspector Style Sheet", use the associated WI.CSSStyleSheet's info.

  • UserInterface/Views/FrameTreeElement.js:

(WI.FrameTreeElement):
(WI.FrameTreeElement.prototype.onattach):
(WI.FrameTreeElement.prototype.ondetach):
(WI.FrameTreeElement.prototype._styleSheetAdded):
(WI.FrameTreeElement.prototype._styleSheetRemoved): Added.
Ensure that only non-injected non-anonymous style sheets are shown under frames.

  • UserInterface/Views/SourcesNavigationSidebarPanel.js:

(WI.SourcesNavigationSidebarPanel):
(WI.SourcesNavigationSidebarPanel.prototype._compareTreeElements):
(WI.SourcesNavigationSidebarPanel.prototype._addResource):
(WI.SourcesNavigationSidebarPanel.prototype._addStyleSheet): Added.
(WI.SourcesNavigationSidebarPanel.prototype._handleResourceGroupingModeChanged):
(WI.SourcesNavigationSidebarPanel.prototype._handleCSSStyleSheetAdded): Added.
(WI.SourcesNavigationSidebarPanel.prototype._handleCSSStyleSheetRemoved): Added.
Add "Extension Style Sheets", "Extra Style Sheets", and "Anonymous Style Sheets" folders,
just like for scripts, with a similar logic as to when style sheets are added to each.

  • UserInterface/Views/OpenResourceDialog.js:

(WI.OpenResourceDialog):
(WI.OpenResourceDialog.prototype.representedObjectIsValid): Added.
(WI.OpenResourceDialog.prototype._populateResourceTreeOutline):
(WI.OpenResourceDialog.prototype._populateResourceTreeOutline.createTreeElement):
(WI.OpenResourceDialog.prototype.didDismissDialog):
(WI.OpenResourceDialog.prototype.didPresentDialog):
(WI.OpenResourceDialog.prototype._removeResource): Added.
(WI.OpenResourceDialog.prototype._resourceWasRemoved): Added.
(WI.OpenResourceDialog.prototype._scriptAdded):
(WI.OpenResourceDialog.prototype._scriptRemoved): Added.
(WI.OpenResourceDialog.prototype._handleStyleSheetAdded): Added.
(WI.OpenResourceDialog.prototype._handleStyleSheetRemoved): Added.
Add any non-injected non-anonymous style sheets when populating the list of resources.
Drive-by: remove listings for any resources that are removed from the inspected page.

  • UserInterface/Views/ResourceTreeElement.js:

(WI.ResourceTreeElement.compareResourceTreeElements):
(WI.ResourceTreeElement.compareResourceTreeElements.resolvedType): Added.
Support comparisons against non-resource tree elements.

  • Localizations/en.lproj/localizedStrings.js:
8:03 PM Changeset in webkit [254185] by Fujii Hironori
  • 3 edits in trunk/LayoutTests

[GTK] fast/text/atsui-rtl-override-selection.html is failing since r254114
https://bugs.webkit.org/show_bug.cgi?id=205898

Unreviewed test gardening.

Patch by Fujii Hironori <fujii.hironori@gmail.com> on 2020-01-07

  • platform/gtk/fast/text/atsui-rtl-override-selection-expected.png:
  • platform/gtk/fast/text/atsui-rtl-override-selection-expected.txt:
6:34 PM Changeset in webkit [254184] by Fujii Hironori
  • 26 edits in trunk/LayoutTests

Unreviewed test gardening for GTK port after r252598.

  • platform/gtk/compositing/images/direct-image-background-color-expected.txt:
  • platform/gtk/compositing/webgl/webgl-background-color-expected.txt:
  • platform/gtk/fast/backgrounds/background-leakage-expected.txt:
  • platform/gtk/fast/backgrounds/background-leakage-transforms-expected.txt:
  • platform/gtk/fast/block/float/intruding-painted-twice-expected.txt:
  • platform/gtk/fast/borders/mixed-border-styles-expected.txt:
  • platform/gtk/fast/borders/mixed-border-styles-radius-expected.txt:
  • platform/gtk/fast/borders/mixed-border-styles-radius2-expected.txt:
  • platform/gtk/fast/box-shadow/inset-box-shadow-radius-expected.txt:
  • platform/gtk/fast/css/percentage-non-integer-expected.txt:
  • platform/gtk/fast/css/shadow-multiple-expected.txt:
  • platform/gtk/fast/css/viewport-units-dynamic-expected.txt:
  • platform/gtk/fast/multicol/client-rects-expected.txt:
  • platform/gtk/fast/multicol/client-rects-spanners-complex-expected.txt:
  • platform/gtk/fast/multicol/client-rects-spanners-expected.txt:
  • platform/gtk/fast/multicol/newmulticol/client-rects-expected.txt:
  • platform/gtk/fast/overflow/float-in-relpositioned-expected.txt:
  • platform/gtk/fast/ruby/select-ruby-expected.txt:
  • platform/gtk/fast/table/border-collapsing/equal-precedence-resolution-expected.txt:
  • platform/gtk/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.txt:
  • platform/gtk/fast/text/shadow-no-blur-expected.txt:
  • platform/gtk/fast/text/shadow-translucent-fill-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/import/color-prop-02-f-manual-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/import/color-prop-03-t-manual-expected.txt:
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt:
6:20 PM Changeset in webkit [254183] by achristensen@apple.com
  • 24 edits
    5 adds in trunk

Introduce _WKResourceLoadDelegate
https://bugs.webkit.org/show_bug.cgi?id=205887

Reviewed by Dean Jackson.

Source/WebCore:

  • page/Page.h:

(WebCore::Page::setHasResourceLoadClient):
(WebCore::Page::hasResourceLoadClient const):

Source/WebKit:

Add a new delegate that will be informed about main and subresource requests.
This is distinct from the WKNavigationDelegate, which primarily receives callbacks about main resource requests.
Because the IPC churn can be a significant performance reduction, only send the IPC messages if the page has such a client.
This client will need to be expanded to implement <rdar://problem/57132290> but this is a minimal testable start.
The simple case is covered by an API test.

  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):

  • NetworkProcess/NetworkResourceLoadParameters.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::startNetworkLoad):

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • SourcesCocoa.txt:
  • UIProcess/API/APIResourceLoadClient.h: Added.
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView _resourceLoadDelegate]):
(-[WKWebView _setResourceLoadDelegate:]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/_WKResourceLoadDelegate.h: Added.
  • UIProcess/Cocoa/ResourceLoadDelegate.h: Added.
  • UIProcess/Cocoa/ResourceLoadDelegate.mm: Added.

(WebKit::ResourceLoadDelegate::ResourceLoadDelegate):
(WebKit::ResourceLoadDelegate::createResourceLoadClient):
(WebKit::ResourceLoadDelegate::delegate):
(WebKit::ResourceLoadDelegate::setDelegate):
(WebKit::ResourceLoadDelegate::ResourceLoadClient::ResourceLoadClient):
(WebKit::ResourceLoadDelegate::ResourceLoadClient::willSendRequest const):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::pageWillSendRequest):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.messages.in:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setResourceLoadClient):

  • UIProcess/WebPageProxy.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_overriddenMediaType):
(WebKit::WebPage::setHasResourceLoadClient):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm: Added.

(-[TestResourceLoadDelegate webView:willSendRequest:]):
(TEST):

6:08 PM Changeset in webkit [254182] by Chris Dumez
  • 37 edits in trunk

Remove document.origin
https://bugs.webkit.org/show_bug.cgi?id=205681

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Merge upstream changes from:

  • web-platform-tests/dom/historical-expected.txt:
  • web-platform-tests/dom/historical.html:
  • web-platform-tests/dom/nodes/Document-constructor-svg.svg:
  • web-platform-tests/dom/nodes/Document-constructor-xml.xml:
  • web-platform-tests/dom/nodes/Document-constructor.html:
  • web-platform-tests/dom/nodes/Node-cloneNode.html:
  • web-platform-tests/html/browsers/windows/browsing-context.html:
  • web-platform-tests/html/dom/usvstring-reflection.https.html:

Source/WebCore:

Remove document.origin, which was replaced by self.origin as per:

Gecko has never supported this and Blink has already dropped support for it.

No new tests, updated existing tests.

  • dom/Document.cpp:

(WebCore::Document::origin const): Deleted.

  • dom/Document.h:
  • dom/Document.idl:
  • dom/ScriptExecutionContext.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::printAccessDeniedMessage const):

  • workers/WorkerGlobalScope.h:
  • worklets/WorkletGlobalScope.cpp:

(WebCore::WorkletGlobalScope::origin const): Deleted.

  • worklets/WorkletGlobalScope.h:

Source/WebKitLegacy/mac:

  • DOM/DOMDocument.mm:

(-[DOMDocument origin]):

LayoutTests:

  • fast/dom/Document/document-constructor-expected.txt:
  • fast/dom/Document/document-constructor.html:
  • fast/dom/domparser-parsefromstring-origin-expected.txt:
  • fast/dom/domparser-parsefromstring-origin.html:
5:55 PM Changeset in webkit [254181] by keith_miller@apple.com
  • 10 edits in trunk

Add a testing target to make that is release + assertions
https://bugs.webkit.org/show_bug.cgi?id=205895

Reviewed by Mark Lam.

  • Makefile:

.:

  • Makefile.shared:
  • Source/Makefile:
5:44 PM Changeset in webkit [254180] by Kate Cheney
  • 8 edits
    1 add in trunk

Create a mechanism for 'safe by default' web views
https://bugs.webkit.org/show_bug.cgi?id=205407
<rdar://problem/58053071>

Reviewed by Alex Christensen.

Source/WebKit:

Adds common cases to be used as the basis for 'safe by default' web views.
The cases are in the form of an NS_ENUM _WKWebViewCategory and
its equivalent C++ enum WebViewCategory. The conversion between
these happens in WKWebViewConfiguration.mm.

  • Shared/WebViewCategory.h: Added.
  • UIProcess/API/APIPageConfiguration.cpp:

(API::PageConfiguration::copy const):

  • UIProcess/API/APIPageConfiguration.h:

(API::PageConfiguration::webViewCategory const):
(API::PageConfiguration::setWebViewCategory):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(convertToAPIWebViewCategory):
(convertFromAPIWebViewCategory):
(-[WKWebViewConfiguration _webViewCategory]):
(-[WKWebViewConfiguration _setWebViewCategory:]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • WebKit.xcodeproj/project.pbxproj:

Tools:

Test the default WebView category is correct and that the setter works
properly.

  • TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm:

(TEST):

5:31 PM Changeset in webkit [254179] by Keith Rollin
  • 2 edits in trunk/Source/WebCore

Reformat FrameLoader logging
https://bugs.webkit.org/show_bug.cgi?id=205884
<rdar://problem/58387123>

Reviewed by Brent Fulgham.

Update the format used by FrameLoader in its RELEASE_LOG logging. Use
the format used by WebPageProxy and NetworkResourceLoader, which is
generally of the form:

<object-address> - [<values that help thread together operations>] <class>::<method>: <message and other useful values>

So, for example:

0x4aa2df000 - FrameLoader::allAllLoaders: Clearing provisional document loader (frame = 0x4a8ad3550, main = 0 m_provisionalDocumentLoader=0x0)

becomes:

0x465fb61a0 - [frame=0x465c98a20, main=0] FrameLoader::stopAllLoaders: Clearing provisional document loader (m_provisionalDocumentLoader=0x0)

No new tests -- no new or changed functionality.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::finishedParsing):
(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::loadArchive):
(WebCore::FrameLoader::loadInSameDocument):
(WebCore::FrameLoader::prepareForLoadStart):
(WebCore::FrameLoader::setupForReplace):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadWithNavigationAction):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::clearProvisionalLoadForPolicyCheck):
(WebCore::FrameLoader::reloadWithOverrideEncoding):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::stopAllLoaders):
(WebCore::FrameLoader::stopForBackForwardCache):
(WebCore::FrameLoader::setProvisionalDocumentLoader):
(WebCore::FrameLoader::setState):
(WebCore::FrameLoader::clearProvisionalLoad):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::loadDifferentDocumentItem):
(WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad):

5:07 PM Changeset in webkit [254178] by Chris Dumez
  • 10 edits
    4 adds in trunk

Using Web Share API preceded by an AJAX call
https://bugs.webkit.org/show_bug.cgi?id=197779
<rdar://problem/50708309>

Reviewed by Dean Jackson.

Source/WebCore:

As per the Web Share specification, navigator.share() is supposed to reject the promise with a
"NotAllowedError" DOMException if the relevant global object of this does not have transient
activation [1]. However, our implementation was stricter and would reject the promise if we
are not currently processing a user-gesture. This behavior did not match Chrome and does not
appear to be Web compatible.

To address the issue, this patch introduces the concept of transient activation [2] in WebKit
and uses it in navigator.share() to match the specification more closely. Note that we are
still a bit stricter than the specification because calling navigator.share() will currently
"consume the activation" [3] to prevent the JS from presenting the share sheet more than once
based on a single activation. However, our new behavior is still more permissive and more aligned
with Chrome.

[1] https://w3c.github.io/web-share/#dom-navigator-share
[2] https://html.spec.whatwg.org/multipage/interaction.html#transient-activation
[3] https://html.spec.whatwg.org/multipage/interaction.html#consume-user-activation

Tests: fast/web-share/share-transient-activation-expired.html

fast/web-share/share-transient-activation.html

  • dom/UserGestureIndicator.cpp:
  • dom/UserGestureIndicator.h:

(WebCore::UserGestureToken::startTime const):

  • page/DOMWindow.cpp:

(WebCore::transientActivationDurationOverrideForTesting):
(WebCore::transientActivationDuration):
(WebCore::DOMWindow::origin const):
(WebCore::DOMWindow::securityOrigin const):
(WebCore::DOMWindow::overrideTransientActivationDurationForTesting):
(WebCore::DOMWindow::hasTransientActivation const):
(WebCore::DOMWindow::consumeTransientActivation):
(WebCore::DOMWindow::notifyActivated):

  • page/DOMWindow.h:
  • page/Navigator.cpp:

(WebCore::Navigator::share):

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setTransientActivationDuration):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

Add layout test coverage.

  • fast/web-share/share-transient-activation-expected.txt: Added.
  • fast/web-share/share-transient-activation-expired-expected.txt: Added.
  • fast/web-share/share-transient-activation-expired.html: Added.
  • fast/web-share/share-transient-activation.html: Added.
4:54 PM Changeset in webkit [254177] by Simon Fraser
  • 8 edits in trunk/Source

Add some more Animations logging
https://bugs.webkit.org/show_bug.cgi?id=205890

Reviewed by Dean Jackson.

Source/WebCore:

Add Animations logging to various WebAnimations entry points.

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::getAnimatedStyle):

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::silentlySetCurrentTime):
(WebCore::WebAnimation::setCurrentTime):
(WebCore::WebAnimation::cancel):
(WebCore::WebAnimation::finish):
(WebCore::WebAnimation::play):
(WebCore::WebAnimation::runPendingPlayTask):
(WebCore::WebAnimation::pause):
(WebCore::WebAnimation::reverse):
(WebCore::WebAnimation::runPendingPauseTask):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::seekAnimation):

Source/WTF:

Make Seconds TextStream-loggable, and make Markable<> loggable.

  • wtf/Seconds.cpp:

(WTF::operator<<):

  • wtf/Seconds.h:
  • wtf/text/TextStream.h:

(WTF::operator<<):

4:41 PM Changeset in webkit [254176] by Truitt Savell
  • 3 edits in trunk/Tools

Unreviewed, rolling out r254165.

Caused 500+ missing results on Mac

Reverted changeset:

"run-webkit-tests: clobber-old-results should remove the
entire results folder"
https://bugs.webkit.org/show_bug.cgi?id=205875
https://trac.webkit.org/changeset/254165

4:40 PM Changeset in webkit [254175] by Alan Coon
  • 1 copy in tags/Safari-609.1.13.2.1

Tag Safari-609.1.13.2.1.

4:38 PM Changeset in webkit [254174] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

Network process sandboxes should not include 'common.sb' or 'system.sb'
https://bugs.webkit.org/show_bug.cgi?id=205521
<rdar://problem/58095870>

Reviewed by Per Arne Vollan.

This patch replaces the 'include' with a copy/paste of the contents of the relevant
sandbox include file. I removed definitions that were not referenced in the existing
Network sandbox, but did not otherwise edit the contents. There are duplicates and
redundancies after this patch, which I will remove as a follow-up step once we confirm
that this has no regressions.

I also updated the sandbox to generate telemetry for some mach connections that we think
are unneeded, or that should be targeted for removal.

No new tests. There should be no change in behavior.

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
4:29 PM Changeset in webkit [254173] by Alan Coon
  • 2 edits in branches/safari-609-branch/Source/JavaScriptCore

Cherry-pick r254143. rdar://problem/58310178

Unreviewed non-arm64e build fix.

  • dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254143 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:29 PM Changeset in webkit [254172] by Alan Coon
  • 5 edits in branches/safari-609-branch/Source/JavaScriptCore

Cherry-pick r254142. rdar://problem/58310178

Bytecode checkpoint fixes for arm64(e)
https://bugs.webkit.org/show_bug.cgi?id=205871

Reviewed by Michael Saboff.

The original bytecode checkpoint patch had a couple of bugs on
arm64(e). For arm64 generally, when osr exiting to an inline
varargs frame we didn't set the return value of callee before
moving the call frame register into a0 for the slow path
call. This meant we clobber the return value on arm64 as a0 == r0.

On arm64e the osr exit compiler set the tag for the return pc for
an inline frame to JSEntryTag but the code expected
NoTag. Additionally, in the stack unwinder, we were using the
JSEntryTag but we should have been stripping the tag from the
stack value.

  • dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::callerReturnPC): (JSC::DFG::reifyInlinedCallFrames):
  • dfg/DFGOSRExitCompilerCommon.h:
  • interpreter/Interpreter.cpp: (JSC::UnwindFunctor::operator() const):
  • llint/LowLevelInterpreter.asm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254142 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:29 PM Changeset in webkit [254171] by Alan Coon
  • 5 edits in branches/safari-609-branch

Cherry-pick r254111. rdar://problem/58093690

REGRESSION: [ Mac wk2 ] http/tests/inspector/target/provisional-load-cancels-previous-load.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=205473
<rdar://problem/58093690>

Source/WebInspectorUI:

The failure was due to attempts to add output to the test page which could be not fully
loaded after navigation. To make it deterministic it is now possible to keep provisional
navigation paused and to defer output until the test page is ready.

Reviewed by Brian Burg.

  • UserInterface/Protocol/Target.js: (WI.Target.prototype.initialize): (WI.Target.prototype._resumeIfPaused): extracted resume logic in a method that can be overridden in the tests.
  • UserInterface/Test/FrontendTestHarness.js: (FrontendTestHarness.prototype.deferOutputUntilTestPageIsReloaded): allow to pause output when navigation is started via protocol commands rather than the test harness.

LayoutTests:

Reviewed by Brian Burg.

Keep provisional page paused until second navigation replaces it and also
defer output until test page is fully initialized after navigation.

  • http/tests/inspector/target/provisional-load-cancels-previous-load.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254111 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:24 PM Changeset in webkit [254170] by Alan Coon
  • 8 edits in branches/safari-609.1.13.2-branch/Source

Versioning.

4:17 PM Changeset in webkit [254169] by sihui_liu@apple.com
  • 2 edits in trunk/Source/WebKitLegacy

REGRESSION (r248734): different threads write m_storageMap of StorageAreaImpl at the same time
https://bugs.webkit.org/show_bug.cgi?id=205764
<rdar://problem/58179425>

Reviewed by Maciej Stachowiak.

In StorageAreaImpl, we avoid modifying m_storageMap from different threads at the same time by blocking main
thread access to it until the writes(importing items) of storage thread is done.

In r248734 we introduced a new case where the main thread could modify m_storageMap for session change, but we
didn't add the wait there.

  • Storage/StorageAreaImpl.cpp:

(WebKit::StorageAreaImpl::importItems):
(WebKit::StorageAreaImpl::sessionChanged):

4:14 PM Changeset in webkit [254168] by Alan Coon
  • 1 copy in branches/safari-609.1.13.2-branch

New branch.

4:08 PM Changeset in webkit [254167] by dbates@webkit.org
  • 4 edits in trunk/LayoutTests

Fix up layout tests results following r254160
<rdar://problem/58383099>

Revert some results back to pre-r254091. These results were changed because I made
an accident (corrected in r254160) that made me mistakenly think the new results
were legitimate. They weren't.

  • fast/dom/Range/getClientRects-expected.txt:
  • fast/dom/Range/getClientRects.html:
  • fast/repaint/text-selection-overflow-hidden-expected.txt:
4:01 PM Changeset in webkit [254166] by Ross Kirsling
  • 17 edits in trunk/Source

Unreviewed restabilization of non-unified build.

Source/JavaScriptCore:

  • bytecode/MethodOfGettingAValueProfile.h:
  • dfg/DFGVariableEvent.h:
  • dfg/DFGVariableEventStream.cpp:
  • interpreter/CheckpointOSRExitSideState.h:

Source/WebCore:

  • html/HTMLDialogElement.cpp:
  • platform/graphics/cairo/ImageBufferCairo.cpp:
  • style/StyleAdjuster.h:
  • style/UserAgentStyle.cpp:
  • workers/service/SWClientConnection.cpp:
  • workers/service/context/ServiceWorkerThread.h:
  • workers/service/context/ServiceWorkerThreadProxy.cpp:

Source/WebKit:

  • NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp:
  • NetworkProcess/IndexedDB/WebIDBServer.cpp:

(WebKit::WebIDBServer::create):
(WebKit::WebIDBServer::WebIDBServer):
(WebKit::WebIDBServer::closeAndDeleteDatabasesForOrigins):
(WebKit::WebIDBServer::suspend):
(WebKit::WebIDBServer::didFireVersionChangeEvent):

  • UIProcess/WebContextClient.h:
3:54 PM Changeset in webkit [254165] by Jonathan Bedard
  • 3 edits in trunk/Tools

run-webkit-tests: clobber-old-results should remove the entire results folder
https://bugs.webkit.org/show_bug.cgi?id=205875
<rdar://problem/58236117>

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager._clobber_old_results): Remove entire results folder.

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(RunTest.test_retrying_and_flaky_tests): clobber-old-results now removes the
entire results directory.

3:17 PM Changeset in webkit [254164] by Simon Fraser
  • 3 edits
    2 adds in trunk

WebKit rejects changes between similar unprefixed & prefixed gradient syntax
https://bugs.webkit.org/show_bug.cgi?id=171015

Reviewed by Dean Jackson.
Source/WebCore:

equals() needs to test m_gradientType.

Test: fast/css/gradient-prefixed-unprefixed-toggle.html

  • css/CSSGradientValue.cpp:

(WebCore::CSSLinearGradientValue::equals const):
(WebCore::CSSRadialGradientValue::equals const):

LayoutTests:

  • fast/css/gradient-prefixed-unprefixed-toggle-expected.html: Added.
  • fast/css/gradient-prefixed-unprefixed-toggle.html: Added.
3:14 PM Changeset in webkit [254163] by Alan Coon
  • 1 copy in tags/Safari-608.5.8

Tag Safari-608.5.8.

2:58 PM Changeset in webkit [254162] by Alan Coon
  • 1 copy in tags/Safari-609.1.13.4

Tag Safari-609.1.13.4.

2:53 PM Changeset in webkit [254161] by Alan Coon
  • 8 edits in branches/safari-609.1.13-branch/Source

Versioning.

2:39 PM Changeset in webkit [254160] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix failing tests following r254091
<rdar://problem/58383099>

Use LayoutUnit for the logical width instead of "auto" as the original code did before r254091
to fix layout test failures, e.g. editing/selection/ios/fixed-selection-after-scroll.html
This avoids accidental integer truncation that can occur if "snappedSelectionRect.maxX() > logicalRight"
evaluates to true.

  • rendering/InlineTextBox.cpp:

(WebCore::snappedSelectionRect):

2:33 PM Changeset in webkit [254159] by Megan Gardner
  • 7 edits in trunk/Source/WebCore

Rename start/endPosition to start/endOffset in SelectionRangeData for clarity
https://bugs.webkit.org/show_bug.cgi?id=205838

Reviewed by Megan Gardner.

Offset is a more correct term for this variable, as it is just an unsigned.

No behavior change.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::verifySelectionState const):
(WebCore::InlineTextBox::selectionStartEnd const):
(WebCore::InlineTextBox::highlightStartEnd const):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::isSelected const):

  • rendering/RenderText.cpp:

(WebCore::RenderText::collectSelectionRectsForLineBoxes):

  • rendering/RenderTextLineBoxes.cpp:

(WebCore::RenderTextLineBoxes::setSelectionState):

  • rendering/SelectionRangeData.cpp:

(WebCore::rendererAfterOffset):
(WebCore::collect):
(WebCore::SelectionRangeData::selectionStateForRenderer):
(WebCore::SelectionRangeData::repaint const):
(WebCore::SelectionRangeData::collectBounds const):
(WebCore::SelectionRangeData::apply):
(WebCore::rendererAfterPosition): Deleted.

  • rendering/SelectionRangeData.h:

(WebCore::SelectionRangeData::Context::Context):
(WebCore::SelectionRangeData::Context::startOffset const):
(WebCore::SelectionRangeData::Context::endOffset const):
(WebCore::SelectionRangeData::Context::operator== const):
(WebCore::SelectionRangeData::startOffset const):
(WebCore::SelectionRangeData::endOffset const):
(WebCore::SelectionRangeData::Context::startPosition const): Deleted.
(WebCore::SelectionRangeData::Context::endPosition const): Deleted.
(WebCore::SelectionRangeData::startPosition const): Deleted.
(WebCore::SelectionRangeData::endPosition const): Deleted.

2:28 PM Changeset in webkit [254158] by Andres Gonzalez
  • 8 edits in trunk/Source/WebCore

AXIsolatedObject support for lists (l, ul, ol, dl).
https://bugs.webkit.org/show_bug.cgi?id=205874

Reviewed by Chris Fleizach.

  • AXIsolatedObject implementation of isUnordered/Ordered/descriptionList.
  • Client code doesn't downcast to AccessibilityList any longer,

but instead uses these methods that are exposed through AXCoreObject.

  • accessibility/AccessibilityList.h:
  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/isolatedtree/AXIsolatedTreeNode.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData):

  • accessibility/isolatedtree/AXIsolatedTreeNode.h:
  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::rolePlatformDescription const):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper subrole]):

2:27 PM Changeset in webkit [254157] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac wk2 ] http/wpt/service-workers/persistent-importScripts.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=205886

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
2:14 PM Changeset in webkit [254156] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[EWS] Limit pre-existing JSC tests failures to display in buildbot summary
https://bugs.webkit.org/show_bug.cgi?id=205878

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(AnalyzeJSCTestsResults.start): Limit the number of failures to display.

2:07 PM Changeset in webkit [254155] by sihui_liu@apple.com
  • 2 edits in trunk/Source/WebCore

Add a move constructor to IDBResultData
https://bugs.webkit.org/show_bug.cgi?id=205833
<rdar://problem/58146233>

Reviewed by Youenn Fablet.

  • Modules/indexeddb/shared/IDBResultData.h:
1:58 PM Changeset in webkit [254154] by Pablo Saavedra
  • 42 edits
    1 copy
    24 moves
    205 adds
    24 deletes in trunk/LayoutTests

Re-sync web-platform-tests/xhr from upstream
https://bugs.webkit.org/show_bug.cgi?id=205641

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • web-platform-tests/xhr/FormData-append-expected.txt:
  • web-platform-tests/xhr/FormData-append.html:
  • web-platform-tests/xhr/META.yml:
  • web-platform-tests/xhr/abort-after-receive.htm: Removed.
  • web-platform-tests/xhr/abort-after-send.htm: Removed.
  • web-platform-tests/xhr/abort-after-stop.htm: Removed.
  • web-platform-tests/xhr/abort-after-timeout.htm: Removed.
  • web-platform-tests/xhr/abort-during-done.htm: Removed.
  • web-platform-tests/xhr/abort-during-headers-received.htm: Removed.
  • web-platform-tests/xhr/abort-during-loading.htm: Removed.
  • web-platform-tests/xhr/abort-during-unsent.htm: Removed.
  • web-platform-tests/xhr/abort-during-upload.htm: Removed.
  • web-platform-tests/xhr/abort-event-abort.htm: Removed.
  • web-platform-tests/xhr/abort-event-listeners.htm: Removed.
  • web-platform-tests/xhr/abort-event-loadend.htm: Removed.
  • web-platform-tests/xhr/abort-upload-event-abort.htm: Removed.
  • web-platform-tests/xhr/abort-upload-event-loadend.htm: Removed.
  • web-platform-tests/xhr/access-control-and-redirects-async-same-origin.htm: Removed.
  • web-platform-tests/xhr/access-control-and-redirects-async.htm: Removed.
  • web-platform-tests/xhr/access-control-and-redirects.htm: Removed.
  • web-platform-tests/xhr/access-control-basic-allow-access-control-origin-header.htm: Removed.
  • web-platform-tests/xhr/access-control-basic-allow-async.htm: Removed.
  • web-platform-tests/xhr/access-control-basic-allow-non-cors-safelisted-method-async.htm: Removed.
  • web-platform-tests/xhr/access-control-basic-allow-non-cors-safelisted-method.htm: Removed.
  • web-platform-tests/xhr/access-control-basic-allow-preflight-cache-invalidation-by-header.htm: Removed.
  • web-platform-tests/xhr/access-control-basic-allow-preflight-cache-invalidation-by-method.htm: Removed.
  • web-platform-tests/xhr/access-control-basic-allow-preflight-cache-timeout.htm: Removed.
  • web-platform-tests/xhr/access-control-basic-allow-preflight-cache.htm: Removed.
  • web-platform-tests/xhr/access-control-basic-allow-star.htm: Removed.
  • web-platform-tests/xhr/access-control-basic-allow.htm: Removed.
  • web-platform-tests/xhr/access-control-basic-cors-safelisted-request-headers-expected.txt:
  • web-platform-tests/xhr/access-control-basic-cors-safelisted-request-headers.htm:
  • web-platform-tests/xhr/event-abort.htm: Removed.
  • web-platform-tests/xhr/event-error.sub.html: Removed.
  • web-platform-tests/xhr/event-load.htm: Removed.
  • web-platform-tests/xhr/event-loadend.htm: Removed.
  • web-platform-tests/xhr/event-loadstart-upload.htm: Removed.
  • web-platform-tests/xhr/event-loadstart.htm: Removed.
  • web-platform-tests/xhr/event-progress.htm: Removed.
  • web-platform-tests/xhr/event-readystate-sync-open.htm: Removed.
  • web-platform-tests/xhr/event-readystatechange-loaded.htm: Removed.
  • web-platform-tests/xhr/event-timeout-order.htm: Removed.
  • web-platform-tests/xhr/event-timeout.htm: Removed.
  • web-platform-tests/xhr/event-upload-progress-crossorigin.htm: Removed.
  • web-platform-tests/xhr/event-upload-progress.htm: Removed.
  • web-platform-tests/xhr/formdata-expected.txt:
  • web-platform-tests/xhr/formdata-set-expected.txt:
  • web-platform-tests/xhr/formdata-set.htm:
  • web-platform-tests/xhr/formdata.htm:
  • web-platform-tests/xhr/getallresponseheaders-expected.txt:
  • web-platform-tests/xhr/getallresponseheaders.htm:
  • web-platform-tests/xhr/idlharness.any.js:
  • web-platform-tests/xhr/open-during-abort-processing-expected.txt:
  • web-platform-tests/xhr/open-during-abort-processing.htm:
  • web-platform-tests/xhr/overridemimetype-blob.html:
  • web-platform-tests/xhr/overridemimetype-unsent-state-force-shiftjis.htm: Removed.
  • web-platform-tests/xhr/resources/access-control-basic-options-not-supported.py:

(main):

  • web-platform-tests/xhr/resources/authentication.py:

(main):

  • web-platform-tests/xhr/resources/echo-method.py:

(main):

  • web-platform-tests/xhr/resources/headers.asis:
  • web-platform-tests/xhr/response-data-progress.htm:
  • web-platform-tests/xhr/responsexml-document-properties-expected.txt:
  • web-platform-tests/xhr/responsexml-document-properties.htm:
  • web-platform-tests/xhr/send-authentication-basic-cors-not-enabled-expected.txt:
  • web-platform-tests/xhr/send-authentication-basic-cors-not-enabled.htm:
  • web-platform-tests/xhr/send-authentication-basic-repeat-no-args.htm:
  • web-platform-tests/xhr/send-content-type-charset.htm:
  • web-platform-tests/xhr/send-data-arraybuffer.htm: Removed.
  • web-platform-tests/xhr/send-data-arraybufferview.htm: Removed.
  • web-platform-tests/xhr/send-data-es-object.htm: Removed.
  • web-platform-tests/xhr/send-data-formdata.htm: Removed.
  • web-platform-tests/xhr/send-redirect-bogus-sync-expected.txt:
  • web-platform-tests/xhr/send-redirect-bogus-sync.htm:
  • web-platform-tests/xhr/send-redirect-bogus.htm:
  • web-platform-tests/xhr/send-redirect-post-upload.htm:
  • web-platform-tests/xhr/setrequestheader-content-type.htm:
  • web-platform-tests/xhr/sync-no-progress.any.js:
  • web-platform-tests/xhr/timeout-cors-async.htm:
  • web-platform-tests/xhr/w3c-import.log:

LayoutTests:

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios/imported/w3c/web-platform-tests/xhr/getallresponseheaders-expected.txt:
  • platform/mac-wk1/TestExpectations:
  • tests-options.json:
1:26 PM Changeset in webkit [254153] by dbates@webkit.org
  • 13 edits in trunk

First character in each word-wrapped line has incorrect character rect when requested range spans multiple lines
https://bugs.webkit.org/show_bug.cgi?id=205842
<rdar://problem/56884325>

Reviewed by Zalan Bujtas.

Source/WebCore:

Adds a new BoundingRectBehavior enumarator, IgnoreEmptyTextSelections, to ignore line boxes
that are not selected by the specified range when computing the bounding box for it via Range::absoluteBoundingBox().

A line box is said to be selected if there is at least one character in the specified character
range. So, a range whose start position coincides with the edge of a line box does not select the
box. However such ranges are considered to select such boxes when passed to web-exposed APIs
{Element, Range}.getClientRects() and {Element, Range}.getBoundingClientRect(). These ranges
produce empty client rectangles and these empty rectangles effect the computation of the bounding
client rect. This is all speced behavior.

When computing the glpyh bounding box for a document context request, these empty rectangles are
not meaningful and cause weird results: the empty rect is unioned with the rect for the next selected
character producing a rectangle that overlaps two lines. Ignoring them makes things behave more like
NSLayoutManager.

  • dom/Range.cpp:

(WebCore::Range::absoluteBoundingBox const):
(WebCore::Range::absoluteRectsForRangeInText const):
(WebCore::Range::absoluteTextQuads const):

  • dom/Range.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::absoluteQuadsForRange const):

  • rendering/RenderText.h:
  • rendering/RenderTextLineBoxes.cpp:

(WebCore::RenderTextLineBoxes::absoluteQuadsForRange const):
Pass an option to ignore empty text selections through. By default Range::absoluteBoundingBox() takes
an empty set of BoundingRectBehavior enumerators to keep its current behavior.

(WebCore::RenderTextLineBoxes::absoluteRectsForRange const): Added a boolean as to whether to
ignore empty selections. If enabled, skip all boxes that are not selected by the specified
character range.

  • rendering/RenderTextLineBoxes.h:
  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::collectAbsoluteQuadsForRange): Ditto.

  • rendering/SimpleLineLayoutFunctions.h:

Source/WebKit:

Pass BoundingRectBehavior::IgnoreEmptyTextSelections to Range::absoluteBoundingBox() to compute
the glyph bounding box ignoring empty text selections that would typically occur if the start of
the range coincide with the edge of a line box. This makes the behavior more consistent with
the behavior of NSLayoutManager.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::requestDocumentEditingContext):

Tools:

Add a new test.

  • TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:

(TEST):

1:13 PM Changeset in webkit [254152] by ysuzuki@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

[JSC] Remove vm accessor in JSVirtualMachine to reduce binary size
https://bugs.webkit.org/show_bug.cgi?id=205880

Reviewed by Mark Lam.

Objective-C has reflection mechanism. This means that fields, methods, and their types
need to hold its string representations in binary even if we are using release build.
While typical Objective-C class does not have large size of type names, C++ struct / class
has very large one, and putting them in Objective-C method names, parameter types, or fields
makes binary size very large.

By analyzing JavaScriptCore binary, I found that Objective-C method type symbols are taking 200~KB
binary size. (Section objc_methtype: 235081 (addr 0x105e9a3 offset 17164707)). And it is due to
JSC::VM type included in [JSVirtualMachine vm] accessor.

This patch removes this accessor and gets 200KB binary size reduction.

  • API/JSScript.mm:

(-[JSScript readCache]):
(-[JSScript sourceCode]):
(-[JSScript jsSourceCode]):
(-[JSScript writeCache:]):

  • API/JSVirtualMachine.mm:

(-[JSVirtualMachine JSContextGroupRef]):
(-[JSVirtualMachine isWebThreadAware]):
(-[JSVirtualMachine vm]): Deleted.

  • API/JSVirtualMachineInternal.h:
1:10 PM Changeset in webkit [254151] by Ryan Haddad
  • 13 edits in trunk

Unreviewed, rolling out r254144.

Broke the iOS build.

Reverted changeset:

"First character in each word-wrapped line has incorrect
character rect when requested range spans multiple lines"
https://bugs.webkit.org/show_bug.cgi?id=205842
https://trac.webkit.org/changeset/254144

12:58 PM Changeset in webkit [254150] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Mark webexposed/css-properties-behind-flags.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=197204

  • platform/mac/TestExpectations:
12:54 PM Changeset in webkit [254149] by Jonathan Bedard
  • 2 edits in trunk/Tools

results.webkit.org: Handle case where processing data is undefined
https://bugs.webkit.org/show_bug.cgi?id=205870

Rubber-stamped by Aakash Jain.

  • resultsdbpy/resultsdbpy/model/upload_context.py:

(UploadContext._do_job_for_key): If the job content is undefined, mark the job as
finished.

12:47 PM Changeset in webkit [254148] by dino@apple.com
  • 11 edits in trunk

[WebGL] Fill in missing WebGL2 entry points
https://bugs.webkit.org/show_bug.cgi?id=205689
<rdar://problem/58280920>

Reviewed by Simon Fraser.

Fill in the bits of the WebGL2 API that were missing.

The specification splits into Base and Implementation
interfaces, but I put everything in one place since
we already have to check that we don't have function
signature clashes.

I also fixed some situations where we were not
allowing for an Exception to be returned.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::texImage2D):
(WebCore::WebGL2RenderingContext::texImage3D):
(WebCore::WebGL2RenderingContext::texSubImage2D):
(WebCore::WebGL2RenderingContext::texSubImage3D):
(WebCore::WebGL2RenderingContext::compressedTexImage2D):
(WebCore::WebGL2RenderingContext::compressedTexSubImage2D):
(WebCore::WebGL2RenderingContext::uniform1fv):
(WebCore::WebGL2RenderingContext::uniform2fv):
(WebCore::WebGL2RenderingContext::uniform3fv):
(WebCore::WebGL2RenderingContext::uniform4fv):
(WebCore::WebGL2RenderingContext::uniform1iv):
(WebCore::WebGL2RenderingContext::uniform2iv):
(WebCore::WebGL2RenderingContext::uniform3iv):
(WebCore::WebGL2RenderingContext::uniform4iv):
(WebCore::WebGL2RenderingContext::uniformMatrix2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4fv):
(WebCore::WebGL2RenderingContext::readPixels):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGL2RenderingContext.idl:
  • html/canvas/WebGLRenderingContext.idl:
  • html/canvas/WebGLRenderingContextBase.idl:
12:38 PM Changeset in webkit [254147] by Keith Rollin
  • 2 edits in trunk/Source/WebKit

Reformat WebFrameLoaderClient logging
https://bugs.webkit.org/show_bug.cgi?id=205869
<rdar://problem/58379240>

Reviewed by Brent Fulgham.

Update the format used by WebFrameLoaderClient in its RELEASE_LOG
logging. Use the format used by WebPageProxy and
NetworkResourceLoader, which is generally of the form:

<object-address> - [<values that help thread together operations>] <class>::<method>: <message and other useful values>

So, for example:

0x4a1d7c310 - WebFrameLoaderClient::dispatchDidReachLayoutMilestone: dispatching didCompletePageTransition, page = 0x7f83ba009208

becomes:

0x4a1d7c310 - [webFrame=0x7ff703f03b68, webFrameID=3, webPage=0x7ff704831808, webPageID=15] WebFrameLoaderClient::dispatchDidReachLayoutMilestone: dispatching didCompletePageTransition

No new tests - no added or changed functionality.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
(WebKit::WebFrameLoaderClient::dispatchDidReachLayoutMilestone):

12:38 PM Changeset in webkit [254146] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

transitions/default-timing-function.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205804
<rdar://problem/58343509>

Patch by Antoine Quint <Antoine Quint> on 2020-01-07
Reviewed by Simon Fraser.

To pause a Web Animation at a given time, we need to call pause() first and set currentTime after. Otherwise, the animation's hold
time will not be set to the provided value and the time may progress between the moment pause() was called and the moment the pending
pause task it creates is performed.

The reason the behavior changed for this test is because in r254042 we added a call to updateRendering() which updates the timeline time
which otherwise wouldn't have been updated.

  • animations/resources/animation-test-helpers.js:
  • transitions/resources/transition-test-helpers.js:
12:17 PM Changeset in webkit [254145] by Devin Rousso
  • 5 edits in trunk

REGRESSION: [ Mac Debug ] inspector/page/setBootstrapScript-main-frame.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=205807
<rdar://problem/58344669>

Reviewed by Dean Jackson.

Source/WebInspectorUI:

  • UserInterface/Controllers/NetworkManager.js:

(WI.NetworkManager.prototype.async createBootstrapScript):
(WI.NetworkManager.prototype._handleBootstrapScriptContentDidChange):
Ensure that Page.setBootstrapScript is called when restoring the bootstrap script from the
IndexedDB storage. Otherwise, in situations like when Web Inspector is first opened, we will
show the Inspector Bootstrap Script in the UI, but not actually set it on the inspected page.

LayoutTests:

  • inspector/page/setBootstrapScript-main-frame.html:

In addition to waiting for Page.reload, we should also wait for the page to actually load.
Set the content of the bootstrap script during its creation instead of as a two step process.
Avoid an assertion by setting the enabled state after the bootstrap script is initalized.

  • platform/mac/TestExpectations:

Remove expectation added in r254059.

12:03 PM Changeset in webkit [254144] by dbates@webkit.org
  • 13 edits in trunk

First character in each word-wrapped line has incorrect character rect when requested range spans multiple lines
https://bugs.webkit.org/show_bug.cgi?id=205842
<rdar://problem/56884325>

Reviewed by Zalan Bujtas.

Source/WebCore:

Adds a new BoundingRectBehavior enumarator, IgnoreEmptyTextSelections, to ignore line boxes
that are not selected by the specified range when computing the bounding box for it via Range::absoluteBoundingBox().

A line box is said to be selected if there is at least one character in the specified character
range. So, a range whose start position coincides with the edge of a line box does not select the
box. However such ranges are considered to select such boxes when passed to web-exposed APIs
{Element, Range}.getClientRects() and {Element, Range}.getBoundingClientRect(). These ranges
produce empty client rectangles and these empty rectangles effect the computation of the bounding
client rect. This is all speced behavior.

When computing the glpyh bounding box for a document context request, these empty rectangles are
not meaningful and cause weird results: the empty rect is unioned with the rect for the next selected
character producing a rectangle that overlaps two lines. Ignoring them makes things behave more like
NSLayoutManager.

  • dom/Range.cpp:

(WebCore::Range::absoluteBoundingBox const):
(WebCore::Range::absoluteRectsForRangeInText const):
(WebCore::Range::absoluteTextQuads const):

  • dom/Range.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::absoluteQuadsForRange const):

  • rendering/RenderText.h:
  • rendering/RenderTextLineBoxes.cpp:

(WebCore::RenderTextLineBoxes::absoluteQuadsForRange const):
Pass an option to ignore empty text selections through. By default Range::absoluteBoundingBox() takes
an empty set of BoundingRectBehavior enumerators to keep its current behavior.

(WebCore::RenderTextLineBoxes::absoluteRectsForRange const): Added a boolean as to whether to
ignore empty selections. If enabled, skip all boxes that are not selected by the specified
character range.

  • rendering/RenderTextLineBoxes.h:
  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::collectAbsoluteQuadsForRange): Ditto.

  • rendering/SimpleLineLayoutFunctions.h:

Source/WebKit:

Pass BoundingRectBehavior::IgnoreEmptyTextSelections to Range::absoluteBoundingBox() to compute
the glyph bounding box ignoring empty text selections that would typically occur if the start of
the range coincide with the edge of a line box. This makes the behavior more consistent with
the behavior of NSLayoutManager.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::requestDocumentEditingContext):

Tools:

Add a new test.

  • TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:

(TEST):

11:58 AM Changeset in webkit [254143] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed non-arm64e build fix.

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):

11:43 AM Changeset in webkit [254142] by keith_miller@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Bytecode checkpoint fixes for arm64(e)
https://bugs.webkit.org/show_bug.cgi?id=205871

Reviewed by Michael Saboff.

The original bytecode checkpoint patch had a couple of bugs on
arm64(e). For arm64 generally, when osr exiting to an inline
varargs frame we didn't set the return value of callee before
moving the call frame register into a0 for the slow path
call. This meant we clobber the return value on arm64 as a0 == r0.

On arm64e the osr exit compiler set the tag for the return pc for
an inline frame to JSEntryTag but the code expected
NoTag. Additionally, in the stack unwinder, we were using the
JSEntryTag but we should have been stripping the tag from the
stack value.

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::callerReturnPC):
(JSC::DFG::reifyInlinedCallFrames):

  • dfg/DFGOSRExitCompilerCommon.h:
  • interpreter/Interpreter.cpp:

(JSC::UnwindFunctor::operator() const):

  • llint/LowLevelInterpreter.asm:
11:27 AM Changeset in webkit [254141] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

Flaky API Test: TestWebKitAPI.WebKitLegacy.AudioSessionCategoryIOS
https://bugs.webkit.org/show_bug.cgi?id=194340
<rdar://problem/50507254>

Reviewed by Eric Carlson.

Workaround for AVFoundation crash for OS versions prior to platform fix. This crash occurrs infrequently
while triggering KVO due to an internal @property change. Work around the crash by disabling KVO for that
property at runtime, by injecting a new class method +automaticallyNotifiesObserversOfSuppressesVideoLayers
immediately after soft linking the AVFoundation library.

  • pal/cocoa/AVFoundationSoftLink.mm:

(PAL::justReturnsNO):
(PAL::AVFoundationLibrary):

11:04 AM Changeset in webkit [254140] by basuke.suzuki@sony.com
  • 3 edits in trunk/Tools

check-webkit-style: bmalloc doesn't use config.h
https://bugs.webkit.org/show_bug.cgi?id=205840

Reviewed by Jonathan Bedard.

  • Scripts/webkitpy/style/checkers/cpp.py:

(_IncludeState.check_next_include_order):
(check_include_line):
(check_has_config_header):

10:55 AM Changeset in webkit [254139] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Correct some conflicting expectations for fast/text/emoji-gender- tests
https://bugs.webkit.org/show_bug.cgi?id=204820

Unreviewed test gardening.

  • platform/mac/TestExpectations:
10:39 AM Changeset in webkit [254138] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Correct expectations made in r254134, r254135, and r254136
https://bugs.webkit.org/show_bug.cgi?id=205862
https://bugs.webkit.org/show_bug.cgi?id=205865
https://bugs.webkit.org/show_bug.cgi?id=205867

Unreviewed test gardneing.

  • platform/mac/TestExpectations:
10:35 AM Changeset in webkit [254137] by commit-queue@webkit.org
  • 39 edits
    15 deletes in trunk

Unreviewed, rolling out r254132.
https://bugs.webkit.org/show_bug.cgi?id=205868

It is breaking WinCairo build and internal builds. (Requested
by youenn on #webkit).

Reverted changeset:

"Implement MediaRecorder backend in GPUProcess"
https://bugs.webkit.org/show_bug.cgi?id=205802
https://trac.webkit.org/changeset/254132

9:59 AM Changeset in webkit [254136] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mojave+ wk2 ] webgpu/draw-indexed-triangles.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=205867

Unreviewed test gardening.

  • platform/mac/TestExpectations:
9:57 AM Changeset in webkit [254135] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mojave+ wk2 ] webgpu/whlsl/ensure-proper-variable-lifetime-2.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=205865

Unreviewed test gardening.

  • platform/mac/TestExpectations:
9:55 AM Changeset in webkit [254134] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mojave+ wk2 ] webgpu/whlsl/while-loop-break.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=205862

Unreviewed test gardening.

  • platform/mac/TestExpectations:
9:23 AM Changeset in webkit [254133] by Pablo Saavedra
  • 69 edits
    1 copy
    1 move
    42 adds in trunk/LayoutTests

Re-sync web-platform-tests/content-security-policy from upstream
https://bugs.webkit.org/show_bug.cgi?id=205639

Reviewed by Carlos Alberto Lopez Perez.

LayoutTests/imported/w3c:

  • resources/resource-files.json:
  • web-platform-tests/content-security-policy/README.html:
  • web-platform-tests/content-security-policy/connect-src/connect-src-beacon-allowed.sub.html:
  • web-platform-tests/content-security-policy/connect-src/connect-src-beacon-blocked.sub.html:
  • web-platform-tests/content-security-policy/connect-src/connect-src-beacon-redirect-to-blocked.sub.html:
  • web-platform-tests/content-security-policy/embedded-enforcement/support/echo-required-csp.py:

(main):

  • web-platform-tests/content-security-policy/font-src/font-none-blocked.sub.html:
  • web-platform-tests/content-security-policy/frame-ancestors/frame-ancestors-from-serviceworker.https-expected.txt: Added.
  • web-platform-tests/content-security-policy/frame-ancestors/frame-ancestors-from-serviceworker.https.html: Added.
  • web-platform-tests/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-same-none-block-expected.txt:
  • web-platform-tests/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-same-self-block-expected.txt:
  • web-platform-tests/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-same-star-allow-expected.txt:
  • web-platform-tests/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-same-url-allow-expected.txt:
  • web-platform-tests/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-same-url-block-expected.txt:
  • web-platform-tests/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-sandboxed-cross-url-block.html:
  • web-platform-tests/content-security-policy/frame-ancestors/frame-ancestors-nested-same-in-same-none-block-expected.txt:
  • web-platform-tests/content-security-policy/frame-ancestors/frame-ancestors-nested-same-in-same-url-block-expected.txt:
  • web-platform-tests/content-security-policy/frame-ancestors/frame-ancestors-none-block-expected.txt:
  • web-platform-tests/content-security-policy/frame-ancestors/report-blocked-frame.sub-expected.txt: Added.
  • web-platform-tests/content-security-policy/frame-ancestors/report-blocked-frame.sub.html: Added.
  • web-platform-tests/content-security-policy/frame-ancestors/report-only-frame.sub-expected.txt: Added.
  • web-platform-tests/content-security-policy/frame-ancestors/report-only-frame.sub.html: Added.
  • web-platform-tests/content-security-policy/frame-ancestors/support/content-security-policy-report-only.sub.html: Added.
  • web-platform-tests/content-security-policy/frame-ancestors/support/content-security-policy-report-only.sub.html.sub.headers: Added.
  • web-platform-tests/content-security-policy/frame-ancestors/support/content-security-policy.sub.html: Added.
  • web-platform-tests/content-security-policy/frame-ancestors/support/content-security-policy.sub.html.sub.headers: Added.
  • web-platform-tests/content-security-policy/frame-ancestors/support/frame-ancestors-test.sub.js:

(iframeLoaded):

  • web-platform-tests/content-security-policy/frame-ancestors/support/service-worker.js: Added.

(self.onfetch.e.e.respondWith):

  • web-platform-tests/content-security-policy/frame-ancestors/support/w3c-import.log:
  • web-platform-tests/content-security-policy/frame-ancestors/w3c-import.log:
  • web-platform-tests/content-security-policy/frame-src/frame-src-same-document-expected.txt: Added.
  • web-platform-tests/content-security-policy/frame-src/frame-src-same-document-meta-expected.txt: Added.
  • web-platform-tests/content-security-policy/frame-src/frame-src-same-document-meta.html: Added.
  • web-platform-tests/content-security-policy/frame-src/frame-src-same-document.html: Added.
  • web-platform-tests/content-security-policy/frame-src/frame-src-same-document.html.headers: Added.
  • web-platform-tests/content-security-policy/frame-src/w3c-import.log:
  • web-platform-tests/content-security-policy/generic/generic-0_1-script-src.html:
  • web-platform-tests/content-security-policy/generic/generic-0_10.sub-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/content-security-policy/generic/generic-0_9.sub-expected.txt.
  • web-platform-tests/content-security-policy/generic/generic-0_10.sub.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/content-security-policy/generic/generic-0_10.html.
  • web-platform-tests/content-security-policy/generic/generic-0_2-expected.txt:
  • web-platform-tests/content-security-policy/generic/generic-0_2.html:
  • web-platform-tests/content-security-policy/generic/generic-0_8.sub-expected.txt:
  • web-platform-tests/content-security-policy/generic/generic-0_8.sub.html:
  • web-platform-tests/content-security-policy/generic/generic-0_8_1.sub.html:
  • web-platform-tests/content-security-policy/generic/generic-0_9.sub-expected.txt:
  • web-platform-tests/content-security-policy/generic/generic-0_9.sub.html:
  • web-platform-tests/content-security-policy/generic/no-default-src.sub-expected.txt:
  • web-platform-tests/content-security-policy/generic/no-default-src.sub.html:
  • web-platform-tests/content-security-policy/generic/positiveTest.js:

(onload): Deleted.

  • web-platform-tests/content-security-policy/generic/w3c-import.log:
  • web-platform-tests/content-security-policy/img-src/img-src-4_1.sub-expected.txt:
  • web-platform-tests/content-security-policy/img-src/img-src-4_1.sub.html:
  • web-platform-tests/content-security-policy/img-src/img-src-host-partial-wildcard-allowed.sub-expected.txt:
  • web-platform-tests/content-security-policy/img-src/img-src-host-partial-wildcard-allowed.sub.html:
  • web-platform-tests/content-security-policy/img-src/img-src-port-wildcard-allowed.sub-expected.txt:
  • web-platform-tests/content-security-policy/img-src/img-src-port-wildcard-allowed.sub.html:
  • web-platform-tests/content-security-policy/inside-worker/support/connect-src-allow.sub.js:
  • web-platform-tests/content-security-policy/inside-worker/support/connect-src-self.sub.js:

(promise_test.t.return.new.Promise):
(async_test.t.Promise.all.new.Promise): Deleted.

  • web-platform-tests/content-security-policy/inside-worker/support/script-src-allow.sub.js:
  • web-platform-tests/content-security-policy/inside-worker/support/script-src-self.sub.js:
  • web-platform-tests/content-security-policy/media-src/media-src-7_3.sub.html:
  • web-platform-tests/content-security-policy/media-src/media-src-7_3_2.sub.html:
  • web-platform-tests/content-security-policy/meta/sandbox-iframe-expected.txt: Added.
  • web-platform-tests/content-security-policy/meta/sandbox-iframe.html: Added.
  • web-platform-tests/content-security-policy/meta/w3c-import.log:
  • web-platform-tests/content-security-policy/reporting/report-cross-origin-no-cookies.sub.html:
  • web-platform-tests/content-security-policy/reporting/report-only-in-meta.sub.html:
  • web-platform-tests/content-security-policy/reporting/report-only-unsafe-eval-expected.txt: Added.
  • web-platform-tests/content-security-policy/reporting/report-only-unsafe-eval.html: Added.
  • web-platform-tests/content-security-policy/reporting/report-only-unsafe-eval.html.sub.headers: Added.
  • web-platform-tests/content-security-policy/reporting/report-uri-from-child-frame-expected.txt:
  • web-platform-tests/content-security-policy/reporting/report-uri-from-child-frame.html:
  • web-platform-tests/content-security-policy/reporting/w3c-import.log:
  • web-platform-tests/content-security-policy/script-src/script-src-sri_hash.sub-expected.txt:
  • web-platform-tests/content-security-policy/script-src/script-src-sri_hash.sub.html:
  • web-platform-tests/content-security-policy/script-src/scripthash-basic-blocked-error-event-expected.txt: Added.
  • web-platform-tests/content-security-policy/script-src/scripthash-basic-blocked-error-event.html: Added.
  • web-platform-tests/content-security-policy/script-src/scripthash-changed-1-expected.txt: Added.
  • web-platform-tests/content-security-policy/script-src/scripthash-changed-1.html: Added.
  • web-platform-tests/content-security-policy/script-src/scripthash-changed-2-expected.txt: Added.
  • web-platform-tests/content-security-policy/script-src/scripthash-changed-2.html: Added.
  • web-platform-tests/content-security-policy/script-src/scripthash-unicode-normalization.sub.html:
  • web-platform-tests/content-security-policy/script-src/scriptnonce-changed-1-expected.txt: Added.
  • web-platform-tests/content-security-policy/script-src/scriptnonce-changed-1.html: Added.
  • web-platform-tests/content-security-policy/script-src/scriptnonce-changed-2-expected.txt: Added.
  • web-platform-tests/content-security-policy/script-src/scriptnonce-changed-2.html: Added.
  • web-platform-tests/content-security-policy/script-src/support/change-scripthash-before-execute.js: Added.

(document.getElementById):

  • web-platform-tests/content-security-policy/script-src/support/change-scriptnonce-before-execute.js: Added.

(document.getElementById):

  • web-platform-tests/content-security-policy/script-src/support/empty.css: Added.
  • web-platform-tests/content-security-policy/script-src/support/inline-script-should-be-blocked.js: Added.

(async_test.t.s.onerror.t.step_func):
(async_test.t.s.onload.t.step_func):

  • web-platform-tests/content-security-policy/script-src/support/w3c-import.log:
  • web-platform-tests/content-security-policy/script-src/support/worker-importscripts.js:
  • web-platform-tests/content-security-policy/script-src/w3c-import.log:
  • web-platform-tests/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-cross-origin-image-from-script.sub.html:
  • web-platform-tests/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-cross-origin-image.sub.html:
  • web-platform-tests/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-image-from-script.sub.html:
  • web-platform-tests/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-image.sub.html:
  • web-platform-tests/content-security-policy/securitypolicyviolation/support/inside-worker.sub.js:
  • web-platform-tests/content-security-policy/style-src/inline-style-allowed-while-cloning-objects.sub.html:
  • web-platform-tests/content-security-policy/style-src/style-src-stylesheet-nonce-allowed.html:
  • web-platform-tests/content-security-policy/style-src/style-src-stylesheet-nonce-blocked.html:
  • web-platform-tests/content-security-policy/support/inject-image.sub.js:
  • web-platform-tests/content-security-policy/svg/object-in-svg-foreignobject.sub.html:

LayoutTests:

  • platform/mac-wk2/imported/w3c/web-platform-tests/content-security-policy/frame-ancestors/frame-ancestors-from-serviceworker.https-expected.txt: Added.
  • platform/mac-wk2/imported/w3c/web-platform-tests/content-security-policy/frame-src/frame-src-same-document-meta-expected.txt: Added.
  • platform/mac-wk2/imported/w3c/web-platform-tests/content-security-policy/reporting/report-only-in-meta.sub-expected.txt: Added.
  • tests-options.json:
9:08 AM Changeset in webkit [254132] by youenn@apple.com
  • 39 edits
    15 adds in trunk

Implement MediaRecorder backend in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=205802

Reviewed by Eric Carlson.

Source/WebCore:

Add a page provider to create MediaRecorderPrivate implementations.
This is used by WebKit layer to implement this in GPUProcess.

Update MediaRecorderPrivate by adding an error callback that is used to surface errors as MediaRecorder error events.

Covered by existing tests as MediaRecorder implementation in WebKitTestRunner will use GPUProcess.

  • Headers.cmake:
  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::create):
(WebCore::MediaRecorder::createMediaRecorderPrivate):

  • Modules/mediarecorder/MediaRecorder.h:
  • Modules/mediarecorder/MediaRecorderProvider.cpp: Added.

(WebCore::MediaRecorderProvider::createMediaRecorderPrivate):

  • Modules/mediarecorder/MediaRecorderProvider.h: Added.
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/EmptyClients.cpp:

(WebCore::pageConfigurationWithEmptyClients):

  • page/Page.cpp:

(WebCore::Page::Page):

  • page/Page.h:

(WebCore::Page::mediaRecorderProvider):

  • page/PageConfiguration.cpp:

(WebCore::PageConfiguration::PageConfiguration):

  • page/PageConfiguration.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:

(WebCore::MediaRecorderPrivateWriter::create):

  • platform/mediastream/MediaStreamPrivate.h:
  • platform/mediastream/MediaStreamTrackPrivate.h:
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setUseGPUProcessForWebRTC):

Source/WebKit:

Add support for sending audio/video tracks to record from WebProcess to GPUProcess.
Add a MediaRecorderPrivate implementation that supports sending one audio track and/or one video track to GPUProcess
and stopping/fetching data from the remote recorder in GPUProcess.

In GPUProcess, implement the remote recorder using the existing WebCore recorder writer.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::userMediaCaptureManagerProxy):
(WebKit::GPUConnectionToWebProcess::mediaRecorderManager):
(WebKit::GPUConnectionToWebProcess::didReceiveMessage):

  • GPUProcess/GPUConnectionToWebProcess.h:
  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • GPUProcess/webrtc/RemoteMediaRecorder.cpp: Added.

(WebKit::RemoteMediaRecorder::create):
(WebKit::RemoteMediaRecorder::RemoteMediaRecorder):
(WebKit::RemoteMediaRecorder::~RemoteMediaRecorder):
(WebKit::RemoteMediaRecorder::storage):
(WebKit::RemoteMediaRecorder::audioSamplesStorageChanged):
(WebKit::RemoteMediaRecorder::audioSamplesAvailable):
(WebKit::RemoteMediaRecorder::videoSampleAvailable):
(WebKit::RemoteMediaRecorder::fetchData):
(WebKit::RemoteMediaRecorder::stopRecording):

  • GPUProcess/webrtc/RemoteMediaRecorder.h: Added.
  • GPUProcess/webrtc/RemoteMediaRecorder.messages.in: Added.
  • GPUProcess/webrtc/RemoteMediaRecorderManager.cpp: Added.

(WebKit::RemoteMediaRecorderManager::RemoteMediaRecorderManager):
(WebKit::RemoteMediaRecorderManager::~RemoteMediaRecorderManager):
(WebKit::RemoteMediaRecorderManager::didReceiveRemoteMediaRecorderMessage):
(WebKit::RemoteMediaRecorderManager::createRecorder):
(WebKit::RemoteMediaRecorderManager::releaseRecorder):

  • GPUProcess/webrtc/RemoteMediaRecorderManager.h: Added.

(WebKit::RemoteMediaRecorderManager::didReceiveMessageFromWebProcess):

  • GPUProcess/webrtc/RemoteMediaRecorderManager.messages.in: Added.
  • Scripts/webkit/messages.py:
  • Sources.txt:
  • SourcesCocoa.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/media/MediaRecorderProvider.cpp: Added.

(WebCore::MediaRecorderProvider::createMediaRecorderPrivate):

  • WebProcess/GPU/media/MediaRecorderProvider.h: Added.
  • WebProcess/GPU/webrtc/MediaRecorderIdentifier.h: Added.
  • WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp: Added.

(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::~MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::sampleBufferUpdated):
(WebKit::MediaRecorderPrivate::audioSamplesAvailable):
(WebKit::MediaRecorderPrivate::storageChanged):
(WebKit::MediaRecorderPrivate::fetchData):
(WebKit::MediaRecorderPrivate::stopRecording):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.h: Added.
  • WebProcess/GPU/webrtc/MediaRecorderProvider.cpp: Added.

(WebKit::MediaRecorderProvider::createMediaRecorderPrivate):

  • WebProcess/GPU/webrtc/MediaRecorderProvider.h: Added.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_overriddenMediaType):

Source/WebKitLegacy/mac:

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

Source/WebKitLegacy/win:

  • WebView.cpp:

(WebView::initWithFrame):

LayoutTests:

  • http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable.html:

Do not use GPUProcess for this test until canvas buffers are IOSurfaces.

9:06 AM Changeset in webkit [254131] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK][EME] ClearKey encrypted media gardening
https://bugs.webkit.org/show_bug.cgi?id=205857

Unreviewed gardening.

Patch by Charlie Turner <mail@charles.plus> on 2020-01-07

  • platform/gtk/TestExpectations: Skip

mock-MediaKeySession-{generateRequest,remove}.html and update some
no longer timing out test-cases.

8:49 AM Changeset in webkit [254130] by youenn@apple.com
  • 21 edits
    2 moves in trunk

Add an option to make video capture in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=205853

Reviewed by Eric Carlson.

Source/WebKit:

Add an option to make video capture in GPU process.
Pass this option at creation of the web page so that the process can be updated after launch time.
Apply the same principle to other audio/video capture parameters.
Add SPI to update this preference.
Fix bug in the passing of preference to process pool for the video capture in UIProcess parameter, which is now an experimental flag and not an internal one.

Test: fast/mediastream/captureInGPUProcess.html

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • Shared/WebPreferences.yaml:
  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetCaptureVideoInGPUProcessEnabled):
(WKPreferencesGetCaptureVideoInGPUProcessEnabled):

  • UIProcess/API/C/WKPreferencesRef.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPreferences.cpp:

(WebKit::WebPreferences::updateBoolValueForInternalDebugFeatureKey):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::initializeNewWebProcess):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_overriddenMediaType):

  • WebProcess/cocoa/UserMediaCaptureManager.cpp:

(WebKit::UserMediaCaptureManager::setupCaptureProcesses):
(WebKit::UserMediaCaptureManager::VideoFactory::createVideoCaptureSource):

  • WebProcess/cocoa/UserMediaCaptureManager.h:

(WebKit::UserMediaCaptureManager::VideoFactory::setShouldCaptureInGPUProcess):

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):

  • WebKitTestRunner/TestOptions.h:

(WTR::TestOptions::hasSameInitializationOptions const):

LayoutTests:

  • fast/mediastream/captureInGPUProcess-expected.txt: Renamed from LayoutTests/fast/mediastream/captureAudioInGPUProcess-expected.txt.
  • fast/mediastream/captureInGPUProcess.html: Renamed from LayoutTests/fast/mediastream/captureAudioInGPUProcess.html.
8:43 AM Changeset in webkit [254129] by Alexey Shvayka
  • 109 edits
    5 copies
    2 moves
    43 adds
    7 deletes in trunk/LayoutTests

Re-sync web-platform-tests/css/cssom-view from upstream
https://bugs.webkit.org/show_bug.cgi?id=204649

Reviewed by Chris Dumez.

Re-sync web-platform-tests/css/cssom-view from upstream 106e0bdf02a1.

LayoutTests/imported/w3c:

  • web-platform-tests/css/cssom-view/*: Updated.

LayoutTests:

8:31 AM Changeset in webkit [254128] by Pablo Saavedra
  • 2 edits in trunk/LayoutTests/imported/w3c

Re-sync web-platform-tests/domparsing from upstream
https://bugs.webkit.org/show_bug.cgi?id=205638

Reviewed by Chris Dumez.

  • resources/import-expectations.json:

Remove not longer needed domparsing skip instructions in the
import-expectations.json file

7:34 AM Changeset in webkit [254127] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test storage/indexeddb/IDBTransaction-page-cache.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=205856

Unreviewed test gardening.

  • platform/win/TestExpectations:
7:29 AM Changeset in webkit [254126] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test http/wpt/css/css-highlight-api/highlight-text-across-elements.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205855

Unreviewed test gardening.

  • platform/win/TestExpectations:
6:49 AM Changeset in webkit [254125] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Fix non GPUProcess build issue in UserMediaCaptureManager
https://bugs.webkit.org/show_bug.cgi?id=205851

Reviewed by Eric Carlson.

Build fix, no change of behavior.

  • WebProcess/cocoa/UserMediaCaptureManager.cpp:

(WebKit::UserMediaCaptureManager::Source::connection):

6:12 AM Changeset in webkit [254124] by commit-queue@webkit.org
  • 1 edit
    1 delete in trunk/Source/WebCore

Remove loader/win
https://bugs.webkit.org/show_bug.cgi?id=205852

Patch by Rob Buis <rbuis@igalia.com> on 2020-01-07
Reviewed by Youenn Fablet.

Remove loader/win since it is not used anymore.

  • loader/win/DocumentLoaderWin.cpp: Removed.
  • loader/win/FrameLoaderWin.cpp: Removed.
5:15 AM Changeset in webkit [254123] by Andres Gonzalez
  • 6 edits in trunk/Source/WebCore

Implementation of containsText for AXIsolatedObjects.
https://bugs.webkit.org/show_bug.cgi?id=205847

Reviewed by Chris Fleizach.

No new tests, no new functionality.

  • Moved implementation of containsText from AccessibilityObject to

AXCoreObject to be re-used by AXIsolatedObject.

  • Implemented AXIsolatedObject::stringValue.
  • AXIsolatedObject::isTable must return false because it is used in the

SPECIALIZE_TYPE_TRAITS_ACCESSIBILITY macro.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::containsText const): Moved to AXCoreObject.

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:

(WebCore::AXCoreObject::containsText const):

  • accessibility/isolatedtree/AXIsolatedTreeNode.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData):
(WebCore::AXIsolatedObject::containsText const): Implementation in base class AXCoreObject.
(WebCore::AXIsolatedObject::stringValue const): Deleted.

  • accessibility/isolatedtree/AXIsolatedTreeNode.h:
2:59 AM Changeset in webkit [254122] by Carlos Garcia Campos
  • 25 edits in trunk

[GTK][WPE] Add API to retrieve and delete surrounding text for input methods
https://bugs.webkit.org/show_bug.cgi?id=205716

Reviewed by Žan Doberšek.

Source/WebKit:

Extend WebKitInputMethodContext to be able to retrieve and delete surrounding text.

  • Shared/EditorState.cpp:

(WebKit::EditorState::PostLayoutData::encode const): Encode paragraphContext and paragraphContextCursorPosition.
(WebKit::EditorState::PostLayoutData::decode): Decode paragraphContext and paragraphContextCursorPosition.

  • Shared/EditorState.h: Add paragraphContext and paragraphContextCursorPosition.
  • UIProcess/API/glib/InputMethodFilter.cpp:

(WebKit::InputMethodFilter::deleteSurroundingCallback): Callback to handle
WebKitInputMethodContext::delete-surrounding signal.
(WebKit::InputMethodFilter::setContext): Connect to WebKitInputMethodContext::delete-surrounding signal.
(WebKit::InputMethodFilter::notifySurrounding): Save the new surrounding text and position and call
webkit_input_method_context_notify_surrounding().
(WebKit::InputMethodFilter::deleteSurrounding): Ask WebKitWebView to delete the surrounding text.

  • UIProcess/API/glib/InputMethodFilter.h:
  • UIProcess/API/glib/WebKitInputMethodContext.cpp:

(webkit_input_method_context_class_init): Add delete-surrounding signal.
(webkit_input_method_context_notify_surrounding): Call the virtual method notify_surrounding if implemented.

  • UIProcess/API/glib/WebKitWebView.cpp:

(webkitWebViewDeleteSurrounding): Call WebPageProxy::deleteSurrounding().

  • UIProcess/API/glib/WebKitWebViewPrivate.h:
  • UIProcess/API/gtk/WebKitInputMethodContext.h:
  • UIProcess/API/gtk/WebKitInputMethodContextImplGtk.cpp:

(contextRetrieveSurrounding): Call gtk_im_context_set_surrounding() with the current surrounding text and position.
(webkitInputMethodContextImplGtkConstructed): Connect to GtkIMContext::retrieve-surrounding signal.
(webkitInputMethodContextImplGtkNotifySurrounding): Save the new surrounding text and position.
(webkit_input_method_context_impl_gtk_class_init): Add implementation for notify_surrounding vfunc.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseUpdateTextInputState): Also notify the context about surrounding text and position.

  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
  • UIProcess/API/wpe/WPEView.cpp:

(WKWPE::View::selectionDidChange): Ditto.

  • UIProcess/API/wpe/WebKitInputMethodContext.h:
  • UIProcess/API/wpe/docs/wpe-1.0-sections.txt:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::deleteSurrounding): Send DeleteSurrounding message to web process.

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::deleteSurrounding): Delete the given range.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in: Add DeleteSurrounding message.
  • WebProcess/WebPage/glib/WebPageGLib.cpp:

(WebKit::WebPage::platformEditorState const): Moved from GTK and WPE here and also added paragraphContext and
paragraphContextCursorPosition initialization.

  • WebProcess/WebPage/gtk/WebPageGtk.cpp: Remove platformEditorState().
  • WebProcess/WebPage/wpe/WebPageWPE.cpp: Ditto.

Tools:

Add new test case for the new API.

  • TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp:

(webkitInputMethodContextMockFinalize):
(webkitInputMethodContextMockNotifySurrounding):
(webkitInputMethodContextMockReset):
(webkit_input_method_context_mock_class_init):
(testWebKitInputMethodContextSurrounding):
(beforeAll):

2:48 AM Changeset in webkit [254121] by Carlos Garcia Campos
  • 58 edits
    1 copy
    1 add in trunk

[GTK][WPE] Add API to set purpose and hints of active editable element to input methods
https://bugs.webkit.org/show_bug.cgi?id=205605

Reviewed by Žan Doberšek.

.:

Add ENABLE_AUTOCAPITALIZE build flag. It's private and disabled by default, enabled in GTK and WPE ports.

  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:
  • Source/cmake/WebKitFeatures.cmake:

PerformanceTests:

Split ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE and remove the IOS prefix.

  • StitchMarker/wtf/FeatureDefines.h:

Source/WebCore:

Use ENABLE(AUTOCAPITALIZE) and ENABLE(AUTOCORRECT) instead of ENABLE(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).

  • Sources.txt: Add Autocapitalize.cpp to the build.
  • html/Autocapitalize.cpp: Add ENABLE(AUTOCAPITALIZE) guards.
  • html/Autocapitalize.h: Ditto.
  • html/HTMLElement.cpp:
  • html/HTMLElement.h:
  • html/HTMLElement.idl:
  • html/HTMLFormControlElement.cpp:
  • html/HTMLFormControlElement.h:
  • html/HTMLFormElement.cpp:
  • html/HTMLFormElement.h:
  • loader/EmptyClients.cpp: Update to new API of EditorClient::setInputMethodState
  • page/EditorClient.h: The focused element or nullptr is now received by setInputMethodState() instead of enabled/disabled boolean.
  • page/FocusController.cpp:

(WebCore::FocusController::setFocusedElement): Pass the focused element or nullptr to setInputMethodState().

Source/WebKit:

Add input-purpose and input-hints properties to WebKitInputMethodContext. The message SetInputMethodState now
receives an optional InputMethodState struct with information about the purpose and hints of the active editable
element.

  • Scripts/webkit/messages.py: Only include InputMethodState.h for GTK and WPE.
  • Shared/glib/InputMethodState.cpp: Added.

(WebKit::InputMethodState::setPurposeOrHintForInputMode):
(WebKit::inputElementHasDigitsPattern):
(WebKit::InputMethodState::setPurposeForInputElement):
(WebKit::InputMethodState::addHintsForAutocapitalizeType):
(WebKit::InputMethodState::encode const):
(WebKit::InputMethodState::decode):

  • Shared/glib/InputMethodState.h: Added.

(WebKit::operator==):

  • SourcesGTK.txt:
  • SourcesWPE.txt:
  • UIProcess/API/glib/InputMethodFilter.cpp:

(WebKit::InputMethodFilter::setContext): Use isEnabled() instead of m_enabled.
(WebKit::InputMethodFilter::setState): Now receives an optional InputMethodState struct.
(WebKit::InputMethodFilter::filterKeyEvent): Use isEnabled() instead of m_enabled.
(WebKit::InputMethodFilter::isViewFocused const): Ditto.
(WebKit::toWebKitPurpose): Helper to convert InputMethodState::Purpose to WebKitInputPurpose.
(WebKit::toWebKitHints): Helper to convert InputMethodState::Hint to WebKitInputHints.
(WebKit::InputMethodFilter::notifyFocusedIn): Set the purpose and hints to the context.
(WebKit::InputMethodFilter::notifyFocusedOut): Use isEnabled() instead of m_enabled.
(WebKit::InputMethodFilter::notifyCursorRect): Ditto.
(WebKit::InputMethodFilter::preeditStarted): Ditto.
(WebKit::InputMethodFilter::preeditChanged): Ditto.
(WebKit::InputMethodFilter::preeditFinished): Ditto.
(WebKit::InputMethodFilter::committed): Ditto.

  • UIProcess/API/glib/InputMethodFilter.h:

(WebKit::InputMethodFilter::isEnabled const): Return true if we have a state.

  • UIProcess/API/glib/WebKitInputMethodContext.cpp:

(webkitInputMethodContextSetProperty): Properties setter.
(webkitInputMethodContextGetProperty): Properties getter.
(webkit_input_method_context_class_init): Add implementation for properties getter and setter.
(webkit_input_method_context_get_input_purpose):
(webkit_input_method_context_set_input_purpose):
(webkit_input_method_context_get_input_hints):
(webkit_input_method_context_set_input_hints):

  • UIProcess/API/gtk/WebKitInputMethodContext.h:
  • UIProcess/API/gtk/WebKitInputMethodContextImplGtk.cpp:

(toGtkInputPurpose): Helper to convert WebKitInputPurpose to GtkInputPurpose.
(toGtkInputHints): Helper to convert WebKitInputHints to GtkInputHints.
(inputPurposeChangedCallback): Set the purpose on GtkIMContext.
(inputHintsChangedCallback): Set the hints on GtkIMContext.
(webkitInputMethodContextImplGtkConstructed): Connect to notify signal for input-purpose and input-hints
properties of the context.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseSetInputMethodState):

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
  • UIProcess/API/wpe/PageClientImpl.cpp:

(WebKit::PageClientImpl::setInputMethodState):

  • UIProcess/API/wpe/PageClientImpl.h:
  • UIProcess/API/wpe/WPEView.cpp:

(WKWPE::View::setInputMethodState):

  • UIProcess/API/wpe/WPEView.h:
  • UIProcess/API/wpe/WebKitInputMethodContext.h:
  • UIProcess/API/wpe/docs/wpe-1.0-sections.txt:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/gtk/WebPageProxyGtk.cpp:

(WebKit::WebPageProxy::setInputMethodState):

  • UIProcess/wpe/WebPageProxyWPE.cpp:

(WebKit::WebPageProxy::setInputMethodState):

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::setInputMethodState):

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/glib/WebPageGLib.cpp:

(WebKit::inputMethodSateForElement): Build an InputMethodState for the given element.
(WebKit::WebPage::setInputMethodState):

Source/WebKitLegacy/mac:

  • DOM/DOMHTMLElement.mm: Use ENABLE(AUTOCORRECT) and ENABLE(AUTOCAPITALIZE).
  • WebCoreSupport/WebEditorClient.h: Update tom the new API to WebEditorClient::setInputMethodState.
  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::setInputMethodState): Ditto.

Source/WebKitLegacy/win:

Update to the new API of WebEditorClient::setInputMethodState.

  • WebCoreSupport/WebEditorClient.cpp:

(WebEditorClient::setInputMethodState):

  • WebCoreSupport/WebEditorClient.h:

Source/WTF:

Split ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE and remove the IOS prefix.

  • wtf/FeatureDefines.h:

Tools:

Add new test case to check the purpose and hints API.

  • TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp:

(testWebKitInputMethodContextContentType):
(beforeAll):

2:45 AM Changeset in webkit [254120] by Carlos Garcia Campos
  • 4 edits in trunk

WebDriver: several w3c collections tests added in r230953 are failing
https://bugs.webkit.org/show_bug.cgi?id=184966

Reviewed by Brian Burg.

Source/WebKit:

This is because JSON.stringify() is not enough, we need to first clone the value using the internal JSON clone
algorithm explained in the spec. See https://w3c.github.io/webdriver/#dfn-internal-json-clone-algorithm.

Fixes: imported/w3c/webdriver/tests/execute_script/collections.py::test_arguments

imported/w3c/webdriver/tests/execute_script/collections.py::test_file_list
imported/w3c/webdriver/tests/execute_script/collections.py::test_html_all_collection
imported/w3c/webdriver/tests/execute_async_script/collections.py::test_arguments
imported/w3c/webdriver/tests/execute_async_script/collections.py::test_file_list
imported/w3c/webdriver/tests/execute_async_script/collections.py::test_html_all_collection

  • WebProcess/Automation/WebAutomationSessionProxy.js:

(WebKitAutomation.AutomationSessionProxy.prototype._jsonStringify): Call JSON.stringify(), but without the
replacer and passing the result of _jsonClone().
(WebKitAutomation.AutomationSessionProxy.prototype._isCollection): Helper to check if the value is a collection.
(WebKitAutomation.AutomationSessionProxy.prototype._checkCyclic): Throw an error if the value is a cyclic structure.
(WebKitAutomation.AutomationSessionProxy.prototype._jsonClone): Implement the internal JSON clone algorithm.
(WebKitAutomation.AutomationSessionProxy.prototype._createNodeHandle): Trhow an error if the node is stale.

WebDriverTests:

Remove expectations for tests that are now passing.

1:58 AM Changeset in webkit [254119] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[SOUP] HSTS Support causes page loading to fail with "Operation was cancelled"
https://bugs.webkit.org/show_bug.cgi?id=203620

Reviewed by Michael Catanzaro.

The problem is that we are assuming that request cancellation happens synchronously, but it can happen that the
async ready callback for the previous request is called after the new one has started.

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::sendRequestCallback): Return early if this is a previous request already cancelled.

1:55 AM Changeset in webkit [254118] by Carlos Garcia Campos
  • 6 edits in trunk/Source

WebDriver: handle no such element errors
https://bugs.webkit.org/show_bug.cgi?id=204684

Reviewed by Brian Burg.

Source/WebDriver:

Handle InvalidNodeIdentifier errors.

Fixes: imported/w3c/webdriver/tests/get_element_tag_name/get.py::test_element_not_found

imported/w3c/webdriver/tests/get_element_property/get.py::test_element_not_found
imported/w3c/webdriver/tests/get_element_attribute/get.py::test_element_not_found

  • CommandResult.cpp:

(WebDriver::CommandResult::CommandResult):

Source/WebKit:

Add InvalidNodeIdentifier to be generated when the elementID provided by WebDriver is not a valid node identifier.

  • UIProcess/Automation/Automation.json: Add InvalidNodeIdentifier error.
  • WebProcess/Automation/WebAutomationSessionProxy.cpp:

(WebKit::isValidNodeHandle): Helper function to check the given node handle is valid.
(WebKit::isValidNodeIdentifier): JavaScript callback function to check the node identifier is valid.
(WebKit::WebAutomationSessionProxy::scriptObjectForFrame): Add isValidNodeIdentifier function.
(WebKit::WebAutomationSessionProxy::evaluateJavaScriptFunction): Handle InvalidNodeIdentifier errors.
(WebKit::WebAutomationSessionProxy::resolveChildFrameWithNodeHandle): Call isValidNodeHandle() and generate
InvalidNodeIdentifier error if it fails.
(WebKit::WebAutomationSessionProxy::computeElementLayout): Ditto.
(WebKit::WebAutomationSessionProxy::selectOptionElement): Ditto.
(WebKit::WebAutomationSessionProxy::takeScreenshot): Ditto.

  • WebProcess/Automation/WebAutomationSessionProxy.js:

(let.AutomationSessionProxy.prototype._nodeForIdentifier): Call isValidNodeIdentifier() and throw
InvalidNodeIdentifier if it fails.

1:52 AM Changeset in webkit [254117] by Carlos Garcia Campos
  • 4 edits in trunk

WebDriver: several tests in imported/w3c/webdriver/tests/state/get_element_attribute.py are failing
https://bugs.webkit.org/show_bug.cgi?id=180415

Reviewed by Brian Burg.

Source/WebKit:

Update the ElementAttribute atom to properly handle boolean attributes, following what the selenium original
atom does.

  • UIProcess/Automation/atoms/ElementAttribute.js:

(getAttribute):
(tagName.string_appeared_here.lowercaseAttributeName.string_appeared_here):
(isBooleanAttribute):

WebDriverTests:

Remove expectations for tests that are now passing.

1:43 AM Changeset in webkit [254116] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

[GStreamer] mediastreamsrc ref sinked triggers critical warning in gst 1.17
https://bugs.webkit.org/show_bug.cgi?id=205777

Reviewed by Carlos Garcia Campos.

  • platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:

Use a raw pointer to keep track of the src element in the track
observer, similarily to the other observer implementation. Using
GRefPtr here would have the side effect of removing the floating
reference on the element and trigger a critical warning in GStreamer.

12:14 AM Changeset in webkit [254115] by Chris Fleizach
  • 17 edits in trunk

AX: Enable ACCESSIBILITY_ISOLATED_TREE
https://bugs.webkit.org/show_bug.cgi?id=205535
<rdar://problem/58131075>

Reviewed by Zalan Bujtas.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Enable compilation of the accessibility isolated tree and make it a runtime feature.

  • Configurations/FeatureDefines.xcconfig:
  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::clientSupportsIsolatedTree):

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setIsAccessibilityIsolatedTreeEnabled):
(WebCore::RuntimeEnabledFeatures::isAccessibilityIsolatedTreeEnabled const):

  • page/Settings.yaml:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:
  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetIsAccessibilityIsolatedTreeEnabled):
(WKPreferencesGetIsAccessibilityIsolatedTreeEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Jan 6, 2020:

11:49 PM Changeset in webkit [254114] by Fujii Hironori
  • 4 edits
    2 adds in trunk

ComplexTextController::offsetForPosition returns a wrong offset for a glyph boundary in a RTL text
https://bugs.webkit.org/show_bug.cgi?id=205486

Reviewed by Ross Kirsling.

Source/WebCore:

ComplexTextController::offsetForPosition had the following code:

unsigned hitIndex = hitGlyphStart + (hitGlyphEnd - hitGlyphStart) * (m_run.ltr() ? x / adjustedAdvance : 1 - x / adjustedAdvance);

If m_run.ltr() was false and x == 0, hitIndex would become hitGlyphEnd.
This is not expected. It expects hitIndex < hitGlyphEnd if hitGlyphStart ≠ hitGlyphEnd.
Let hitIndex be hitGlyphStart-1 in the such condition.

Above change makes fast/text/ellipsis-text-rtl.html starting to
fail because offsetForPosition returns the character offset of the
next glyph if the argument 'h' is in a glyph boundary. In RTL
text, offsetForPosition should return a character offset of the
previous glyph in case of a glyph boundary. Use '<=' instead of '<'
for RTL text in order to select previous glyphs for glyph
boundaries.

Test: fast/dom/Document/CaretRangeFromPoint/rtl.html

  • platform/graphics/ComplexTextController.cpp:

(WebCore::ComplexTextController::offsetForPosition): Compute correct hitGlyphEnd for RTL.

LayoutTests:

  • fast/dom/Document/CaretRangeFromPoint/rtl-expected.txt: Added.
  • fast/dom/Document/CaretRangeFromPoint/rtl.html: Added.
  • platform/gtk/TestExpectations: Unmarked imported/blink/editing/selection/offset-from-point-complex-scripts.html.
9:48 PM Changeset in webkit [254113] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC] Start using the UsedHorizontalValues::Constraints values in ::layoutInFlowContent
https://bugs.webkit.org/show_bug.cgi?id=205831
<rdar://problem/58353565>

Reviewed by Antti Koivisto.

Use the incoming horizontal constraint value instead of querying the root's geometry (which is technically outside of the current formatting context).

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):

8:51 PM Changeset in webkit [254112] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

[LFC] computeBorderAndPadding/computeWidthAndMargin/computeStaticPosition functions should take UsedHorizontalValues::Constraints
https://bugs.webkit.org/show_bug.cgi?id=205825
<rdar://problem/58351397>

Reviewed by Antti Koivisto.

Let's pass in the horizontal constraints so that the compute* functions don't need to
access containing block's geometry.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeBorderAndPadding):
(WebCore::Layout::FormattingContext::layoutOutOfFlowContent):

  • layout/FormattingContext.h:
  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::layoutFormattingContextRoot):
(WebCore::Layout::BlockFormattingContext::computeStaticHorizontalPosition):
(WebCore::Layout::BlockFormattingContext::computeStaticPosition):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):

  • layout/blockformatting/BlockFormattingContext.h:

(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin): Deleted.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutFormattingContextRoot):
(WebCore::Layout::InlineFormattingContext::computeHorizontalAndVerticalGeometry):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthForFormattingRoot):
(WebCore::Layout::InlineFormattingContext::computeWidthAndHeightForReplacedInlineBox):

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::layoutTableCellBox):

8:42 PM Changeset in webkit [254111] by yurys@chromium.org
  • 5 edits in trunk

REGRESSION: [ Mac wk2 ] http/tests/inspector/target/provisional-load-cancels-previous-load.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=205473
<rdar://problem/58093690>

Source/WebInspectorUI:

The failure was due to attempts to add output to the test page which could be not fully
loaded after navigation. To make it deterministic it is now possible to keep provisional
navigation paused and to defer output until the test page is ready.

Reviewed by Brian Burg.

  • UserInterface/Protocol/Target.js:

(WI.Target.prototype.initialize):
(WI.Target.prototype._resumeIfPaused): extracted resume logic in a method that
can be overridden in the tests.

  • UserInterface/Test/FrontendTestHarness.js:

(FrontendTestHarness.prototype.deferOutputUntilTestPageIsReloaded): allow to pause
output when navigation is started via protocol commands rather than the test harness.

LayoutTests:

Reviewed by Brian Burg.

Keep provisional page paused until second navigation replaces it and also
defer output until test page is fully initialized after navigation.

  • http/tests/inspector/target/provisional-load-cancels-previous-load.html:
8:40 PM Changeset in webkit [254110] by ChangSeok Oh
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix since r254064.

  • CMakeLists.txt: GraphicsContext3D was renamed GraphicsContextGLOpenGL, not GraphicsContextGLOpenGLBase.
8:36 PM Changeset in webkit [254109] by Fujii Hironori
  • 4 edits in trunk/LayoutTests

Unreviewed test gardening for WinCairo port after r253326 and r250849.

  • platform/wincairo/fast/css/invalidation-errors-2-expected.txt:
  • platform/wincairo/fast/css/invalidation-errors-expected.txt:
  • platform/wincairo/fast/text/international/bidi-layout-across-linebreak-expected.txt:
8:36 PM Changeset in webkit [254108] by yoshiaki.jitsukawa@sony.com
  • 4 edits in trunk

[PlayStation] Update port cmake
https://bugs.webkit.org/show_bug.cgi?id=205846

Reviewed by Don Olmstead.

.:

Define C/CXX macro BPLATFORM_PLAYSTATION.

Find HarfBuzz::ICU component to fix cmake errors.

Make the WebCore and WebKit builds optional.

  • Source/cmake/OptionsPlayStation.cmake:

Source/JavaScriptCore:

  • PlatformPlayStation.cmake:

Workaround of compilation errors with VisualStudio generator, which gives -std=c++* options to C sources.

8:18 PM Changeset in webkit [254107] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC] Remove redundant UsedVerticalValues::Constraints(Display::Box)
https://bugs.webkit.org/show_bug.cgi?id=205813
<rdar://problem/58346993>

Reviewed by Antti Koivisto.

Let's call the other c'tor instead.

  • layout/LayoutUnits.cpp:

(WebCore::Layout::UsedVerticalValues::Constraints::Constraints): Deleted.

  • layout/LayoutUnits.h:
  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeStaticVerticalPosition):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):

7:58 PM Changeset in webkit [254106] by Fujii Hironori
  • 7 edits in trunk/LayoutTests

Unreviewed test gardening for WinCairo port after r252598.

  • platform/wincairo/fast/box-shadow/inset-box-shadow-radius-expected.txt:
  • platform/wincairo/fast/css/hsl-color-expected.txt:
  • platform/wincairo/fast/css/hsla-color-expected.txt:
  • platform/wincairo/fast/css/percentage-non-integer-expected.txt:
  • platform/wincairo/fast/css/shadow-multiple-expected.txt:
  • platform/wincairo/fast/css/viewport-units-dynamic-expected.txt:
7:44 PM Changeset in webkit [254105] by Fujii Hironori
  • 112 edits in trunk/LayoutTests

Unreviewed test gardening for WinCairo port after r254044.

  • platform/wincairo/css1/basic/containment-expected.txt:
  • platform/wincairo/css1/basic/contextual_selectors-expected.txt:
  • platform/wincairo/css1/basic/grouping-expected.txt:
  • platform/wincairo/css1/basic/id_as_selector-expected.txt:
  • platform/wincairo/css1/basic/inheritance-expected.txt:
  • platform/wincairo/css1/box_properties/border-expected.txt:
  • platform/wincairo/css1/box_properties/border_bottom-expected.txt:
  • platform/wincairo/css1/box_properties/border_bottom_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_bottom_width-expected.txt:
  • platform/wincairo/css1/box_properties/border_bottom_width_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_color-expected.txt:
  • platform/wincairo/css1/box_properties/border_color_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_left-expected.txt:
  • platform/wincairo/css1/box_properties/border_left_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_left_width-expected.txt:
  • platform/wincairo/css1/box_properties/border_left_width_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_right-expected.txt:
  • platform/wincairo/css1/box_properties/border_right_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_right_width-expected.txt:
  • platform/wincairo/css1/box_properties/border_right_width_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_style-expected.txt:
  • platform/wincairo/css1/box_properties/border_style_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_top-expected.txt:
  • platform/wincairo/css1/box_properties/border_top_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_top_width-expected.txt:
  • platform/wincairo/css1/box_properties/border_top_width_inline-expected.txt:
  • platform/wincairo/css1/box_properties/border_width-expected.txt:
  • platform/wincairo/css1/box_properties/border_width_inline-expected.txt:
  • platform/wincairo/css1/box_properties/clear-expected.txt:
  • platform/wincairo/css1/box_properties/clear_float-expected.txt:
  • platform/wincairo/css1/box_properties/float-expected.txt:
  • platform/wincairo/css1/box_properties/float_elements_in_series-expected.txt:
  • platform/wincairo/css1/box_properties/float_margin-expected.txt:
  • platform/wincairo/css1/box_properties/height-expected.txt:
  • platform/wincairo/css1/box_properties/margin-expected.txt:
  • platform/wincairo/css1/box_properties/margin_bottom-expected.txt:
  • platform/wincairo/css1/box_properties/margin_bottom_inline-expected.txt:
  • platform/wincairo/css1/box_properties/margin_inline-expected.txt:
  • platform/wincairo/css1/box_properties/margin_left-expected.txt:
  • platform/wincairo/css1/box_properties/margin_left_inline-expected.txt:
  • platform/wincairo/css1/box_properties/margin_right-expected.txt:
  • platform/wincairo/css1/box_properties/margin_right_inline-expected.txt:
  • platform/wincairo/css1/box_properties/margin_top-expected.txt:
  • platform/wincairo/css1/box_properties/margin_top_inline-expected.txt:
  • platform/wincairo/css1/box_properties/padding-expected.txt:
  • platform/wincairo/css1/box_properties/padding_bottom-expected.txt:
  • platform/wincairo/css1/box_properties/padding_bottom_inline-expected.txt:
  • platform/wincairo/css1/box_properties/padding_inline-expected.txt:
  • platform/wincairo/css1/box_properties/padding_left-expected.txt:
  • platform/wincairo/css1/box_properties/padding_left_inline-expected.txt:
  • platform/wincairo/css1/box_properties/padding_right-expected.txt:
  • platform/wincairo/css1/box_properties/padding_right_inline-expected.txt:
  • platform/wincairo/css1/box_properties/padding_top-expected.txt:
  • platform/wincairo/css1/box_properties/padding_top_inline-expected.txt:
  • platform/wincairo/css1/box_properties/width-expected.txt:
  • platform/wincairo/css1/cascade/cascade_order-expected.txt:
  • platform/wincairo/css1/cascade/important-expected.txt:
  • platform/wincairo/css1/classification/display-expected.txt:
  • platform/wincairo/css1/classification/list_style-expected.txt:
  • platform/wincairo/css1/classification/list_style_image-expected.txt:
  • platform/wincairo/css1/classification/list_style_position-expected.txt:
  • platform/wincairo/css1/classification/list_style_type-expected.txt:
  • platform/wincairo/css1/classification/white_space-expected.txt:
  • platform/wincairo/css1/color_and_background/background-expected.txt:
  • platform/wincairo/css1/color_and_background/background_attachment-expected.txt:
  • platform/wincairo/css1/color_and_background/background_color-expected.txt:
  • platform/wincairo/css1/color_and_background/background_image-expected.txt:
  • platform/wincairo/css1/color_and_background/background_position-expected.txt:
  • platform/wincairo/css1/color_and_background/background_repeat-expected.txt:
  • platform/wincairo/css1/color_and_background/color-expected.txt:
  • platform/wincairo/css1/conformance/forward_compatible_parsing-expected.txt:
  • platform/wincairo/css1/font_properties/font-expected.txt:
  • platform/wincairo/css1/font_properties/font_size-expected.txt:
  • platform/wincairo/css1/font_properties/font_style-expected.txt:
  • platform/wincairo/css1/font_properties/font_variant-expected.txt:
  • platform/wincairo/css1/font_properties/font_weight-expected.txt:
  • platform/wincairo/css1/formatting_model/canvas-expected.txt:
  • platform/wincairo/css1/formatting_model/floating_elements-expected.txt:
  • platform/wincairo/css1/formatting_model/height_of_lines-expected.txt:
  • platform/wincairo/css1/formatting_model/inline_elements-expected.txt:
  • platform/wincairo/css1/formatting_model/replaced_elements-expected.txt:
  • platform/wincairo/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/wincairo/css1/pseudo/anchor-expected.txt:
  • platform/wincairo/css1/pseudo/firstletter-expected.txt:
  • platform/wincairo/css1/pseudo/firstline-expected.txt:
  • platform/wincairo/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/wincairo/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
  • platform/wincairo/css1/text_properties/letter_spacing-expected.txt:
  • platform/wincairo/css1/text_properties/line_height-expected.txt:
  • platform/wincairo/css1/text_properties/text_align-expected.txt:
  • platform/wincairo/css1/text_properties/text_decoration-expected.txt:
  • platform/wincairo/css1/text_properties/text_indent-expected.txt:
  • platform/wincairo/css1/text_properties/text_transform-expected.txt:
  • platform/wincairo/css1/text_properties/vertical_align-expected.txt:
  • platform/wincairo/css1/text_properties/word_spacing-expected.txt:
  • platform/wincairo/css1/units/color_units-expected.txt:
  • platform/wincairo/css1/units/length_units-expected.txt:
  • platform/wincairo/css1/units/percentage_units-expected.txt:
  • platform/wincairo/css1/units/urls-expected.txt:
  • platform/wincairo/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
  • platform/wincairo/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
  • platform/wincairo/editing/selection/designmode-no-caret-expected.txt:
  • platform/wincairo/fast/css/empty-pseudo-class-expected.txt:
  • platform/wincairo/fast/css/first-child-pseudo-class-expected.txt:
  • platform/wincairo/fast/css/last-child-pseudo-class-expected.txt:
  • platform/wincairo/fast/css/only-child-pseudo-class-expected.txt:
  • platform/wincairo/fast/html/listing-expected.txt:
  • platform/wincairo/fast/text/whitespace/024-expected.txt:
  • platform/wincairo/fast/text/whitespace/030-expected.txt:
  • platform/wincairo/fast/text/word-break-expected.txt:
7:15 PM Changeset in webkit [254104] by Alan Bujtas
  • 10 edits in trunk/Source/WebCore

[LFC] FormattingContext::layoutInFlowContent should take UsedHorizontalValues::Constraints
https://bugs.webkit.org/show_bug.cgi?id=205809
<rdar://problem/58345856>

Reviewed by Antti Koivisto.

This patch is in preparation for using the incoming horizontal constraint instead of
accessing the formatting context root's geometry.
(e.g. <div style="width: 100px;">text content</div>. The IFC should not need to query the div's display box
for the horizontal available space (100px))

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::layoutOutOfFlowContent):

  • layout/FormattingContext.h:
  • layout/LayoutContext.cpp:

(WebCore::Layout::LayoutContext::layoutFormattingContextSubtree):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::layoutFormattingContextRoot):

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::layoutFormattingContextRoot):

  • layout/inlineformatting/InlineFormattingContext.h:
  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::layoutInFlowContent):
(WebCore::Layout::TableFormattingContext::layoutTableCellBox):

  • layout/tableformatting/TableFormattingContext.h:
6:52 PM Changeset in webkit [254103] by don.olmstead@sony.com
  • 15 edits in trunk

Rename GraphicsContext3D to GraphicsContextGL
https://bugs.webkit.org/show_bug.cgi?id=205778
<rdar://problem/58327597>

Reviewed by Ross Kirsling.

.:

Fix the build after r254064 on Windows and PlayStation.

Add USE_OPENGL_ES_3 to Windows and WPE builds to simplify the Platform checks
for GL functions available in OpenGL ES 3.0+. Expose additional USE macros for
Windows builds to remove Platform.h entries around ENABLE(WEBGL).

  • Source/cmake/OptionsFTW.cmake:
  • Source/cmake/OptionsWPE.cmake:
  • Source/cmake/OptionsWinCairo.cmake:

Source/WebCore:

Use ENABLE(GRAPHICS_CONTEXT_GL) instead of ENABLE(WEBGL) for relevant files.
This was causing the build breakage.

Move methods wrapping OpenGL[ES] 3.0+ functions into GraphicsContextGLOpenGLCommon.cpp
and remove them from GraphicsContextGLTextureMapper.cpp. Add a check for OpenGL[ES]
versions rather than depending on a particular platform.

  • platform/graphics/ANGLEWebKitBridge.h:
  • platform/graphics/GraphicsContextGL.cpp:
  • platform/graphics/GraphicsContextGL.h:
  • platform/graphics/GraphicsContextGLAttributes.h:
  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:
  • platform/graphics/opengl/GraphicsContextGLOpenGL.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp:

(WebCore::GraphicsContextGLOpenGL::mapBufferRange):
(WebCore::GraphicsContextGLOpenGL::unmapBuffer):
(WebCore::GraphicsContextGLOpenGL::copyBufferSubData):
(WebCore::GraphicsContextGLOpenGL::getInternalformativ):
(WebCore::GraphicsContextGLOpenGL::renderbufferStorageMultisample):
(WebCore::GraphicsContextGLOpenGL::texStorage2D):
(WebCore::GraphicsContextGLOpenGL::texStorage3D):
(WebCore::GraphicsContextGLOpenGL::getActiveUniforms):

  • platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:

(WebCore::GraphicsContextGLOpenGL::mapBufferRange): Deleted.
(WebCore::GraphicsContextGLOpenGL::unmapBuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::copyBufferSubData): Deleted.
(WebCore::GraphicsContextGLOpenGL::getInternalformativ): Deleted.
(WebCore::GraphicsContextGLOpenGL::renderbufferStorageMultisample): Deleted.
(WebCore::GraphicsContextGLOpenGL::texStorage2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::texStorage3D): Deleted.
(WebCore::GraphicsContextGLOpenGL::getActiveUniforms): Deleted.

Source/WTF:

Define USE_OPENGL_3 for Mac and USE_OPENGL_ES_3 for iOS. Use CMake config for
Windows and WebGL.

  • wtf/Platform.h:
5:10 PM Changeset in webkit [254102] by Alan Bujtas
  • 11 edits in trunk/Source/WebCore

[LFC] UsedHorizontalValues::Constraints should not take Display::Box
https://bugs.webkit.org/show_bug.cgi?id=205811
<rdar://problem/58346356>

Reviewed by Antti Koivisto.

Passing in only the actual rect values (content/padding box left/width) to UsedHorizontalValues::Constraints makes the
constraint logic look clear.

  • layout/FormattingContext.cpp:

(WebCore::Layout::outOfFlowHorizontalConstraints):
(WebCore::Layout::FormattingContext::computeBorderAndPadding):

  • layout/FormattingContextQuirks.cpp:

(WebCore::Layout::FormattingContext::Quirks::heightValueOfNearestContainingBlockWithFixedHeight):

  • layout/LayoutUnits.cpp:

(WebCore::Layout::UsedHorizontalValues::Constraints::Constraints):

  • layout/LayoutUnits.h:
  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::placeInFlowPositionedChildren):
(WebCore::Layout::BlockFormattingContext::computeStaticHorizontalPosition):
(WebCore::Layout::BlockFormattingContext::computeEstimatedVerticalPosition):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):

  • layout/blockformatting/BlockFormattingContextQuirks.cpp:

(WebCore::Layout::BlockFormattingContext::Quirks::stretchedInFlowHeight):

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::positiveNegativeValues const):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):

5:06 PM Changeset in webkit [254101] by pvollan@apple.com
  • 7 edits in trunk/Source/WebKit

[iOS] Get display level in the UI process for all iOS platforms
https://bugs.webkit.org/show_bug.cgi?id=205835
<rdar://problem/58116883>

Reviewed by Brent Fulgham.

This was previously only done for iOS, but should be done for all iOS platforms.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::registerNotificationObservers):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::initializeNewWebProcess):

  • UIProcess/WebProcessPool.h:
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm:
4:52 PM Changeset in webkit [254100] by Jonathan Bedard
  • 2 edits in trunk/Tools

results.webkit.org: Tweak processing constants
https://bugs.webkit.org/show_bug.cgi?id=205828
<rdar://problem/58146698>

Rubber-stamped by Aakash Jain.

  • resultsdbpy/resultsdbpy/model/upload_context.py:

(UploadContext):
Increase process timeout to 1 week.
Allow 5 retries instead of 3.
Retry stuck tasks after 10 minutes instead of 5.
Include more tasks so that a scan is always greater than the number of workers.

4:49 PM Changeset in webkit [254099] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Only prewarm fonts with valid font names
https://bugs.webkit.org/show_bug.cgi?id=205822

Reviewed by Brent Fulgham.

The font names ".SF NS Text" and ".SF NS Display" are not valid on iOS, and should not be prewarmed.

No new tests, no behavior change.

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::FontCache::prewarmGlobally):

4:34 PM Changeset in webkit [254098] by eric.carlson@apple.com
  • 13 edits in trunk/Source/WebKit

Add some of the remote media player messages needed for video playback
https://bugs.webkit.org/show_bug.cgi?id=205812
<rdar://problem/58346531>

Reviewed by Jer Noble.

No new tests, it isn't possible to play video yet.

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:

(WebKit::RemoteMediaPlayerManagerProxy::prepareForRendering):
(WebKit::RemoteMediaPlayerManagerProxy::setSize):
(WebKit::RemoteMediaPlayerManagerProxy::setVisible):
(WebKit::RemoteMediaPlayerManagerProxy::setShouldMaintainAspectRatio):
(WebKit::RemoteMediaPlayerManagerProxy::setVideoFullscreenFrame):
(WebKit::RemoteMediaPlayerManagerProxy::setVideoFullscreenGravity):
(WebKit::RemoteMediaPlayerManagerProxy::acceleratedRenderingStateChanged):
(WebKit::RemoteMediaPlayerManagerProxy::setShouldDisableSleep):
(WebKit::RemoteMediaPlayerManagerProxy::setRate):

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerManagerProxy.messages.in:
  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::getConfiguration):
(WebKit::RemoteMediaPlayerProxy::prepareForRendering):
(WebKit::RemoteMediaPlayerProxy::setSize):
(WebKit::RemoteMediaPlayerProxy::setVisible):
(WebKit::RemoteMediaPlayerProxy::setShouldMaintainAspectRatio):
(WebKit::RemoteMediaPlayerProxy::setVideoFullscreenFrame):
(WebKit::RemoteMediaPlayerProxy::setVideoFullscreenGravity):
(WebKit::RemoteMediaPlayerProxy::acceleratedRenderingStateChanged):
(WebKit::RemoteMediaPlayerProxy::setShouldDisableSleep):
(WebKit::RemoteMediaPlayerProxy::setRate):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerReadyStateChanged):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingCanBeAccelerated):

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::sizeChanged):
(WebKit::MediaPlayerPrivateRemote::updateCachedState):
(WebKit::MediaPlayerPrivateRemote::shouldIgnoreIntrinsicSize):
(WebKit::MediaPlayerPrivateRemote::prepareForRendering):
(WebKit::MediaPlayerPrivateRemote::setSize):
(WebKit::MediaPlayerPrivateRemote::setVisible):
(WebKit::MediaPlayerPrivateRemote::setShouldMaintainAspectRatio):
(WebKit::MediaPlayerPrivateRemote::setVideoFullscreenFrame):
(WebKit::MediaPlayerPrivateRemote::setVideoFullscreenGravity):
(WebKit::MediaPlayerPrivateRemote::acceleratedRenderingStateChanged):
(WebKit::MediaPlayerPrivateRemote::setShouldDisableSleep):
(WebKit::MediaPlayerPrivateRemote::naturalSize const):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/GPU/media/RemoteMediaPlayerConfiguration.h:

(WebKit::RemoteMediaPlayerConfiguration::encode const):
(WebKit::RemoteMediaPlayerConfiguration::decode):

  • WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:

(WebKit::RemoteMediaPlayerManager::sizeChanged):

  • WebProcess/GPU/media/RemoteMediaPlayerManager.h:
  • WebProcess/GPU/media/RemoteMediaPlayerManager.messages.in:
  • WebProcess/GPU/media/RemoteMediaPlayerState.h:

(WebKit::RemoteMediaPlayerState::encode const):
(WebKit::RemoteMediaPlayerState::decode):

4:31 PM Changeset in webkit [254097] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

Improve logging for when a synchronous IPC times out
https://bugs.webkit.org/show_bug.cgi?id=205829

Reviewed by Tim Horton.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::sendSyncMessage):
(IPC::Connection::waitForSyncReply):

  • Platform/IPC/Connection.h:
4:15 PM Changeset in webkit [254096] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

4:13 PM Changeset in webkit [254095] by Jonathan Bedard
  • 2 edits in trunk/Tools

test-lldb-webkit: Use logging module
https://bugs.webkit.org/show_bug.cgi?id=205832

Reviewed by Stephanie Lewis.

  • Scripts/test-lldb-webkit:

(LldbTester.run): Configure logger.

3:55 PM Changeset in webkit [254094] by Nikita Vasilyev
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: Color picker: make it keyboard accessible
https://bugs.webkit.org/show_bug.cgi?id=205572
<rdar://problem/58169943>

Reviewed by Brian Burg.

For the color square, make up, down, left, and right keys move the crosshair.

For the hue and opacity sliders:

  • Pressing up and down keys should adjust the value by 1%.
  • When holding Shift, up and down keys adjust the value by 10%.
  • UserInterface/Views/ColorPicker.js:

(WI.ColorPicker.prototype.focus):

  • UserInterface/Views/ColorSquare.css:

(.color-square):
Match the border of the hue and opacity sliders.

  • UserInterface/Views/ColorSquare.js:

(WI.ColorSquare):
Make the color square focusable.

(WI.ColorSquare.prototype._handleMousedown):
(WI.ColorSquare.prototype._handleKeyDown):

  • UserInterface/Views/InlineSwatch.js:
  • UserInterface/Views/Slider.css:

(.slider:focus):

  • UserInterface/Views/Slider.js:

(WI.Slider):
(WI.Slider.prototype._handleMousedown):
Drive-by: right clicking the slider shouldn't move the thumb.

(WI.Slider.prototype._handleKeyDown):

3:49 PM Changeset in webkit [254093] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Build (unified) failure after adding source files to support media in GPU process
https://bugs.webkit.org/show_bug.cgi?id=205616

Patch by Peng Liu <Peng Liu> on 2020-01-06
Reviewed by Darin Adler.

No new tests, no functional change.

Source/WebCore:

  • Modules/mediastream/UserMediaClient.h:

Source/WebKit:

  • Sources.txt:
  • SourcesGTK.txt:
  • WebKit.xcodeproj/project.pbxproj:
3:32 PM Changeset in webkit [254092] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

NetworkSessionCocoa::isolatedSession should not use iterator after mutating m_isolatedSessions
https://bugs.webkit.org/show_bug.cgi?id=205824
<rdar://problem/55107625>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-06
Reviewed by Chris Dumez.

Classic iterator use after mutating iterated container was causing crashes by returning a null SessionWrapper&
This was introduced in r252185 or r248640.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::isolatedSession):

3:08 PM Changeset in webkit [254091] by dbates@webkit.org
  • 13 edits in trunk

Precision of getClientRects(), getBoundingClientRect() differs depending whether simple line layout or line box layout is used
https://bugs.webkit.org/show_bug.cgi?id=205563
<rdar://problem/58165528>

Reviewed by Zalan Bujtas.

Source/WebCore:

Fix up simple line layout run rect to match the rect returned by the line layout code path.

  • rendering/InlineTextBox.cpp:

(WebCore::snappedSelectionRect): Added; extracted from localSelectionRect().
(WebCore::InlineTextBox::localSelectionRect const): Moved some logic into snappedSelectionRect()
and modified code to use it.

  • rendering/InlineTextBox.h:
  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::collectAbsoluteQuadsForRange): Fix up run rect.

Tools:

Update test results.

  • TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:

(TEST):

  • TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm:

(TEST):

LayoutTests:

Update expected result now that simple line layout computes a client rect that matches
the rect the line layout code computes.

  • fast/dom/Range/getClientRects-expected.txt:
  • fast/dom/Range/getClientRects.html:
  • fast/dom/Range/mac/getClientRects-and-getBoundingClientRect-before-and-after-selection-expected.txt:
  • fast/repaint/text-selection-overflow-hidden-expected.txt:
3:05 PM Changeset in webkit [254090] by Alan Coon
  • 1 copy in tags/Safari-608.5.7

Tag Safari-608.5.7.

2:57 PM Changeset in webkit [254089] by youenn@apple.com
  • 6 edits in trunk

XMLHTTPRequest POSTs blob data to a custom WKURLSchemeHandler protocol crash
https://bugs.webkit.org/show_bug.cgi?id=205685

Reviewed by Alex Christensen.

Source/WebCore:

There is no blob registry in the UIProcess.
This should not matter since we do not yet support blobs in custom scheme handlers.
But we are calling the blob registry when creating a request body, which does not work in UIProcess.
Instead, pass a lambda that will be called in case of blobs.
Covered by API test.

  • platform/network/FormData.cpp:

(WebCore::FormDataElement::lengthInBytes const):
(WebCore::FormData::resolveBlobReferences):

  • platform/network/FormData.h:
  • platform/network/cf/FormDataStreamCFNet.cpp:

(WebCore::createHTTPBodyCFReadStream):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
2:47 PM Changeset in webkit [254088] by Alexey Shvayka
  • 4 edits in trunk

String.prototype.replace() incorrectly handles named references on RegExp w/o named groups
https://bugs.webkit.org/show_bug.cgi?id=205785

Reviewed by Ross Kirsling.

JSTests:

  • test262/expectations.yaml: Mark 2 test cases as passing.

Source/JavaScriptCore:

This patch fixes substitution of named references by ignoring "$<" sequences
for a RegExp without named capture groups, removing some index tweaking.
(step 11 of https://tc39.es/ecma262/#sec-getsubstitution)

Also this change removes 2 obsolete FIXMEs regarding possible spec changes.

  • runtime/StringPrototype.cpp:

(JSC::substituteBackreferencesSlow):

2:24 PM Changeset in webkit [254087] by mark.lam@apple.com
  • 382 edits in trunk

PerformanceTests:
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776

Reviewed by Saam Barati.

  • JetStream2/wasm/HashSet.cpp:
  • StitchMarker/wtf/Assertions.h:
  • StitchMarker/wtf/DateMath.cpp:

(WTF::initializeDates):

  • StitchMarker/wtf/HashTable.h:
  • StitchMarker/wtf/Hasher.h:

(WTF::StringHasher::addCharacters):

  • StitchMarker/wtf/NeverDestroyed.h:

(WTF::LazyNeverDestroyed::construct):

  • StitchMarker/wtf/StackBounds.h:

(WTF::StackBounds::checkConsistency const):

  • StitchMarker/wtf/ValueCheck.h:
  • StitchMarker/wtf/Vector.h:

(WTF::minCapacity>::checkConsistency):

  • StitchMarker/wtf/text/AtomicStringImpl.cpp:
  • StitchMarker/wtf/text/AtomicStringImpl.h:
  • StitchMarker/wtf/text/StringCommon.h:

(WTF::hasPrefixWithLettersIgnoringASCIICaseCommon):

  • StitchMarker/wtf/text/StringImpl.h:
  • StitchMarker/wtf/text/SymbolImpl.h:
  • StitchMarker/wtf/text/UniquedStringImpl.h:

Source/JavaScriptCore:
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776

Reviewed by Saam Barati.

  • API/tests/testapi.c:
  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::replaceWithLoad):
(JSC::ARM64Assembler::replaceWithAddressComputation):

  • assembler/AssemblerBuffer.h:

(JSC::AssemblerBuffer::LocalWriter::LocalWriter):

  • assembler/LinkBuffer.cpp:

(JSC::LinkBuffer::copyCompactAndLinkCode):

  • assembler/ProbeStack.cpp:

(JSC::Probe::Stack::Stack):

  • assembler/ProbeStack.h:
  • b3/B3FoldPathConstants.cpp:
  • b3/B3LowerToAir.cpp:
  • b3/B3MemoryValue.cpp:

(JSC::B3::MemoryValue::MemoryValue):

  • b3/B3Opcode.cpp:
  • b3/B3Type.h:
  • b3/B3TypeMap.h:
  • b3/B3Width.h:
  • b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp:

(JSC::B3::Air::GenerateAndAllocateRegisters::prepareForGeneration):
(JSC::B3::Air::GenerateAndAllocateRegisters::generate):

  • b3/air/AirAllocateRegistersAndStackAndGenerateCode.h:
  • b3/air/AirAllocateRegistersByGraphColoring.cpp:
  • b3/air/AirArg.cpp:
  • b3/air/AirArg.h:
  • b3/air/AirCode.h:
  • b3/air/AirEmitShuffle.cpp:

(JSC::B3::Air::emitShuffle):

  • builtins/BuiltinExecutables.cpp:

(JSC::BuiltinExecutables::createExecutable):

  • bytecode/AccessCase.cpp:
  • bytecode/AccessCase.h:
  • bytecode/CallVariant.cpp:

(JSC::variantListWithVariant):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeIndex):

  • bytecode/CodeBlockHash.cpp:

(JSC::CodeBlockHash::dump const):

  • bytecode/StructureStubInfo.cpp:
  • bytecode/StructureStubInfo.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::FunctionCallResolveNode::emitBytecode):

  • bytecompiler/RegisterID.h:

(JSC::RegisterID::RegisterID):
(JSC::RegisterID::setIndex):

  • debugger/Debugger.cpp:

(JSC::Debugger::removeBreakpoint):

  • debugger/DebuggerEvalEnabler.h:

(JSC::DebuggerEvalEnabler::DebuggerEvalEnabler):
(JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::observeTransitions):

  • dfg/DFGAbstractValue.cpp:
  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::merge):
(JSC::DFG::AbstractValue::checkConsistency const):
(JSC::DFG::AbstractValue::assertIsRegistered const):

  • dfg/DFGArithMode.h:

(JSC::DFG::doesOverflow):

  • dfg/DFGBasicBlock.cpp:

(JSC::DFG::BasicBlock::BasicBlock):

  • dfg/DFGBasicBlock.h:

(JSC::DFG::BasicBlock::didLink):

  • dfg/DFGCFAPhase.cpp:

(JSC::DFG::CFAPhase::performBlockCFA):

  • dfg/DFGCommon.h:

(JSC::DFG::validationEnabled):

  • dfg/DFGCommonData.cpp:

(JSC::DFG::CommonData::finalizeCatchEntrypoints):

  • dfg/DFGDesiredWatchpoints.h:
  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGEdge.h:

(JSC::DFG::Edge::makeWord):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGJITCode.cpp:

(JSC::DFG::JITCode::finalizeOSREntrypoints):

  • dfg/DFGObjectAllocationSinkingPhase.cpp:
  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGScoreBoard.h:

(JSC::DFG::ScoreBoard::assertClear):

  • dfg/DFGSlowPathGenerator.h:

(JSC::DFG::SlowPathGenerator::generate):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
(JSC::DFG::SpeculativeJIT::emitBinarySwitchStringRecurse):
(JSC::DFG::SpeculativeJIT::emitAllocateButterfly):
(JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize):
(JSC::DFG::SpeculativeJIT::compileMakeRope):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateCell):

  • dfg/DFGStructureAbstractValue.cpp:
  • dfg/DFGStructureAbstractValue.h:

(JSC::DFG::StructureAbstractValue::assertIsRegistered const):

  • dfg/DFGVarargsForwardingPhase.cpp:
  • dfg/DFGVirtualRegisterAllocationPhase.cpp:

(JSC::DFG::VirtualRegisterAllocationPhase::run):

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::callPreflight):
(JSC::FTL::DFG::LowerDFGToB3::callCheck):
(JSC::FTL::DFG::LowerDFGToB3::crash):

  • ftl/FTLOperations.cpp:

(JSC::FTL::operationMaterializeObjectInOSR):

  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::assertNoUnswept):

  • heap/GCSegmentedArray.h:

(JSC::GCArraySegment::GCArraySegment):

  • heap/GCSegmentedArrayInlines.h:

(JSC::GCSegmentedArray<T>::clear):
(JSC::GCSegmentedArray<T>::expand):
(JSC::GCSegmentedArray<T>::validatePrevious):

  • heap/HandleSet.cpp:
  • heap/HandleSet.h:
  • heap/Heap.cpp:

(JSC::Heap::updateAllocationLimits):

  • heap/Heap.h:
  • heap/MarkedBlock.cpp:
  • heap/MarkedBlock.h:

(JSC::MarkedBlock::assertValidCell const):
(JSC::MarkedBlock::assertMarksNotStale):

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::beginMarking):
(JSC::MarkedSpace::endMarking):
(JSC::MarkedSpace::assertNoUnswept):

  • heap/PreciseAllocation.cpp:
  • heap/PreciseAllocation.h:

(JSC::PreciseAllocation::assertValidCell const):

  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::SlotVisitor):
(JSC::SlotVisitor::appendJSCellOrAuxiliary):

  • heap/SlotVisitor.h:
  • inspector/InspectorProtocolTypes.h:

(Inspector::Protocol::BindingTraits<JSON::ArrayOf<T>>::assertValueHasExpectedType):

  • inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py:

(CppProtocolTypesImplementationGenerator._generate_assertion_for_object_declaration):
(CppProtocolTypesImplementationGenerator):
(CppProtocolTypesImplementationGenerator._generate_assertion_for_enum):

  • inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result:
  • interpreter/FrameTracers.h:

(JSC::JITOperationPrologueCallFrameTracer::JITOperationPrologueCallFrameTracer):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::Interpreter):

  • interpreter/Interpreter.h:
  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::prepareCallOperation):

  • jit/BinarySwitch.cpp:

(JSC::BinarySwitch::BinarySwitch):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupStubArgs):

  • jit/CallFrameShuffler.cpp:

(JSC::CallFrameShuffler::emitDeltaCheck):
(JSC::CallFrameShuffler::prepareAny):

  • jit/JIT.cpp:

(JSC::JIT::assertStackPointerOffset):
(JSC::JIT::compileWithoutLinking):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emitSlow_op_loop_hint):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_from_scope):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_from_scope):

  • jit/Repatch.cpp:

(JSC::linkPolymorphicCall):

  • jit/ThunkGenerators.cpp:

(JSC::emitPointerValidation):

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • llint/LLIntOfflineAsmConfig.h:
  • parser/Lexer.cpp:
  • parser/Lexer.h:

(JSC::isSafeBuiltinIdentifier):
(JSC::Lexer<T>::lexExpectIdentifier):

  • runtime/ArgList.h:

(JSC::MarkedArgumentBuffer::setNeedsOverflowCheck):
(JSC::MarkedArgumentBuffer::clearNeedsOverflowCheck):

  • runtime/Butterfly.h:

(JSC::ContiguousData::ContiguousData):
(JSC::ContiguousData::Data::Data):

  • runtime/HashMapImpl.h:

(JSC::HashMapImpl::checkConsistency const):
(JSC::HashMapImpl::assertBufferIsEmpty const):

  • runtime/JSCellInlines.h:

(JSC::JSCell::methodTable const):

  • runtime/JSFunction.cpp:
  • runtime/JSFunction.h:

(JSC::JSFunction::assertTypeInfoFlagInvariants):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObject.h:
  • runtime/JSObject.cpp:

(JSC::JSObject::visitChildren):
(JSC::JSFinalObject::visitChildren):

  • runtime/JSObjectInlines.h:

(JSC::JSObject::validatePutOwnDataProperty):

  • runtime/JSSegmentedVariableObject.h:

(JSC::JSSegmentedVariableObject::assertVariableIsInThisObject):

  • runtime/LiteralParser.cpp:

(JSC::LiteralParser<CharType>::Lexer::lex):

  • runtime/LiteralParser.h:
  • runtime/Operations.h:

(JSC::scribbleFreeCells):

  • runtime/OptionsList.h:
  • runtime/VM.cpp:

(JSC::VM::computeCanUseJIT):

  • runtime/VM.h:

(JSC::VM::canUseJIT):

  • runtime/VarOffset.h:

(JSC::VarOffset::checkSanity const):

  • runtime/WeakMapImpl.h:

(JSC::WeakMapImpl::checkConsistency const):
(JSC::WeakMapImpl::assertBufferIsEmpty const):

  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::validateInst):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::parseAndCompile):

  • wasm/WasmFunctionParser.h:

(JSC::Wasm::FunctionParser::validationFail const):

  • wasm/WasmLLIntGenerator.cpp:

(JSC::Wasm::LLIntGenerator::checkConsistency):

  • wasm/WasmPlan.cpp:

(JSC::Wasm::Plan::tryRemoveContextAndCancelIfLast):

  • wasm/WasmSectionParser.h:
  • wasm/WasmSections.h:
  • wasm/WasmSignatureInlines.h:

(JSC::Wasm::SignatureInformation::get):

  • wasm/WasmWorklist.cpp:

(JSC::Wasm::Worklist::enqueue):

  • wasm/js/JSToWasm.cpp:

(JSC::Wasm::createJSToWasmWrapper):

  • wasm/js/WebAssemblyFunction.cpp:

(JSC::WebAssemblyFunction::previousInstanceOffset const):

Source/WebCore:
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776

Reviewed by Saam Barati.

  • Modules/fetch/FetchBodySource.cpp:

(WebCore::FetchBodySource::close):

  • Modules/fetch/FetchBodySource.h:
  • Modules/webdatabase/DatabaseDetails.h:

(WebCore::DatabaseDetails::DatabaseDetails):
(WebCore::DatabaseDetails::operator=):

  • Modules/webdatabase/DatabaseTask.cpp:

(WebCore::DatabaseTask::performTask):

  • Modules/webdatabase/DatabaseTask.h:
  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::terminationRequested const):

  • Modules/webgpu/WHLSL/AST/WHLSLAddressSpace.h:

(WebCore::WHLSL::AST::TypeAnnotation::TypeAnnotation):

  • Modules/webgpu/WHLSL/WHLSLHighZombieFinder.cpp:

(WebCore::WHLSL::findHighZombies):

  • Modules/webgpu/WHLSL/WHLSLInferTypes.cpp:

(WebCore::WHLSL::matches):

  • Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.cpp:

(WebCore::WHLSL::checkLiteralTypes):

  • Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.cpp:

(WebCore::WHLSL::FindAllTypes::appendNamedType):

  • bindings/js/JSCallbackData.h:
  • bindings/js/JSLazyEventListener.cpp:
  • bindings/js/JSLazyEventListener.h:
  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::compileRuleList):

  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcOperationNode::primitiveType const):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • css/CSSPrimitiveValue.cpp:
  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText const):

  • css/CSSStyleSheet.cpp:
  • dom/ActiveDOMObject.cpp:

(WebCore::ActiveDOMObject::suspendIfNeeded):
(WebCore::ActiveDOMObject::assertSuspendIfNeededWasCalled const):

  • dom/ActiveDOMObject.h:
  • dom/ContainerNode.cpp:
  • dom/ContainerNodeAlgorithms.cpp:
  • dom/ContainerNodeAlgorithms.h:
  • dom/CustomElementReactionQueue.cpp:
  • dom/CustomElementReactionQueue.h:

(WebCore::CustomElementReactionDisallowedScope::CustomElementReactionDisallowedScope):
(WebCore::CustomElementReactionDisallowedScope::~CustomElementReactionDisallowedScope):

  • dom/Document.cpp:

(WebCore::Document::hitTest):

  • dom/Document.h:

(WebCore::Document::decrementReferencingNodeCount):

  • dom/Element.cpp:

(WebCore::Element::addShadowRoot):
(WebCore::Element::getURLAttribute const):
(WebCore::Element::getNonEmptyURLAttribute const):

  • dom/Element.h:
  • dom/ElementAndTextDescendantIterator.h:

(WebCore::ElementAndTextDescendantIterator::ElementAndTextDescendantIterator):
(WebCore::ElementAndTextDescendantIterator::dropAssertions):
(WebCore::ElementAndTextDescendantIterator::popAncestorSiblingStack):
(WebCore::ElementAndTextDescendantIterator::traverseNextSibling):
(WebCore::ElementAndTextDescendantIterator::traversePreviousSibling):

  • dom/ElementDescendantIterator.h:

(WebCore::ElementDescendantIterator::ElementDescendantIterator):
(WebCore::ElementDescendantIterator::dropAssertions):
(WebCore::ElementDescendantIterator::operator++):
(WebCore::ElementDescendantIterator::operator--):
(WebCore::ElementDescendantConstIterator::ElementDescendantConstIterator):
(WebCore::ElementDescendantConstIterator::dropAssertions):
(WebCore::ElementDescendantConstIterator::operator++):

  • dom/ElementIterator.h:

(WebCore::ElementIterator<ElementType>::ElementIterator):
(WebCore::ElementIterator<ElementType>::traverseNext):
(WebCore::ElementIterator<ElementType>::traversePrevious):
(WebCore::ElementIterator<ElementType>::traverseNextSibling):
(WebCore::ElementIterator<ElementType>::traversePreviousSibling):
(WebCore::ElementIterator<ElementType>::traverseNextSkippingChildren):
(WebCore::ElementIterator<ElementType>::dropAssertions):
(WebCore::ElementIterator<ElementType>::traverseAncestor):
(WebCore::ElementConstIterator<ElementType>::ElementConstIterator):
(WebCore::ElementConstIterator<ElementType>::traverseNext):
(WebCore::ElementConstIterator<ElementType>::traversePrevious):
(WebCore::ElementConstIterator<ElementType>::traverseNextSibling):
(WebCore::ElementConstIterator<ElementType>::traversePreviousSibling):
(WebCore::ElementConstIterator<ElementType>::traverseNextSkippingChildren):
(WebCore::ElementConstIterator<ElementType>::traverseAncestor):
(WebCore::ElementConstIterator<ElementType>::dropAssertions):

  • dom/EventContext.cpp:
  • dom/EventContext.h:
  • dom/EventListener.h:
  • dom/EventPath.cpp:
  • dom/EventSender.h:
  • dom/EventTarget.cpp:

(WebCore::EventTarget::addEventListener):
(WebCore::EventTarget::setAttributeEventListener):
(WebCore::EventTarget::innerInvokeEventListeners):

  • dom/Node.cpp:

(WebCore::Node::~Node):
(WebCore::Node::moveNodeToNewDocument):
(WebCore::Node::removedLastRef):

  • dom/Node.h:

(WebCore::Node::deref const):

  • dom/ScriptDisallowedScope.h:

(WebCore::ScriptDisallowedScope::InMainThread::isEventDispatchAllowedInSubtree):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::~ScriptExecutionContext):

  • dom/ScriptExecutionContext.h:
  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::execute const):

  • dom/SlotAssignment.cpp:

(WebCore::SlotAssignment::addSlotElementByName):
(WebCore::SlotAssignment::removeSlotElementByName):
(WebCore::SlotAssignment::resolveSlotsAfterSlotMutation):
(WebCore::SlotAssignment::findFirstSlotElement):

  • dom/SlotAssignment.h:
  • dom/TreeScopeOrderedMap.cpp:

(WebCore::TreeScopeOrderedMap::add):
(WebCore::TreeScopeOrderedMap::get const):

  • dom/TreeScopeOrderedMap.h:
  • fileapi/Blob.cpp:
  • fileapi/Blob.h:
  • history/BackForwardCache.cpp:

(WebCore::BackForwardCache::removeAllItemsForPage):

  • history/BackForwardCache.h:
  • html/CanvasBase.cpp:

(WebCore::CanvasBase::notifyObserversCanvasDestroyed):

  • html/CanvasBase.h:
  • html/HTMLCollection.h:

(WebCore::CollectionNamedElementCache::didPopulate):

  • html/HTMLSelectElement.cpp:

(WebCore:: const):

  • html/HTMLTableRowsCollection.cpp:

(WebCore::assertRowIsInTable):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::indexForPosition const):

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::~CanvasRenderingContext2DBase):

  • html/parser/HTMLParserScheduler.cpp:

(WebCore::HTMLParserScheduler::HTMLParserScheduler):
(WebCore::HTMLParserScheduler::suspend):
(WebCore::HTMLParserScheduler::resume):

  • html/parser/HTMLParserScheduler.h:
  • html/parser/HTMLToken.h:

(WebCore::HTMLToken::beginStartTag):
(WebCore::HTMLToken::beginEndTag):
(WebCore::HTMLToken::endAttribute):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::constructTree):

  • html/parser/HTMLTreeBuilder.h:

(WebCore::HTMLTreeBuilder::~HTMLTreeBuilder):

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::geometryForBox const):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeEstimatedVerticalPosition):

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/displaytree/DisplayBox.cpp:

(WebCore::Display::Box::Box):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::setTopLeft):
(WebCore::Display::Box::setTop):
(WebCore::Display::Box::setLeft):
(WebCore::Display::Box::setContentBoxHeight):
(WebCore::Display::Box::setContentBoxWidth):
(WebCore::Display::Box::setHorizontalMargin):
(WebCore::Display::Box::setVerticalMargin):
(WebCore::Display::Box::setHorizontalComputedMargin):
(WebCore::Display::Box::setBorder):
(WebCore::Display::Box::setPadding):

  • layout/displaytree/DisplayInlineRect.h:

(WebCore::Display::InlineRect::InlineRect):
(WebCore::Display::InlineRect::setTopLeft):
(WebCore::Display::InlineRect::setTop):
(WebCore::Display::InlineRect::setBottom):
(WebCore::Display::InlineRect::setLeft):
(WebCore::Display::InlineRect::setWidth):
(WebCore::Display::InlineRect::setHeight):

  • layout/displaytree/DisplayLineBox.h:

(WebCore::Display::LineBox::LineBox):
(WebCore::Display::LineBox::setBaselineOffsetIfGreater):
(WebCore::Display::LineBox::resetBaseline):
(WebCore::Display::LineBox::Baseline::Baseline):
(WebCore::Display::LineBox::Baseline::setAscent):
(WebCore::Display::LineBox::Baseline::setDescent):
(WebCore::Display::LineBox::Baseline::reset):

  • layout/displaytree/DisplayRect.h:

(WebCore::Display::Rect::Rect):
(WebCore::Display::Rect::setTopLeft):
(WebCore::Display::Rect::setTop):
(WebCore::Display::Rect::setLeft):
(WebCore::Display::Rect::setWidth):
(WebCore::Display::Rect::setHeight):
(WebCore::Display::Rect::setSize):
(WebCore::Display::Rect::clone const):

  • layout/floats/FloatingContext.cpp:
  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::CollapsibleContent::collapse):

  • layout/tableformatting/TableGrid.cpp:

(WebCore::Layout::TableGrid::Column::setWidthConstraints):
(WebCore::Layout::TableGrid::Column::setLogicalWidth):
(WebCore::Layout::TableGrid::Column::setLogicalLeft):

  • layout/tableformatting/TableGrid.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::continueAfterContentPolicy):
(WebCore::DocumentLoader::attachToFrame):
(WebCore::DocumentLoader::detachFromFrame):
(WebCore::DocumentLoader::addSubresourceLoader):

  • loader/DocumentLoader.h:
  • loader/ImageLoader.cpp:
  • loader/cache/CachedResource.h:
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::lruListFor):
(WebCore::MemoryCache::removeFromLRUList):

  • page/FrameView.cpp:

(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):

  • page/FrameViewLayoutContext.cpp:
  • page/FrameViewLayoutContext.h:
  • page/Page.cpp:
  • page/Page.h:
  • page/ViewportConfiguration.cpp:
  • page/ViewportConfiguration.h:
  • page/mac/EventHandlerMac.mm:

(WebCore::CurrentEventScope::CurrentEventScope):

  • platform/DateComponents.cpp:

(WebCore::DateComponents::toStringForTime const):

  • platform/ScrollableArea.cpp:
  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::combineIntoOneSegment const):

  • platform/SharedBuffer.h:
  • platform/Supplementable.h:
  • platform/Timer.cpp:

(WebCore::TimerBase::checkHeapIndex const):
(WebCore::TimerBase::updateHeapIfNeeded):

  • platform/graphics/BitmapImage.cpp:
  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::ScratchBuffer):
(WebCore::ScratchBuffer::getScratchBuffer):
(WebCore::ScratchBuffer::scheduleScratchBufferPurge):

  • platform/graphics/ca/win/CACFLayerTreeHost.cpp:

(WebCore::CACFLayerTreeHost::setWindow):

  • platform/graphics/ca/win/CACFLayerTreeHost.h:
  • platform/graphics/cg/ImageBufferDataCG.cpp:

(WebCore::ImageBufferData::putData):

  • platform/graphics/cocoa/FontCacheCoreText.cpp:
  • platform/graphics/gstreamer/GstAllocatorFastMalloc.cpp:

(gstAllocatorFastMallocFree):

  • platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.cpp:

(Nicosia::PaintingContextCairo::ForPainting::ForPainting):

  • platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.cpp:

(Nicosia::BackingStoreTextureMapperImpl::createTile):

  • platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp:

(Nicosia::ContentLayerTextureMapperImpl::~ContentLayerTextureMapperImpl):

  • platform/graphics/win/GradientDirect2D.cpp:

(WebCore::Gradient::fill):

  • platform/graphics/win/ImageBufferDataDirect2D.cpp:

(WebCore::ImageBufferData::putData):

  • platform/graphics/win/PathDirect2D.cpp:

(WebCore::Path::appendGeometry):
(WebCore::Path::Path):
(WebCore::Path::operator=):
(WebCore::Path::strokeContains const):
(WebCore::Path::transform):

  • platform/graphics/win/PlatformContextDirect2D.cpp:

(WebCore::PlatformContextDirect2D::setTags):

  • platform/mediastream/MediaStreamTrackPrivate.h:
  • platform/mediastream/RealtimeOutgoingAudioSource.cpp:

(WebCore::RealtimeOutgoingAudioSource::~RealtimeOutgoingAudioSource):

  • platform/mediastream/RealtimeOutgoingVideoSource.cpp:

(WebCore::RealtimeOutgoingVideoSource::~RealtimeOutgoingVideoSource):

  • platform/network/HTTPParsers.cpp:

(WebCore::isCrossOriginSafeHeader):

  • platform/sql/SQLiteDatabase.cpp:
  • platform/sql/SQLiteDatabase.h:
  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::SQLiteStatement):
(WebCore::SQLiteStatement::prepare):
(WebCore::SQLiteStatement::finalize):

  • platform/sql/SQLiteStatement.h:
  • platform/win/COMPtr.h:
  • rendering/ComplexLineLayout.cpp:

(WebCore::ComplexLineLayout::removeInlineBox const):

  • rendering/FloatingObjects.cpp:

(WebCore::FloatingObject::FloatingObject):
(WebCore::FloatingObjects::addPlacedObject):
(WebCore::FloatingObjects::removePlacedObject):

  • rendering/FloatingObjects.h:
  • rendering/GridTrackSizingAlgorithm.cpp:
  • rendering/GridTrackSizingAlgorithm.h:
  • rendering/LayoutDisallowedScope.cpp:
  • rendering/LayoutDisallowedScope.h:
  • rendering/RenderBlock.cpp:
  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::removeFloatingObject):
(WebCore::RenderBlockFlow::ensureLineBoxes):

  • rendering/RenderBoxModelObject.cpp:
  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):

  • rendering/RenderElement.cpp:
  • rendering/RenderGeometryMap.cpp:

(WebCore::RenderGeometryMap::mapToContainer const):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::placeItemsOnGrid const):
(WebCore::RenderGrid::baselinePosition const):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::willBeDestroyed):

  • rendering/RenderLayer.cpp:

(WebCore::ClipRectsCache::ClipRectsCache):
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::updateClipRects):
(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::traverseVisibleNonCompositedDescendantLayers):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::traverseUnchangedSubtree):
(WebCore::RenderLayerCompositor::updateBackingAndHierarchy):
(WebCore::RenderLayerCompositor::addDescendantsToOverlapMapRecursive const):
(WebCore::RenderLayerCompositor::recursiveRepaintLayer):
(WebCore::RenderLayerCompositor::layerHas3DContent const):

  • rendering/RenderLayoutState.cpp:

(WebCore::RenderLayoutState::RenderLayoutState):
(WebCore::RenderLayoutState::computeOffsets):
(WebCore::RenderLayoutState::addLayoutDelta):

  • rendering/RenderLayoutState.h:

(WebCore::RenderLayoutState::RenderLayoutState):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::RenderObject):
(WebCore::RenderObject::~RenderObject):
(WebCore::RenderObject::clearNeedsLayout):

  • rendering/RenderObject.h:
  • rendering/RenderQuote.cpp:

(WebCore::quotesForLanguage):

  • rendering/RenderTableCell.h:
  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::computeOverflowFromCells):

  • rendering/RenderTextLineBoxes.cpp:

(WebCore::RenderTextLineBoxes::checkConsistency const):

  • rendering/RenderTextLineBoxes.h:
  • rendering/line/BreakingContext.h:

(WebCore::tryHyphenating):

  • rendering/style/GridArea.h:

(WebCore::GridSpan::GridSpan):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::~RenderStyle):

  • rendering/style/RenderStyle.h:
  • rendering/updating/RenderTreeBuilderRuby.cpp:

(WebCore::RenderTreeBuilder::Ruby::detach):

  • rendering/updating/RenderTreePosition.cpp:

(WebCore::RenderTreePosition::computeNextSibling):

  • rendering/updating/RenderTreePosition.h:
  • svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::Placeholder::Placeholder):
(WebCore::SVGToOTFFontConverter::Placeholder::populate):
(WebCore::SVGToOTFFontConverter::appendCFFTable):
(WebCore::SVGToOTFFontConverter::firstGlyph const):
(WebCore::SVGToOTFFontConverter::appendKERNTable):

  • svg/SVGTransformDistance.cpp:

(WebCore::SVGTransformDistance::SVGTransformDistance):
(WebCore::SVGTransformDistance::scaledDistance const):
(WebCore::SVGTransformDistance::addSVGTransforms):
(WebCore::SVGTransformDistance::addToSVGTransform const):
(WebCore::SVGTransformDistance::distance const):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::nativeImage):

  • testing/InternalSettings.cpp:
  • workers/service/ServiceWorkerJob.h:
  • worklets/PaintWorkletGlobalScope.h:

(WebCore::PaintWorkletGlobalScope::~PaintWorkletGlobalScope):

  • xml/XPathStep.cpp:

Source/WebKit:
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776

Reviewed by Saam Barati.

  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::invalidateAndCancel):

  • NetworkProcess/NetworkSession.h:
  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::setCapacity):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(toNSURLSessionResponseDisposition):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • Platform/IPC/Connection.cpp:

(IPC::Connection::waitForMessage):

  • Platform/IPC/MessageReceiver.h:

(IPC::MessageReceiver::willBeAddedToMessageReceiverMap):
(IPC::MessageReceiver::willBeRemovedFromMessageReceiverMap):

  • Platform/IPC/cocoa/ConnectionCocoa.mm:

(IPC::readFromMachPort):

  • Platform/mac/MachUtilities.cpp:

(setMachExceptionPort):

  • Shared/API/APIClient.h:

(API::Client::Client):

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:
  • Shared/Cocoa/ArgumentCodersCocoa.h:
  • Shared/SharedStringHashTableReadOnly.cpp:
  • UIProcess/BackingStore.cpp:

(WebKit::BackingStore::incorporateUpdate):

  • UIProcess/GenericCallback.h:
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/PageLoadState.h:

(WebKit::PageLoadState::Transaction::Token::Token):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::~WebPageProxy):

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveResponse):

  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:

(WebKit::NetscapePluginStream::NetscapePluginStream):
(WebKit::NetscapePluginStream::notifyAndDestroyStream):

  • WebProcess/Plugins/Netscape/NetscapePluginStream.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runModal):

  • WebProcess/WebProcess.cpp:

(WebKit::checkDocumentsCaptureStateConsistency):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::updateProcessName):

Source/WebKitLegacy:
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776

Reviewed by Saam Barati.

  • Storage/StorageAreaImpl.cpp:

(WebKit::StorageAreaImpl::StorageAreaImpl):
(WebKit::StorageAreaImpl::close):

  • Storage/StorageAreaImpl.h:

Source/WebKitLegacy/mac:
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776

Reviewed by Saam Barati.

  • History/WebHistory.mm:

(-[WebHistoryPrivate removeItemForURLString:]):

  • WebView/WebFrame.mm:

Source/WebKitLegacy/win:
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776

Reviewed by Saam Barati.

  • WebKitQuartzCoreAdditions/CAD3DRenderer.cpp:

(WKQCA::CAD3DRenderer::swapChain):
(WKQCA::CAD3DRenderer::initialize):

  • WebKitQuartzCoreAdditions/CAD3DRenderer.h:
  • WebView.cpp:

(WebView::Release):

  • WebView.h:

Source/WTF:
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776

Reviewed by Saam Barati.

This patch did the following changes:

  1. Replaced ASSERT_DISABLED with ASSERT_ENABLED. This change does away with the need for the double negative !ASSERT_DISABLED test that is commonly used all over the code, thereby improving code readability.

In Assertions.h, there is also BACKTRACE_DISABLED, ASSERT_MSG_DISABLED,
ASSERT_ARG_DISABLED, FATAL_DISABLED, ERROR_DISABLED, LOG_DISABLED, and
RELEASE_LOG_DISABLED. We should replace those with ..._ENABLED equivalents
as well. We'll do that in another patch. For now, they are left as is to
minimize the size of this patch.
See https://bugs.webkit.org/show_bug.cgi?id=205780.

  1. Fixed some code was guarded with "#ifndef NDEBUG" that should actually be guarded by "#if ASSERT_ENABLED" instead.
  1. In cases where the change is minimal, we move some code around so that we can test for "#if ASSERT_ENABLED" instead of "#if !ASSERT_ENABLED".
  • wtf/Assertions.h:
  • wtf/AutomaticThread.cpp:

(WTF::AutomaticThread::start):

  • wtf/BitVector.h:
  • wtf/BlockObjCExceptions.mm:

(ReportBlockedObjCException):

  • wtf/BloomFilter.h:
  • wtf/CallbackAggregator.h:

(WTF::CallbackAggregator::CallbackAggregator):

  • wtf/CheckedArithmetic.h:

(WTF::observesOverflow<AssertNoOverflow>):

  • wtf/CheckedBoolean.h:

(CheckedBoolean::CheckedBoolean):
(CheckedBoolean::operator bool):

  • wtf/CompletionHandler.h:

(WTF::CompletionHandler<Out):

  • wtf/DateMath.cpp:

(WTF::initializeDates):

  • wtf/Gigacage.cpp:

(Gigacage::tryAllocateZeroedVirtualPages):

  • wtf/HashTable.h:

(WTF::KeyTraits>::checkKey):
(WTF::KeyTraits>::checkTableConsistencyExceptSize const):

  • wtf/LoggerHelper.h:
  • wtf/NaturalLoops.h:

(WTF::NaturalLoops::headerOf const):

  • wtf/NeverDestroyed.h:

(WTF::LazyNeverDestroyed::construct):

  • wtf/OptionSet.h:

(WTF::OptionSet::OptionSet):

  • wtf/Platform.h:
  • wtf/PtrTag.h:
  • wtf/RefCounted.h:

(WTF::RefCountedBase::disableThreadingChecks):
(WTF::RefCountedBase::enableThreadingChecksGlobally):
(WTF::RefCountedBase::RefCountedBase):
(WTF::RefCountedBase::applyRefDerefThreadingCheck const):

  • wtf/SingleRootGraph.h:

(WTF::SingleRootGraph::assertIsConsistent const):

  • wtf/SizeLimits.cpp:
  • wtf/StackBounds.h:

(WTF::StackBounds::checkConsistency const):

  • wtf/URLParser.cpp:

(WTF::URLParser::URLParser):
(WTF::URLParser::domainToASCII):

  • wtf/ValueCheck.h:
  • wtf/Vector.h:

(WTF::Malloc>::checkConsistency):

  • wtf/WeakHashSet.h:
  • wtf/WeakPtr.h:

(WTF::WeakPtrImpl::WeakPtrImpl):
(WTF::WeakPtrFactory::WeakPtrFactory):

  • wtf/text/AtomStringImpl.cpp:
  • wtf/text/AtomStringImpl.h:
  • wtf/text/StringBuilder.cpp:

(WTF::StringBuilder::reifyString const):

  • wtf/text/StringBuilder.h:
  • wtf/text/StringCommon.h:

(WTF::hasPrefixWithLettersIgnoringASCIICaseCommon):

  • wtf/text/StringHasher.h:

(WTF::StringHasher::addCharacters):

  • wtf/text/StringImpl.h:
  • wtf/text/SymbolImpl.h:
  • wtf/text/UniquedStringImpl.h:

Tools:
Remove WebsiteDataStore::setServiceWorkerRegistrationDirectory
https://bugs.webkit.org/show_bug.cgi?id=205754

Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-06
Reviewed by Youenn Fablet.

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::websiteDataStore):
(WTR::TestController::platformAdjustContext):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::initializeWebViewConfiguration):

2:20 PM Changeset in webkit [254086] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: hasLayer() in RenderLayer::enclosingOverflowClipLayer
https://bugs.webkit.org/show_bug.cgi?id=205474

Patch by Jack Lee <Jack Lee> on 2020-01-06
Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/css/sticky/sticky-tablecol-crash.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::enclosingClippingBoxForStickyPosition const):
(WebCore::RenderBoxModelObject::constrainingRectForStickyPosition const):
(WebCore::RenderBoxModelObject::stickyPositionOffset const):

LayoutTests:

  • fast/css/sticky/sticky-tablecol-crash-expected.txt: Added.
  • fast/css/sticky/sticky-tablecol-crash.html: Added.
2:17 PM Changeset in webkit [254085] by commit-queue@webkit.org
  • 12 edits in trunk

Remove WebsiteDataStore::setServiceWorkerRegistrationDirectory
https://bugs.webkit.org/show_bug.cgi?id=205754

Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-06
Reviewed by Youenn Fablet.

Source/WebKit:

The directory is now only set in the configuration, which will prevent misuse of the misplaced SPI.
Updated API tests, which still work.

  • UIProcess/API/C/WKWebsiteDataStoreConfigurationRef.cpp:

(WKWebsiteDataStoreConfigurationCopyServiceWorkerRegistrationDirectory):
(WKWebsiteDataStoreConfigurationSetServiceWorkerRegistrationDirectory):

  • UIProcess/API/C/WKWebsiteDataStoreConfigurationRef.h:
  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreCopyServiceWorkerRegistrationDirectory): Deleted.
(WKWebsiteDataStoreSetServiceWorkerRegistrationDirectory): Deleted.

  • UIProcess/API/C/WKWebsiteDataStoreRef.h:
  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _hasRegisteredServiceWorker]):
(-[WKWebsiteDataStore _serviceWorkerRegistrationDirectory]): Deleted.
(-[WKWebsiteDataStore _setServiceWorkerRegistrationDirectory:]): Deleted.

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::setCacheStorageDirectory):
(WebKit::WebsiteDataStore::serviceWorkerRegistrationDirectory const): Deleted.
(WebKit::WebsiteDataStore::setServiceWorkerRegistrationDirectory): Deleted.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::websiteDataStore):
(WTR::TestController::platformAdjustContext):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::initializeWebViewConfiguration):

1:59 PM Changeset in webkit [254084] by commit-queue@webkit.org
  • 4 edits in trunk

Allow wildcard scheme in UserContentURLPattern
https://bugs.webkit.org/show_bug.cgi?id=205695

Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-06
Reviewed by Darin Adler.

Source/WebCore:

This is needed for <rdar://problem/58011337> and covered by an API test.

  • page/UserContentURLPattern.cpp:

(WebCore::UserContentURLPattern::matches const):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
1:57 PM Changeset in webkit [254083] by Alan Coon
  • 1 copy in tags/Safari-609.1.13.3

Tag Safari-609.1.13.3.

1:53 PM Changeset in webkit [254082] by commit-queue@webkit.org
  • 3 edits
    1 delete in trunk

REGRESSION: [ iOS ] imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205458
<rdar://problem/58081704>

Patch by Antoine Quint <Antoine Quint> on 2020-01-06
Reviewed by Wenson Hsieh.

Tools:

The last sub-test in imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html checks on the
ability to activate various form controls after disabling and re-enabling them. Two of those form controls, <select>
and <textarea>, would trigger animations of the web view's UIScrollView causing touches to be consumed by UIKit and
never seen by the WKContentView, and as such the expected "click" events would not be received. It would have been
possible to modify the test to wait on any potential page scroll to complete before dispatching taps, but since this
is a WPT test, we cannot modify it. Instead, we make a change to the function called by uiScriptController.singleTapAtPoint()
to interrupt any pending UIScrollView animation when a tap is being triggered on the web view. Credit to Wenson Hsieh
for suggesting this simple and effective approach.

  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):

LayoutTests:

Remove the platform-specific expectation since this test now passes reliably on iOS as well.

  • platform/ios/imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements-expected.txt: Removed.
1:23 PM Changeset in webkit [254081] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebKit

Remove _WKProcessPoolConfiguration.CTDataConnectionServiceType and suppressesConnectionTerminationOnSystemChange
https://bugs.webkit.org/show_bug.cgi?id=205751

Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-06
Reviewed by Darin Adler.

Their replacements on _WKWebViewConfiguration have been adopted.

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::suppressesConnectionTerminationOnSystemChange const): Deleted.

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::dataConnectionServiceType const):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
(WebKit::globalCTDataConnectionServiceType): Deleted.
(WebKit::NetworkSessionCocoa::setCTDataConnectionServiceType): Deleted.

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration suppressesConnectionTerminationOnSystemChange]): Deleted.
(-[_WKProcessPoolConfiguration setSuppressesConnectionTerminationOnSystemChange:]): Deleted.
(-[_WKProcessPoolConfiguration CTDataConnectionServiceType]): Deleted.
(-[_WKProcessPoolConfiguration setCTDataConnectionServiceType:]): Deleted.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::paymentCoordinatorCTDataConnectionServiceType):

12:58 PM Changeset in webkit [254080] by mark.lam@apple.com
  • 3 edits in trunk/Tools

Add --force-optimization-level option to Tools/Scripts/set-webkit-configuration.
https://bugs.webkit.org/show_bug.cgi?id=205787

Reviewed by Saam Barati.

Usage:

--force-optimization-level=<opt> Force optimization: O3, O2, O1, O0, Os, Ofast, Og, or none

This can be used to force debug builds to be built with a higher level optimization
so that tests can run to completion faster.

It can also be useful as a simple way to force release builds to be built with
different optimization levels for performance comparison.

Setting --force-optimization-level=none restores the default optimization levels.
Of course, the build targets need to be rebuilt for this to take effect.

  • Scripts/set-webkit-configuration:
  • Scripts/webkitdirs.pm:

(determineForceOptimizationLevel):
(forceOptimizationLevel):
(XcodeOptions):

12:56 PM Changeset in webkit [254079] by youenn@apple.com
  • 4 edits in trunk/Source/WebCore

Fix non unified build in FIDO Pin.cpp
https://bugs.webkit.org/show_bug.cgi?id=205794

Reviewed by Jiewen Tan.

No change of behavior, this is a build fix.

  • Modules/webauthn/fido/Pin.cpp:
12:46 PM Changeset in webkit [254078] by Keith Rollin
  • 3 edits in trunk/Source/WebKit

Reformat WebPage logging
https://bugs.webkit.org/show_bug.cgi?id=205709
<rdar://problem/58290285>

Reviewed by Brent Fulgham.

Update the format used by WebPage in its RELEASE_LOG logging. Use the
format used by WebPageProxy and NetworkResourceLoader, which is
generally of the form:

<object-address> - [<values that help thread together operations>] <class>::<method>: <message and other useful values>

So, for example:

0x4a1df5000 - WebLoaderStrategy::scheduleLoad: Resource is being scheduled with the NetworkProcess (frame=0x4a1db0220, priority=0, webPageID=15, frameID=3, resourceID=32)',

becomes:

0x4a1df5000 - [resourceLoader=0x1418b7200, frameLoader=0x1326d7340, frame=0x4a1db0220, webPageID=15, frameID=3, resourceID=32] WebLoaderStrategy::scheduleLoad: Resource is being scheduled with the NetworkProcess (priority=2)

This new form is a lot more verbose, but it really helps in tracing
activity from the top of our page/frame/resource load stack to the
bottom.

No new tests - no added or changed functionality.

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleLoad):
(WebKit::WebLoaderStrategy::tryLoadingUsingURLSchemeHandler):
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
(WebKit::WebLoaderStrategy::networkProcessCrashed):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):

  • WebProcess/Network/WebLoaderStrategy.h:
12:42 PM Changeset in webkit [254077] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Regression r254029: imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205819

Unreviewed, rebaseline test on iOS after r254029 now that one more check is passing.

  • platform/ios/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
12:38 PM Changeset in webkit [254076] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Regression r254029: imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.https.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205817

Unreviewed, rebaseline test on iOS after r254029 now that more checks are passing.

  • platform/ios-wk2/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt:
12:29 PM Changeset in webkit [254075] by commit-queue@webkit.org
  • 7 edits
    2 moves in trunk/Source/WebKit

Add WKWebView SPI to query _WKMediaMutedState
https://bugs.webkit.org/show_bug.cgi?id=205789
<rdar://problem/58335241>

Patch by Luming Yin <luming_yin@apple.com> on 2020-01-06
Reviewed by Eric Carlson.

Add plumbing for clients to query the media muted state on WKWebView.

  • SourcesCocoa.txt:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _mediaMutedState]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Cocoa/MediaUtilities.h: Renamed from Source/WebKit/UIProcess/Cocoa/MediaCaptureUtilities.h.
  • UIProcess/Cocoa/MediaUtilities.mm: Renamed from Source/WebKit/UIProcess/Cocoa/MediaCaptureUtilities.mm.

(WebKit::toWKMediaCaptureState):
(WebKit::toWKMediaMutedState):

  • UIProcess/Cocoa/UIDelegate.mm:
  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::mutedStateFlags const):

  • WebKit.xcodeproj/project.pbxproj:
12:11 PM Changeset in webkit [254074] by Simon Fraser
  • 6 edits in trunk/LayoutTests

REGRESSION: [r254042] pageoverlay/overlay- tests are failing in WK1
https://bugs.webkit.org/show_bug.cgi?id=205810

Unreviewed test gardening. Page Overlay test in WK1 now dump one or more repaint rects after r254042.

  • platform/mac-wk1/pageoverlay/overlay-installation-expected.txt:
  • platform/mac-wk1/pageoverlay/overlay-large-document-expected.txt:
  • platform/mac-wk1/pageoverlay/overlay-large-document-scrolled-expected.txt:
  • platform/mac-wk1/pageoverlay/overlay-small-frame-mouse-events-expected.txt:
  • platform/mac-wk1/pageoverlay/overlay-small-frame-paints-expected.txt:
11:54 AM Changeset in webkit [254073] by Alan Coon
  • 2 edits in branches/safari-608-branch/Source/WebCore

Protect ServiceWorker::postMessage from a null execState
https://bugs.webkit.org/show_bug.cgi?id=205394
<rdar://problem/57392221>

Reviewed by Chris Dumez.

Crash logs indicate null pointer crashes.
We should return early in that case.

  • workers/service/ServiceWorker.cpp:

(WebCore::ServiceWorker::postMessage):

11:47 AM Changeset in webkit [254072] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

11:32 AM Changeset in webkit [254071] by Alan Coon
  • 1 copy in branches/safari-609.1.14-branch

New branch.

11:31 AM Changeset in webkit [254070] by Alexey Shvayka
  • 6 edits in trunk

Proxy's OwnPropertyKeys is incorrect in DontEnumPropertiesMode::Exclude
https://bugs.webkit.org/show_bug.cgi?id=203818

Reviewed by Keith Miller.

JSTests:

Stress test was failing because "ownKeys" trap didn't return non-configurable
"prototype" property of Proxy's target, violating an invariant.

  • stress/proxy-get-own-property-names-should-not-clear-previous-results.js:
  • test262/expectations.yaml: Mark 8 test cases as passing.

Source/JavaScriptCore:

This change fixes two spec compatibility issues:

  1. If Object.keys is called on Proxy w/o "ownKeys" trap, filtering non-enumerable

properties are not observed by "getOwnPropertyDescriptor" trap.
(step 4 of https://tc39.es/ecma262/#sec-enumerableownpropertynames)

  1. If Object.keys is called on Proxy with "ownKeys" trap, non-enumerable

properties of Proxy's target are ignored during invariants validation.
(step 11 of https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys)

Instead of extracting DontEnum filtering to lambda function, a wrapper method for
ProxyObject::performGetOwnPropertyNames was introduced to avoid creating &
filling intermediate PropertyNameArray instance (in case of DontEnumPropertiesMode::Include)
and avoid having inner EnumerationMode in ProxyObject::performGetOwnPropertyNames.

  • runtime/ProxyObject.cpp:

(JSC::ProxyObject::performGetOwnPropertyNames):
(JSC::ProxyObject::performGetOwnEnumerablePropertyNames):
(JSC::ProxyObject::getOwnPropertyNames):

  • runtime/ProxyObject.h:
11:27 AM Changeset in webkit [254069] by Alan Coon
  • 1 copy in branches/safari-609-branch

New branch.

11:18 AM Changeset in webkit [254068] by Alan Coon
  • 8 edits in trunk/Source

Versioning.

11:16 AM Changeset in webkit [254067] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r247626): Introduced memory regression
https://bugs.webkit.org/show_bug.cgi?id=205815

Unreviewed rollout of https://trac.webkit.org/changeset/247626/webkit.

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::FontCache::prewarmGlobally):
(WebCore::fontFamiliesForPrewarming): Deleted.

11:00 AM Changeset in webkit [254066] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Catalina wk1 ] editing/mac/attributed-string/attributed-string-across-shadow-boundaries-with-style-2.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205814

unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
10:59 AM Changeset in webkit [254065] by ysuzuki@apple.com
  • 5 edits in trunk/Source/WebCore

[WebCore] Shrink sizeof(RuleFeature)
https://bugs.webkit.org/show_bug.cgi?id=205774

Reviewed by Dean Jackson.

We noticed that Vector<RuleFeature> is frequently allocated and kept. While sizeof(RuleFeature) is 32,

  1. RuleFeature::invalidationSelector is nullptr basically. It is used only for some specific cases.
  2. RuleFeature::selectorIndex and RuleFeature::selectorListIndex is unsigned. But they never exceed uint16_t since both values are derived from RuleData::m_selectorIndex and RuleData::m_selectorListIndex and both are uint16_t size.
  3. Optional<MatchElement> takes 8 bytes since sizeof(MatchElement) is 4. But we can make it 1 byte.

Given the above observations, this patch introduced RuleFeatureWithInvalidationSelector, which is RuleFeature + invalidationSelector.
And keep using RuleFeature if invalidationSelector is unnecessary. By applying (2) and (3)'s optimizations, we can now make
sizeof(RuleFeature) 16, 50% reduction.

No behavior change.

  • style/RuleData.h:
  • style/RuleFeature.cpp:

(WebCore::Style::RuleFeature::RuleFeature):
(WebCore::Style::RuleFeatureSet::collectFeatures):
(WebCore::Style::RuleFeatureSet::add):

  • style/RuleFeature.h:

(WebCore::Style::RuleFeatureWithInvalidationSelector::RuleFeatureWithInvalidationSelector):

  • style/StyleScopeRuleSets.cpp:

(WebCore::Style::ensureInvalidationRuleSets):

10:52 AM Changeset in webkit [254064] by dino@apple.com
  • 149 edits
    27 moves
    2 adds
    2 deletes in trunk

Rename GraphicsContext3D to GraphicsContextGL
https://bugs.webkit.org/show_bug.cgi?id=205778
<rdar://problem/58327597>

Reviewed by Sam Weinig.

Rename all the GraphicsContext3D things to GraphicsContextGL
(includes Extensions3D and GRAPHICS_CONTEXT_3D).

GraphicsContext3DBase now becomes GraphicsContextGL.
GraphicsContext3D is now GraphicsContextGLOpenGL (since it represents
the OpenGL implementation of the API).

.:

  • Source/CMakeLists.txt:
  • Source/cmake/OptionsFTW.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/OptionsPlayStation.cmake:
  • Source/cmake/OptionsWPE.cmake:
  • Source/cmake/OptionsWinCairo.cmake:

PerformanceTests:

  • StitchMarker/wtf/FeatureDefines.h:
  • StitchMarker/wtf/Platform.h:

Source/WebCore:

  • CMakeLists.txt:
  • Headers.cmake:
  • PlatformAppleWin.cmake:
  • PlatformFTW.cmake:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:
  • PlatformPlayStation.cmake:
  • PlatformWin.cmake:
  • Sources.txt:
  • SourcesCocoa.txt:
  • SourcesGTK.txt:
  • SourcesWPE.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLVideoElement.cpp:
  • html/HTMLVideoElement.h:
  • html/OffscreenCanvas.cpp:
  • html/canvas/ANGLEInstancedArrays.cpp:
  • html/canvas/OESVertexArrayObject.cpp:
  • html/canvas/WebGL2RenderingContext.cpp:
  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGLActiveInfo.h:
  • html/canvas/WebGLBuffer.cpp:
  • html/canvas/WebGLBuffer.h:
  • html/canvas/WebGLCompressedTextureASTC.cpp:
  • html/canvas/WebGLCompressedTextureATC.cpp:
  • html/canvas/WebGLCompressedTextureETC.cpp:
  • html/canvas/WebGLCompressedTextureETC1.cpp:
  • html/canvas/WebGLCompressedTexturePVRTC.cpp:
  • html/canvas/WebGLCompressedTextureS3TC.cpp:
  • html/canvas/WebGLContextAttributes.h:
  • html/canvas/WebGLContextGroup.cpp:
  • html/canvas/WebGLContextGroup.h:
  • html/canvas/WebGLContextObject.cpp:
  • html/canvas/WebGLContextObject.h:
  • html/canvas/WebGLDebugShaders.cpp:
  • html/canvas/WebGLDepthTexture.cpp:
  • html/canvas/WebGLDepthTexture.h:
  • html/canvas/WebGLDrawBuffers.cpp:
  • html/canvas/WebGLFramebuffer.cpp:
  • html/canvas/WebGLFramebuffer.h:
  • html/canvas/WebGLObject.cpp:
  • html/canvas/WebGLObject.h:
  • html/canvas/WebGLProgram.cpp:
  • html/canvas/WebGLProgram.h:
  • html/canvas/WebGLQuery.cpp:
  • html/canvas/WebGLQuery.h:
  • html/canvas/WebGLRenderbuffer.cpp:
  • html/canvas/WebGLRenderbuffer.h:
  • html/canvas/WebGLRenderingContext.cpp:
  • html/canvas/WebGLRenderingContext.h:
  • html/canvas/WebGLRenderingContextBase.cpp:
  • html/canvas/WebGLRenderingContextBase.h:
  • html/canvas/WebGLSampler.cpp:
  • html/canvas/WebGLSampler.h:
  • html/canvas/WebGLShader.cpp:
  • html/canvas/WebGLShader.h:
  • html/canvas/WebGLShaderPrecisionFormat.h:
  • html/canvas/WebGLSharedObject.cpp:
  • html/canvas/WebGLSharedObject.h:
  • html/canvas/WebGLSync.cpp:
  • html/canvas/WebGLSync.h:
  • html/canvas/WebGLTexture.cpp:
  • html/canvas/WebGLTexture.h:
  • html/canvas/WebGLTransformFeedback.cpp:
  • html/canvas/WebGLTransformFeedback.h:
  • html/canvas/WebGLVertexArrayObject.cpp:
  • html/canvas/WebGLVertexArrayObject.h:
  • html/canvas/WebGLVertexArrayObjectBase.cpp:
  • html/canvas/WebGLVertexArrayObjectBase.h:
  • html/canvas/WebGLVertexArrayObjectOES.cpp:
  • html/canvas/WebGLVertexArrayObjectOES.h:
  • inspector/InspectorShaderProgram.cpp:
  • loader/FrameLoaderClient.h:
  • page/Chrome.cpp:
  • platform/SourcesCairo.txt:
  • platform/TextureMapper.cmake:
  • platform/WebGLStateTracker.cpp:
  • platform/WebGLStateTracker.h:
  • platform/graphics/ANGLEWebKitBridge.cpp:
  • platform/graphics/ExtensionsGL.h: Renamed from Source/WebCore/platform/graphics/Extensions3D.h.
  • platform/graphics/FormatConverter.cpp:
  • platform/graphics/FormatConverter.h:
  • platform/graphics/GLContext.cpp:
  • platform/graphics/GLContext.h:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContext3D.cpp: Removed.
  • platform/graphics/GraphicsContext3DBase.cpp: Removed.
  • platform/graphics/GraphicsContextGL.cpp: Added.
  • platform/graphics/GraphicsContextGL.h: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DBase.h.
  • platform/graphics/GraphicsContextGLAttributes.h: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DAttributes.h.
  • platform/graphics/ImageBuffer.cpp:
  • platform/graphics/ImageBuffer.h:
  • platform/graphics/MediaPlayer.cpp:
  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:
  • platform/graphics/OpenGLShims.cpp:
  • platform/graphics/angle/ExtensionsGLANGLE.cpp: Renamed from Source/WebCore/platform/graphics/angle/Extensions3DANGLE.cpp.
  • platform/graphics/angle/ExtensionsGLANGLE.h: Renamed from Source/WebCore/platform/graphics/angle/Extensions3DANGLE.h.
  • platform/graphics/angle/GraphicsContextGLANGLE.cpp: Renamed from Source/WebCore/platform/graphics/angle/GraphicsContext3DANGLE.cpp.
  • platform/graphics/angle/TemporaryANGLESetting.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
  • platform/graphics/cairo/GraphicsContextGLCairo.cpp: Renamed from Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp.
  • platform/graphics/cairo/ImageBufferCairo.cpp:
  • platform/graphics/cg/GraphicsContextGLCG.cpp: Renamed from Source/WebCore/platform/graphics/cg/GraphicsContext3DCG.cpp.
  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm: Renamed from Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm.
  • platform/graphics/cocoa/IOSurface.mm:
  • platform/graphics/cocoa/WebGLLayer.h:
  • platform/graphics/cocoa/WebGLLayer.mm:
  • platform/graphics/cpu/arm/GraphicsContextGLNEON.h: Renamed from Source/WebCore/platform/graphics/cpu/arm/GraphicsContext3DNEON.h.
  • platform/graphics/cv/TextureCacheCV.h:
  • platform/graphics/cv/TextureCacheCV.mm:
  • platform/graphics/cv/VideoTextureCopierCV.cpp:
  • platform/graphics/cv/VideoTextureCopierCV.h:
  • platform/graphics/egl/GLContextEGL.cpp:
  • platform/graphics/egl/GLContextEGL.h:
  • platform/graphics/glx/GLContextGLX.cpp:
  • platform/graphics/glx/GLContextGLX.h:
  • platform/graphics/gpu/Texture.cpp:
  • platform/graphics/gpu/Texture.h:
  • platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/ios/GraphicsContextGLOpenGLESIOS.h: Renamed from Source/WebCore/platform/graphics/ios/GraphicsContext3DIOS.h.
  • platform/graphics/nicosia/texmap/NicosiaGC3DANGLELayer.cpp:
  • platform/graphics/nicosia/texmap/NicosiaGC3DANGLELayer.h:
  • platform/graphics/nicosia/texmap/NicosiaGC3DLayer.cpp:
  • platform/graphics/nicosia/texmap/NicosiaGC3DLayer.h:
  • platform/graphics/opengl/ExtensionsGLOpenGL.cpp: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp.
  • platform/graphics/opengl/ExtensionsGLOpenGL.h: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h.
  • platform/graphics/opengl/ExtensionsGLOpenGLCommon.cpp: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp.
  • platform/graphics/opengl/ExtensionsGLOpenGLCommon.h: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.h.
  • platform/graphics/opengl/ExtensionsGLOpenGLES.cpp: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLES.cpp.
  • platform/graphics/opengl/ExtensionsGLOpenGLES.h: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLES.h.
  • platform/graphics/opengl/GraphicsContextGLOpenGL.cpp: Added.
  • platform/graphics/opengl/GraphicsContextGLOpenGL.h: Renamed from Source/WebCore/platform/graphics/GraphicsContext3D.h.
  • platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp: Renamed from Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp.
  • platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp: Renamed from Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp.
  • platform/graphics/opengl/GraphicsContextGLOpenGLES.cpp: Renamed from Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp.
  • platform/graphics/opengl/GraphicsContextGLOpenGLManager.cpp: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DManager.cpp.
  • platform/graphics/opengl/GraphicsContextGLOpenGLManager.h: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DManager.h.
  • platform/graphics/opengl/GraphicsContextGLOpenGLPrivate.cpp: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp.
  • platform/graphics/opengl/GraphicsContextGLOpenGLPrivate.h: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DPrivate.h.
  • platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
  • platform/graphics/opengl/TemporaryOpenGLSetting.h:
  • platform/graphics/texmap/BitmapTextureGL.cpp:
  • platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp: Renamed from Source/WebCore/platform/graphics/texmap/GraphicsContext3DTextureMapper.cpp.
  • platform/graphics/texmap/TextureMapperGC3DPlatformLayer.cpp:
  • platform/graphics/texmap/TextureMapperGC3DPlatformLayer.h:
  • platform/graphics/texmap/TextureMapperGL.cpp:
  • platform/graphics/win/GraphicsContextGLDirect2D.cpp: Renamed from Source/WebCore/platform/graphics/win/GraphicsContext3DDirect2D.cpp.
  • testing/Internals.cpp:

Source/WebKit:

  • CMakeLists.txt:
  • UIProcess/gtk/WaylandCompositor.cpp:

(WebKit::WaylandCompositor::initializeEGL):

  • UIProcess/mac/HighPerformanceGPUManager.cpp:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::copyVideoTextureToPlatformTexture):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/mac/WebPageMac.mm:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::displayConfigurationChanged):

Source/WTF:

  • wtf/FeatureDefines.h:
  • wtf/Platform.h:

Tools:

  • Scripts/webkitpy/common/config/watchlist:
10:39 AM Changeset in webkit [254063] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKitLegacy/mac

[Web Animations] Enable CSS Animations via Web Animations for WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=205791

Patch by Antoine Quint <Antoine Quint> on 2020-01-06
Reviewed by Dean Jackson.

It was an oversight that it had not been done along with the WebKit change.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

10:33 AM Changeset in webkit [254062] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Remove unused variable jsDriverArgs from script
https://bugs.webkit.org/show_bug.cgi?id=205797

Patch by Paulo Matos <Paulo Matos> on 2020-01-06
Reviewed by Žan Doberšek.

  • Scripts/run-javascriptcore-tests:
10:24 AM Changeset in webkit [254061] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION(r218839): Web Inspector: Color picker: pressing Esc should hide color picker
https://bugs.webkit.org/show_bug.cgi?id=205570
<rdar://problem/58169820>

Reviewed by Brian Burg.

  • UserInterface/Views/QuickConsole.js:

(WI.QuickConsole.prototype.set keyboardShortcutDisabled):
(WI.QuickConsole.prototype._toggleOrFocus):
Restore keyboardShortcutDisabled setter, which was removed in r218839 without any explanation.

10:08 AM Changeset in webkit [254060] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac WK2 ] fast/text/international/unicode-bidi-other-neutrals.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=205808

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
9:56 AM Changeset in webkit [254059] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac Debug ] inspector/page/setBootstrapScript-main-frame.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=205807

Unreviewed test gardening.

  • platform/mac/TestExpectations:
9:48 AM Changeset in webkit [254058] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Canvas: unable to see recording actions for WebGL canvases that have lots of shader programs
https://bugs.webkit.org/show_bug.cgi?id=205659

Reviewed by Brian Burg.

Limit the height of the canvas and shader program tree a recording is selected.

  • UserInterface/Views/CanvasSidebarPanel.js:

(WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):

  • UserInterface/Views/CanvasSidebarPanel.css:

(.sidebar > .panel.navigation.canvas.showing-recording > .content > .tree-outline.canvas): Added.

9:39 AM Changeset in webkit [254057] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add support for passing test arguments in envvar TEST_JSC_ARGS
https://bugs.webkit.org/show_bug.cgi?id=205800

Patch by Paulo Matos <Paulo Matos> on 2020-01-06
Reviewed by Žan Doberšek.

Similarly to what is done in build-jsc, we add support to pass
extra command line arguments in environment variable TEST_JSC_ARGS.

  • Scripts/run-javascriptcore-tests:
9:33 AM Changeset in webkit [254056] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mojave ] tables/mozilla_expected_failures/bugs/bug2479-5.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205805
<rdar://problem/58342884>

Unreviewed.

Rebaseline after r254044.

  • platform/mac-mojave/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
9:09 AM Changeset in webkit [254055] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit

Remove unused GlobalFrameID from NetworkCacheSpeculativeLoad
https://bugs.webkit.org/show_bug.cgi?id=205796

Patch by Rob Buis <rbuis@igalia.com> on 2020-01-06
Reviewed by Chris Dumez.

Remove unused GlobalFrameID from NetworkCacheSpeculativeLoad
and NetworkCache::update.

No change in behavior.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponse):

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::update):

  • NetworkProcess/cache/NetworkCache.h:
  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:

(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
(WebKit::NetworkCache::SpeculativeLoad::didReceiveResponse):

  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
8:44 AM Changeset in webkit [254054] by Simon Fraser
  • 12 edits
    2 adds in trunk

REGRESSION (r252724): Unable to tap on play button on google video 'See the top search trends of 2019'
https://bugs.webkit.org/show_bug.cgi?id=205694
<rdar://problem/58062987>

Reviewed by Zalan Bujtas.

Source/WebCore:

After r252724, which separated 'used' from 'specified' z-index in style, we need to copy
the specified to the used z-index in animated styles, while preserving the existing 'forceStackingContext'
behavior which set the used z-index to 0.

Do so by creating Adjuster::adjustAnimatedStyle(), which is called from TreeResolver::createAnimatedElementUpdate()
if any animations could have affected the style. We need to pass back information about whether the animation should
force stacking context.

Test: animations/z-index-in-keyframe.html

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::apply):

  • animation/KeyframeEffect.h:

(WebCore::KeyframeEffect::triggersStackingContext const):

  • dom/Element.cpp:

(WebCore::Element::applyKeyframeEffects):

  • dom/Element.h:
  • page/animation/CSSAnimationController.h:

(): Deleted.

  • page/animation/CompositeAnimation.cpp:

(WebCore::CompositeAnimation::animate):

  • style/StyleAdjuster.cpp:

(WebCore::Style::Adjuster::adjustAnimatedStyle):

  • style/StyleAdjuster.h:
  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::createAnimatedElementUpdate):

LayoutTests:

  • animations/z-index-in-keyframe-expected.html: Added.
  • animations/z-index-in-keyframe.html: Added.
8:36 AM Changeset in webkit [254053] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Regression r254029: imported/w3c/web-platform-tests/html/dom/idlharness.https.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205803

Unreviewed, rebaseline WPT test on iOS after r254029, now that more checks are passing.

  • platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
8:03 AM Changeset in webkit [254052] by pvollan@apple.com
  • 16 edits
    2 adds in trunk

[iOS] Issue mach lookup extension to launch services daemon for Mail
https://bugs.webkit.org/show_bug.cgi?id=205316

Reviewed by Brent Fulgham.

Source/WebCore:

Export function getting bundle identifier.

Test: fast/sandbox/ios/sandbox-mach-lookup-mail.html

  • platform/RuntimeApplicationChecks.h:

Source/WebKit:

Issue mach lookup extension to "com.apple.lsd.open" for Mail, since this service will be removed from the WebContent sandbox.

Test: fast/sandbox/ios/sandbox-mach-lookup-mail.html

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
  • UIProcess/API/Cocoa/WKWebViewTesting.mm:

(+[WKWebView _setApplicationBundleIdentifier:]):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

Tools:

Add test option to set bundle identifier. Using this, WebKitTestRunner can pretend to be any client, e.g. Mail.

Test: fast/sandbox/ios/sandbox-mach-lookup-mail.html

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions):
(WTR::updateTestOptionsFromTestHeader):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestOptions.h:

(WTR::TestOptions::hasSameInitializationOptions const):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::setApplicationBundleIdentifier):

LayoutTests:

  • fast/sandbox/ios/sandbox-mach-lookup-mail-expected.txt: Added.
  • fast/sandbox/ios/sandbox-mach-lookup-mail.html: Added.
7:02 AM Changeset in webkit [254051] by youenn@apple.com
  • 5 edits in trunk/Source

RemoteVideoSample::create does not need to take a MediaSample r value
https://bugs.webkit.org/show_bug.cgi?id=205793

Reviewed by Eric Carlson.

Source/WebCore:

No change of behavior.

  • platform/graphics/RemoteVideoSample.cpp:

(WebCore::RemoteVideoSample::create):

  • platform/graphics/RemoteVideoSample.h:

Source/WebKit:

  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
1:47 AM Changeset in webkit [254050] by youenn@apple.com
  • 26 edits
    1 copy
    3 adds in trunk/Source

Implement RTC VTB encoders in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=205713

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Add support for remote video encoders created and used through simple routines.
Add factory to create video encoders implemented elsewhere than in WebRTC backend.
This is used for H264 encoders.

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:
  • Source/webrtc/sdk/WebKit/WebKitEncoder.h: Added.

(webrtc::WebKitRTPFragmentationHeader::value):
(webrtc::WebKitEncodedFrameInfo::decode):
(webrtc::WebKitEncodedFrameInfo::encode const):
(webrtc::WebKitRTPFragmentationHeader::WebKitRTPFragmentationHeader):
(webrtc::WebKitRTPFragmentationHeader::encode const):
(webrtc::WebKitRTPFragmentationHeader::decode):

  • Source/webrtc/sdk/WebKit/WebKitEncoder.mm: Added.

(webrtc::VideoEncoderFactoryWithSimulcast::CreateVideoEncoder):
(webrtc::videoEncoderCallbacks):
(webrtc::setVideoEncoderCallbacks):
(webrtc::RemoteVideoEncoder::RemoteVideoEncoder):
(webrtc::RemoteVideoEncoder::InitEncode):
(webrtc::RemoteVideoEncoder::Release):
(webrtc::RemoteVideoEncoder::Encode):
(webrtc::RemoteVideoEncoder::SetRates):
(webrtc::RemoteVideoEncoder::GetEncoderInfo const):
(webrtc::RemoteVideoEncoder::RegisterEncodeCompleteCallback):
(webrtc::RemoteVideoEncoder::encodeComplete):
(webrtc::createLocalEncoder):
(webrtc::releaseLocalEncoder):
(webrtc::initializeLocalEncoder):
(webrtc::encodeLocalEncoderFrame):
(webrtc::setLocalEncoderRates):

  • Source/webrtc/sdk/WebKit/WebKitUtilities.h:
  • Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
  • libwebrtc.xcodeproj/project.pbxproj:

Source/WebCore:

Refactoring to expose a createPixelBuffer routine, to set/get RemoteVideoSample and to create a CVPixelBuffer from an IOSurfaceRef.

Covered by existing tests, in particular webrtc/video-gpuProcess.html.

  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/RemoteVideoSample.cpp:

(WebCore::RemoteVideoSample::create):

  • platform/graphics/RemoteVideoSample.h:

(WebCore::RemoteVideoSample::rotation const):

  • platform/graphics/cv/ImageTransferSessionVT.h:
  • platform/graphics/cv/ImageTransferSessionVT.mm:

(WebCore::ImageTransferSessionVT::createPixelBuffer):

  • platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:

(WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferPool):

  • platform/mediastream/mac/RealtimeVideoUtilities.h:
  • platform/mediastream/mac/RealtimeVideoUtilities.mm: Added.

(WebCore::createPixelBufferPool):

Source/WebKit:

Add support for remote video encoders in GPUProcess based on libwebrtc exposed routines.
WebProcess sets callbacks in the webrtc backend to implement H264 encoding as a remote video encoder.
In addition to video frames, we also need to send rate setting orders.

  • Configurations/WebKit.xcconfig:
  • GPUProcess/webrtc/LibWebRTCCodecsProxy.h:
  • GPUProcess/webrtc/LibWebRTCCodecsProxy.messages.in:
  • GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:

(WebKit::LibWebRTCCodecsProxy::~LibWebRTCCodecsProxy):
(WebKit::LibWebRTCCodecsProxy::createEncoder):
(WebKit::LibWebRTCCodecsProxy::releaseEncoder):
(WebKit::LibWebRTCCodecsProxy::initializeEncoder):
(WebKit::toWebRTCVideoRotation):
(WebKit::LibWebRTCCodecsProxy::encodeFrame):
(WebKit::LibWebRTCCodecsProxy::setEncodeRates):

  • Scripts/webkit/messages.py:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:

(WebKit::createVideoEncoder):
(WebKit::releaseVideoEncoder):
(WebKit::initializeVideoEncoder):
(WebKit::toMediaSampleVideoRotation):
(WebKit::encodeVideoFrame):
(WebKit::registerEncodeCompleteCallback):
(WebKit::setEncodeRatesCallback):
(WebKit::LibWebRTCCodecs::setCallbacks):
(WebKit::LibWebRTCCodecs::createDecoder):
(WebKit::LibWebRTCCodecs::releaseDecoder):
(WebKit::LibWebRTCCodecs::failedDecoding):
(WebKit::LibWebRTCCodecs::completedDecoding):
(WebKit::LibWebRTCCodecs::createEncoder):
(WebKit::LibWebRTCCodecs::releaseEncoder):
(WebKit::LibWebRTCCodecs::initializeEncoder):
(WebKit::LibWebRTCCodecs::encodeFrame):
(WebKit::LibWebRTCCodecs::registerEncodeFrameCallback):
(WebKit::LibWebRTCCodecs::setEncodeRates):
(WebKit::LibWebRTCCodecs::completedEncoding):
(WebKit::LibWebRTCCodecs::pixelBufferPool):

  • WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
  • WebProcess/GPU/webrtc/LibWebRTCCodecs.messages.in:
  • WebProcess/GPU/webrtc/RTCEncoderIdentifier.h: Added.
  • WebProcess/Network/webrtc/LibWebRTCProvider.cpp:

(WebKit::LibWebRTCProvider::createDecoderFactory):

1:12 AM Changeset in webkit [254049] by Philippe Normand
  • 2 edits in trunk/Tools

[WPE][Qt] TestRunJavaScript failure
https://bugs.webkit.org/show_bug.cgi?id=205766

Reviewed by Carlos Garcia Campos.

  • TestWebKitAPI/Tests/WPEQt/TestRunJavaScript.cpp:

(TestRunJavaScript::main): Surround JS function with parentheses
to comply with the ECMAScript specification.

Jan 5, 2020:

9:47 PM Changeset in webkit [254048] by eric.carlson@apple.com
  • 19 edits
    1 copy
    1 add in trunk/Source

[Media in GPU process] Add remote MIME type cache
https://bugs.webkit.org/show_bug.cgi?id=205763
<rdar://problem/58312152>

Reviewed by Dean Jackson.
Source/WebCore:

Create a MIME type cache for RemoteMediaPlayerManager so types without a
'codecs' parameter don't typically require IPC, and when it is required the
result is cached so it is only required once.

  • platform/graphics/MIMETypeCache.cpp:

(WebCore::MIMETypeCache::supportsContainerType):
(WebCore::MIMETypeCache::canDecodeType):
(WebCore::MIMETypeCache::setSupportedTypes):
(WebCore::MIMETypeCache::staticContainerTypeList):
(WebCore::MIMETypeCache::isUnsupportedContainerType):
(WebCore::MIMETypeCache::isAvailable const):
(WebCore::MIMETypeCache::isEmpty const):
(WebCore::MIMETypeCache::initializeCache):
(WebCore::MIMETypeCache::canDecodeExtendedType):
(WebCore::MIMETypeCache::canDecodeTypePrivate): Deleted.
(WebCore::MIMETypeCache::addSupportedTypes): Deleted.
(WebCore::MIMETypeCache::addSupportedType): Deleted.

  • platform/graphics/MIMETypeCache.h:

(WebCore::MIMETypeCache::isUnsupportedContainerType): Deleted.
(WebCore::MIMETypeCache::isAvailable const): Deleted.
(WebCore::MIMETypeCache::isEmpty const): Deleted.
(WebCore::MIMETypeCache::canDecodeTypeInternal): Deleted.
(WebCore::MIMETypeCache::initializeCache): Deleted.

  • platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.h:
  • platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm:

(WebCore::AVAssetMIMETypeCache::canDecodeExtendedType):
(WebCore::AVAssetMIMETypeCache::setSupportedTypes):
(WebCore::AVAssetMIMETypeCache::canDecodeTypeInternal): Deleted.

  • platform/graphics/avfoundation/objc/AVStreamDataParserMIMETypeCache.h:
  • platform/graphics/avfoundation/objc/AVStreamDataParserMIMETypeCache.mm:

(WebCore::AVStreamDataParserMIMETypeCache::canDecodeExtendedType):
(WebCore::AVStreamDataParserMIMETypeCache::canDecodeTypeInternal): Deleted.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsTypeAndCodecs):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Deleted.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType):

Source/WebKit:

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:

(WebKit::RemoteMediaPlayerManagerProxy::supportsTypeAndCodecs):
(WebKit::RemoteMediaPlayerManagerProxy::canDecodeExtendedType):
(WebKit::RemoteMediaPlayerManagerProxy::supportsType): Deleted.

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerManagerProxy.messages.in:
  • Sources.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/media/RemoteMediaPlayerMIMETypeCache.cpp: Added.

(WebKit::RemoteMediaPlayerMIMETypeCache::RemoteMediaPlayerMIMETypeCache):
(WebKit::RemoteMediaPlayerMIMETypeCache::mimeCache const):
(WebKit::RemoteMediaPlayerMIMETypeCache::isAvailable const):
(WebKit::RemoteMediaPlayerMIMETypeCache::staticContainerTypeList):
(WebKit::RemoteMediaPlayerMIMETypeCache::isUnsupportedContainerType):
(WebKit::RemoteMediaPlayerMIMETypeCache::canDecodeExtendedType):
(WebKit::RemoteMediaPlayerMIMETypeCache::supportsTypeAndCodecs):
(WebKit::RemoteMediaPlayerMIMETypeCache::initializeCache):

  • WebProcess/GPU/media/RemoteMediaPlayerMIMETypeCache.h: Added.
  • WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:

(WebKit::mimeCaches):
(WebKit::RemoteMediaPlayerManager::typeCache):
(WebKit::RemoteMediaPlayerManager::initialize):
(WebKit::RemoteMediaPlayerManager::getSupportedTypes):
(WebKit::RemoteMediaPlayerManager::supportsTypeAndCodecs):

  • WebProcess/GPU/media/RemoteMediaPlayerManager.h:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::setMediaMIMETypes):

5:36 PM Changeset in webkit [254047] by Wenson Hsieh
  • 5 edits in trunk/Source/WebCore

Work towards implementing DisplayList::DrawGlyphs
https://bugs.webkit.org/show_bug.cgi?id=205782

Reviewed by Sam Weinig.

Encode DrawGlyphs when serializing the drawing item over IPC, with the exception of data in WebCore::Font.
No change in behavior.

  • platform/graphics/GlyphBuffer.h:

Make GlyphBufferAdvance codable.

(WebCore::GlyphBufferAdvance::encode const):
(WebCore::GlyphBufferAdvance::decode):

  • platform/graphics/displaylists/DisplayListItems.cpp:
  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::DrawGlyphs::encode const):
(WebCore::DisplayList::DrawGlyphs::decode):
(WebCore::DisplayList::Item::encode const):
(WebCore::DisplayList::Item::decode):

  • platform/text/TextFlags.h:

Add EnumTraits for FontSmoothingMode, so that it is encodable using <<.

4:20 PM Changeset in webkit [254046] by weinig@apple.com
  • 25 edits
    1 add in trunk

Further simplify StringBuilder usage by standardizing hex formating to a single hex() function
https://bugs.webkit.org/show_bug.cgi?id=205759

Reviewed by Dean Jackson.

Source/JavaScriptCore:

  • heap/HeapSnapshotBuilder.cpp:

(JSC::HeapSnapshotBuilder::json):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::encode):
(JSC::globalFuncEscape):
Replace appendUnsignedAsHex() and appendByteAsHex() with append(hex()).

Source/WebCore:

  • Modules/websockets/WebSocket.cpp:

(WebCore::encodeProtocolString):

  • css/CSSMarkup.cpp:

(WebCore::serializeCharacterAsCodePoint):

  • css/parser/CSSParserToken.cpp:

(WebCore::CSSParserToken::serialize const):

  • platform/graphics/Color.cpp:

(WebCore::Color::serialized const):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::generateHashedName):

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::generateBaseFilename):

  • rendering/RenderTreeAsText.cpp:

(WebCore::quoteAndEscapeNonPrintables):
Replace appendByteAsHex()/appendUnsignedAsHex()/appendUnsignedAsHexFixedSize() with append(hex()).

  • platform/network/FormDataBuilder.cpp:

(WebCore::FormDataBuilder::appendFormURLEncoded):
This was the last non-StringBuilder/makeString use of appendByteAsHex. Rather than keep appendByteAsHex
around, it is replaced with direct appends of the character buffer hex() produces.

Source/WebKit:

  • UIProcess/DeviceIdHashSaltStorage.cpp:

(WebKit::DeviceIdHashSaltStorage::completeDeviceIdHashSaltForOriginCall):

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::loggingString):
Replace appendUnsignedAsHex() with append(hex()).

Source/WTF:

Removes appendByteAsHex, appendUnsignedAsHex and appendUnsignedAsHexFixedSize with the
following mappings:

appendByteAsHex(value, builder, case)

-> builder.append(hex(static_cast<unsigned char>(value), 2, case))

appendUnsignedAsHex(value, builder, case)

-> builder.append(hex(value, case))

appendUnsignedAsHexFixedSize(value, builder, size, case)

-> builder.append(hex(value, size, case))

Adds new API test for HexNumber.cpp

  • wtf/HexNumber.h:

(WTF::appendByteAsHex): Deleted.
(WTF::appendUnsignedAsHex): Deleted.
(WTF::appendUnsignedAsHexFixedSize): Deleted.
Remove now unused helper functions.

  • wtf/FileSystem.cpp:

(WTF::FileSystemImpl::encodeForFileName):
Replace appendByteAsHex with direct use of hex(x, 2). The static_cast is needed
since there was an implicit down cast when appendByteAsHex was used.

  • wtf/Logger.cpp:

(WTF::Logger::LogSiteIdentifier::toString const):
(WTF::>::toString):

  • wtf/UUID.cpp:

(WTF::createCanonicalUUIDString):
Replace appendUnsignedAsHex/appendUnsignedAsHexFixedSize with hex(). Use makeString()
rather StringBuilder to simplify things further.

  • wtf/text/WTFString.cpp:

(asciiDebug):
Replace appendUnsignedAsHexFixedSize with append(hex()).

Tools:

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/HexNumber.cpp: Added.

Add testing for hex formatting of integers.

3:22 PM Changeset in webkit [254045] by commit-queue@webkit.org
  • 4 edits in trunk/Source/ThirdParty/ANGLE

REGRESSION (r253926): Flaky crashes on webgl/1.0.3/conformance/textures/texture-copying-feedback-loops.html and webgl/2.0.0/conformance/textures/misc/texture-copying-feedback-loops.html
https://bugs.webkit.org/show_bug.cgi?id=205707

Work around bugs in Intel's graphics driver where operations can
be incorrectly reordered across glBindFramebuffer calls by
flushing before/after these calls. Conclusively addresses this
crash; may also address other layout test flakiness seen when
switching to ANGLE backend for WebGL.

Patch by Kenneth Russell <kbr@chromium.org> on 2020-01-05
Reviewed by Dean Jackson.

  • include/platform/FeaturesGL.h:
  • src/libANGLE/renderer/gl/StateManagerGL.cpp:

(rx::StateManagerGL::bindFramebuffer):

  • src/libANGLE/renderer/gl/renderergl_utils.cpp:

(rx::nativegl_gl::InitializeFeatures):

11:23 AM Changeset in webkit [254044] by Alan Bujtas
  • 397 edits
    1 add in trunk

[SLL] Generate runs for preserved new lines
https://bugs.webkit.org/show_bug.cgi?id=205762
<rdar://problem/58311927>

Reviewed by Antti Koivisto.

Source/WebCore:

It matches CLL (and IFC) behavior.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::createLineRuns):

LayoutTests:

  • platform/mac/css1/basic/containment-expected.txt:
  • platform/mac/css1/basic/contextual_selectors-expected.txt:
  • platform/mac/css1/basic/grouping-expected.txt:
  • platform/mac/css1/basic/id_as_selector-expected.txt:
  • platform/mac/css1/basic/inheritance-expected.txt:
  • platform/mac/css1/box_properties/border-expected.txt:
  • platform/mac/css1/box_properties/border_bottom-expected.txt:
  • platform/mac/css1/box_properties/border_bottom_inline-expected.txt:
  • platform/mac/css1/box_properties/border_bottom_width-expected.txt:
  • platform/mac/css1/box_properties/border_bottom_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_color-expected.txt:
  • platform/mac/css1/box_properties/border_color_inline-expected.txt:
  • platform/mac/css1/box_properties/border_inline-expected.txt:
  • platform/mac/css1/box_properties/border_left-expected.txt:
  • platform/mac/css1/box_properties/border_left_inline-expected.txt:
  • platform/mac/css1/box_properties/border_left_width-expected.txt:
  • platform/mac/css1/box_properties/border_left_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_right-expected.txt:
  • platform/mac/css1/box_properties/border_right_inline-expected.txt:
  • platform/mac/css1/box_properties/border_right_width-expected.txt:
  • platform/mac/css1/box_properties/border_right_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_style-expected.txt:
  • platform/mac/css1/box_properties/border_style_inline-expected.txt:
  • platform/mac/css1/box_properties/border_top-expected.txt:
  • platform/mac/css1/box_properties/border_top_inline-expected.txt:
  • platform/mac/css1/box_properties/border_top_width-expected.txt:
  • platform/mac/css1/box_properties/border_top_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_width-expected.txt:
  • platform/mac/css1/box_properties/border_width_inline-expected.txt:
  • platform/mac/css1/box_properties/clear-expected.txt:
  • platform/mac/css1/box_properties/clear_float-expected.txt:
  • platform/mac/css1/box_properties/float-expected.txt:
  • platform/mac/css1/box_properties/float_elements_in_series-expected.txt:
  • platform/mac/css1/box_properties/float_margin-expected.txt:
  • platform/mac/css1/box_properties/height-expected.txt:
  • platform/mac/css1/box_properties/margin-expected.txt:
  • platform/mac/css1/box_properties/margin_bottom-expected.txt:
  • platform/mac/css1/box_properties/margin_bottom_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_left-expected.txt:
  • platform/mac/css1/box_properties/margin_left_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_right-expected.txt:
  • platform/mac/css1/box_properties/margin_right_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_top-expected.txt:
  • platform/mac/css1/box_properties/margin_top_inline-expected.txt:
  • platform/mac/css1/box_properties/padding-expected.txt:
  • platform/mac/css1/box_properties/padding_bottom-expected.txt:
  • platform/mac/css1/box_properties/padding_bottom_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_left-expected.txt:
  • platform/mac/css1/box_properties/padding_left_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_right-expected.txt:
  • platform/mac/css1/box_properties/padding_right_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_top-expected.txt:
  • platform/mac/css1/box_properties/padding_top_inline-expected.txt:
  • platform/mac/css1/box_properties/width-expected.txt:
  • platform/mac/css1/cascade/cascade_order-expected.txt:
  • platform/mac/css1/cascade/important-expected.txt:
  • platform/mac/css1/classification/display-expected.txt:
  • platform/mac/css1/classification/list_style-expected.txt:
  • platform/mac/css1/classification/list_style_image-expected.txt:
  • platform/mac/css1/classification/list_style_position-expected.txt:
  • platform/mac/css1/classification/list_style_type-expected.txt:
  • platform/mac/css1/classification/white_space-expected.txt:
  • platform/mac/css1/color_and_background/background-expected.txt:
  • platform/mac/css1/color_and_background/background_attachment-expected.txt:
  • platform/mac/css1/color_and_background/background_color-expected.txt:
  • platform/mac/css1/color_and_background/background_image-expected.txt:
  • platform/mac/css1/color_and_background/background_position-expected.txt:
  • platform/mac/css1/color_and_background/background_repeat-expected.txt:
  • platform/mac/css1/color_and_background/color-expected.txt:
  • platform/mac/css1/conformance/forward_compatible_parsing-expected.txt:
  • platform/mac/css1/font_properties/font-expected.txt:
  • platform/mac/css1/font_properties/font_family-expected.txt:
  • platform/mac/css1/font_properties/font_size-expected.txt:
  • platform/mac/css1/font_properties/font_style-expected.txt:
  • platform/mac/css1/font_properties/font_variant-expected.txt:
  • platform/mac/css1/font_properties/font_weight-expected.txt:
  • platform/mac/css1/formatting_model/canvas-expected.txt:
  • platform/mac/css1/formatting_model/floating_elements-expected.txt:
  • platform/mac/css1/formatting_model/height_of_lines-expected.txt:
  • platform/mac/css1/formatting_model/inline_elements-expected.txt:
  • platform/mac/css1/formatting_model/replaced_elements-expected.txt:
  • platform/mac/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/mac/css1/pseudo/anchor-expected.txt:
  • platform/mac/css1/pseudo/firstletter-expected.txt:
  • platform/mac/css1/pseudo/firstline-expected.txt:
  • platform/mac/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/mac/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
  • platform/mac/css1/text_properties/letter_spacing-expected.txt:
  • platform/mac/css1/text_properties/line_height-expected.txt:
  • platform/mac/css1/text_properties/text_align-expected.txt:
  • platform/mac/css1/text_properties/text_decoration-expected.txt:
  • platform/mac/css1/text_properties/text_indent-expected.txt:
  • platform/mac/css1/text_properties/text_transform-expected.txt:
  • platform/mac/css1/text_properties/vertical_align-expected.txt:
  • platform/mac/css1/text_properties/word_spacing-expected.txt:
  • platform/mac/css1/units/color_units-expected.txt:
  • platform/mac/css1/units/length_units-expected.txt:
  • platform/mac/css1/units/percentage_units-expected.txt:
  • platform/mac/css1/units/urls-expected.txt:
  • platform/mac/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
  • platform/mac/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
  • platform/mac/fast/css/empty-pseudo-class-expected.txt:
  • platform/mac/fast/css/first-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/last-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/only-child-pseudo-class-expected.txt:
  • platform/mac/fast/frames/onlyCommentInIFrame-expected.txt:
  • platform/mac/fast/html/listing-expected.txt:
  • platform/mac/fast/invalid/junk-data-expected.txt:
  • platform/mac/fast/invalid/missing-end-tag-expected.txt:
  • platform/mac/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
  • platform/mac/fast/parser/xhtml-alternate-entities-expected.txt:
  • platform/mac/fast/table/border-collapsing/004-expected.txt:
  • platform/mac/fast/table/border-collapsing/004-vertical-expected.txt:
  • platform/mac/fast/text/whitespace/001-expected.txt:
  • platform/mac/fast/text/whitespace/013-expected.txt:
  • platform/mac/fast/text/whitespace/014-expected.txt:
  • platform/mac/fast/text/whitespace/022-expected.txt:
  • platform/mac/fast/text/whitespace/023-expected.txt: Added.
  • platform/mac/fast/text/whitespace/024-expected.txt:
  • platform/mac/fast/text/whitespace/030-expected.txt:
  • platform/mac/fast/text/word-break-expected.txt:
  • platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt:
  • platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/mac/svg/custom/bug45331-expected.txt:
  • platform/mac/svg/custom/junk-data-expected.txt:
  • platform/mac/svg/custom/missing-xlink-expected.txt:
  • platform/mac/svg/custom/path-bad-data-expected.txt:
  • platform/mac/svg/custom/use-font-face-crash-expected.txt:
  • platform/mac/svg/hixie/error/012-expected.txt:
  • platform/mac/tables/mozilla/bugs/45621-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug139524-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug157890-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
11:18 AM Changeset in webkit [254043] by commit-queue@webkit.org
  • 9 edits in trunk

Tighten up stylesheet loading
https://bugs.webkit.org/show_bug.cgi?id=189913

Patch by Rob Buis <rbuis@igalia.com> on 2020-01-05
Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Update improved test result.

  • web-platform-tests/html/semantics/document-metadata/the-link-element/link-load-error-events.https-expected.txt:

Source/WebCore:

When fetching and processing a linked resource [1], step 11.3 states
that fetch failure should result in a network error. This patch
implements that for stylesheets.

The behavior matches Chrome and Firefox.

[1] https://html.spec.whatwg.org/multipage/semantics.html#default-fetch-and-process-the-linked-resource

Test: imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/link-load-error-events.https.html

  • css/StyleRuleImport.cpp:

(WebCore::StyleRuleImport::requestStyleSheet):

  • css/StyleSheetContents.h:
  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::process):

LayoutTests:

Adjust test to new behavior.

  • http/tests/security/mixedContent/insecure-stylesheet-redirects-to-basic-auth-secure-stylesheet-expected.txt:
  • http/tests/security/mixedContent/resources/frame-with-insecure-stylesheet-redirects-to-basic-auth-secure-stylesheet.html:
9:58 AM Changeset in webkit [254042] by Simon Fraser
  • 11 edits in trunk

Source/WebCore/PAL:
DumpRenderTree doesn't always call updateRendering() when a test completes
https://bugs.webkit.org/show_bug.cgi?id=205761

Reviewed by Darin Adler.

Add -[CATransaction synchronize].

  • pal/spi/cocoa/QuartzCoreSPI.h:

Source/WebKit:
DumpRenderTree doesn't always call updateRendering() when a test completes
https://bugs.webkit.org/show_bug.cgi?id=205761

Reviewed by Darin Adler.

Use the QuartzCore SPI header.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

Source/WebKitLegacy/mac:
Fix a souce of WebKit1 test flakiness
https://bugs.webkit.org/show_bug.cgi?id=205761

Reviewed by Darin Adler.

Some animation tests (and possibly many others) are flakey or broken in WK1 because
there was no code to guarantee that Page::updateRendering() was called at notifyDone()
time.

WK2 calls DrawingArea::forceRepaint(), which does updateRendering(), flushes layers,
and flushes a CATransaction.

In WK1, we historically relied in AppKit to call -viewWillDraw on WebView and/or WebHTMLView,
and just called [webView display] to make this happen. However, with layer backing, AppKit behavior
changes, and WebCore changes that make more things happen with HTML event loop timing, this
approach no longer works. The fix is to add WebView SPI, _forceRepaintForTesting, which emulates what
WK2 is doing.

  • WebView/WebView.mm:

(-[WebView _forceRepaintForTesting]):

  • WebView/WebViewPrivate.h:

Tools:
DumpRenderTree doesn't always call updateRendering() when a test completes
https://bugs.webkit.org/show_bug.cgi?id=205761

Reviewed by Darin Adler.

Some animation tests (and possibly many others) are flakey or broken in WK1 because
there was no code to guarantee that Page::updateRendering() was called at notifyDone()
time.

WK2 calls DrawingArea::forceRepaint(), which does updateRendering(), flushes layers,
and flushes a CATransaction.

In WK1, we historically relied in AppKit to call -viewWillDraw on WebView and/or WebHTMLView,
and just called [webView display] to make this happen. However, with layer backing, AppKit behavior
changes, and WebCore changes that make more things happen with HTML event loop timing, this
approach no longer works. The fix is to add WebView SPI, _forceRepaintForTesting, which emulates what
WK2 is doing.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(updateDisplay):

  • DumpRenderTree/mac/PixelDumpSupportMac.mm:
7:13 AM Changeset in webkit [254041] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Fix compositing/masks/compositing-clip-path-change-no-repaint.html
https://bugs.webkit.org/show_bug.cgi?id=205771
<rdar://problem/58319828>

Reviewed by Antti Koivisto.

Add LFC line layout check when deciding whether the current layout path needs
invalidation after style change.

Original patch by Antti.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::styleDidChange):

6:50 AM Changeset in webkit [254040] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Fix fast/repaint/simple-line-layout-shrinking-content.html
https://bugs.webkit.org/show_bug.cgi?id=205773
<rdar://problem/58319960>

Reviewed by Antti Koivisto.

Let's add padding and border to the repaint rect (which is not quite right since at this level reapint rect should
be about the content change, but that's what SLL does and it fixes some repaint issues when
the box with padding/border shrinks).

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutLFCLines):

3:06 AM Changeset in webkit [254039] by youenn@apple.com
  • 10 edits in trunk/Source/WebCore

Make MediaRecorderPrivate use CompletionHandler for retrieving encoded data
https://bugs.webkit.org/show_bug.cgi?id=205726

Reviewed by Eric Carlson.

Refactoring to allow asynchronous fetching of data.
No change of behavior.

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::stopRecording):
(WebCore::MediaRecorder::createRecordingDataBlob): Deleted.

  • Modules/mediarecorder/MediaRecorder.h:
  • platform/mediarecorder/MediaRecorderPrivate.h:
  • platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:

(WebCore::MediaRecorderPrivateAVFImpl::fetchData):

  • platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
  • platform/mediarecorder/MediaRecorderPrivateMock.cpp:

(WebCore::MediaRecorderPrivateMock::fetchData):

  • platform/mediarecorder/MediaRecorderPrivateMock.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:

(WebCore::MediaRecorderPrivateWriter::fetchData):

12:55 AM Changeset in webkit [254038] by Ross Kirsling
  • 12 edits in trunk

JavaScript: Invalid date parse for ISO 8601 strings when no timezone given
https://bugs.webkit.org/show_bug.cgi?id=89071

Reviewed by Darin Adler.

Source/JavaScriptCore:

Since ES2016, the specification for Date.parse has included the following statement:

When the UTC offset representation is absent, date-only forms are interpreted as a UTC time
and date-time forms are interpreted as a local time.

This patch updates us from the old ES5 behavior, which treated offsetless date-time forms as UTC.

  • runtime/JSDateMath.cpp:

(JSC::parseDateFromNullTerminatedCharacters):
(JSC::parseES5DateFromNullTerminatedCharacters): Added.
(JSC::parseDate):

  • runtime/JSDateMath.h:

Make a local time adjustment if necessary after calling WTF::parseES5DateFromNullTerminatedCharacters.

Source/WTF:

  • wtf/DateMath.cpp:

(WTF::parseES5TimePortion):
(WTF::parseES5DateFromNullTerminatedCharacters):

  • wtf/DateMath.h:

Add an out param to tell JSC whether we still need to do a local time adjustment.

LayoutTests:

  • js/date-parse-test-expected.txt:
  • js/script-tests/date-parse-test.js:

Update test to match new behavior.

  • storage/indexeddb/modern/resources/date-basic.js:
  • storage/indexeddb/modern/resources/get-keyrange.js:
  • storage/indexeddb/modern/resources/idbobjectstore-delete-1.js:

Fix tests relying on obsolete behavior.

Jan 4, 2020:

9:09 PM Changeset in webkit [254037] by Alexey Shvayka
  • 4 edits in trunk

JSON.parse should initialize wrapper object with DefineOwnProperty
https://bugs.webkit.org/show_bug.cgi?id=205767

Reviewed by Darin Adler.

JSTests:

  • test262/expectations.yaml: Mark 2 test cases as passing.

Source/JavaScriptCore:

This patch makes JSON.parse use DefineOwnProperty instead of Set to initialize wrapper object,
aligning JSC with the spec (step 7.c of https://tc39.es/ecma262/#sec-json.parse) and other engines.
Performing Set was observable by a setter on Object.prototype (with empty String key).
Also removes two extra exceptions checks.

  • runtime/JSONObject.cpp:

(JSC::Stringifier::stringify):
(JSC::Walker::walk):

2:35 PM Changeset in webkit [254036] by dino@apple.com
  • 13 edits in trunk/Source

Add support for iOS Simulator to ANGLE backend for WebGL
https://bugs.webkit.org/show_bug.cgi?id=205618

Source/ThirdParty/ANGLE:

Extend EGL_ANGLE_iosurface_client_buffer extension to require use
of TEXTURE_2D target on iOS, and to provide read/write usage hints
for the pbuffer created from the IOSurface.

Emulate missing [EAGLContext texImageIOSurface:...] via texture
upload in eglBindTexImage and readback in eglReleaseTexImage.

These changes will be upstreamed in
https://bugs.chromium.org/p/angleproject/issues/detail?id=4256 .

Patch by Kenneth Russell <kbr@chromium.org> on 2020-01-04
Reviewed by Dean Jackson.

  • extensions/EGL_ANGLE_iosurface_client_buffer.txt:
  • include/EGL/eglext_angle.h:
  • src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:

(rx::DisplayEAGL::initialize):

  • src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h:
  • src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:

(rx::IOSurfaceSurfaceEAGL::IOSurfaceSurfaceEAGL):
(rx::IOSurfaceSurfaceEAGL::bindTexImage):
(rx::IOSurfaceSurfaceEAGL::releaseTexImage):
(rx::IOSurfaceSurfaceEAGL::validateAttributes):
(rx::IOSurfaceSurfaceEAGL::createDefaultFramebuffer):
(rx::IOSurfaceSurfaceEAGL::getIOSurfaceLockOptions const):

  • src/libANGLE/validationEGL.cpp:

(egl::ValidateCreatePbufferFromClientBuffer):

Source/WebCore:

Refactor use of EGL_ANGLE_iosurface_client_buffer extension to
uniformly use rectangular textures on macOS, and 2D textures on
iOS, including the simulator. This should make the on-device iOS
code paths more correct as well.

Pass usage hints, only affecting the iOS Simulator, when creating
all pbuffers from IOSurfaces.

This patch does not turn on ANGLE for the iOS Simulator yet; that
will be done in a follow-on patch after more testing.

Covered by the preexisting WebGL conformance suite in the layout
tests.

Patch by Kenneth Russell <kbr@chromium.org> on 2020-01-04
Reviewed by Dean Jackson.

  • platform/graphics/GraphicsContext3DBase.h:
  • platform/graphics/angle/GraphicsContext3DANGLE.cpp:

(WebCore::GraphicsContext3D::reshapeFBOs):

  • platform/graphics/cocoa/GraphicsContext3DCocoa.mm:

(WebCore::GraphicsContext3D::GraphicsContext3D):

  • platform/graphics/cocoa/WebGLLayer.mm:

(-[WebGLLayer display]):
(-[WebGLLayer allocateIOSurfaceBackingStoreWithSize:usingAlpha:]):
(-[WebGLLayer bindFramebufferToNextAvailableSurface]):

  • platform/graphics/cv/VideoTextureCopierCV.cpp:

(WebCore::VideoTextureCopierCV::attachIOSurfaceToTexture):
(WebCore::VideoTextureCopierCV::copyImageToPlatformTexture):

2:31 PM Changeset in webkit [254035] by dino@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac ] webgl/2.0.0/conformance2/glsl3/no-attribute-vertex-shader.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205756
<rdar://problem/58309241>

Marking this as Pass Failure.

  • platform/mac/TestExpectations:
11:07 AM Changeset in webkit [254034] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Adopt updated MouseEvent initializer
https://bugs.webkit.org/show_bug.cgi?id=205765

Patch by Luming Yin <luming_yin@apple.com> on 2020-01-04
Reviewed by Wenson Hsieh.

Adopt updated MouseEvent initializer to fix the iOS build.

  • dom/ios/MouseEventIOS.cpp:

(WebCore::MouseEvent::create):

  • dom/ios/PointerEventIOS.cpp:

(WebCore::PointerEvent::PointerEvent):

10:23 AM Changeset in webkit [254033] by Keith Rollin
  • 2 edits in trunk/Source/WebKit

Reformat WebPage logging
https://bugs.webkit.org/show_bug.cgi?id=205705
<rdar://problem/58288704>

Reviewed by Alex Christensen.

Update the format used by WebPage in its RELEASE_LOG logging. Use the
format used by WebPageProxy and NetworkResourceLoader, which is
generally of the form:

<object-address> - [<values that help thread together operations>] <class>::<method>: <message and other useful values>

So, for example:

0x7f83ba009208 - WebPage (webPageID=15) - Adding a reason 1 to freeze layer tree (now 1); old reasons were 0

becomes:

0x7f83ba009208 - [webPageID=15] WebPage::freezeLayerTree: Adding a reason to freeze layer tree (reason=1, new=1, old=0)

No new tests - no added or changed functionality.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_overriddenMediaType):
(WebKit::WebPage::createPlugin):
(WebKit::WebPage::freezeLayerTree):
(WebKit::WebPage::unfreezeLayerTree):
(WebKit::WebPage::markLayersVolatile):
(WebKit::WebPage::cancelMarkLayersVolatile):
(WebKit::WebPage::touchEventSync):

6:54 AM Changeset in webkit [254032] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC][IFC] LineBuilder::ContinuousContent::append should return void
https://bugs.webkit.org/show_bug.cgi?id=205760
<rdar://problem/58309948>

Reviewed by Antti Koivisto.

Introduce ContinuousContent::isEligible to make merging logic more clear.

  • layout/inlineformatting/InlineLineBreaker.cpp:

(WebCore::Layout::LineBreaker::isContentWrappingAllowed const):
(WebCore::Layout::LineBreaker::shouldKeepEndOfLineWhitespace const):
(WebCore::Layout::LineBreaker::shouldWrapInlineContent):
(WebCore::Layout::LineBreaker::tryWrappingInlineContent const):
(WebCore::Layout::ContinuousContent::ContinuousContent):
(WebCore::Layout::ContinuousContent::hasTextContentOnly const):
(WebCore::Layout::ContinuousContent::isVisuallyEmptyWhitespaceContentOnly const):
(WebCore::Layout::ContinuousContent::firstTextRunIndex const):
(WebCore::Layout::ContinuousContent::lastContentRunIndex const):
(WebCore::Layout::ContinuousContent::hasNonContentRunsOnly const):
(WebCore::Layout::ContinuousContent::lastWrapOpportunityIndex const):
(WebCore::Layout::ContinuousContent::TrailingCollapsibleContent::reset):
(WebCore::Layout::ContinousContent::runs const): Deleted.
(WebCore::Layout::ContinousContent::isEmpty const): Deleted.
(WebCore::Layout::ContinousContent::size const): Deleted.
(WebCore::Layout::ContinousContent::width const): Deleted.
(WebCore::Layout::ContinousContent::nonCollapsibleWidth const): Deleted.
(WebCore::Layout::ContinousContent::hasTrailingCollapsibleContent const): Deleted.
(WebCore::Layout::ContinousContent::isTrailingContentFullyCollapsible const): Deleted.
(WebCore::Layout::ContinousContent::ContinousContent): Deleted.
(WebCore::Layout::ContinousContent::hasTextContentOnly const): Deleted.
(WebCore::Layout::ContinousContent::isVisuallyEmptyWhitespaceContentOnly const): Deleted.
(WebCore::Layout::ContinousContent::firstTextRunIndex const): Deleted.
(WebCore::Layout::ContinousContent::lastContentRunIndex const): Deleted.
(WebCore::Layout::ContinousContent::hasNonContentRunsOnly const): Deleted.
(WebCore::Layout::ContinousContent::lastWrapOpportunityIndex const): Deleted.
(WebCore::Layout::ContinousContent::TrailingCollapsibleContent::reset): Deleted.

  • layout/inlineformatting/InlineLineBreaker.h:
  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::ContinuousContent::isContinuous):
(WebCore::Layout::LineBuilder::ContinuousContent::canBeExpanded):
(WebCore::Layout::LineBuilder::ContinuousContent::ContinuousContent):
(WebCore::Layout::LineBuilder::ContinuousContent::append):
(WebCore::Layout::LineBuilder::ContinuousContent::close):
(WebCore::Layout::LineBuilder::close):
(WebCore::Layout::LineBuilder::ContinousContent::canBeExpanded): Deleted.
(WebCore::Layout::LineBuilder::ContinousContent::canBeMerged const): Deleted.
(WebCore::Layout::LineBuilder::ContinousContent::ContinousContent): Deleted.
(WebCore::Layout::LineBuilder::ContinousContent::append): Deleted.
(WebCore::Layout::LineBuilder::ContinousContent::close): Deleted.

  • layout/inlineformatting/InlineLineBuilder.h:

Jan 3, 2020:

11:57 PM Changeset in webkit [254031] by commit-queue@webkit.org
  • 12 edits
    1 add in trunk

Make text track loading set same-origin fallback flag
https://bugs.webkit.org/show_bug.cgi?id=205744

Patch by Rob Buis <rbuis@igalia.com> on 2020-01-03
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Adjust test result to new behavior for text track loading.

  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cloneNode-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-data-url-expected.txt:
  • web-platform-tests/service-workers/service-worker/webvtt-cross-origin.https-expected.txt:

Source/WebCore:

Make text track loading set same-origin fallback flag,
which changes text track loading to be same-origin
when the crossorigin attribute is not specified.

The new behavior matches that of Chrome and Firefox.

[1] https://html.spec.whatwg.org/multipage/media.html#sourcing-out-of-band-text-tracks:create-a-potential-cors-request

Tests: http/tests/security/text-track-crossorigin.html

  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::load):

LayoutTests:

Adjusts test to same-origin fallback behavior for text track
loading by using CORS.

  • http/tests/security/contentSecurityPolicy/resources/track.php: Added.
  • http/tests/security/contentSecurityPolicy/track-redirect-allowed.html:
  • http/tests/security/contentSecurityPolicy/track-redirect-allowed2.html:
  • http/tests/security/contentSecurityPolicy/track-redirect-blocked.html:
  • http/tests/security/text-track-crossorigin-expected.txt:
  • http/tests/security/text-track-crossorigin.html:
11:28 PM Changeset in webkit [254030] by sihui_liu@apple.com
  • 4 edits in trunk/Source/WebCore

IndexedDB: delete index records with ID and IndexKey instead of value in SQLiteIDBackingStore
https://bugs.webkit.org/show_bug.cgi?id=205413

Reviewed by Alex Christensen.

Since we have created an index on key in the IndexRecords table, we should do the deletion by its key, because
looking up a record by index column(s) should be faster than non-index column(s).

This change makes PerformanceTests/IndexedDB/basic/index-cursor-delete.html about 100% faster.

No behavior change.

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::deleteRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteOneIndexRecord):

  • Modules/indexeddb/server/SQLiteIDBBackingStore.h:
  • Modules/indexeddb/shared/IDBDatabaseInfo.h:

(WebCore::IDBDatabaseInfo::objectStoreMap const):

11:05 PM Changeset in webkit [254029] by Chris Dumez
  • 35 edits
    3 adds in trunk

Add support for DragEvent
https://bugs.webkit.org/show_bug.cgi?id=205758

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing.

  • web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
  • web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt:

Source/WebCore:

Add support for DragEvent:

Both Blink and Gecko support it. In WebKit, we had no DragEvent and we had added the
dataTransfer attribute to MouseEvent instead.

No new tests, updated / rebaselined existing tests.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:

(WebCore::Document::createEvent):

  • dom/DragEvent.cpp: Added.

(WebCore::DragEvent::create):
(WebCore::DragEvent::createForBindings):
(WebCore::DragEvent::DragEvent):
(WebCore::DragEvent::eventInterface const):

  • dom/DragEvent.h: Added.

(WebCore::DragEvent::dataTransfer const):

  • dom/DragEvent.idl: Added.
  • dom/EventNames.in:
  • dom/MouseEvent.cpp:

(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
(WebCore::MouseEvent::initMouseEvent):

  • dom/MouseEvent.h:
  • dom/MouseEvent.idl:
  • dom/SimulatedClick.cpp:
  • dom/WheelEvent.cpp:

(WebCore::WheelEvent::WheelEvent):

  • page/EventHandler.cpp:

(WebCore::EventHandler::dispatchDragEvent):

Source/WebKit:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):

Source/WebKitLegacy/ios:

  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):

Source/WebKitLegacy/mac:

  • WebView/WebPDFView.mm:

(-[WebPDFView PDFViewWillClickOnLink:withURL:]):

LayoutTests:

Extend test coverage.

  • editing/pasteboard/can-read-in-dragstart-event-expected.txt:
  • editing/pasteboard/can-read-in-dragstart-event.html:
  • editing/pasteboard/data-transfer-is-unique-for-dragenter-and-dragleave-expected.txt:
  • editing/pasteboard/data-transfer-is-unique-for-dragenter-and-dragleave.html:
  • fast/events/constructors/mouse-event-constructor-expected.txt:
  • fast/events/constructors/mouse-event-constructor.html:
  • fast/events/init-events-expected.txt:
  • fast/events/init-events.html:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
7:01 PM Changeset in webkit [254028] by sihui_liu@apple.com
  • 2 edits in trunk/Source/WebCore

Crash in com.apple.WebKit.Networking at UniqueIDBDatabase::performCurrentOpenOperation
https://bugs.webkit.org/show_bug.cgi?id=205742

Reviewed by Maciej Stachowiak.

m_databaseInfo may not be set in performCurrentOpenOperation if there is an error in opening backing store, so
we should make an early return to avoid access to m_databaseInfo in this case.

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):

6:44 PM Changeset in webkit [254027] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

IconLoadingClient::getLoadDecisionForIcon() leaks an Objective-C block
https://bugs.webkit.org/show_bug.cgi?id=205750
<rdar://problem/57981723>

Patch by Garrett Davidson <garrett_davidson@apple.com> on 2020-01-03
Reviewed by Wenson Hsieh.

Replace a Block_copy with makeBlockPtr to prevent leaking the ObjC block.

  • UIProcess/Cocoa/IconLoadingDelegate.mm:

(WebKit::IconLoadingDelegate::IconLoadingClient::getLoadDecisionForIcon):

6:15 PM Changeset in webkit [254026] by stephan.szabo@sony.com
  • 4 edits in trunk/Source/WebCore

[WinCairo] Fixing build after "Add a pure virtual base class for GraphicsContext3D"
https://bugs.webkit.org/show_bug.cgi?id=205743

Reviewed by Don Olmstead.

No new tests, build fix.

  • platform/graphics/GraphicsContext3DBase.h: Undefine NO_ERROR on win
  • platform/graphics/texmap/GraphicsContext3DTextureMapper.cpp:

Move functions showing up as undefined out of #ifdef block

  • platform/graphics/texmap/TextureMapperGC3DPlatformLayer.cpp:

Fix some accesses to m_attrs to use contextAttributes()

5:58 PM Changeset in webkit [254025] by timothy_horton@apple.com
  • 9 edits in trunk/Source/WebKit

Crashes under -[WKWebView _addUpdateVisibleContentRectPreCommitHandler]_block_invoke
https://bugs.webkit.org/show_bug.cgi?id=205749
<rdar://problem/56433624>

Reviewed by Simon Fraser.

Implement a speculative fix for a common crash. We believe that this is due to
a mechanism UIKit uses to bounce -dealloc (in our case, of WKWebView and/or WKContentView)
to the main thread when the last reference is dropped on a background thread.
At that point, deallocation has already begun, -retain cannot revive the object,
but -dealloc has not yet been called (because of the nature of this mechanism).

To avoid this, make PageClientImpl -> WKContentView and WKContentView -> WKWebView
weak instead of raw references. This way, we won't even get to _addUpdateVisibleContentRectPreCommitHandler
with a deallocating WKWebView, nor try (and fail) to retain it for later use in the block.

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::viewSize):
(WebKit::PageClientImpl::didPerformDictionaryLookup):
(WebKit::PageClientImpl::createValidationBubble):
(WebKit::PageClientImpl::createDataListSuggestionsDropdown):
(WebKit::PageClientImpl::createDrawingView):

  • UIProcess/ios/WKContentView.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _commonInitializationWithProcessPool:configuration:]):
(-[WKContentView webView]):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:contentInsets:unobscuredRectInScrollViewCoordinates:obscuredInsets:unobscuredSafeAreaInsets:inputViewBounds:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]):
(-[WKContentView _didCommitLayerTree:]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView setupInteraction]):
(-[WKContentView _updateLongPressAndHighlightLongPressGestures]):
(-[WKContentView endEditingAndUpdateFocusAppearanceWithReason:]):
(-[WKContentView gestureRecognizerMayPinchToZoomWebView:]):
(-[WKContentView _showAttachmentSheet]):
(-[WKContentView _actionForLongPressFromPositionInformation:]):
(-[WKContentView gestureRecognizerShouldBegin:]):
(-[WKContentView hasSelectablePositionAtPoint:]):
(-[WKContentView pointIsNearMarkedText:]):
(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):
(-[WKContentView _stylusSingleTapRecognized:]):
(-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
(-[WKContentView _updateInteractionTintColor]):
(-[WKContentView canPerformActionForWebView:withSender:]):
(-[WKContentView accessibilityRetrieveSpeakSelectionContent]):
(-[WKContentView requestRectsToEvadeForSelectionCommandsWithCompletionHandler:]):
(-[WKContentView accessoryAutoFill]):
(-[WKContentView _updateAccessory]):
(-[WKContentView _didChangeWebViewEditability]):
(-[WKContentView insertTextSuggestion:]):
(-[WKContentView isScrollableForKeyboardScrollViewAnimator:]):
(-[WKContentView keyboardScrollViewAnimator:distanceForIncrement:inDirection:]):
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
(-[WKContentView addFocusedFormControlOverlay]):
(-[WKContentView presentViewControllerForCurrentFocusedElement]):
(-[WKContentView dismissAllInputViewControllers:]):
(-[WKContentView _showShareSheet:inRect:completionHandler:]):
(-[WKContentView actionSheetAssistant:shareElementWithURL:rect:]):
(-[WKContentView actionSheetAssistant:showCustomSheetForElement:]):
(-[WKContentView dataDetectionContextForPositionInformation:]):
(-[WKContentView actionSheetAssistant:getAlternateURLForImage:completion:]):
(-[WKContentView _didChangeDragInteractionPolicy]):
(-[WKContentView dragLiftDelay]):
(-[WKContentView setupDragAndDropInteractions]):
(-[WKContentView _didPerformDragOperation:]):
(-[WKContentView _dragDestinationActionForDropSession:]):
(-[WKContentView _itemsForBeginningOrAddingToSessionWithRegistrationLists:stagedDragSource:]):
(-[WKContentView _handleDropByInsertingImagePlaceholders:session:]):
(-[WKContentView _dragInteraction:dataOwnerForSession:]):
(-[WKContentView dragInteraction:previewForLiftingItem:session:]):
(-[WKContentView dragInteraction:sessionWillBegin:]):
(-[WKContentView dragInteraction:session:didEndWithOperation:]):
(-[WKContentView dragInteraction:previewForCancellingItem:withDefault:]):
(-[WKContentView _dropInteraction:dataOwnerForSession:]):
(-[WKContentView dropInteraction:sessionDidUpdate:]):
(-[WKContentView dropInteraction:performDrop:]):
(-[WKContentView dismissQuickboardViewControllerAndRevealFocusedFormOverlayIfNecessary:]):
(-[WKContentView viewController:inputContextViewHeightForSize:]):
(-[WKContentView inputContextViewForViewController:]):
(-[WKContentView _registerPreview]):
(-[WKContentView assignLegacyDataForContextMenuInteraction]):
(-[WKContentView _contextMenuInteraction:configurationForMenuAtLocation:completion:]):
(-[WKContentView continueContextMenuInteraction:]):
(-[WKContentView _createTargetedPreviewIfPossible]):
(-[WKContentView contextMenuInteraction:willDisplayMenuForConfiguration:animator:]):
(-[WKContentView contextMenuInteraction:willPerformPreviewActionForMenuWithConfiguration:animator:]):
(-[WKContentView contextMenuInteraction:willEndForConfiguration:animator:]):
(-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
(-[WKContentView _dataForPreviewItemController:atPosition:type:]):
(-[WKContentView _presentedViewControllerForPreviewItemController:]):
(-[WKContentView _previewItemController:commitPreview:]):
(-[WKContentView _previewItemController:didDismissPreview:committing:]):

5:03 PM Changeset in webkit [254024] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

REGRESSION: 150+ flaky failures on some bots (color mismatches)
https://bugs.webkit.org/show_bug.cgi?id=205755
<rdar://problem/58248136>

Reviewed by Simon Fraser.

  • DumpRenderTree/mac/LayoutTestHelper.m:

(colorProfileURLForDisplay):
(displayUUIDStrings):
Use CGGetOnlineDisplayList instead of CGGetActiveDisplayList; we want
all attached displays, even if they are sleeping.

4:34 PM Changeset in webkit [254023] by ysuzuki@apple.com
  • 15 edits in trunk/Source/JavaScriptCore

[JSC] MarkedBlock::Handle and BlockDirectory should be shrunk
https://bugs.webkit.org/show_bug.cgi?id=205712

Reviewed by Mark Lam.

This patch shrinks MarkedBlock::Handle and BlockDirectory by leveraging the fact that Vector's size and capacity is unsigned.
In these data structures, we use size_t to hold a index, but this can be converted to unsigned since we guarantee that this
never exceeds unsigned since these numbers are derived from Vector's size / capacity, or index inside MarkedBlock (which is up
to 64KB in some architectures). MarkedBlock::Handle is allocated per MarkedBlock, and in Gmail, it takes 1MB. We can save
some bytes just using unsigned. In addition, this patch removes m_prev and m_next fields in MarkedBlock::Handle since
it is never used.

  • heap/AtomIndices.h:
  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::findBlockForAllocation):
(JSC::BlockDirectory::addBlock):

  • heap/IsoCellSet.cpp:

(JSC::IsoCellSet::addSlow):
(JSC::IsoCellSet::didResizeBits):
(JSC::IsoCellSet::didRemoveBlock):

  • heap/IsoCellSet.h:
  • heap/IsoCellSetInlines.h:

(JSC::IsoCellSet::forEachMarkedCell):
(JSC::IsoCellSet::forEachMarkedCellInParallel):
(JSC::IsoCellSet::forEachLiveCell):

  • heap/IsoSubspace.cpp:

(JSC::IsoSubspace::didResizeBits):
(JSC::IsoSubspace::didRemoveBlock):

  • heap/IsoSubspace.h:
  • heap/LocalAllocator.h:
  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::Handle::didAddToDirectory):
(JSC::MarkedBlock::Handle::didRemoveFromDirectory):

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::Handle::index const):

  • heap/Subspace.cpp:

(JSC::Subspace::didResizeBits):
(JSC::Subspace::didRemoveBlock):

  • heap/Subspace.h:
4:29 PM Changeset in webkit [254022] by Chris Dumez
  • 7 edits in trunk

dom/nodes/Document-createElement-namespace.html WPT test is failing
https://bugs.webkit.org/show_bug.cgi?id=205748

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline WPT test that is now passing.

  • web-platform-tests/dom/nodes/Document-createElement-namespace-expected.txt:

Source/WebCore:

dom/nodes/Document-createElement-namespace.html WPT test was failing in WebKit but passing in Blink
and Gecko. The issue was that the MIME type passed to DOMParser.parseFromString() would always be
resolved to "application/xml", no matter which XML MIME type was provided as input (e.g. "text/xml").

No new tests, rebaselined existing test.

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument):

LayoutTests:

Unskip test as it does not appear to be flaky locally.

4:28 PM Changeset in webkit [254021] by Chris Dumez
  • 4 edits in trunk

Document.createAttribute() should take in a localName, not a qualifiedName
https://bugs.webkit.org/show_bug.cgi?id=205752

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline WPT test now that it is passing. This test was failing in WebKit but passing
in Blink & Gecko.

  • web-platform-tests/dom/nodes/Document-createAttribute-expected.txt:

Source/WebCore:

Document.createAttribute() should take in a localName, not a qualifiedName:

Our behavior does not match the DOM specification or other browser engines.

No new tests, rebaselined existing test.

  • dom/Document.cpp:

(WebCore::Document::createAttribute):

4:13 PM Changeset in webkit [254020] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac ] webgl/1.0.3/conformance/textures/texture-upload-size.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=205757

Unreviewed test gardening.

  • platform/mac/TestExpectations:
3:25 PM Changeset in webkit [254019] by commit-queue@webkit.org
  • 11 edits in trunk

Update the RemoteMediaPlayerManagerProxy::Load XPC message to provide the updated RemoteMediaPlayerConfiguration to the web process
https://bugs.webkit.org/show_bug.cgi?id=205740

Patch by Peng Liu <Peng Liu> on 2020-01-03
Reviewed by Eric Carlson.

Source/WebCore:

Covered by existing tests.

  • platform/graphics/MediaPlayer.cpp:

Source/WebKit:

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:

(WebKit::RemoteMediaPlayerManagerProxy::load):

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerManagerProxy.messages.in:
  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::load):

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::MediaPlayerPrivateRemote::load):

LayoutTests:

  • gpu-process/TestExpectations:
3:22 PM Changeset in webkit [254018] by Chris Dumez
  • 4 edits in trunk

Align Range.intersectsNode() with the DOM specification
https://bugs.webkit.org/show_bug.cgi?id=205745

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT test now that it is passing.

  • web-platform-tests/dom/ranges/Range-intersectsNode-2-expected.txt:

Source/WebCore:

Align Range.intersectsNode() with the DOM specification:

This also aligns our behavior with Chrome 79 and Firefox 71.

No new tests, rebaselined existing test.

  • dom/Range.cpp:

(WebCore::Range::intersectsNode const):

3:21 PM Changeset in webkit [254017] by keith_miller@apple.com
  • 242 edits
    209 adds in trunk

Update test262 tests to commit 157b18d
https://bugs.webkit.org/show_bug.cgi?id=205741

Reviewed by Yusuke Suzuki.

JSTests:

  • test262/expectations.yaml:
  • test262/harness/deepEqual.js:

(assert.deepEqual):
(assert.deepEqual.format):
(deepEqual):
(compareEquality):
(compareIf):
(tryCompareStrictEquality):
(tryCompareTypeOfEquality):
(tryCompareToStringTagEquality):
(isOptional):
(compareOptionality):
(isPrimitiveEquatable):
(comparePrimitiveEquality):
(isNaNEquatable):
(compareNaNEquality):
(isObjectEquatable):
(compareObjectEquality):
(isBoxed):
(isValueOfEquatable):
(compareValueOfEquality):
(isToStringEquatable):
(compareToStringEquality):
(isArrayLikeEquatable):
(isStructurallyEquatable):
(isIterableEquatable):
(compareIteratorEquality):
(compareIterableEquality):
(cacheComparison):
(fail):
(setCache):
(getCache):
(assert.deepEqual._compare):

  • test262/latest-changes-summary.txt:
  • test262/test/built-ins/AggregateError: Added.
  • test262/test/built-ins/AggregateError/errors-iterabletolist-failures.js: Added.

(case1.get Symbol):
(case2.get Symbol):
(case3.Symbol.iterator):
(case4.Symbol.iterator):
(case5.Symbol.iterator):
(case6.Symbol.iterator.return.get next):
(case6.Symbol.iterator):
(case7.Symbol.iterator.return.get next):
(case7.Symbol.iterator):
(case8.Symbol.iterator):
(case9.Symbol.iterator):
(case10.Symbol.iterator):
(case11.Symbol.iterator.return.next.return.get done):
(case11.Symbol.iterator):

  • test262/test/built-ins/AggregateError/errors-iterabletolist.js: Added.

(case1.Symbol.iterator.return.next.return.get value):
(case1.Symbol.iterator):

  • test262/test/built-ins/AggregateError/length.js: Added.
  • test262/test/built-ins/AggregateError/message-method-prop-cast.js: Added.

(toString):

  • test262/test/built-ins/AggregateError/message-method-prop.js: Added.
  • test262/test/built-ins/AggregateError/message-tostring-abrupt-symbol.js: Added.

(case2.Symbol.toPrimitive):
(case2.toString):
(case2.valueOf):

  • test262/test/built-ins/AggregateError/message-tostring-abrupt.js: Added.

(case1.Symbol.toPrimitive):
(case1.toString):
(case1.valueOf):
(case2.toString):
(case2.valueOf):
(case3.valueOf):

  • test262/test/built-ins/AggregateError/message-undefined-no-prop.js: Added.
  • test262/test/built-ins/AggregateError/name.js: Added.
  • test262/test/built-ins/AggregateError/newtarget-proto-custom.js: Added.

(newt.new.Proxy):
(newt.new.Proxy.get if):

  • test262/test/built-ins/AggregateError/newtarget-proto-fallback.js: Added.

(ctor):
(const.value.of.values.get t):

  • test262/test/built-ins/AggregateError/newtarget-proto.js: Added.
  • test262/test/built-ins/AggregateError/prop-desc.js: Added.
  • test262/test/built-ins/AggregateError/proto.js: Added.
  • test262/test/built-ins/AggregateError/prototype: Added.
  • test262/test/built-ins/AggregateError/prototype/constructor.js: Added.
  • test262/test/built-ins/AggregateError/prototype/errors: Added.
  • test262/test/built-ins/AggregateError/prototype/errors/invoked-as-accessor.js: Added.
  • test262/test/built-ins/AggregateError/prototype/errors/invoked-as-func.js: Added.
  • test262/test/built-ins/AggregateError/prototype/errors/length.js: Added.
  • test262/test/built-ins/AggregateError/prototype/errors/name.js: Added.
  • test262/test/built-ins/AggregateError/prototype/errors/prop-desc.js: Added.
  • test262/test/built-ins/AggregateError/prototype/errors/return-from-iterable-errors.js: Added.

(errors.Symbol.iterator.return.next.return.get value):
(errors.Symbol.iterator):

  • test262/test/built-ins/AggregateError/prototype/errors/return-new-array-from-list.js: Added.
  • test262/test/built-ins/AggregateError/prototype/errors/this-has-no-typedarrayname-internal.js: Added.
  • test262/test/built-ins/AggregateError/prototype/errors/this-is-not-object.js: Added.
  • test262/test/built-ins/AggregateError/prototype/message.js: Added.
  • test262/test/built-ins/AggregateError/prototype/name.js: Added.
  • test262/test/built-ins/AggregateError/prototype/prop-desc.js: Added.
  • test262/test/built-ins/AggregateError/prototype/proto.js: Added.
  • test262/test/built-ins/Array/prototype/copyWithin/coerced-values-start-change-start.js: Added.

(longDenseArray):
(shorten):

  • test262/test/built-ins/Array/prototype/copyWithin/coerced-values-start-change-target.js: Added.

(longDenseArray):
(shorten):

  • test262/test/built-ins/Array/prototype/flatMap/this-value-ctor-object-species-bad-throws.js:
  • test262/test/built-ins/Atomics/add/bigint/nonshared-int-views.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/Atomics/and/bigint/nonshared-int-views.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/Atomics/compareExchange/bigint/nonshared-int-views.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/Atomics/exchange/bigint/nonshared-int-views.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/Atomics/or/bigint/nonshared-int-views.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/Atomics/store/bigint/nonshared-int-views.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/Atomics/sub/bigint/nonshared-int-views.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/Error/prototype/toString/invalid-receiver.js: Added.

(Symbol.forEach):

  • test262/test/built-ins/Error/prototype/toString/undefined-props.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/cleanup-prevented-with-unregister.js:

(emptyCells):
(emptyCells.then):

  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/cleanup-throws-in-callback.js: Added.

(fg.new.FinalizationGroup):
(callback):
(emptyCells):
(emptyCells.then):

  • test262/test/built-ins/FinalizationGroup/prototype/register/holdings-same-as-target.js:
  • test262/test/built-ins/FinalizationGroup/prototype/register/return-undefined-register-itself.js:
  • test262/test/built-ins/FinalizationGroup/prototype/register/unregisterToken-same-as-holdings-and-target.js:
  • test262/test/built-ins/FinalizationGroup/prototype/unregister/unregister-cleaned-up-cell.js: Added.

(fg.new.FinalizationGroup):
(emptyCells):
(emptyCells.then):

  • test262/test/built-ins/FinalizationGroup/target-not-callable-throws.js:
  • test262/test/built-ins/JSON/parse/reviver-array-get-prop-from-prototype.js: Added.
  • test262/test/built-ins/JSON/parse/reviver-array-non-configurable-prop-create.js: Added.
  • test262/test/built-ins/JSON/parse/reviver-array-non-configurable-prop-delete.js: Added.
  • test262/test/built-ins/JSON/parse/reviver-call-order.js: Added.
  • test262/test/built-ins/JSON/parse/reviver-object-get-prop-from-prototype.js: Added.
  • test262/test/built-ins/JSON/parse/reviver-object-non-configurable-prop-create.js: Added.
  • test262/test/built-ins/JSON/parse/reviver-object-non-configurable-prop-delete.js: Added.
  • test262/test/built-ins/JSON/parse/reviver-wrapper.js: Added.
  • test262/test/built-ins/JSON/stringify/property-order.js: Added.
  • test262/test/built-ins/Object/entries/return-order.js: Added.
  • test262/test/built-ins/Object/freeze/throws-when-false.js: Added.

(preventExtensions):

  • test262/test/built-ins/Object/getOwnPropertyNames/proxy-invariant-absent-not-configurable-symbol-key.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/getOwnPropertyNames/proxy-invariant-duplicate-symbol-entry.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/getOwnPropertyNames/proxy-invariant-not-extensible-absent-symbol-key.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/getOwnPropertyNames/proxy-invariant-not-extensible-extra-symbol-key.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/getOwnPropertySymbols/length.js:
  • test262/test/built-ins/Object/getOwnPropertySymbols/name.js:
  • test262/test/built-ins/Object/getOwnPropertySymbols/object-contains-symbol-property-with-description.js:
  • test262/test/built-ins/Object/getOwnPropertySymbols/object-contains-symbol-property-without-description.js:
  • test262/test/built-ins/Object/getOwnPropertySymbols/proxy-invariant-absent-not-configurable-string-key.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/getOwnPropertySymbols/proxy-invariant-duplicate-string-entry.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/getOwnPropertySymbols/proxy-invariant-not-extensible-absent-string-key.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/getOwnPropertySymbols/proxy-invariant-not-extensible-extra-string-key.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/keys/proxy-non-enumerable-prop-invariant-2.js:
  • test262/test/built-ins/Object/keys/proxy-non-enumerable-prop-invariant-3.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/keys/return-order.js: Added.
  • test262/test/built-ins/Object/preventExtensions/throws-when-false.js: Added.

(preventExtensions):

  • test262/test/built-ins/Object/prototype/isPrototypeOf/arg-is-proxy.js: Added.

(handler.allowProxyTraps.getPrototypeOf):

  • test262/test/built-ins/Object/prototype/isPrototypeOf/builtin.js: Added.
  • test262/test/built-ins/Object/prototype/isPrototypeOf/length.js: Added.
  • test262/test/built-ins/Object/prototype/isPrototypeOf/name.js:
  • test262/test/built-ins/Object/prototype/isPrototypeOf/null-this-and-object-arg-throws.js: Added.
  • test262/test/built-ins/Object/prototype/isPrototypeOf/null-this-and-primitive-arg-returns-false.js: Added.
  • test262/test/built-ins/Object/prototype/isPrototypeOf/this-value-is-in-prototype-chain-of-arg.js: Added.

(USER_FACTORY.this.getName):
(USER_FACTORY):
(this.getGrade):
(FORCEDUSER_FACTORY):

  • test262/test/built-ins/Object/prototype/isPrototypeOf/undefined-this-and-object-arg-throws.js: Added.
  • test262/test/built-ins/Object/prototype/isPrototypeOf/undefined-this-and-primitive-arg-returns-false.js: Added.
  • test262/test/built-ins/Object/seal/throws-when-false.js: Added.

(preventExtensions):

  • test262/test/built-ins/Object/values/return-order.js: Added.
  • test262/test/built-ins/Proxy/has/call-in-prototype-index.js: Added.

(handler.allowProxyTraps.has):

  • test262/test/built-ins/Proxy/has/call-in-prototype.js:
  • test262/test/built-ins/Proxy/ownKeys/call-parameters-object-keys.js:

(handler.ownKeys):

  • test262/test/built-ins/Proxy/set/call-parameters-prototype-index.js: Added.
  • test262/test/built-ins/Reflect/preventExtensions/target-is-not-object-throws.js:
  • test262/test/built-ins/RegExp/match-indices/indices-array-element.js:
  • test262/test/built-ins/RegExp/match-indices/indices-array-matched.js:
  • test262/test/built-ins/RegExp/match-indices/indices-array-non-unicode-match.js:
  • test262/test/built-ins/RegExp/match-indices/indices-array-properties.js:
  • test262/test/built-ins/RegExp/match-indices/indices-array-unicode-match.js:
  • test262/test/built-ins/RegExp/match-indices/indices-array-unicode-property-names.js:
  • test262/test/built-ins/RegExp/match-indices/indices-array-unmatched.js:
  • test262/test/built-ins/RegExp/match-indices/indices-array.js:
  • test262/test/built-ins/RegExp/match-indices/indices-groups-object-unmatched.js:
  • test262/test/built-ins/RegExp/match-indices/indices-groups-object.js:
  • test262/test/built-ins/RegExp/match-indices/indices-groups-properties.js:
  • test262/test/built-ins/RegExp/match-indices/indices-property.js:
  • test262/test/built-ins/String/prototype/replaceAll: Added.
  • test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024-0x0024.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024-0x0026.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024-0x0027.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024-0x003C.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024-0x0060.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024N.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024NN.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/length.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/name.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/replaceAll.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-call-abrupt.js: Added.

(custom):

  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-call-each-match-position.js: Added.

(t):
(replaceValue):

  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-call-matching-empty.js: Added.

(t):
(replaceValue):

  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-call-skip-no-match.js: Added.

(replaceValue):

  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-call-tostring-abrupt.js: Added.

(custom):
(symbol):

  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-fn-skip-toString.js: Added.

(replaceValue):
(value):

  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-tostring-abrupt.js: Added.

(thisValue.toString):
(searchValue.toString):
(replaceValue.toString):

  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-value-replaces-string.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-value-tostring.js: Added.

(replaceValue.Symbol.toPrimitive):
(replaceValue.toString):
(replaceValue.valueOf):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-empty-string-this-empty-string.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/searchValue-empty-string.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/searchValue-flags-no-g-throws.js: Added.

(poison.toString):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-flags-null-undefined-throws.js: Added.

(poison.toString):
(searchValue.get flags):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-flags-toString-abrupt.js: Added.

(poison.toString):
(searchValue.toString):
(searchValue.flags.toString):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-get-flags-abrupt.js: Added.

(searchValue.get flags):
(poison.toString):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-isRegExp-abrupt.js: Added.

(searchValue.get Symbol):
(searchValue.toString):
(poison.toString):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-replace-method-abrupt.js: Added.

(poison.toString):
(searchValue.get Symbol):
(searchValue.toString):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-replacer-RegExp-call-fn.js: Added.

(RE.prototype.Symbol.replace):
(RE.prototype.toString):
(RE):
(const.t):
(getFn.return.replaceValueFn):
(getFn):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-replacer-RegExp-call.js: Added.

(RE.prototype.Symbol.replace):
(RE.prototype.toString):
(RE):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-replacer-before-tostring.js: Added.

(value):
(poison.toString):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-replacer-call-abrupt.js: Added.

(poison.toString):
(searchValue.Symbol.replace):
(searchValue.toString):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-replacer-call.js: Added.

(value):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-tostring-abrupt.js: Added.

(poison.toString):
(thisValue.toString):
(searchValue.toString):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-tostring-regexp.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/this-is-null-throws.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/this-is-undefined-throws.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/this-tostring-abrupt.js: Added.

(poison.toString):
(thisValue.toString):
(searchValue.toString):

  • test262/test/built-ins/String/prototype/replaceAll/this-tostring.js: Added.

(thisValue.Symbol.toPrimitive):
(thisValue.toString):
(thisValue.valueOf):

  • test262/test/built-ins/TypedArray/from/mapfn-is-not-callable.js:
  • test262/test/built-ins/TypedArray/prototype/slice/BigInt/speciesctor-get-species-custom-ctor-length-throws.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/slice/BigInt/speciesctor-get-species-custom-ctor-length.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/slice/speciesctor-get-species-custom-ctor-length-throws.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/slice/speciesctor-get-species-custom-ctor-length.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/from/nan-conversion.js:
  • test262/test/built-ins/TypedArrayConstructors/from/new-instance-from-zero.js:
  • test262/test/built-ins/TypedArrayConstructors/of/BigInt/inherited.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/of/inherited.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/WeakRef/prototype-from-newtarget-abrupt.js:
  • test262/test/harness/deepEqual-array.js:
  • test262/test/harness/deepEqual-circular.js:
  • test262/test/harness/deepEqual-deep.js:
  • test262/test/harness/deepEqual-mapset.js:
  • test262/test/harness/deepEqual-object.js:
  • test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle-dateStyle.js: Added.
  • test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle-default.js: Added.

(locales.forEach):

  • test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle-timeStyle.js: Added.
  • test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle.js:
  • test262/test/intl402/DisplayNames: Added.
  • test262/test/intl402/DisplayNames/ctor-custom-get-prototype-poison-throws.js: Added.

(custom.new.Proxy.new.Function.get if):
(custom.new.Proxy.new.Function):

  • test262/test/intl402/DisplayNames/ctor-custom-prototype.js: Added.
  • test262/test/intl402/DisplayNames/ctor-default-prototype.js: Added.
  • test262/test/intl402/DisplayNames/instance-extensible.js: Added.
  • test262/test/intl402/DisplayNames/length.js: Added.
  • test262/test/intl402/DisplayNames/locales-invalid-throws.js: Added.
  • test262/test/intl402/DisplayNames/locales-length-poison-throws.js: Added.
  • test262/test/intl402/DisplayNames/locales-length-tolength-throws.js: Added.

(locales.length.valueOf):
(locales.length.Symbol.toPrimitive):
(locales.length.toString):

  • test262/test/intl402/DisplayNames/locales-symbol-length.js: Added.
  • test262/test/intl402/DisplayNames/name.js: Added.
  • test262/test/intl402/DisplayNames/options-fallback-abrupt-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-fallback-invalid-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-fallback-toString-abrupt-throws.js: Added.

(options.fallback.toString):
(options.fallback.valueOf):
(options.fallback.Symbol.toPrimitive):

  • test262/test/intl402/DisplayNames/options-fallback-valid.js: Added.
  • test262/test/intl402/DisplayNames/options-localeMatcher-abrupt-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-localeMatcher-invalid-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-localeMatcher-toString-abrupt-throws.js: Added.

(options.localeMatcher.toString):
(options.localeMatcher.valueOf):
(options.localeMatcher.Symbol.toPrimitive):

  • test262/test/intl402/DisplayNames/options-localeMatcher-valid.js: Added.
  • test262/test/intl402/DisplayNames/options-null-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-random-properties-unchecked.js: Added.
  • test262/test/intl402/DisplayNames/options-style-abrupt-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-style-invalid-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-style-toString-abrupt-throws.js: Added.

(options.style.toString):
(options.style.valueOf):
(options.style.Symbol.toPrimitive):

  • test262/test/intl402/DisplayNames/options-style-valid.js: Added.
  • test262/test/intl402/DisplayNames/options-type-abrupt-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-type-invalid-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-type-toString-abrupt-throws.js: Added.

(options.type.toString):
(options.type.valueOf):
(options.type.Symbol.toPrimitive):

  • test262/test/intl402/DisplayNames/options-type-valid.js: Added.
  • test262/test/intl402/DisplayNames/prop-desc.js: Added.
  • test262/test/intl402/DisplayNames/proto-from-ctor-realm.js: Added.
  • test262/test/intl402/DisplayNames/proto.js: Added.
  • test262/test/intl402/DisplayNames/prototype: Added.
  • test262/test/intl402/DisplayNames/prototype/Symbol.toStringTag.js: Added.
  • test262/test/intl402/DisplayNames/prototype/prop-desc.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/default-option-values.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/length.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/name.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/option-fallback.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/option-style.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/option-type.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/prop-desc.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/return-object.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/this-not-object-throws.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/this-object-lacks-internal-throws.js: Added.
  • test262/test/intl402/DisplayNames/undefined-newtarget-throws.js: Added.
  • test262/test/language/destructuring/binding/syntax/property-list-single-name-bindings.js:
  • test262/test/language/expressions/addition/bigint-and-number.js:
  • test262/test/language/expressions/addition/bigint-arithmetic.js:
  • test262/test/language/expressions/addition/bigint-errors.js:
  • test262/test/language/expressions/addition/bigint-toprimitive.js:
  • test262/test/language/expressions/addition/bigint-wrapped-values.js:
  • test262/test/language/expressions/arrow-function/eval-var-scope-syntax-err.js: Added.

(f.a.eval):

  • test262/test/language/expressions/arrow-function/scope-param-elem-var-close.js:
  • test262/test/language/expressions/arrow-function/scope-param-elem-var-open.js:
  • test262/test/language/expressions/arrow-function/scope-param-rest-elem-var-close.js:
  • test262/test/language/expressions/arrow-function/scope-param-rest-elem-var-open.js:
  • test262/test/language/expressions/async-arrow-function/eval-var-scope-syntax-err.js: Added.

(f.async a):
(SyntaxError.then):

  • test262/test/language/expressions/async-function/named-eval-var-scope-syntax-err.js: Added.

(f.async f):
(f):

  • test262/test/language/expressions/async-function/nameless-eval-var-scope-syntax-err.js: Added.
  • test262/test/language/expressions/async-generator/eval-var-scope-syntax-err.js: Added.
  • test262/test/language/expressions/async-generator/named-eval-var-scope-syntax-err.js: Added.

(f.async g):
(f):

  • test262/test/language/expressions/bitwise-and/bigint-and-number.js:
  • test262/test/language/expressions/bitwise-and/bigint-errors.js:
  • test262/test/language/expressions/bitwise-and/bigint-non-primitive.js:
  • test262/test/language/expressions/bitwise-and/bigint-toprimitive.js:
  • test262/test/language/expressions/bitwise-and/bigint-wrapped-values.js:
  • test262/test/language/expressions/bitwise-not/bigint-non-primitive.js:
  • test262/test/language/expressions/bitwise-or/bigint-and-number.js:
  • test262/test/language/expressions/bitwise-or/bigint-errors.js:
  • test262/test/language/expressions/bitwise-or/bigint-non-primitive.js:
  • test262/test/language/expressions/bitwise-or/bigint-toprimitive.js:
  • test262/test/language/expressions/bitwise-or/bigint-wrapped-values.js:
  • test262/test/language/expressions/bitwise-xor/bigint-and-number.js:
  • test262/test/language/expressions/bitwise-xor/bigint-errors.js:
  • test262/test/language/expressions/bitwise-xor/bigint-non-primitive.js:
  • test262/test/language/expressions/bitwise-xor/bigint-toprimitive.js:
  • test262/test/language/expressions/bitwise-xor/bigint-wrapped-values.js:
  • test262/test/language/expressions/class/async-gen-method-static/eval-var-scope-syntax-err.js: Added.

(C):

  • test262/test/language/expressions/class/async-gen-method/eval-var-scope-syntax-err.js: Added.

(C):

  • test262/test/language/expressions/class/async-method-static/eval-var-scope-syntax-err.js: Added.

(C):
(then):

  • test262/test/language/expressions/class/async-method/eval-var-scope-syntax-err.js: Added.

(C):
(SyntaxError.then):

  • test262/test/language/expressions/class/elements/syntax/early-errors/grammar-private-field-optional-chaining.js: Added.

(C.prototype.access):

  • test262/test/language/expressions/class/gen-method-static/eval-var-scope-syntax-err.js: Added.

(C):

  • test262/test/language/expressions/class/gen-method/eval-var-scope-syntax-err.js: Added.

(C):

  • test262/test/language/expressions/class/method-static/eval-var-scope-syntax-err.js: Added.

(C):

  • test262/test/language/expressions/class/method/eval-var-scope-syntax-err.js: Added.

(C):

  • test262/test/language/expressions/coalesce/cannot-chain-head-with-logical-and.js:
  • test262/test/language/expressions/coalesce/cannot-chain-head-with-logical-or.js:
  • test262/test/language/expressions/coalesce/cannot-chain-tail-with-logical-and.js:
  • test262/test/language/expressions/coalesce/cannot-chain-tail-with-logical-or.js:
  • test262/test/language/expressions/delete/super-property.js:

(C):

  • test262/test/language/expressions/division/bigint-and-number.js:
  • test262/test/language/expressions/division/bigint-arithmetic.js:
  • test262/test/language/expressions/division/bigint-complex-infinity.js:
  • test262/test/language/expressions/division/bigint-errors.js:
  • test262/test/language/expressions/division/bigint-toprimitive.js:
  • test262/test/language/expressions/division/bigint-wrapped-values.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-bigint.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-boolean.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-incomparable-primitive.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-non-finite.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-number-extremes.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-number.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-object.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-string.js:
  • test262/test/language/expressions/equals/bigint-and-bigint.js:
  • test262/test/language/expressions/equals/bigint-and-boolean.js:
  • test262/test/language/expressions/equals/bigint-and-incomparable-primitive.js:
  • test262/test/language/expressions/equals/bigint-and-non-finite.js:
  • test262/test/language/expressions/equals/bigint-and-number-extremes.js:
  • test262/test/language/expressions/equals/bigint-and-number.js:
  • test262/test/language/expressions/equals/bigint-and-object.js:
  • test262/test/language/expressions/equals/bigint-and-string.js:
  • test262/test/language/expressions/exponentiation/bigint-and-number.js:
  • test262/test/language/expressions/exponentiation/bigint-arithmetic.js:
  • test262/test/language/expressions/exponentiation/bigint-errors.js:
  • test262/test/language/expressions/exponentiation/bigint-negative-exponent-throws.js:
  • test262/test/language/expressions/exponentiation/bigint-toprimitive.js:
  • test262/test/language/expressions/exponentiation/bigint-wrapped-values.js:
  • test262/test/language/expressions/exponentiation/bigint-zero-base-zero-exponent.js:
  • test262/test/language/expressions/function/eval-var-scope-syntax-err.js: Added.

(f):

  • test262/test/language/expressions/function/scope-param-elem-var-close.js:
  • test262/test/language/expressions/function/scope-param-elem-var-open.js:
  • test262/test/language/expressions/function/scope-param-rest-elem-var-close.js:
  • test262/test/language/expressions/function/scope-param-rest-elem-var-open.js:
  • test262/test/language/expressions/generators/eval-var-scope-syntax-err.js: Added.

(f):

  • test262/test/language/expressions/generators/scope-param-elem-var-close.js:
  • test262/test/language/expressions/generators/scope-param-elem-var-open.js:
  • test262/test/language/expressions/generators/scope-param-rest-elem-var-close.js:
  • test262/test/language/expressions/generators/scope-param-rest-elem-var-open.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-bigint.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-incomparable-string.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-non-finite.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-number-extremes.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-number.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-string.js:
  • test262/test/language/expressions/greater-than/bigint-and-bigint.js:
  • test262/test/language/expressions/greater-than/bigint-and-boolean.js:
  • test262/test/language/expressions/greater-than/bigint-and-incomparable-string.js:
  • test262/test/language/expressions/greater-than/bigint-and-non-finite.js:
  • test262/test/language/expressions/greater-than/bigint-and-number-extremes.js:
  • test262/test/language/expressions/greater-than/bigint-and-number.js:
  • test262/test/language/expressions/greater-than/bigint-and-symbol.js:
  • test262/test/language/expressions/left-shift/bigint-and-number.js:
  • test262/test/language/expressions/left-shift/bigint-errors.js:
  • test262/test/language/expressions/left-shift/bigint-non-primitive.js:
  • test262/test/language/expressions/left-shift/bigint-toprimitive.js:
  • test262/test/language/expressions/left-shift/bigint-wrapped-values.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-bigint.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-incomparable-string.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-non-finite.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-number-extremes.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-number.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-string.js:
  • test262/test/language/expressions/less-than/bigint-and-bigint.js:
  • test262/test/language/expressions/less-than/bigint-and-boolean.js:
  • test262/test/language/expressions/less-than/bigint-and-incomparable-string.js:
  • test262/test/language/expressions/less-than/bigint-and-non-finite.js:
  • test262/test/language/expressions/less-than/bigint-and-number-extremes.js:
  • test262/test/language/expressions/less-than/bigint-and-number.js:
  • test262/test/language/expressions/modulus/bigint-and-number.js:
  • test262/test/language/expressions/modulus/bigint-arithmetic.js:
  • test262/test/language/expressions/modulus/bigint-errors.js:
  • test262/test/language/expressions/modulus/bigint-modulo-zero.js:
  • test262/test/language/expressions/modulus/bigint-toprimitive.js:
  • test262/test/language/expressions/modulus/bigint-wrapped-values.js:
  • test262/test/language/expressions/multiplication/bigint-and-number.js:
  • test262/test/language/expressions/multiplication/bigint-arithmetic.js:
  • test262/test/language/expressions/multiplication/bigint-errors.js:
  • test262/test/language/expressions/multiplication/bigint-toprimitive.js:
  • test262/test/language/expressions/multiplication/bigint-wrapped-values.js:
  • test262/test/language/expressions/object/method-definition/async-gen-meth-eval-var-scope-syntax-err.js: Added.

(obj.async method):

  • test262/test/language/expressions/object/method-definition/async-meth-eval-var-scope-syntax-err.js: Added.

(obj.async method):
(SyntaxError.then):

  • test262/test/language/expressions/object/method-definition/gen-meth-eval-var-scope-syntax-err.js: Added.

(obj.method.a.eval):

  • test262/test/language/expressions/object/method-definition/meth-eval-var-scope-syntax-err.js: Added.

(obj.method.a.eval):

  • test262/test/language/expressions/object/scope-gen-meth-param-elem-var-close.js:
  • test262/test/language/expressions/object/scope-gen-meth-param-elem-var-open.js:
  • test262/test/language/expressions/object/scope-gen-meth-param-rest-elem-var-close.js:
  • test262/test/language/expressions/object/scope-gen-meth-param-rest-elem-var-open.js:
  • test262/test/language/expressions/object/scope-meth-param-elem-var-close.js:
  • test262/test/language/expressions/object/scope-meth-param-elem-var-open.js:
  • test262/test/language/expressions/object/scope-meth-param-rest-elem-var-close.js:
  • test262/test/language/expressions/object/scope-meth-param-rest-elem-var-open.js:
  • test262/test/language/expressions/optional-chaining/iteration-statement-do.js: Added.
  • test262/test/language/expressions/optional-chaining/iteration-statement-for-await-of.js: Added.

(const.obj.iterable.Symbol.asyncIterator):
(async checkAssertions):

  • test262/test/language/expressions/optional-chaining/iteration-statement-for-in.js: Added.
  • test262/test/language/expressions/optional-chaining/iteration-statement-for-of-type-error.js: Added.
  • test262/test/language/expressions/optional-chaining/iteration-statement-for.js: Added.

(const.obj3.get a):

  • test262/test/language/expressions/optional-chaining/iteration-statement-while.js: Added.
  • test262/test/language/expressions/optional-chaining/new-target-optional-call.js: Added.

(const.newTargetContext):
(Base):
(Foo):

  • test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js: Added.

(const.a.b):

  • test262/test/language/expressions/optional-chaining/super-property-optional-call.js: Added.

(Base.prototype.method):
(Base):
(Foo.prototype.method):
(Foo):

  • test262/test/language/expressions/right-shift/bigint-and-number.js:
  • test262/test/language/expressions/right-shift/bigint-errors.js:
  • test262/test/language/expressions/right-shift/bigint-non-primitive.js:
  • test262/test/language/expressions/right-shift/bigint-toprimitive.js:
  • test262/test/language/expressions/right-shift/bigint-wrapped-values.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-bigint.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-boolean.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-incomparable-primitive.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-non-finite.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-number-extremes.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-number.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-object.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-string.js:
  • test262/test/language/expressions/strict-equals/bigint-and-bigint.js:
  • test262/test/language/expressions/strict-equals/bigint-and-boolean.js:
  • test262/test/language/expressions/strict-equals/bigint-and-incomparable-primitive.js:
  • test262/test/language/expressions/strict-equals/bigint-and-non-finite.js:
  • test262/test/language/expressions/strict-equals/bigint-and-number-extremes.js:
  • test262/test/language/expressions/strict-equals/bigint-and-number.js:
  • test262/test/language/expressions/strict-equals/bigint-and-object.js:
  • test262/test/language/expressions/strict-equals/bigint-and-string.js:
  • test262/test/language/expressions/subtraction/bigint-and-number.js:
  • test262/test/language/expressions/subtraction/bigint-arithmetic.js:
  • test262/test/language/expressions/subtraction/bigint-errors.js:
  • test262/test/language/expressions/subtraction/bigint-toprimitive.js:
  • test262/test/language/expressions/subtraction/bigint-wrapped-values.js:
  • test262/test/language/expressions/typeof/proxy.js: Added.

(assert.sameValue.typeof.new.Proxy):
(const.rp2.Proxy.revocable):

  • test262/test/language/expressions/unary-minus/bigint-non-primitive.js:
  • test262/test/language/expressions/unary-plus/bigint-throws.js:
  • test262/test/language/expressions/unsigned-right-shift/bigint-and-number.js:
  • test262/test/language/expressions/unsigned-right-shift/bigint-errors.js:
  • test262/test/language/expressions/unsigned-right-shift/bigint-non-primitive.js:
  • test262/test/language/expressions/unsigned-right-shift/bigint-toprimitive.js:
  • test262/test/language/expressions/unsigned-right-shift/bigint-wrapped-values.js:
  • test262/test/language/function-code/eval-param-env-with-computed-key.js:
  • test262/test/language/function-code/eval-param-env-with-prop-initializer.js:
  • test262/test/language/statements/async-function/eval-var-scope-syntax-err.js: Added.

(async f):
(SyntaxError.then):

  • test262/test/language/statements/async-generator/eval-var-scope-syntax-err.js: Added.

(async f):

  • test262/test/language/statements/class/async-gen-method-static/eval-var-scope-syntax-err.js: Added.

(C.async method):
(C):

  • test262/test/language/statements/class/async-gen-method/eval-var-scope-syntax-err.js: Added.

(C.prototype.async method):
(C):

  • test262/test/language/statements/class/async-method-static/eval-var-scope-syntax-err.js: Added.

(C.async method):
(C):
(SyntaxError.then):

  • test262/test/language/statements/class/async-method/eval-var-scope-syntax-err.js: Added.

(C.prototype.async method):
(C):
(SyntaxError.then):

  • test262/test/language/statements/class/definition/constructable-but-no-prototype.js:
  • test262/test/language/statements/class/definition/constructor-strict-by-default.js:
  • test262/test/language/statements/class/definition/getters-restricted-ids.js:
  • test262/test/language/statements/class/definition/implicit-constructor.js:
  • test262/test/language/statements/class/definition/invalid-extends.js:
  • test262/test/language/statements/class/definition/methods-named-eval-arguments.js:
  • test262/test/language/statements/class/definition/prototype-getter.js:
  • test262/test/language/statements/class/definition/prototype-property.js:
  • test262/test/language/statements/class/definition/setters-restricted-ids.js:
  • test262/test/language/statements/class/definition/side-effects-in-extends.js:
  • test262/test/language/statements/class/definition/side-effects-in-property-define.js:
  • test262/test/language/statements/class/definition/this-access-restriction-2.js:
  • test262/test/language/statements/class/definition/this-access-restriction.js:
  • test262/test/language/statements/class/definition/this-check-ordering.js:
  • test262/test/language/statements/class/elements/syntax/early-errors/grammar-private-field-optional-chaining.js: Added.

(C.prototype.access):
(C):

  • test262/test/language/statements/class/gen-method-static/eval-var-scope-syntax-err.js: Added.

(C.method):
(C):

  • test262/test/language/statements/class/gen-method/eval-var-scope-syntax-err.js: Added.

(C.prototype.method):
(C):

  • test262/test/language/statements/class/method-static/eval-var-scope-syntax-err.js: Added.

(C.method):
(C):

  • test262/test/language/statements/class/method/eval-var-scope-syntax-err.js: Added.

(C.prototype.method):
(C):

  • test262/test/language/statements/class/name-binding/basic.js:
  • test262/test/language/statements/class/subclass/binding.js:
  • test262/test/language/statements/class/subclass/builtin-objects/RegExp/lastIndex.js:
  • test262/test/language/statements/class/subclass/builtin-objects/String/length.js:
  • test262/test/language/statements/class/subclass/builtin-objects/WeakMap/regular-subclassing.js:
  • test262/test/language/statements/class/subclass/builtin-objects/WeakMap/super-must-be-called.js:
  • test262/test/language/statements/class/subclass/builtin-objects/WeakSet/regular-subclassing.js:
  • test262/test/language/statements/class/subclass/builtin-objects/WeakSet/super-must-be-called.js:
  • test262/test/language/statements/class/subclass/builtins.js:
  • test262/test/language/statements/class/subclass/default-constructor-spread-override.js:
  • test262/test/language/statements/for-in/identifier-let-allowed-as-lefthandside-expression-not-strict.js:
  • test262/test/language/statements/for-in/order-enumerable-shadowed.js: Added.
  • test262/test/language/statements/for-in/order-property-added.js: Added.
  • test262/test/language/statements/for-in/order-property-on-prototype.js: Added.
  • test262/test/language/statements/for-in/order-simple-object.js: Added.
  • test262/test/language/statements/function/eval-var-scope-syntax-err.js: Added.

(f):

  • test262/test/language/statements/function/scope-param-elem-var-close.js:
  • test262/test/language/statements/function/scope-param-elem-var-open.js:
  • test262/test/language/statements/function/scope-param-rest-elem-var-close.js:
  • test262/test/language/statements/function/scope-param-rest-elem-var-open.js:
  • test262/test/language/statements/generators/eval-var-scope-syntax-err.js: Added.

(f):

  • test262/test/language/statements/generators/scope-param-elem-var-close.js:
  • test262/test/language/statements/generators/scope-param-elem-var-open.js:
  • test262/test/language/statements/generators/scope-param-rest-elem-var-close.js:
  • test262/test/language/statements/generators/scope-param-rest-elem-var-open.js:
  • test262/test262-Revision.txt:

Tools:

Using --save and --latest-import should update expectations rather than overwrite.

  • Scripts/test262/Runner.pm:

(main):

3:05 PM Changeset in webkit [254016] by Chris Dumez
  • 5 edits in trunk

dispatchEvent() should not clear the event's isTrusted flag when it returns early
https://bugs.webkit.org/show_bug.cgi?id=205731

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline WPT test now that more checks are passing.

  • web-platform-tests/dom/events/Event-dispatch-redispatch-expected.txt:

Source/WebCore:

dispatchEvent() should not clear the event's isTrusted flag when it returns early:

No new tests, rebaselined existing test.

  • dom/EventTarget.cpp:

(WebCore::EventTarget::dispatchEventForBindings):

2:30 PM Changeset in webkit [254015] by aestes@apple.com
  • 9 edits in trunk/Source

[Apple Pay] Provide a better error message when Apple Pay blocks user agent script evaluation
https://bugs.webkit.org/show_bug.cgi?id=205730
<rdar://problem/55573484>

Reviewed by Brady Eidson.

Source/WebCore:

Covered by existing API tests.

  • Modules/applepay/PaymentCoordinator.cpp:

(WebCore::PaymentCoordinator::shouldAllowUserAgentScripts const):

  • Modules/applepay/PaymentCoordinator.h:
  • Modules/applepay/PaymentCoordinatorClient.h:

(WebCore::PaymentCoordinatorClient::userAgentScriptsBlockedErrorMessage const):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::executeUserAgentScriptInWorldInternal):
(WebCore::ScriptController::shouldAllowUserAgentScripts const):

  • bindings/js/ScriptController.h:

Source/WebKit:

  • WebProcess/ApplePay/WebPaymentCoordinator.cpp:

(WebKit::WebPaymentCoordinator::userAgentScriptsBlockedErrorMessage const):

  • WebProcess/ApplePay/WebPaymentCoordinator.h:
2:18 PM Changeset in webkit [254014] by dino@apple.com
  • 77 edits in trunk

[WebGL] Enable ANGLE by default for Cocoa platforms (except simulator)
https://bugs.webkit.org/show_bug.cgi?id=205483
<rdar://problem/58097701>

Reverting this from trunk (was r253926) due to the number of
flakey tests and failures.

Source/WTF:

  • wtf/Platform.h:

LayoutTests:

  • fast/canvas/webgl/array-bounds-clamping-expected.txt:
  • fast/canvas/webgl/array-bounds-clamping.html:
  • fast/canvas/webgl/copy-tex-image-and-sub-image-2d-bad-input-expected.txt:
  • fast/canvas/webgl/draw-elements-out-of-bounds-uint-index-expected.txt:
  • fast/canvas/webgl/drawElements-empty-vertex-data-expected.txt:
  • fast/canvas/webgl/oes-texture-half-float-uint16-expected.txt: Removed.
  • fast/canvas/webgl/oes-texture-half-float-uint16.html: Removed.
  • fast/canvas/webgl/readPixels-float-expected.txt:
  • fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies-expected.txt:
  • fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies.html:
  • fast/canvas/webgl/vertexAttribPointer-with-bad-offset-expected.txt:
  • fast/canvas/webgl/webgl-drawarrays-crash-2-expected.txt:
  • fast/canvas/webgl/webgl-drawarrays-crash-expected.txt:
  • fast/canvas/webgl/webgl2-texture-upload-enums-expected.txt:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
  • webgl/1.0.3/conformance/context/context-lost-restored-expected.txt:
  • webgl/1.0.3/conformance/extensions/oes-texture-float-expected.txt:
  • webgl/1.0.3/conformance/extensions/oes-texture-half-float-expected.txt:
  • webgl/1.0.3/conformance/glsl/misc/shader-struct-scope-expected.txt:
  • webgl/1.0.3/conformance/glsl/misc/shader-with-reserved-words-expected.txt:
  • webgl/1.0.3/conformance/glsl/misc/shaders-with-invariance-expected.txt:
  • webgl/1.0.3/conformance/glsl/misc/shaders-with-name-conflicts-expected.txt:
  • webgl/1.0.3/conformance/misc/webgl-specific-expected.txt:
  • webgl/1.0.3/conformance/rendering/point-no-attributes-expected.txt:
  • webgl/1.0.3/conformance/textures/texture-copying-feedback-loops-expected.txt:
  • webgl/2.0.0/conformance/context/context-lost-restored-expected.txt:
  • webgl/2.0.0/conformance/extensions/ext-sRGB-expected.txt:
  • webgl/2.0.0/conformance/extensions/oes-texture-float-expected.txt:
  • webgl/2.0.0/conformance/extensions/oes-texture-half-float-expected.txt:
  • webgl/2.0.0/conformance/extensions/oes-vertex-array-object-expected.txt:
  • webgl/2.0.0/conformance/extensions/webgl-depth-texture-expected.txt:
  • webgl/2.0.0/conformance/extensions/webgl-draw-buffers-framebuffer-unsupported-expected.txt:
  • webgl/2.0.0/conformance/glsl/misc/shader-struct-scope-expected.txt:
  • webgl/2.0.0/conformance/glsl/misc/shaders-with-invariance-expected.txt:
  • webgl/2.0.0/conformance/glsl/misc/shaders-with-name-conflicts-expected.txt:
  • webgl/2.0.0/conformance/limits/gl-line-width-expected.txt:
  • webgl/2.0.0/conformance/misc/webgl-specific-expected.txt:
  • webgl/2.0.0/conformance/ogles/GL/biuDepthRange/biuDepthRange_001_to_002-expected.txt:
  • webgl/2.0.0/conformance/ogles/GL/gl_FragCoord/gl_FragCoord_001_to_003-expected.txt:
  • webgl/2.0.0/conformance/reading/read-pixels-test-expected.txt:
  • webgl/2.0.0/conformance/rendering/point-no-attributes-expected.txt:
  • webgl/2.0.0/conformance/textures/misc/cube-incomplete-fbo-expected.txt:
  • webgl/2.0.0/conformance/textures/misc/texture-copying-feedback-loops-expected.txt:
  • webgl/2.0.0/conformance2/buffers/get-buffer-sub-data-expected.txt:
  • webgl/2.0.0/conformance2/buffers/one-large-uniform-buffer-expected.txt:
  • webgl/2.0.0/conformance2/context/context-attributes-depth-stencil-antialias-obeyed-expected.txt:
  • webgl/2.0.0/conformance2/extensions/ext-color-buffer-float-expected.txt:
  • webgl/2.0.0/conformance2/extensions/promoted-extensions-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/no-attribute-vertex-shader-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/shader-linking-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/shader-with-invalid-characters-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/shader-with-mis-matching-uniform-block-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/valid-invariant-expected.txt:
  • webgl/2.0.0/conformance2/rendering/attrib-type-match-expected.txt:
  • webgl/2.0.0/conformance2/rendering/blitframebuffer-stencil-only-expected.txt:
  • webgl/2.0.0/conformance2/rendering/blitframebuffer-test-expected.txt:
  • webgl/2.0.0/conformance2/rendering/clear-func-buffer-type-match-expected.txt:
  • webgl/2.0.0/conformance2/rendering/clear-srgb-color-buffer-expected.txt:
  • webgl/2.0.0/conformance2/rendering/clipping-wide-points-expected.txt:
  • webgl/2.0.0/conformance2/rendering/framebuffer-unsupported-expected.txt:
  • webgl/2.0.0/conformance2/rendering/fs-color-type-mismatch-color-buffer-type-expected.txt:
  • webgl/2.0.0/conformance2/rendering/instanced-arrays-expected.txt:
  • webgl/2.0.0/conformance2/rendering/instanced-rendering-bug-expected.txt:
  • webgl/2.0.0/conformance2/rendering/rendering-sampling-feedback-loop-expected.txt:
  • webgl/2.0.0/conformance2/state/gl-get-calls-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/copy-texture-image-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-image-with-bad-args-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-mipmap-levels-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-new-formats-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-storage-2d-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/texture-npot-expected.txt:
  • webgl/2.0.0/conformance2/vertex_arrays/vertex-array-object-expected.txt:
2:16 PM Changeset in webkit [254013] by aboya@igalia.com
  • 1 edit
    1 add in trunk/LayoutTests/imported/w3c

Unreviewed, add missing expectation file.
https://bugs.webkit.org/show_bug.cgi?id=205728

  • web-platform-tests/media-source/mediasource-h264-play-starved-expected.txt: Added.
1:54 PM Changeset in webkit [254012] by dino@apple.com
  • 2 edits in trunk/Source/WebKit

Provide pid to crashing service worker process and GPU process
https://bugs.webkit.org/show_bug.cgi?id=205564
<rdar://problem/58300321>

Build fix for TestWebKitAPI.

  • UIProcess/API/C/WKContext.h:
12:52 PM Changeset in webkit [254011] by Kocsen Chung
  • 8 edits in branches/safari-609.1.13-branch/Source

Versioning.

12:04 PM Changeset in webkit [254010] by ysuzuki@apple.com
  • 34 edits in trunk/Source

Put more WebCore/WebKit JS objects into IsoSubspace
https://bugs.webkit.org/show_bug.cgi?id=205711

Reviewed by Keith Miller.

Source/WebCore:

This patch puts more JS objects into IsoSubspace, mainly focusing on JS objects defined manually (not using CodeGeneratorJS.pm).

No behavior change.

  • bindings/js/JSDOMBuiltinConstructor.h:

(WebCore::JSDOMBuiltinConstructor::JSDOMBuiltinConstructor): Deleted.
(WebCore::JSDOMBuiltinConstructor::initializeProperties): Deleted.

  • bindings/js/JSDOMBuiltinConstructorBase.cpp:

(WebCore::JSDOMBuiltinConstructorBase::subspaceForImpl):

  • bindings/js/JSDOMBuiltinConstructorBase.h:

(WebCore::JSDOMBuiltinConstructorBase::subspaceFor):

  • bindings/js/JSDOMConstructor.h:

(WebCore::JSDOMConstructor::JSDOMConstructor): Deleted.
(WebCore::JSDOMConstructor::initializeProperties): Deleted.

  • bindings/js/JSDOMConstructorBase.cpp:

(WebCore::JSDOMConstructorBase::subspaceForImpl):

  • bindings/js/JSDOMConstructorBase.h:

(WebCore::JSDOMConstructorBase::subspaceFor):

  • bindings/js/JSDOMConstructorNotConstructable.h:

(WebCore::JSDOMConstructorNotConstructable::JSDOMConstructorNotConstructable): Deleted.
(WebCore::JSDOMConstructorNotConstructable::initializeProperties): Deleted.
(WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): Deleted.
(WebCore::JSDOMConstructorNotConstructable::getCallData): Deleted.

  • bindings/js/JSDOMIterator.h:

(WebCore::JSDOMIteratorPrototype::create): Deleted.
(WebCore::JSDOMIteratorPrototype::createStructure): Deleted.
(WebCore::JSDOMIteratorPrototype::JSDOMIteratorPrototype): Deleted.

  • bindings/js/JSDOMNamedConstructor.h:

(WebCore::JSDOMNamedConstructor::JSDOMNamedConstructor): Deleted.
(WebCore::JSDOMNamedConstructor::initializeProperties): Deleted.

  • bindings/js/JSDOMWindowProperties.cpp:

(WebCore::JSDOMWindowProperties::subspaceForImpl):

  • bindings/js/JSDOMWindowProperties.h:

(WebCore::JSDOMWindowProperties::create): Deleted.
(WebCore::JSDOMWindowProperties::createStructure): Deleted.
(WebCore::JSDOMWindowProperties::JSDOMWindowProperties): Deleted.

  • bindings/js/JSWindowProxy.cpp:

(WebCore::JSWindowProxy::subspaceForImpl):

  • bindings/js/JSWindowProxy.h:
  • bindings/js/WebCoreJSClientData.cpp:

(WebCore::JSVMClientData::JSVMClientData):

  • bindings/js/WebCoreJSClientData.h:

(WebCore::JSVMClientData::domBuiltinConstructorSpace):
(WebCore::JSVMClientData::domConstructorSpace):
(WebCore::JSVMClientData::domWindowPropertiesSpace):
(WebCore::JSVMClientData::runtimeArraySpace):
(WebCore::JSVMClientData::runtimeObjectSpace):
(WebCore::JSVMClientData::windowProxySpace):

  • bridge/c/CRuntimeObject.h:

(JSC::Bindings::CRuntimeObject::create): Deleted.
(JSC::Bindings::CRuntimeObject::createStructure): Deleted.

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CInstance::getMethod):
(JSC::Bindings::CRuntimeMethod::create): Deleted.
(JSC::Bindings::CRuntimeMethod::createStructure): Deleted.
(JSC::Bindings::CRuntimeMethod::CRuntimeMethod): Deleted.
(JSC::Bindings::CRuntimeMethod::finishCreation): Deleted.

  • bridge/objc/ObjCRuntimeObject.h:

(JSC::Bindings::ObjCRuntimeObject::create): Deleted.
(JSC::Bindings::ObjCRuntimeObject::createStructure): Deleted.

  • bridge/objc/objc_instance.mm:

(ObjCRuntimeMethod::create): Deleted.
(ObjCRuntimeMethod::createStructure): Deleted.
(ObjCRuntimeMethod::ObjCRuntimeMethod): Deleted.
(ObjCRuntimeMethod::finishCreation): Deleted.

  • bridge/objc/objc_runtime.h:

(JSC::Bindings::ObjcFallbackObjectImp::create): Deleted.
(JSC::Bindings::ObjcFallbackObjectImp::propertyName const): Deleted.
(JSC::Bindings::ObjcFallbackObjectImp::createPrototype): Deleted.
(JSC::Bindings::ObjcFallbackObjectImp::createStructure): Deleted.

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcFallbackObjectImp::subspaceForImpl):

  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::RuntimeArray):
(JSC::RuntimeArray::subspaceForImpl):

  • bridge/runtime_array.h:

(JSC::RuntimeArray::create): Deleted.
(JSC::RuntimeArray::getLength const): Deleted.
(JSC::RuntimeArray::getConcreteArray const): Deleted.
(JSC::RuntimeArray::createPrototype): Deleted.
(JSC::RuntimeArray::createStructure): Deleted.

  • bridge/runtime_method.cpp:

(JSC::RuntimeMethod::RuntimeMethod):

  • bridge/runtime_method.h:
  • bridge/runtime_object.cpp:

(JSC::Bindings::RuntimeObject::RuntimeObject):
(JSC::Bindings::RuntimeObject::subspaceForImpl):

  • bridge/runtime_object.h:

Source/WebKit:

  • WebProcess/Plugins/Netscape/JSNPMethod.h:
  • WebProcess/Plugins/Netscape/JSNPObject.h:

Source/WebKitLegacy/mac:

  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyInstance::getMethod):
(WebKit::ProxyRuntimeMethod::create): Deleted.
(WebKit::ProxyRuntimeMethod::createStructure): Deleted.
(WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod): Deleted.
(WebKit::ProxyRuntimeMethod::finishCreation): Deleted.

  • Plugins/Hosted/ProxyRuntimeObject.h:

(WebKit::ProxyRuntimeObject::create): Deleted.
(WebKit::ProxyRuntimeObject::createStructure): Deleted.

11:49 AM WebKitGTK/2.26.x edited by Michael Catanzaro
Propose r250743 (diff)
11:04 AM Changeset in webkit [254009] by Simon Fraser
  • 9 edits
    9 copies
    1 move
    18 adds in trunk

Add some shared schemes to the WebKit.xcworkspace
https://bugs.webkit.org/show_bug.cgi?id=205698

Reviewed by Tim Horton.
.:

Make WebKit.xcworkspace show the following schemes by default:

All Source
All Tools
WTF
JavaScriptCore
WebCore
WebKit
WebKitLegacy
DumpRenderTree
WebKitTestRunner
TestWebKitAPI
MiniBrowser
MobileMiniBrowser.

Also remove the MobileMiniBrowserUITests scheme.

  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:

Source/JavaScriptCore:

Make WebKit.xcworkspace show the following schemes by default:

All Source
All Tools
WTF
JavaScriptCore
WebCore
WebKit
WebKitLegacy
DumpRenderTree
WebKitTestRunner
TestWebKitAPI
MiniBrowser
MobileMiniBrowser.

Also remove the MobileMiniBrowserUITests scheme.

  • JavaScriptCore.xcodeproj/xcshareddata/xcschemes/JavaScriptCore.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.

Source/WebCore:

Make WebKit.xcworkspace show the following schemes by default:

All Source
All Tools
WTF
JavaScriptCore
WebCore
WebKit
WebKitLegacy
DumpRenderTree
WebKitTestRunner
TestWebKitAPI
MiniBrowser
MobileMiniBrowser.

Also remove the MobileMiniBrowserUITests scheme.

  • WebCore.xcodeproj/xcshareddata/xcschemes/WebCore.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.

Source/WebKit:

Make WebKit.xcworkspace show the following schemes by default:

All Source
All Tools
WTF
JavaScriptCore
WebCore
WebKit
WebKitLegacy
DumpRenderTree
WebKitTestRunner
TestWebKitAPI
MiniBrowser
MobileMiniBrowser.

Also remove the MobileMiniBrowserUITests scheme.

  • WebKit.xcodeproj/xcshareddata/xcschemes/WebKit.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.

Source/WebKitLegacy:

Make WebKit.xcworkspace show the following schemes by default:

All Source
All Tools
WTF
JavaScriptCore
WebCore
WebKit
WebKitLegacy
DumpRenderTree
WebKitTestRunner
TestWebKitAPI
MiniBrowser
MobileMiniBrowser.

Also remove the MobileMiniBrowserUITests scheme.

  • WebKitLegacy.xcodeproj/xcshareddata/xcschemes/WebKitLegacy.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.

Source/WTF:

Make WebKit.xcworkspace show the following schemes by default:

All Source
All Tools
WTF
JavaScriptCore
WebCore
WebKit
WebKitLegacy
DumpRenderTree
WebKitTestRunner
TestWebKitAPI
MiniBrowser
MobileMiniBrowser.

Also remove the MobileMiniBrowserUITests scheme.

  • WTF.xcodeproj/xcshareddata/xcschemes/WTF.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.

Tools:

Make WebKit.xcworkspace show the following schemes by default:

All Source
All Tools
WTF
JavaScriptCore
WebCore
WebKit
WebKitLegacy
DumpRenderTree
WebKitTestRunner
TestWebKitAPI
MiniBrowser
MobileMiniBrowser.

Also remove the MobileMiniBrowserUITests scheme.

  • DumpRenderTree/DumpRenderTree.xcodeproj/xcshareddata/xcschemes/DumpRenderTree.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
  • MiniBrowser/MiniBrowser.xcodeproj/xcshareddata/xcschemes/MiniBrowser.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
  • MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowser.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/xcshareddata/xcschemes/WebKitTestRunner.xcscheme: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
10:35 AM Changeset in webkit [254008] by Wenson Hsieh
  • 2 edits in trunk/LayoutTests

highlight/highlight-world-leak.html frequently times out
https://bugs.webkit.org/show_bug.cgi?id=205643
<rdar://problem/58263350>

Reviewed by Megan Gardner.

The main logic in this test is executed inside a load event handler to a subframe, which is set in a script
element. However, in the case where the subframe finishes loading before we execute the inline script, the test
will never run, since the load event handler won't be called again.

Fix this by waiting for the load event of the page instead.

  • highlight/highlight-world-leak.html:
10:22 AM Changeset in webkit [254007] by youenn@apple.com
  • 4 edits in trunk

REGRESSION: [iOS 13] webrtc/datachannel/mdns-ice-candidates.html is failing
https://bugs.webkit.org/show_bug.cgi?id=201900
<rdar://problem/55466061>

Reviewed by Eric Carlson.

Source/WebCore:

No change of behavior.

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::registerMDNSName):
Fix message typo (missing space).

LayoutTests:

  • platform/ios/TestExpectations:

Reenable test.

10:04 AM Changeset in webkit [254006] by youenn@apple.com
  • 11 edits in trunk

Provide pid to crashing service worker process and GPU process
https://bugs.webkit.org/show_bug.cgi?id=205564

Reviewed by Alex Christensen.

Source/WebKit:

No change of behavior, we provide pids to the WKContext callbacks.

  • UIProcess/API/C/WKContext.h:
  • UIProcess/API/C/WKContextPrivate.h:
  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::gpuProcessCrashed):

  • UIProcess/WebContextClient.cpp:

(WebKit::WebContextClient::serviceWorkerProcessDidCrash):
(WebKit::WebContextClient::gpuProcessDidCrash):

  • UIProcess/WebContextClient.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::serviceWorkerProcessCrashed):
(WebKit::WebProcessPool::gpuProcessCrashed):

  • UIProcess/WebProcessPool.h:

Tools:

Exposing the pid allows WebKitTestRunner to provide better information.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::serviceWorkerProcessDidCrash):
(WTR::TestController::gpuProcessDidCrash):

  • WebKitTestRunner/TestController.h:
9:50 AM Changeset in webkit [254005] by commit-queue@webkit.org
  • 10 edits in trunk

Deprecate _WKWebsitePolicies
https://bugs.webkit.org/show_bug.cgi?id=205539

Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-03
Reviewed by Wenson Hsieh.

Source/WebKit:

Its last use was removed in rdar://problem/58064847
but we need to keep it in WebKit until the next Safari release
to keep Safari working with built versions of open source WebKit with run-safari.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateWebsitePolicies:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/_WKWebsitePolicies.h:
  • UIProcess/API/Cocoa/_WKWebsitePolicies.mm:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:

(-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
(-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): Deleted.

  • TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:

(-[ContentBlockingWebsitePoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(TEST):
(-[AutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[WebsitePoliciesNavigationDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
(-[CustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[CustomJavaScriptUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[CustomNavigatorPlatformDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[WebsitePoliciesDeviceOrientationDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
(-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[WebsitePoliciesWebsiteDataStoreDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[ContentBlockingWebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
(-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
(-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
(-[WebsitePoliciesNavigationDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): Deleted.
(-[WebsitePoliciesDeviceOrientationDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): Deleted.
(-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.

9:40 AM Changeset in webkit [254004] by youenn@apple.com
  • 4 edits in trunk

NetworkResourceLoader::didFinishWithRedirectResponse should not assume the load is coming from network
https://bugs.webkit.org/show_bug.cgi?id=205715

Reviewed by Alex Christensen.

Source/WebKit:

Covered by updated test.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didFinishWithRedirectResponse):
If redirection is coming from cache, the load is not null.
We just need to use the request URL since the redirection mode is manual.

LayoutTests:

  • http/wpt/prefetch/link-prefetch-main-resource-redirect.html:
9:29 AM Changeset in webkit [254003] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed, drop new assertion added in r253984 which hits on OpenSource bots

  • Shared/ios/DependencyProcessAssertionIOS.mm:

(WebKit::DependencyProcessAssertion::DependencyProcessAssertion):

9:24 AM Changeset in webkit [254002] by Chris Dumez
  • 3 edits in trunk/Source

Improve release logging in ServiceWorkerFetchTask
https://bugs.webkit.org/show_bug.cgi?id=205692

Reviewed by Youenn Fablet.

Improve release logging in ServiceWorkerFetchTask to facilitate debugging.

  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:

(WebKit::ServiceWorkerFetchTask::ServiceWorkerFetchTask):
(WebKit::ServiceWorkerFetchTask::~ServiceWorkerFetchTask):
(WebKit::ServiceWorkerFetchTask::start):
(WebKit::ServiceWorkerFetchTask::contextClosed):
(WebKit::ServiceWorkerFetchTask::startFetch):
(WebKit::ServiceWorkerFetchTask::didReceiveRedirectResponse):
(WebKit::ServiceWorkerFetchTask::didReceiveResponse):
(WebKit::ServiceWorkerFetchTask::didFinish):
(WebKit::ServiceWorkerFetchTask::didFail):
(WebKit::ServiceWorkerFetchTask::didNotHandle):
(WebKit::ServiceWorkerFetchTask::cannotHandle):
(WebKit::ServiceWorkerFetchTask::cancelFromClient):
(WebKit::ServiceWorkerFetchTask::continueDidReceiveFetchResponse):
(WebKit::ServiceWorkerFetchTask::continueFetchTaskWith):
(WebKit::ServiceWorkerFetchTask::timeoutTimerFired):
(WebKit::ServiceWorkerFetchTask::softUpdateIfNeeded):

8:58 AM Changeset in webkit [254001] by Chris Dumez
  • 15 edits in trunk

Align XPathEvaluator.createNSResolver() / XPathResult.snapshotItem() with the specification
https://bugs.webkit.org/show_bug.cgi?id=205699

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaselined existing test now that more checks are passing.

  • web-platform-tests/dom/idlharness.window-expected.txt:

Source/WebCore:

Align XPathEvaluator.createNSResolver() / XPathResult.snapshotItem() with the specification and
other browsers (tested Chrome 79 and Firefox 71). In particular, their parameter should not be
optional (or nullable).

No new tests, rebaselined existing test.

  • dom/Document.cpp:

(WebCore::Document::createNSResolver):

  • dom/Document.h:
  • dom/Document.idl:
  • xml/NativeXPathNSResolver.cpp:

(WebCore::NativeXPathNSResolver::NativeXPathNSResolver):
(WebCore::NativeXPathNSResolver::lookupNamespaceURI):

  • xml/NativeXPathNSResolver.h:

(WebCore::NativeXPathNSResolver::create):

  • xml/XPathEvaluator.cpp:

(WebCore::XPathEvaluator::createNSResolver):

  • xml/XPathEvaluator.h:
  • xml/XPathEvaluator.idl:
  • xml/XPathResult.idl:

Source/WebKitLegacy/mac:

  • DOM/DOMDocument.mm:

(-[DOMDocument createNSResolver:]):

8:19 AM Changeset in webkit [254000] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebCore

Implement "create a potential-CORS request"
https://bugs.webkit.org/show_bug.cgi?id=205326

Patch by Rob Buis <rbuis@igalia.com> on 2020-01-03
Reviewed by Youenn Fablet.

Implement "create a potential-CORS request" [1] and
remove deprecatedSetAsPotentiallyCrossOrigin. Add a
same-origin fallback flag that can be used by clients
of createPotentialAccessControlRequest in the future.

No new tests, no functional change.

  • bindings/js/CachedScriptFetcher.cpp:

(WebCore::CachedScriptFetcher::requestScriptWithCache const):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::process):

  • html/parser/HTMLResourcePreloader.cpp:

(WebCore::PreloadRequest::resourceRequest):

  • loader/CrossOriginAccessControl.cpp:

(WebCore::createPotentialAccessControlRequest):

  • loader/CrossOriginAccessControl.h:
  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement):

  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::preloadIfNeeded):

  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResourceLoader::requestResource):

  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::load):

  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::deprecatedSetAsPotentiallyCrossOrigin): Deleted.

  • loader/cache/CachedResourceRequest.h:
8:03 AM Changeset in webkit [253999] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

[LFC][Integration] Enable text-transform:capitalize
https://bugs.webkit.org/show_bug.cgi?id=205721

Reviewed by Zalan Bujtas.

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::canUseFor):

Enable.

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::TreeBuilder::createLayoutBox):
(WebCore::Layout::applyTextTransform): Deleted.

No need to do anything, RenderText::text() has already applied text transform.

7:58 AM Changeset in webkit [253998] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Fix fast/ruby/ruby-justification.html
https://bugs.webkit.org/show_bug.cgi?id=205708
<rdar://problem/58290264>

Reviewed by Antti Koivisto.

  1. Fix last (content) run's trailing expansion behavior.
  2. Pass in float to TextRun instead of LayoutUnit to avoid losing precision.
  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::justifyRuns const):

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::paint):

7:42 AM Changeset in webkit [253997] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Fix fast/parser/entities-in-html.html
https://bugs.webkit.org/show_bug.cgi?id=205710
<rdar://problem/58290731>

Reviewed by Antti Koivisto.

  • layout/inlineformatting/InlineTextItem.cpp:

(WebCore::Layout::isWhitespaceCharacter):

6:17 AM Changeset in webkit [253996] by cathiechen
  • 18 edits
    16 adds
    1 delete in trunk/LayoutTests

Import WPT test cases for apect-ratio generated from attribute width and height
https://bugs.webkit.org/show_bug.cgi?id=205678

Reviewed by Manuel Rego Casasnovas

LayoutTests/imported/w3c:

Import web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/ from WPT.
Also import web-platform-tests/media/ which is needed by video-aspect-ratio.html.
Update video_loop_base-expected.txt, resize-during-playback-expected.txt and wpt-server-http.sub-expected.txt
which include resources in web-platform-tests/media/.

  • resources/import-expectations.json:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/align.html:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio-expected.txt:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio.html:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/content-aspect-ratio-expected.txt: Added.
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/content-aspect-ratio.html: Added.
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio-expected.txt:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-no-alt-replaced.html:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-replaced-box-while-loading.html:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/video-aspect-ratio-expected.txt:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/video-aspect-ratio.html:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_base-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-video-element/resize-during-playback-expected.txt:
  • web-platform-tests/infrastructure/server/wpt-server-http.sub-expected.txt:
  • web-platform-tests/media/1x1-green.png: Added.
  • web-platform-tests/media/2x2-green.mp4: Added.
  • web-platform-tests/media/2x2-green.ogv: Added.
  • web-platform-tests/media/400x300-red-resize-200x150-green.mp4: Added.
  • web-platform-tests/media/400x300-red-resize-200x150-green.webm: Added.
  • web-platform-tests/media/META.yml: Added.
  • web-platform-tests/media/OWNERS: Removed.
  • web-platform-tests/media/counting.mp4: Added.
  • web-platform-tests/media/counting.ogv: Added.
  • web-platform-tests/media/foo-no-cors.vtt: Added.
  • web-platform-tests/media/sound_0.mp3: Added.
  • web-platform-tests/media/sound_0.oga: Added.
  • web-platform-tests/media/test.mp4: Added.
  • web-platform-tests/media/test.ogv: Added.
  • web-platform-tests/media/video.ogv: Added.
  • web-platform-tests/media/w3c-import.log:

LayoutTests:

video-aspect-ratio.html passes the test after importing web-platform-tests/media/

5:56 AM Changeset in webkit [253995] by aboya@igalia.com
  • 3 edits
    4 adds in trunk

[GStreamer][MSE] Player stalling too soon
https://bugs.webkit.org/show_bug.cgi?id=205117

Reviewed by Xabier Rodriguez-Calvar.

LayoutTests/imported/w3c:

Added the testcase used to report the bug, cleaned and adapted for
WPT.

  • web-platform-tests/media-source/mediasource-h264-play-starved.html: Added.
  • web-platform-tests/media-source/mp4/h264-starvation-init.mp4: Added.
  • web-platform-tests/media-source/mp4/h264-starvation-media.mp4: Added.

Tools:

Backported patch to jhbuild.

Small modifications were necessary to make it apply on 1.16.1.

  • gstreamer/jhbuild.modules:
  • gstreamer/patches/libav-0001-gstavviddec-Limit-default-number-of-decoder-threads.patch: Added.
2:06 AM Changeset in webkit [253994] by sbarati@apple.com
  • 3 edits
    1 add in trunk

B3::ReduceLoopStrength should not do range based iteration on a vector it's mutating
https://bugs.webkit.org/show_bug.cgi?id=205703
<rdar://problem/56459483>

Reviewed by Mark Lam.

JSTests:

  • stress/dont-range-based-iterate-vector-that-is-mutated.js: Added.

(foo):

Source/JavaScriptCore:

B3::ReduceLoopStrength had code that did:
`
for (BasicBlock* pred : loopPostfooter->predecessors())

loopPostfooter->removePredecessor(pred);

`

This is wrong, since it's doing a range based iteration over the vector it is
mutating. The fix is to just do:
`
while (loopPostfooter->predecessors().size())

loopPostfooter->removePredecessor(loopPostfooter->predecessors()[0]);

`

  • b3/B3ReduceLoopStrength.cpp:

(JSC::B3::ReduceLoopStrength::reduceByteCopyLoopsToMemcpy):

1:57 AM Changeset in webkit [253993] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Fix non-libwebrtc builds after r253957
https://bugs.webkit.org/show_bug.cgi?id=205714

Unreviewed.

  • GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:

Move the includes inside the compilation guard.

1:41 AM Changeset in webkit [253992] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

<link> with non-CSS type should not be retrieved
https://bugs.webkit.org/show_bug.cgi?id=88157

Patch by Rob Buis <rbuis@igalia.com> on 2020-01-03
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Import test for various type attribute values for rel=stylesheet link elements.

  • web-platform-tests/html/semantics/document-metadata/the-link-element/link-type-attribute-expected.html: Added.
  • web-platform-tests/html/semantics/document-metadata/the-link-element/link-type-attribute.html: Added.
  • web-platform-tests/html/semantics/document-metadata/the-link-element/w3c-import.log:

Source/WebCore:

If the UA does not support the given MIME type for the given link
relationship, then the UA should not fetch and process the linked
resource [1].

The behavior matches Chrome and Firefox.

[1] https://html.spec.whatwg.org/multipage/semantics.html#processing-the-type-attribute

Test: imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/link-type-attribute.html

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::process):

1:20 AM Changeset in webkit [253991] by sbarati@apple.com
  • 5 edits
    1 add in trunk

AI rule for PutById can only observe transitions when it watches the condition
https://bugs.webkit.org/show_bug.cgi?id=205697
<rdar://problem/56814254>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/only-transition-structures-for-put-by-id-in-AI-if-watchable.js: Added.

Source/JavaScriptCore:

There was a bug in AI where we were capturing a PutByIdStatus and
emitting a structure transition in AI state based on the variants inside this
PutByIdStatus. This, in principal, is a valid static analysis to perform.
However, we can only do this if we ensure that the snapshot we have in the
PutByIdStatus holds at runtime. We can do this by watching the property conditions
for the various variants. AI forgot to watch these conditions. This patch fixes that.
In practice, this also means we need to be slightly more strict about stating to
AI when we transition since some object property conditions aren't watchable, and need
to be verified at runtime via structure checks. This is ok in practice, since
we'll emit the code to do that inside constant folding (constant folding was
already doing this), which will continue to report the precise transition in
the abstract state.

  • dfg/DFGAbstractInterpreter.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

Note: See TracTimeline for information about the timeline view.