Timeline



Sep 21, 2017:

11:36 PM Changeset in webkit [222379] by jmarcell@apple.com
  • 7 edits in tags/Safari-605.1.7.1/Source

Versioning.

11:34 PM Changeset in webkit [222378] by jmarcell@apple.com
  • 9 edits in tags/Safari-605.1.7.1

Cherry-pick r222374. rdar://problem/34288629

11:32 PM Changeset in webkit [222377] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.1.7.1

New tag.

6:51 PM Changeset in webkit [222376] by rniwa@webkit.org
  • 4 edits in trunk/Source

Enable dataTransfer.items on macOS and iOS
https://bugs.webkit.org/show_bug.cgi?id=177335

Reviewed by Sam Weinig.

Source/WebKit:

  • Shared/WebPreferencesDefinitions.h:

Source/WebKitLegacy/mac:

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

6:08 PM Changeset in webkit [222375] by timothy_horton@apple.com
  • 1 edit
    7 adds in trunk/Websites/webkit.org

Add some blog post resources
https://bugs.webkit.org/show_bug.cgi?id=177333

Reviewed by Sam Weinig.

  • demos/safe-area-insets/1-default.html: Added.
  • demos/safe-area-insets/2-viewport-fit.html: Added.
  • demos/safe-area-insets/3-safe-area-constants.html: Added.
  • demos/safe-area-insets/4-min-max.html: Added.
  • demos/safe-area-insets/safe-areas.html: Added.
  • demos/safe-area-insets/style.css: Added.
5:42 PM Changeset in webkit [222374] by Brent Fulgham
  • 9 edits in trunk

REGRESSION (r221017): iCloud mail logs me out after looking at a few messages
https://bugs.webkit.org/show_bug.cgi?id=177328

Reviewed by Daniel Bates.
<rdar://problem/34288629>

Reviewed by Dan Bates.

Source/WebCore:

This site was triggering a log-out because the page was loading insecure images. We don't treat that as a security
issue for deciding to display mixed content since it can only affect pixels on screen, not trigger a change in
program logic or persistent storage.

Consequently, we can correct thsi compatibility problem without relaxing the security fix by not blocking Secure cookies
when we have merely displayed mixed content (i.e., encountered 'Inactive' mixed content), as opposed to executing mixed
content (i.e., loaded 'Active' mixed content).

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::shouldBlockGeolocationRequests): Revise for new API.

  • dom/SecurityContext.h:

(WebCore::SecurityContext::foundMixedContent const): Change to return an OptionSet of
mixed content types.
(WebCore::SecurityContext::setFoundMixedContent): Accept an enum stating the type of mixed content found.

  • loader/CookieJar.cpp:

(WebCore::cookies): Only block Secure cookies for Active mixed content.
(WebCore::cookieRequestHeaderFieldValue): Ditto.

  • loader/MixedContentChecker.cpp:

(WebCore::MixedContentChecker::canDisplayInsecureContent const): Mark the context as having found 'Inactive'
mixed content.
(WebCore::MixedContentChecker::canRunInsecureContent const): Mark the context as having found 'Active'
mixed content.

LayoutTests:

Rebaseline tests for revised behavior.

  • http/tests/security/mixedContent/insecure-image-with-securecookie-block-expected.txt:
  • http/tests/security/mixedContent/insecure-image-with-securecookie-block.html:
  • http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies-block-expected.txt:
5:40 PM Changeset in webkit [222373] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Clean up RenderLayer z-order traversal code
https://bugs.webkit.org/show_bug.cgi?id=177325

Reviewed by Zalan Bujtas.

Remove isStackingContainer() checks before accessing posZOrderList() or negZOrderList();
we already have assertions in place to ensure that only stacking containers have non-null lists.

Use more auto.

No behavior change.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::update3DTransformedDescendantStatus):
(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayerBacking.cpp:

(WebCore::traverseVisibleNonCompositedDescendantLayers):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
(WebCore::RenderLayerCompositor::recursiveRepaintLayer):
(WebCore::RenderLayerCompositor::layerHas3DContent const):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeLayers):

5:33 PM Changeset in webkit [222372] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed Windows build fix after r222360.

  • PlatformWin.cmake:
5:19 PM Changeset in webkit [222371] by Joseph Pecoraro
  • 2 edits in trunk/Tools

Unreviewed, add the ability to skip a test262 test.

  • Scripts/run-jsc-stress-tests:

Other handlers have :skip but a few didn't.

5:16 PM Changeset in webkit [222370] by Ryan Haddad
  • 2 edits in trunk/Tools

Change architecture for ios-ews queue to arm64.
https://bugs.webkit.org/show_bug.cgi?id=177332

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/common/config/ews.json:
4:56 PM Changeset in webkit [222369] by mitz@apple.com
  • 8 copies
    1 add in releases/Apple/iOS 11.0

Added a tag for iOS 11.0.

4:56 PM Changeset in webkit [222368] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari 11.0

Added a tag for Safari 11.0.

4:52 PM Changeset in webkit [222367] by jmarcell@apple.com
  • 2 edits in tags/Safari-605.1.7/Source/WebCore

Cherry-pick r222360. rdar://problem/34575544

4:51 PM Changeset in webkit [222366] by jmarcell@apple.com
  • 2 edits in tags/Safari-605.1.7/Source/WebKitLegacy

Cherry-pick r222358. rdar://problem/34575958

4:37 PM Changeset in webkit [222365] by commit-queue@webkit.org
  • 18 edits in trunk/Source/WebCore

Remove the need for SetterMayThrowException
https://bugs.webkit.org/show_bug.cgi?id=177099

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-21
Reviewed by Sam Weinig.

No change of behavior.
Introducing AttributeSetter to handle exception raising attribute setters,
based on the C++ class method instead of SetterMayThrowException.
A follow-up patch should remove SetterMayThrowException from the IDLs

  • bindings/js/JSDOMAttribute.h:

(WebCore::AttributeSetter<ExceptionOr<void>>::call):
(WebCore::AttributeSetter<void>::call):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeSetterBodyDefinition):

  • bindings/scripts/test/JS/JSTestCEReactions.cpp:
  • bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
  • bindings/scripts/test/JS/JSTestCallTracer.cpp:
  • bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
  • bindings/scripts/test/JS/JSTestGlobalObject.cpp:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestSerialization.cpp:
  • bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
  • bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:
4:30 PM Changeset in webkit [222364] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Use 'ninja' from the SDK if it exists
https://bugs.webkit.org/show_bug.cgi?id=177330

Reviewed by Alex Christensen.

  • Scripts/webkitdirs.pm:

(canUseNinja):
Check for ninja with xcrun in addition to commandExists() for Cocoa platforms.

(generateBuildSystemFromCMakeProject):
(canUseNinjaGenerator): Deleted.
Remove canUseNinjaGenerator; as noted in bug 177057, the Ninja generator
is available in all versions of CMake supported by WebKit.

4:10 PM Changeset in webkit [222363] by rniwa@webkit.org
  • 4 edits
    4 adds in trunk

DataTransfer.items should contain text/html and text/uri-list
https://bugs.webkit.org/show_bug.cgi?id=176772
<rdar://problem/34386899>

Reviewed by Darin Adler.

Source/WebCore:

Expose text/html and text/uri-list in dataTransfer.items.

Tests: editing/pasteboard/datatransfer-items-copy-html.html

editing/pasteboard/datatransfer-items-copy-url.html

  • dom/DataTransferItemList.cpp:

(WebCore::isSupportedType): Added both MIME types.
(WebCore::DataTransferItemList::add): Fixed the bug that new data transfer item was using
the original type string instead of the lowercased one.

LayoutTests:

Added tests for copying text/html and text/uri-list, and updated the existing test for
coping & pasting plain text to explicitly set only text/plain now that
the data transfer item list can contain HTML markup.

  • editing/pasteboard/datatransfer-items-copy-html-expected.txt: Added.
  • editing/pasteboard/datatransfer-items-copy-html.html: Added.
  • editing/pasteboard/datatransfer-items-copy-url-expected.txt: Added.
  • editing/pasteboard/datatransfer-items-copy-url.html: Added.
  • editing/pasteboard/datatransfer-items-paste-plaintext.html:
4:07 PM Changeset in webkit [222362] by Ryan Haddad
  • 1 edit
    1 add in trunk/LayoutTests/imported/w3c

Add missing expectation file.
https://bugs.webkit.org/show_bug.cgi?id=170713

Unreviewed test gardening.

  • web-platform-tests/IndexedDB/nested-cloning-large-multiple-expected.txt: Added.
4:06 PM Changeset in webkit [222361] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

LayoutTest platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=173741

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-21
Reviewed by Alex Christensen.

Making the test more robust by getting the reference canvas to compare with each time a new comparison is done.
Previously, this was done at the start of the comparison.
Also increasing the threshold since we are going from 0 to 255 or vice-versa.

  • platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html:
4:06 PM Changeset in webkit [222360] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] Compile error, PALHeaderDetection.h not found.
https://bugs.webkit.org/show_bug.cgi?id=177309

Reviewed by Brent Fulgham.

Copy PAL header files to WebCore forwarding headers folder.

  • PlatformWin.cmake:
4:05 PM Changeset in webkit [222359] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Add autocompletion suggestions for CSS functions (constant(), linear-gradient(), etc)
https://bugs.webkit.org/show_bug.cgi?id=177264

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-21
Reviewed by Matt Baker.

  • UserInterface/Controllers/CodeMirrorCompletionController.js:

(WI.CodeMirrorCompletionController.prototype._generateCSSCompletions):
Detect when we are inside of functions and provide completion suggestions
for the relevant function.

  • UserInterface/Models/CSSCompletions.js:

Syntax highlight "constant()" like we do for "var()".

  • UserInterface/Models/CSSKeywordCompletions.js:

(WI.CSSKeywordCompletions.forProperty):
Always suggest "constant()" everywhere, like we do for "var()".

(WI.CSSKeywordCompletions.forFunction):
Provide suggestions for some CSS functions.

4:03 PM Changeset in webkit [222358] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKitLegacy

[Win] Compile error, generate-webkitversion.pl script not found.
https://bugs.webkit.org/show_bug.cgi?id=177310

Reviewed by Brent Fulgham.

The script is located using the WebKitLegacy folder cmake variable, which needs
to be set in the project file.

  • WebKitLegacy.vcxproj/WebKitLegacy.proj:
3:43 PM Changeset in webkit [222357] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit

Try to fix Apple internal builds with the iOS 11.0 SDK.

  • Configurations/WebKit.xcconfig: Disable framework header postprocessing for iOS 11.0.
3:32 PM Changeset in webkit [222356] by commit-queue@webkit.org
  • 26 edits
    16 deletes in trunk

Web Inspector: Remove support for CSS Regions
https://bugs.webkit.org/show_bug.cgi?id=177287

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-21
Reviewed by Matt Baker.

Source/JavaScriptCore:

  • inspector/protocol/CSS.json:
  • inspector/protocol/OverlayTypes.json:

Source/WebCore:

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getNamedFlowCollection): Deleted.

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorOverlay.cpp:

(WebCore::buildRendererHighlight):
(WebCore::buildNodeHighlight):
(WebCore::InspectorOverlay::getHighlight const):
(WebCore::buildArrayForRendererFragments):
(WebCore::buildQuadObjectForCSSRegionContentClip): Deleted.

  • inspector/InspectorOverlayPage.js:

(_createElementTitle):
(_drawElementTitle):
(_drawFragmentHighlight):
(drawNodeHighlight):
(_drawRegionNumber): Deleted.
(_quadMidPoint): Deleted.
(_drawRegionLink): Deleted.
(_drawRegionsHighlight): Deleted.

Source/WebInspectorUI:

  • UserInterface/Protocol/CSSObserver.js:

(WI.CSSObserver.prototype.namedFlowCreated):
(WI.CSSObserver.prototype.namedFlowRemoved):
(WI.CSSObserver.prototype.regionLayoutUpdated):
(WI.CSSObserver.prototype.regionOversetChanged):
(WI.CSSObserver.prototype.registeredNamedFlowContentElement):
(WI.CSSObserver.prototype.unregisteredNamedFlowContentElement):
Leave observer functions in for older backends that will send
these messages, but we just ignore them.

  • UserInterface/Base/Main.js:
  • UserInterface/Controllers/DOMTreeManager.js:

(WI.DOMTreeManager):
(WI.DOMTreeManager.prototype._unbind):
(WI.DOMTreeManager._flowPayloadHashKey): Deleted.
(WI.DOMTreeManager.prototype._createContentFlowFromPayload): Deleted.
(WI.DOMTreeManager.prototype._updateContentFlowFromPayload): Deleted.
(WI.DOMTreeManager.prototype.getNamedFlowCollection.onNamedFlowCollectionAvailable): Deleted.
(WI.DOMTreeManager.prototype.getNamedFlowCollection): Deleted.
(WI.DOMTreeManager.prototype.namedFlowCreated): Deleted.
(WI.DOMTreeManager.prototype.namedFlowRemoved): Deleted.
(WI.DOMTreeManager.prototype._sendNamedFlowUpdateEvents): Deleted.
(WI.DOMTreeManager.prototype.regionOversetChanged): Deleted.
(WI.DOMTreeManager.prototype.registeredNamedFlowContentElement): Deleted.
(WI.DOMTreeManager.prototype._removeContentNodeFromFlowIfNeeded): Deleted.
(WI.DOMTreeManager.prototype.unregisteredNamedFlowContentElement): Deleted.
(WI.DOMTreeManager.prototype._coerceRemoteArrayOfDOMNodes.nodeRequested): Deleted.
(WI.DOMTreeManager.prototype._coerceRemoteArrayOfDOMNodes): Deleted.
(WI.DOMTreeManager.prototype.getNodeContentFlowInfo.regionNodesAvailable): Deleted.
(WI.DOMTreeManager.prototype.getNodeContentFlowInfo.remoteObjectPropertiesAvailable): Deleted.
(WI.DOMTreeManager.prototype.getNodeContentFlowInfo.inspectedPage_node_getFlowInfo.getComputedProperty): Deleted.
(WI.DOMTreeManager.prototype.getNodeContentFlowInfo.inspectedPage_node_getFlowInfo.getContentFlowName): Deleted.
(WI.DOMTreeManager.prototype.getNodeContentFlowInfo): Deleted.

  • UserInterface/Images/ContentFlow.svg: Removed.
  • UserInterface/Images/gtk/ContentFlow.svg: Removed.
  • UserInterface/Main.html:
  • UserInterface/Models/Collection.js:
  • UserInterface/Models/ContentFlow.js: Removed.
  • UserInterface/Models/DOMTree.js:

(WI.DOMTree):
(WI.DOMTree.prototype.get frame):
(WI.DOMTree.prototype._framePageExecutionContextChanged):
(WI.DOMTree.prototype.get contentFlowCollection): Deleted.
(WI.DOMTree.prototype.requestContentFlowList): Deleted.
(WI.DOMTree.prototype._isContentFlowInCurrentDocument): Deleted.
(WI.DOMTree.prototype._contentFlowListWasUpdated): Deleted.
(WI.DOMTree.prototype._contentFlowWasAdded): Deleted.
(WI.DOMTree.prototype._contentFlowWasRemoved): Deleted.

  • UserInterface/Test.html:
  • UserInterface/Views/CollectionContentView.js:

(WI.CollectionContentView):

  • UserInterface/Views/ComputedStyleDetailsPanel.css:

(.details-section > .content > .group > .row.simple.content-flow-link > .value > span > .icon): Deleted.

  • UserInterface/Views/ComputedStyleDetailsPanel.js:

(WI.ComputedStyleDetailsPanel.prototype.refresh):
(WI.ComputedStyleDetailsPanel.prototype.initialLayout):
(WI.ComputedStyleDetailsPanel.prototype._handleVariablesSectionCollapsedStateChanged):
(WI.ComputedStyleDetailsPanel):
(WI.ComputedStyleDetailsPanel.prototype.get regionFlow): Deleted.
(WI.ComputedStyleDetailsPanel.prototype.set regionFlow): Deleted.
(WI.ComputedStyleDetailsPanel.prototype.get contentFlow): Deleted.
(WI.ComputedStyleDetailsPanel.prototype.set contentFlow): Deleted.
(WI.ComputedStyleDetailsPanel.prototype.get containerRegions): Deleted.
(WI.ComputedStyleDetailsPanel.prototype.set containerRegions): Deleted.
(WI.ComputedStyleDetailsPanel.prototype.sizeDidChange): Deleted.
(WI.ComputedStyleDetailsPanel.prototype._updateFlowNamesSectionVisibility): Deleted.
(WI.ComputedStyleDetailsPanel.prototype._resetFlowDetails): Deleted.
(WI.ComputedStyleDetailsPanel.prototype._refreshFlowDetails.contentFlowInfoReady): Deleted.
(WI.ComputedStyleDetailsPanel.prototype._refreshFlowDetails): Deleted.
(WI.ComputedStyleDetailsPanel.prototype._goToRegionFlowArrowWasClicked): Deleted.
(WI.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked): Deleted.

  • UserInterface/Views/ContentFlowDOMTreeContentView.js: Removed.
  • UserInterface/Views/ContentFlowIcon.css: Removed.
  • UserInterface/Views/ContentFlowTreeElement.js: Removed.
  • UserInterface/Views/ContentView.js:

(WI.ContentView.createFromRepresentedObject):
(WI.ContentView.isViewable):

  • UserInterface/Views/FrameTreeElement.js:

(WI.FrameTreeElement.prototype.onpopulate):
(WI.FrameTreeElement.prototype.onexpand):
(WI.FrameTreeElement.prototype._childContentFlowWasAdded): Deleted.
(WI.FrameTreeElement.prototype._childContentFlowWasRemoved): Deleted.
(WI.FrameTreeElement.prototype._rootDOMNodeInvalidated): Deleted.

  • UserInterface/Views/ResourceSidebarPanel.js:

(WI.ResourceSidebarPanel.prototype._treeSelectionDidChange):

  • UserInterface/Views/ResourcesTabContentView.js:

(WI.ResourcesTabContentView):
(WI.ResourcesTabContentView.prototype.canShowRepresentedObject):

LayoutTests:

  • inspector/dom/content-flow-content-nodes-expected.txt: Removed.
  • inspector/dom/content-flow-content-nodes.html: Removed.
  • inspector/dom/content-flow-content-removal-expected.txt: Removed.
  • inspector/dom/content-flow-content-removal.html: Removed.
  • inspector/dom/content-flow-list-expected.txt: Removed.
  • inspector/dom/content-flow-list.html: Removed.
  • inspector/dom/content-node-region-info-expected.txt: Removed.
  • inspector/dom/content-node-region-info.html: Removed.
  • inspector/dom/highlight-flow-with-no-region-expected.txt: Removed.
  • inspector/dom/highlight-flow-with-no-region.html: Removed.
3:08 PM Changeset in webkit [222355] by Chris Dumez
  • 4 edits in trunk

Regression(r222308): new API tests are failing for !NETWORK_SESSION
https://bugs.webkit.org/show_bug.cgi?id=177321

Reviewed by Alex Christensen.

Source/WebKit:

When a load is redirected and then converted into a download, CFNetwork
seems to call [NSURLDownloadDelegate willSendRequest:] on the download
with a non-nil redirectResponse, which was unexpected.

To address the issue, we now ignore the willSendRequest call if the
new request's URL is the same as the redirectResponse one.

  • NetworkProcess/Downloads/mac/DownloadMac.mm:

(-[WKDownloadAsDelegate download:willSendRequest:redirectResponse:]):

Tools:

Unskip API tests now that they pass everywhere.

  • TestWebKitAPI/Tests/WebKitCocoa/Download.mm:

(TEST):

2:58 PM Changeset in webkit [222354] by Joseph Pecoraro
  • 2 edits in trunk/JSTests

Skip new hanging test262 tests.
https://bugs.webkit.org/show_bug.cgi?id=177326

Unreviewed test gardening.

  • test262.yaml:
2:45 PM Changeset in webkit [222353] by fpizlo@apple.com
  • 3 edits in trunk/Tools

Unreviewed, fix ability to run tests in browser.

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/index.html:
2:37 PM Changeset in webkit [222352] by Jonathan Bedard
  • 2 edits in trunk/Tools

webkitpy: Ignore failure to get updated selenium version
https://bugs.webkit.org/show_bug.cgi?id=177205
<rdar://problem/34531669>

Reviewed by Lucas Forschler.

Sometime asking PyPI for the latest version of Selenium fails. We should try and
fallback to, at a minimum, version 3.5.0 or a newer installed version.

  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook.greater_than_equal_to_version): Return true if the second
version string is greater than or equal to the first version string.
(AutoinstallImportHook._install_selenium): If we can't get the latest PyPI url,
fallback to version 3.5.0 or a newer installed version.

2:35 PM Changeset in webkit [222351] by fpizlo@apple.com
  • 18 edits
    1 add in trunk/Tools

WSL should have some post-instantiation type checking
https://bugs.webkit.org/show_bug.cgi?id=177303

Reviewed by Keith Miller.

This patch removes the Primitive protocol! Yay!

The Primitive protocol was an attempt to handle the fact that Metal wouldn't allow us to point a
non-thread pointer at data structures that have pointers. This type checking rule interacts badly with
generics. I was able to get it to mostly work by making Primitive into a dynamic protocol - a type
belongs to it if it happens to be isPrimitive.

But that was a mistake, since it makes it hard to create pointers that are generic over address space.
Also, it's not an appropriate rule for targeting SPIR-V logical mode. That rule will be different, and
possibly more complicated.

All of these kinds of rules are easier to implement of we run them after instantiation, since then they
don't get in the way of generics. That's what this patch does.

This means that we get all of the same type checking power as before, and we still can catch the errors
that Metal requires us to check for. It's easier to do those checks now.

Finally, this removes the shader type checker's incomplete reimplementation of isPrimitive (which was
called NonNumericSearcher). The shader type checker calls isPrimitive now.

  • WebGPUShadingLanguageRI/AddressSpace.js:

(needsPrimitiveProtocol): Deleted.
(protocolSuffix): Deleted.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype._checkShaderType):
(Checker.prototype._checkShaderType.NonNumericSearcher): Deleted.
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType): Deleted.
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType): Deleted.
(Checker.prototype.visitReferenceType): Deleted.

  • WebGPUShadingLanguageRI/FuncInstantiator.js:

(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):

  • WebGPUShadingLanguageRI/Inline.js:

(_inlineFunction):

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/LateChecker.js: Added.

(LateChecker):
(LateChecker.prototype.visitReferenceType):
(LateChecker.prototype._checkShaderType):
(LateChecker.prototype.visitFuncDef):

  • WebGPUShadingLanguageRI/LexerToken.js:

(LexerToken.prototype.get isInternal): Deleted.

  • WebGPUShadingLanguageRI/NativeType.js:

(NativeType):
(NativeType.prototype.get name):
(NativeType.prototype.get isPrimitive):
(NativeType.prototype.set isPrimitive):
(NativeType.prototype.toString):

  • WebGPUShadingLanguageRI/Parse.js:

(parseNative):

  • WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js:

(programWithUnnecessaryThingsRemoved):

  • WebGPUShadingLanguageRI/ProtocolDecl.js:
  • WebGPUShadingLanguageRI/ReferenceType.js:

(ReferenceType.prototype.get elementType):
(ReferenceType.prototype.get isPrimitive): Deleted.

  • WebGPUShadingLanguageRI/StandardLibrary.js:
  • WebGPUShadingLanguageRI/StatementCloner.js:

(StatementCloner.prototype.visitNativeType):

  • WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:

(synthesizeStructAccessors):

  • WebGPUShadingLanguageRI/Test.js:

(TEST_passNullAndNotNullFullPoly):
(TEST_passNullAndNotNullFullPolyReverse):
(TEST_nullTypeVariableUnify):
(TEST_chainStructNewlyValid):
(TEST_chainStructDevice):
(TEST_chainStructInvalid): Deleted.

  • WebGPUShadingLanguageRI/Type.js:

(Type.prototype.get isPrimitive):

2:11 PM Changeset in webkit [222350] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Remove some more code from RenderFlowThread
https://bugs.webkit.org/show_bug.cgi?id=177320

Reviewed by David Hyatt.

More dead code related to named flows.

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::invalidateRegions):
(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
(WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
(WebCore::RenderFlowThread::addForcedRegionBreak):
(WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstRegion const):
(WebCore::RenderFlowThread::hasCachedOffsetFromLogicalTopOfFirstRegion const): Deleted.
(WebCore::RenderFlowThread::cachedOffsetFromLogicalTopOfFirstRegion const): Deleted.
(WebCore::RenderFlowThread::setOffsetFromLogicalTopOfFirstRegion): Deleted.
(WebCore::RenderFlowThread::clearOffsetFromLogicalTopOfFirstRegion): Deleted.
(WebCore::RenderFlowThread::currentActiveRenderBox const): Deleted.
(WebCore::RenderFlowThread::pushFlowThreadLayoutState): Deleted.
(WebCore::RenderFlowThread::popFlowThreadLayoutState): Deleted.

  • rendering/RenderFlowThread.h:
1:58 PM Changeset in webkit [222349] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed, drop assertion added in r222308.

The assertion is hit by a couple of tests still but there is no bad effect
to the vector not being empty at this point since we clear it right after.

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::didStartProvisionalLoad):

1:46 PM Changeset in webkit [222348] by Chris Dumez
  • 3 edits
    2 adds in trunk

eventInitDict parameter to GamepadEvent constructor should be optional
https://bugs.webkit.org/show_bug.cgi?id=177308

Reviewed by Sam Weinig.

Source/WebCore:

eventInitDict parameter to GamepadEvent constructor should be optional to match Firefox
and Chrome. Having such dictionary parameter is also not valid Web IDL:
"""
If the type of an argument is a dictionary type (or a union type that has a dictionary as one
of its flattened member types), and that dictionary type and its ancestors have no required
members, and the argument is either the final argument or is followed only by optional arguments,
then the argument must be specified as optional. Such arguments are always considered to have a
default value of an empty dictionary, unless otherwise specified.
"""

Test: gamepad/gamepad-event.html

  • Modules/gamepad/GamepadEvent.idl:

LayoutTests:

Add layout test coverage.

  • gamepad/gamepad-event-expected.txt: Added.
  • gamepad/gamepad-event.html: Added.
1:45 PM Changeset in webkit [222347] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/FileAPI/historical.https.html as flaky on El Capitan Debug WK2.
https://bugs.webkit.org/show_bug.cgi?id=177214

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:44 PM Changeset in webkit [222346] by achristensen@apple.com
  • 2 edits in trunk/Source/WTF

Make StringBuilder movable
https://bugs.webkit.org/show_bug.cgi?id=177311

Reviewed by Chris Dumez.

  • wtf/text/StringBuilder.h:

(WTF::StringBuilder::StringBuilder):

1:40 PM Changeset in webkit [222345] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark webrtc/peer-connection-audio-mute.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=172649

Unreviewed test gardening.

1:26 PM Changeset in webkit [222344] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/fetch/security/embedded-credentials.tentative.sub.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177323

Unreviewed test gardening.

  • platform/mac/TestExpectations:
1:19 PM Changeset in webkit [222343] by Chris Dumez
  • 2 edits in trunk/Tools

Unreviewed, temporarily disable new API tests introduced in r222308 until they pass on El Capitan

  • TestWebKitAPI/Tests/WebKitCocoa/Download.mm:

(TEST):

1:18 PM Changeset in webkit [222342] by commit-queue@webkit.org
  • 7 edits
    3 adds in trunk/Source/WebInspectorUI

Web Inspector: Add details sidebar to Layers tab.
https://bugs.webkit.org/show_bug.cgi?id=177115

Patch by Ross Kirsling <Ross Kirsling> on 2017-09-21
Reviewed by Devin Rousso.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Main.html:
  • UserInterface/Views/LayerDetailsSidebarPanel.css: Added.
  • UserInterface/Views/LayerDetailsSidebarPanel.js: Added.

New files and strings for sidebar.

  • UserInterface/Base/Utilities.js:

Add global identifier for "×" character.

  • UserInterface/Models/Layer.js: Added.

Add a model class for layers so that we can instanceof-check them.

  • UserInterface/Controllers/LayerTreeManager.js:

(WI.LayerTreeManager.prototype.layersForNode):
Utilize model class WI.Layer.

  • UserInterface/Views/Layers3DContentView.js:

(WI.Layers3DContentView):
(WI.Layers3DContentView.prototype.get supplementalRepresentedObjects):
(WI.Layers3DContentView.prototype.layout):
(WI.Layers3DContentView.prototype._addLayer):
Pass layer data to sidebar and utilize model class WI.Layer.

  • UserInterface/Views/LayersTabContentView.js:

(WI.LayersTabContentView):
Attach details sidebar.

1:16 PM Changeset in webkit [222341] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177322

Unreviewed test gardening.

  • platform/mac/TestExpectations:
12:49 PM Changeset in webkit [222340] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-elements-filter.html as failing.
https://bugs.webkit.org/show_bug.cgi?id=177319

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
12:17 PM Changeset in webkit [222339] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

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

This patch broke builds on some Win EWS bots. (Requested by
perarne on #webkit).

Reverted changeset:

"[Win] Cygwin 64-bit EWS process cannot find Visual Studio
installation."
https://bugs.webkit.org/show_bug.cgi?id=177244
http://trac.webkit.org/changeset/222272

12:04 PM Changeset in webkit [222338] by BJ Burg
  • 9 edits in trunk/Source

Web Inspector: keyboard shortcut for "Reload page from origin" doesn't match Safari, and doesn't work
https://bugs.webkit.org/show_bug.cgi?id=177010
<rdar://problem/33134548>

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Use "reload from origin" nomenclature instead of "reload ignoring cache".

  • inspector/protocol/Page.json: Improve the comment, but don't change the

parameter name since this would be a divergence from legacy protocols.

Source/WebCore:

Use "reload from origin" nomenclature instead of "reload ignoring cache".

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::reload):

  • inspector/InspectorPageAgent.h:

Source/WebInspectorUI:

I seem to have broken reload from origin via Web Inspector in a previous
patch, because the parameter is 'ignoreCache' instead of 'shouldIgnoreCache'.

  • Localizations/en.lproj/localizedStrings.js:

Modernize tooltip text.

  • UserInterface/Base/Main.js:

(WI.contentLoaded):
Disambiguate two locals with the same name. Modernize the tooltip.
Make the shortcut Cmd-Opt-R to match Safari. Fix wrong parameter usage.

  • UserInterface/Test/FrontendTestHarness.js:

(FrontendTestHarness.prototype.reloadPage):
Fix wrong parameter.

11:48 AM Changeset in webkit [222337] by Megan Gardner
  • 2 edits
    2 adds in trunk/LayoutTests

Add long press and drag test
https://bugs.webkit.org/show_bug.cgi?id=177289

Reviewed by Simon Fraser and Tim Horton.

Adding a test to test the long press and then drag functionality of selection.
Also add additional helper functions to basic gestures, and clarified the existing function
names, as to be more clear in what behavior to expect from them.

  • fast/events/touch/ios/long-press-then-drag-to-select-text-expected.txt: Added.
  • fast/events/touch/ios/long-press-then-drag-to-select-text.html: Added.
  • fast/events/touch/ios/resources/basic-gestures.js:

(touchAndDragFromPointToPoint):

11:43 AM Changeset in webkit [222336] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

test262: test262/test/annexB/built-ins/RegExp/prototype/flags/order-after-compile.js ASSERTs
https://bugs.webkit.org/show_bug.cgi?id=177307

Reviewed by Michael Saboff.

  • runtime/RegExpPrototype.cpp:

In r221160 we added support for the new RegExp flag (dotAll).
We needed to make space for it in FlagsString.

11:29 AM Changeset in webkit [222335] by Antti Koivisto
  • 32 edits
    2 deletes in trunk/Source/WebCore

Remove RenderNamedFlowFragment
https://bugs.webkit.org/show_bug.cgi?id=177299

Reviewed by David Hyatt.

Remove the remaining named flow rendering code.

The feature is already disabled, no functional changes.

  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::insertedIntoTree):
(WebCore::RenderBlockFlow::willBeDestroyed):
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::styleDidChange):
(WebCore::RenderBlockFlow::updateLogicalHeight):
(WebCore::RenderBlockFlow::positionForPoint):
(WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded): Deleted.
(WebCore::RenderBlockFlow::canHaveChildren const): Deleted.
(WebCore::RenderBlockFlow::canHaveGeneratedChildren const): Deleted.
(WebCore::RenderBlockFlow::namedFlowFragmentNeedsUpdate const): Deleted.
(WebCore::RenderBlockFlow::setRenderNamedFlowFragment): Deleted.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
(WebCore::RenderBlockFlow::renderNamedFlowFragment const): Deleted.
(WebCore::RenderElement::isRenderNamedFlowFragmentContainer const): Deleted.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::nodeAtPoint):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::pushContentsClip):
(WebCore::RenderBox::mapLocalToContainer const):
(WebCore::RenderBox::isUnsplittableForPagination const):
(WebCore::RenderBox::overflowRectForPaintRejection const):

  • rendering/RenderBox.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderElement.h:

(WebCore::RenderElement::generatingElement const):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::invalidateRegions):
(WebCore::RenderFlowThread::validateRegions):
(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent const):
(WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
(WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
(WebCore::RenderFlowThread::addForcedRegionBreak):
(WebCore::RenderFlowThread::hasCompositingRegionDescendant const): Deleted.
(WebCore::RenderFlowThread::getLayerListForRegion const): Deleted.
(WebCore::RenderFlowThread::regionForCompositedLayer const): Deleted.
(WebCore::RenderFlowThread::cachedRegionForCompositedLayer const): Deleted.
(WebCore::RenderFlowThread::updateLayerToRegionMappings): Deleted.
(WebCore::RenderFlowThread::updateAllLayerToRegionMappings): Deleted.
(WebCore::RenderFlowThread::collectsGraphicsLayersUnderRegions const): Deleted.
(WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent const): Deleted.
(WebCore::RenderFlowThread::initializeRegionsComputedAutoHeight): Deleted.
(WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout): Deleted.
(WebCore::RenderFlowThread::incrementAutoLogicalHeightRegions): Deleted.
(WebCore::RenderFlowThread::decrementAutoLogicalHeightRegions): Deleted.

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

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::expandClipRectForDescendantsAndReflection):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintList):
(WebCore::isHitCandidate):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestList):
(WebCore::RenderLayer::calculateClipRects const):
(WebCore::expandClipRectForRegionAndReflection): Deleted.
(WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions const): Deleted.
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer const): Deleted.

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

(WebCore::RenderLayerBacking::shouldClipCompositedBounds const):
(WebCore::RenderLayerBacking::computeParentGraphicsLayerRect const):
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer const):
(WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread const): Deleted.

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

(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason const):
(WebCore::RenderLayerCompositor::styleChangeMayAffectIndirectCompositingReasons):
(WebCore::RenderLayerCompositor::requiresCompositingForPosition const):
(WebCore::RenderLayerCompositor::computeRegionCompositingRequirements): Deleted.
(WebCore::RenderLayerCompositor::rebuildRegionCompositingLayerTree): Deleted.

  • rendering/RenderLayerCompositor.h:
  • rendering/RenderNamedFlowFragment.cpp: Removed.
  • rendering/RenderNamedFlowFragment.h: Removed.
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint const):
(WebCore::RenderObject::fixedPositionedWithNamedFlowContainingBlock const): Deleted.
(WebCore::hasFixedPosInNamedFlowContainingBlock): Deleted.
(WebCore::RenderObject::currentRenderNamedFlowFragment const): Deleted.

  • rendering/RenderObject.h:

(WebCore::RenderObject::isRenderRegion const):
(WebCore::RenderObject::isAnonymousBlock const):
(WebCore::RenderObject::isRenderNamedFlowFragment const): Deleted.

  • rendering/RenderRegion.cpp:
  • rendering/RenderRegion.h:

(WebCore::RenderRegion::hasAutoLogicalHeight const): Deleted.

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::shouldPaint):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::overflowClipRect):
(WebCore::RenderTable::nodeAtPoint):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::nodeAtPoint):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeLayers):

  • rendering/RenderView.cpp:

(WebCore::RenderView::layout):
(WebCore::RenderView::pushLayoutState):
(WebCore::RenderView::pushLayoutStateForPaginationIfNeeded):
(WebCore::RenderView::layoutContentInAutoLogicalHeightRegions): Deleted.
(WebCore::RenderView::checkTwoPassLayoutForAutoHeightRegions const): Deleted.
(WebCore::RenderView::pushLayoutStateForCurrentFlowThread): Deleted.
(WebCore::RenderView::popLayoutStateForCurrentFlowThread): Deleted.

  • rendering/RenderView.h:
  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::paint):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

11:20 AM Changeset in webkit [222334] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

[WK2] Add API to get the redirect chain of a WKDownload
https://bugs.webkit.org/show_bug.cgi?id=176628
<rdar://problem/34338279>

Reviewed by Alex Christensen.

Re-enable assertion initially added in r222308 and later disabled in
r222320. The assertion was hit because we failed to clear the redirect
chain in WebFrameProxy::didFailProvisionalLoad().

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::didFailProvisionalLoad):

11:16 AM Changeset in webkit [222333] by Ryan Haddad
  • 2 edits in trunk/JSTests

Mark 6 test262 tests as passing.
https://bugs.webkit.org/show_bug.cgi?id=177307

Unreviewed test gardening.

  • test262.yaml:
11:02 AM Changeset in webkit [222332] by Ryan Haddad
  • 2 edits
    1 add in trunk/LayoutTests

Rebaseline some tests for macOS.

Unreviewed test gardening.

  • platform/mac-wk1/compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint-expected.txt: Added.
  • platform/mac-wk2/js/dom/global-constructors-attributes-expected.txt:
10:51 AM Changeset in webkit [222331] by fpizlo@apple.com
  • 3 edits in trunk/Tools

Unreviewed, fix a bug in the interactive app that was introduced by bad merging.

  • WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:

(FlattenedStructOffsetGatherer.prototype.visitTypeRef):
(FlattenedStructOffsetGatherer):

  • WebGPUShadingLanguageRI/index.html:
10:47 AM Changeset in webkit [222330] by fpizlo@apple.com
  • 20 edits
    2 adds in trunk/Tools

WSL should support switch
https://bugs.webkit.org/show_bug.cgi?id=176978

Reviewed by Keith Miller.

This adds fairly complete support for switch statements. This includes things like verifying
whether or not a default statement is needed. This even works when the programmer lists all of
the values of an integer type.

To test that last part, this patch adds uint8 support. It's easy add it, but of course it
meant adding a lot of tests.

This also fixes enum bugs, since switch does things to enums that we previously didn't test.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitSwitchStatement):

  • WebGPUShadingLanguageRI/EnumLiteral.js:

(EnumLiteral.prototype.get valueForSelectedType):

  • WebGPUShadingLanguageRI/EnumType.js:

(EnumType.prototype.allValues):
(EnumType.prototype.valuesEqual):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitSwitchStatement):

  • WebGPUShadingLanguageRI/Inliner.js:

(Inliner.prototype.visitCallExpression):
(Inliner):
(Inliner.prototype.visitCastExpression): Deleted.

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics.):
(Intrinsics):

  • WebGPUShadingLanguageRI/LoopChecker.js:

(LoopChecker):
(LoopChecker.prototype.visitFuncDef):
(LoopChecker.prototype.visitWhileLoop):
(LoopChecker.prototype.visitDoWhileLoop):
(LoopChecker.prototype.visitForLoop):
(LoopChecker.prototype.visitSwitchStatement):
(LoopChecker.prototype.visitBreak):
(LoopChecker.prototype.visitContinue):

  • WebGPUShadingLanguageRI/Node.js:

(Node.prototype.commit):

  • WebGPUShadingLanguageRI/Parse.js:

(parseSwitchCase):
(parseSwitchStatement):
(parseStatement):
(parseBlockBody):
(parseBlock):

  • WebGPUShadingLanguageRI/Prepare.js:

(let.prepare):

  • WebGPUShadingLanguageRI/ReturnChecker.js:

(ReturnChecker.prototype._mergeReturnStyle):
(ReturnChecker.prototype.visitIfStatement):
(ReturnChecker.prototype.visitWhileLoop):
(ReturnChecker.prototype.visitDoWhileLoop):
(ReturnChecker.prototype.visitForLoop):
(ReturnChecker.prototype.visitSwitchStatement):
(ReturnChecker.prototype.visitContinue):
(ReturnChecker):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitSwitchStatement):
(Rewriter.prototype.visitSwitchCase):

  • WebGPUShadingLanguageRI/StandardLibrary.js:

(uint8.operator):
(bool.operator):
(_generateSwizzle):

  • WebGPUShadingLanguageRI/SwitchCase.js: Added.

(SwitchCase):
(SwitchCase.prototype.get origin):
(SwitchCase.prototype.get isDefault):
(SwitchCase.prototype.get value):
(SwitchCase.prototype.get body):
(SwitchCase.prototype.toString):

  • WebGPUShadingLanguageRI/SwitchStatement.js: Added.

(SwitchStatement):
(SwitchStatement.prototype.get origin):
(SwitchStatement.prototype.get value):
(SwitchStatement.prototype.add):
(SwitchStatement.prototype.get switchCases):
(SwitchStatement.prototype.toString):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(makeUint8):
(makeEnum):
(checkUint8):
(TEST_uint8SimpleMath):
(TEST_equality):
(TEST_notEquality):
(TEST_uint8BitAnd):
(TEST_uint8BitOr):
(TEST_uint8BitXor):
(TEST_uint8BitNot):
(TEST_uint8LShift):
(TEST_uint8RShift):
(TEST_enumWithExplicitIntBase):
(TEST_enumWithUintBase):
(TEST_enumFloatBase):
(TEST_enumStructBase):
(TEST_simpleSwitch):
(TEST_exhaustiveUint8Switch):
(TEST_notQuiteExhaustiveUint8Switch):
(TEST_switchFallThrough):
(TEST_switchBreak):
(TEST_enumSwitchBreakExhaustive):
(TEST_enumSwitchBreakNotQuiteExhaustive):
(doTest):

  • WebGPUShadingLanguageRI/UnificationContext.js:

(UnificationContext):
(UnificationContext.prototype.addExtraNode):
(UnificationContext.prototype.get nodes):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

  • WebGPUShadingLanguageRI/index.html:
10:43 AM Changeset in webkit [222329] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Fix all builds after r222325

  • loader/DocumentLoader.h:

WebKit needs this, too.

10:41 AM Changeset in webkit [222328] by fpizlo@apple.com
  • 14 edits
    2 adds in trunk/Tools

WSL needs a way to verify that structs are not cyclic
https://bugs.webkit.org/show_bug.cgi?id=177044

Reviewed by Myles Maxfield.

This adds a recursive type checking phase. Even before adding this phase, the compiler would
successfully detect recursive types - but at the cost of also rejecting programs that had
recursive types indirectly through pointers. To make both things work, I had to change Visitor
to no longer visit TypeRef.type by default. This resulted in some other changes in a few other
parts of the code that previously relied on that behavior.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/CheckRecursiveTypes.js: Added.

(checkRecursiveTypes):

  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitTypeRef):
(Checker.prototype._checkShaderType.NonNumericSearcher):
(Checker.prototype._checkShaderType):
(Checker.prototype.visitTypeRef):

  • WebGPUShadingLanguageRI/NameResolver.js:

(NameResolver.prototype.visitProtocolDecl):

  • WebGPUShadingLanguageRI/Prepare.js:

(let.prepare):

  • WebGPUShadingLanguageRI/RecursiveTypeChecker.js: Added.

(RecursiveTypeChecker):
(RecursiveTypeChecker.prototype.visitFuncDef):
(RecursiveTypeChecker.prototype.visitNativeFunc):
(RecursiveTypeChecker.prototype.visitStructType):
(RecursiveTypeChecker.prototype.visitReferenceType):
(RecursiveTypeChecker.prototype.visitTypeRef):

  • WebGPUShadingLanguageRI/StructLayoutBuilder.js:

(StructLayoutBuilder.prototype.visitTypeRef):
(StructLayoutBuilder):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(TEST_simpleRecursiveStruct):

  • WebGPUShadingLanguageRI/TypeDefResolver.js:

(TypeDefResolver.prototype.visitTypeRef):
(TypeDefResolver):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

  • WebGPUShadingLanguageRI/index.html:
10:35 AM Changeset in webkit [222327] by keith_miller@apple.com
  • 11 edits
    2 adds in trunk

JSC should use unified sources for platform specific files.
https://bugs.webkit.org/show_bug.cgi?id=177290

Reviewed by Michael Saboff.

.:

Change WEBKIT_COMPUTE_SOURCES CMake macro to look for platform
specific unified source lists. This is done in the same way that
we look for port specific configuration files. For example, if I
were building for the Mac port WEBKIT_COMPUTE_SOURCES would add
the Sources.txt and SourcesMac.txt source lists to the list of
unified sources.

  • Source/cmake/WebKitMacros.cmake:

Source/JavaScriptCore:

Add a list of platform specific source files and update the
Generate Unified Sources phase of the Xcode build. I skipped WPE
since that seems to have failed for some reason that I didn't
fully understand. See:
https://webkit-queues.webkit.org/results/4611260

Also, fix duplicate symbols in Glib remote inspector files.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:
  • SourcesGTK.txt: Added.
  • SourcesMac.txt: Added.
  • inspector/remote/glib/RemoteInspectorServer.cpp:

(Inspector::RemoteInspectorServer::interfaceInfo):
(Inspector::RemoteInspectorServer::setTargetList):
(Inspector::RemoteInspectorServer::setupInspectorClient):
(Inspector::RemoteInspectorServer::setup):
(Inspector::RemoteInspectorServer::close):
(Inspector::RemoteInspectorServer::connectionClosed):
(Inspector::RemoteInspectorServer::sendMessageToBackend):
(Inspector::RemoteInspectorServer::sendMessageToFrontend):
(Inspector::dbusConnectionCallAsyncReadyCallback): Deleted.

Source/WTF:

The unified source bundler script can now handle more than one
list of sources. Sources will not be bundled across source file
lists. We want to ensure that changing one platform's sources
doesn't break another platform's build, as much as
possible. Additionally, it means that there won't be weird
performance changes when files are added to an unrelated platform.

Remove stale reference to generate-unified-source-bundles.rb script
from Xcode.

  • Scripts/generate-unified-source-bundles.rb:
  • WTF.xcodeproj/project.pbxproj:
10:33 AM Changeset in webkit [222326] by commit-queue@webkit.org
  • 30 edits
    2 moves
    4 adds in trunk/Source/WebCore

[PAL] Move MediaTimeAVFoundation into PAL
https://bugs.webkit.org/show_bug.cgi?id=177222

Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2017-09-21
Reviewed by Myles C. Maxfield.

Source/WebCore:

No new tests. No change in behavior..

  • Configurations/WebCore.unexp:
  • PlatformAppleWin.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/audio/mac/AudioSampleDataSource.mm:

(WebCore::AudioSampleDataSource::pushSamples):

  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:

(WebCore::AudioSourceProviderAVFObjC::process):

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::readNativeSampleBuffer):

  • platform/graphics/avfoundation/MediaSampleAVFObjC.h:
  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration const):
(WebCore::MediaPlayerPrivateAVFoundationCF::currentMediaTime const):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges const):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable const):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable const):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded const):
(WebCore::AVFWrapper::seekToTime):
(WebCore::AVFWrapper::legibleOutputCallback):
(WebCore::AVFWrapper::createImageForTimeInRect):

  • platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:

(WebCore::ImageDecoderAVFObjC::readSampleMetadata):
(WebCore::ImageDecoderAVFObjC::storeSampleBuffer):
(WebCore::ImageDecoderAVFObjC::createFrameImageAtIndex):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::currentMediaTime const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformBufferedTimeRanges const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMinTimeSeekable const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeSeekable const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeLoaded const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
(-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentMediaTime const):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationChanged):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::sizeWillChangeAtTime):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::calculateTimelineOffset):

  • platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:

(WebCore::MediaSampleAVFObjC::presentationTime const):
(WebCore::MediaSampleAVFObjC::outputPresentationTime const):
(WebCore::MediaSampleAVFObjC::decodeTime const):
(WebCore::MediaSampleAVFObjC::duration const):
(WebCore::MediaSampleAVFObjC::outputDuration const):
(WebCore::MediaSampleAVFObjC::offsetTimestampsBy):
(WebCore::MediaSampleAVFObjC::setTimestamps):
(WebCore::MediaSampleAVFObjC::divide):

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):

  • platform/graphics/cocoa/WebCoreDecompressionSession.mm:

(WebCore::WebCoreDecompressionSession::handleDecompressionOutput):
(WebCore::WebCoreDecompressionSession::automaticDequeue):
(WebCore::WebCoreDecompressionSession::enqueueDecodedSample):
(WebCore::WebCoreDecompressionSession::imageForTime):

  • platform/mac/PlatformClockCM.mm:

(PlatformClockCM::setCurrentMediaTime):
(PlatformClockCM::currentMediaTime const):

  • platform/mac/PlaybackSessionInterfaceMac.mm:

(WebCore::timeRangesToArray):

  • platform/mac/VideoFullscreenInterfaceMac.mm:
  • platform/mediastream/mac/CoreAudioCaptureSource.cpp:
  • platform/mediastream/mac/MockRealtimeAudioSourceMac.mm:

(WebCore::MockRealtimeAudioSourceMac::emitSampleBuffers):

  • platform/mediastream/mac/RealtimeIncomingAudioSource.cpp:

(WebCore::RealtimeIncomingAudioSource::OnData):

  • platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm:

Source/WebCore/PAL:

  • config.h:

Include PALHeaderDetection.h.
Define AVFOUNDATION-releavant definitions.

  • pal/PlatformWin.cmake:

Add PAL dereived sources directory to include paths.

  • PAL.xcodeproj/project.pbxproj:
  • pal/CMakeLists.txt:
  • pal/PlatformAppleWin.cmake:
  • pal/avfoundation/MediaTimeAVFoundation.cpp: Renamed from Source/WebCore/platform/graphics/avfoundation/MediaTimeAVFoundation.cpp.
  • pal/avfoundation/MediaTimeAVFoundation.h: Renamed from Source/WebCore/platform/graphics/avfoundation/MediaTimeAVFoundation.h.
  • pal/cf/CoreMediaSoftLink.cpp: Added.
  • pal/cf/CoreMediaSoftLink.h: Added.
10:12 AM Changeset in webkit [222325] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Fix ASAN build after r222306
https://bugs.webkit.org/show_bug.cgi?id=177255

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::setCustomHeaderFields):

  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::setCustomHeaderFields): Deleted.
Moving a Vector of a type requires more than just a forward declaration of the type, but only in ASAN builds. Weird.

9:56 AM Changeset in webkit [222324] by jmarcell@apple.com
  • 4 edits in tags/Safari-605.1.7

Cherry-pick r222322. rdar://problem/34351988

9:47 AM Changeset in webkit [222323] by Ryan Haddad
  • 2 edits in trunk/Tools

Update TestResultsServer for iOS 11 queues.
https://bugs.webkit.org/show_bug.cgi?id=177285

Reviewed by Alexey Proskuryakov.

  • TestResultServer/static-dashboards/builders.jsonp:
9:41 AM Changeset in webkit [222322] by achristensen@apple.com
  • 4 edits in trunk

REGRESSION(r221465) WKWebViews without WebGL delegate callbacks crash when WebGL contexts are created
https://bugs.webkit.org/show_bug.cgi?id=177306
<rdar://problem/34351988>

Reviewed by Chris Dumez.

Source/WebKit:

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationClient::webGLLoadPolicy const):
(WebKit::NavigationState::NavigationClient::resolveWebGLLoadPolicy const):
I forgot to early return after calling the default completion handler if there's no delegate selector.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WebGLPolicy.mm:

(-[WebGLTestDelegate webView:startURLSchemeTask:]):
(-[DelegateWithoutWebGL webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):

9:28 AM Changeset in webkit [222321] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

In regular block layout, the width of a child's margin box should always be equal to that of its containing block
Merge from Blink https://bugs.chromium.org/p/chromium/issues/detail?id=708751
https://bugs.webkit.org/show_bug.cgi?id=176620

Patch by Zhifei FANG <facetothefate@gmail.com> on 2017-09-21
Reviewed by Zalan Bujtas.

Source/WebCore:

Test: fast/block/over-constrained-auto-margin.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeLogicalWidthInRegion const):

LayoutTests:

  • fast/block/over-constrained-auto-margin-expected.txt: Added.
  • fast/block/over-constrained-auto-margin.html: Added.
9:03 AM Changeset in webkit [222320] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed, temporarily disable assertion added in r222308 while I investigate.

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::didStartProvisionalLoad):

8:19 AM WebKitGTK/2.18.x edited by Michael Catanzaro
(diff)
7:55 AM Changeset in webkit [222319] by Ms2ger@igalia.com
  • 2 edits in trunk/LayoutTests

[WPE] Mark wrapKey_unwrapKey.worker.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177301

Unreviewed test gardening.

  • platform/wpe/TestExpectations:
7:32 AM Changeset in webkit [222318] by jmarcell@apple.com
  • 2 edits in tags/Safari-605.1.7/Source/WebCore

Cherry-pick r222314. rdar://problem/34559968

7:18 AM WebKitGTK/Gardening/Calendar edited by Ms2ger@igalia.com
(diff)
7:17 AM WebKitGTK/Gardening/Calendar edited by Ms2ger@igalia.com
(diff)
6:43 AM Changeset in webkit [222317] by jfernandez@igalia.com
  • 5 edits
    25 adds in trunk

Unpredictable selection when dragging out of float elements children of in-flow block-level box
https://bugs.webkit.org/show_bug.cgi?id=176096

Reviewed by David Hyatt.

Source/WebCore:

In order to improve Selection across float elements we need to
consider them as HitTest candidates. Additionally, since
out-of-flow elements must not affect how in-flow elements are
rendered we have to deal with some special cases when implementing
the positionForPoint logic.

This patch addresses the issues caused by the fact that an in-flow
box's logicalBottom does not consider the out-of-flow children, as
they don't affect its height. Hence, we should add the lowest float
logical bottom to figure out the box the point is actually hitting.

Tests: editing/selection/select-out-of-floated-non-editable-01.html

editing/selection/select-out-of-floated-non-editable-02.html
editing/selection/select-out-of-floated-non-editable-03.html
editing/selection/select-out-of-floated-non-editable-04.html
editing/selection/select-out-of-floated-non-editable-05.html
editing/selection/select-out-of-floated-non-editable-06.html
editing/selection/select-out-of-floated-non-editable-07.html
editing/selection/select-out-of-floated-non-editable-08.html
editing/selection/select-out-of-floated-non-editable-09.html
editing/selection/select-out-of-floated-non-editable-10.html
editing/selection/select-out-of-floated-non-editable-11.html
editing/selection/select-out-of-floated-non-editable-12.html

  • rendering/RenderBlock.cpp:

(WebCore::isChildHitTestCandidate):
(WebCore::RenderBlock::positionForPoint):

LayoutTests:

Tests defining several cases of selection with floats, children of
a block-level box, so they behave as regular HitTest candidates
and don't mess the selection boundaries.

  • editing/selection/resources/select-out-of-floated-non-editable.js: Added.

(clearLog):
(log):
(else.window.onmouseup):
(runTest):
(checkSelection):

  • editing/selection/select-out-of-floated-non-editable-01-expected.txt: Added.
  • editing/selection/select-out-of-floated-non-editable-01.html: Added.
  • editing/selection/select-out-of-floated-non-editable-02-expected.txt: Added.
  • editing/selection/select-out-of-floated-non-editable-02.html: Added.
  • editing/selection/select-out-of-floated-non-editable-03-expected.txt: Added.
  • editing/selection/select-out-of-floated-non-editable-03.html: Added.
  • editing/selection/select-out-of-floated-non-editable-04-expected.txt: Added.
  • editing/selection/select-out-of-floated-non-editable-04.html: Added.
  • editing/selection/select-out-of-floated-non-editable-05-expected.txt: Added.
  • editing/selection/select-out-of-floated-non-editable-05.html: Added.
  • editing/selection/select-out-of-floated-non-editable-06-expected.txt: Added.
  • editing/selection/select-out-of-floated-non-editable-06.html: Added.
  • editing/selection/select-out-of-floated-non-editable-07-expected.txt: Added.
  • editing/selection/select-out-of-floated-non-editable-07.html: Added.
  • editing/selection/select-out-of-floated-non-editable-08-expected.txt: Added.
  • editing/selection/select-out-of-floated-non-editable-08.html: Added.
  • editing/selection/select-out-of-floated-non-editable-09-expected.txt: Added.
  • editing/selection/select-out-of-floated-non-editable-09.html: Added.
  • editing/selection/select-out-of-floated-non-editable-10-expected.txt: Added.
  • editing/selection/select-out-of-floated-non-editable-10.html: Added.
  • editing/selection/select-out-of-floated-non-editable-11-expected.txt: Added.
  • editing/selection/select-out-of-floated-non-editable-11.html: Added.
  • editing/selection/select-out-of-floated-non-editable-12-expected.txt: Added.
  • editing/selection/select-out-of-floated-non-editable-12.html: Added.
2:51 AM Changeset in webkit [222316] by zandobersek@gmail.com
  • 6 edits in trunk/Source/WebCore

[WebCrypto] Support Elliptic Curve P-521
https://bugs.webkit.org/show_bug.cgi?id=169231
<rdar://problem/30881703>

Reviewed by Jiewen Tan.

Add support for the P-521 elliptic curve to the CryptoKeyEC class, but
allow the underlying platform-specific implementations to opt out of
supporting this feature.

This is achieved with the platformSupportedCurve() static function that
each platform has to implement, returning true if the passed-in curve
type is supported. The function is called at each CryptoKeyEC entrypoint,
that is in each static function that could generate a new CryptoKeyEC
object. These functions return a NotSupportedError exception in case the
platformSupportedCurve() call returns false.

While the libgcrypt-based implementation will support P-521 curves in
the near future, the CommonCrypto-based implementation might not. The use
of platformSupportedCurve() ensures that the implementations that don't
support EC P-521 continue to return the NotSupportedError exception at
these entrypoints, instead of the OperationError exception that's returned
when the platform-specific extensions of these entrypoints fail due to the
specified elliptic curve not being supported.

Both libgcrypt-based and CommonCrypto-based implementations mark P-256 and
P-384 curves as supported. Switch statements handling NamedCurve values
must now also handle the NamedCurve::P521 value, but both implementations
treat that as an unreachable case since support is not indicated in
platformSupportedCurve(), and all CryptoKeyEC operations should have
returned with an NotSupportedError exception before entering
platform-specific code. The common CryptoKeyEC constructor similarly asserts
that the specified curve is supported by the underlying implementation.

CryptoAlgorithmECDSA is modified to now also support 'ES512' as the algorithm
identifier, matching it against the 'P-521' curve value.

No new tests -- tests covering EC P-521 already exist, but no platform
runs them yet due to missing implementations.

  • crypto/algorithms/CryptoAlgorithmECDSA.cpp:

(WebCore::CryptoAlgorithmECDSA::importKey):

  • crypto/gcrypt/CryptoKeyECGCrypt.cpp:

(WebCore::curveName):
(WebCore::curveIdentifier):
(WebCore::curveSize):
(WebCore::curveUncompressedFieldElementSize):
(WebCore::CryptoKeyEC::platformSupportedCurve):

  • crypto/keys/CryptoKeyEC.cpp:

(WebCore::toNamedCurve):
(WebCore::CryptoKeyEC::CryptoKeyEC):
(WebCore::CryptoKeyEC::generatePair):
(WebCore::CryptoKeyEC::importRaw):
(WebCore::CryptoKeyEC::importJwk):
(WebCore::CryptoKeyEC::importSpki):
(WebCore::CryptoKeyEC::importPkcs8):
(WebCore::CryptoKeyEC::exportJwk const):
(WebCore::CryptoKeyEC::namedCurveString const):
(WebCore::CryptoKeyEC::algorithm const):

  • crypto/keys/CryptoKeyEC.h:
  • crypto/mac/CryptoKeyECMac.cpp:

(WebCore::doesUncompressedPointMatchNamedCurve):
(WebCore::doesFieldElementMatchNamedCurve):
(WebCore::getKeySizeFromNamedCurve):
(WebCore::CryptoKeyEC::platformSupportedCurve):
(WebCore::getOID):

2:33 AM Changeset in webkit [222315] by magomez@igalia.com
  • 5 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Update expectations and rebaseline several tests failing at r222312.

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/text/atsui-rtl-override-selection-expected.txt:
  • platform/gtk/fast/text/hyphenate-limit-lines-expected.txt:
  • platform/gtk/fast/text/selection-in-initial-advance-region-expected.txt:

Sep 20, 2017:

11:49 PM Changeset in webkit [222314] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

inspector/dom/content-node-region-info.html and inspector/dom/content-flow tests crashing
https://bugs.webkit.org/show_bug.cgi?id=177249
<rdar://problem/34559968>

Unreviewed.

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getNamedFlowCollection):

Fix crashing by adding a few lines of removed code back.

10:45 PM Changeset in webkit [222313] by jmarcell@apple.com
  • 5 edits in tags/Safari-605.1.7/Source

Cherry-pick r222287. rdar://problem/34458622

8:36 PM Changeset in webkit [222312] by Joseph Pecoraro
  • 26 edits in trunk/JSTests

Unreviewed follow-up to r222311.

  • test262/harness/sta.js:
  • test262/test/built-ins/Array/from/calling-from-valid-1-noStrict.js:
  • test262/test/built-ins/Array/from/calling-from-valid-1-onlyStrict.js:
  • test262/test/built-ins/Array/from/calling-from-valid-2.js:
  • test262/test/built-ins/Array/from/elements-added-after.js:
  • test262/test/built-ins/Array/from/elements-deleted-after.js:
  • test262/test/built-ins/Array/from/elements-updated-after.js:
  • test262/test/built-ins/Array/from/from-array.js:
  • test262/test/built-ins/Array/from/mapfn-is-not-callable-typeerror.js:
  • test262/test/built-ins/Array/from/mapfn-throws-exception.js:
  • test262/test/built-ins/Array/from/source-array-boundary.js:
  • test262/test/built-ins/Array/from/source-object-constructor.js:
  • test262/test/built-ins/Array/from/source-object-iterator-1.js:
  • test262/test/built-ins/Array/from/source-object-iterator-2.js:
  • test262/test/built-ins/Array/from/source-object-length.js:
  • test262/test/built-ins/Array/from/source-object-missing.js:
  • test262/test/built-ins/Array/from/source-object-without.js:
  • test262/test/built-ins/Array/from/this-null.js:
  • test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js:
  • test262/test/language/line-terminators/S7.3_A3.2_T1.js:
  • test262/test/language/literals/numeric/7.8.3-1gs.js:
  • test262/test/language/literals/numeric/7.8.3-2gs.js:
  • test262/test/language/literals/numeric/7.8.3-3gs.js:
  • test262/test/language/literals/regexp/7.8.5-1gs.js:
  • test262/test/language/literals/string/7.8.4-1gs.js:

Fix some files that I failed to update when I applied my patch.

8:23 PM Changeset in webkit [222311] by Joseph Pecoraro
  • 7086 edits
    21 moves
    6689 adds
    932 deletes in trunk

Update test262 tests
https://bugs.webkit.org/show_bug.cgi?id=177220

Reviewed by Saam Barati and Yusuke Suzuki.

JSTests:

  • test262.yaml:
  • test262/test262-Revision.txt:

New rebaselined expectations for all tests.

  • test262/*:

Updated.

Tools:

  • Scripts/import-test262-tests:
  • better detect upstream git repository url from import location
  • update JSTest test262 resources when importing from repository
  • take seconds instead of 20+ minutes to write yaml with --failures
  • update "negative" command to only include just the exception type
8:05 PM Changeset in webkit [222310] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Remove redundant SelectionSubtreeData functions.
https://bugs.webkit.org/show_bug.cgi?id=177288

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/SelectionSubtreeRoot.h:

(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::SelectionSubtreeData):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEndPos const):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionClear const): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStart): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStartPos): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEnd): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEndPos): Deleted.
(): Deleted.

7:55 PM Changeset in webkit [222309] by commit-queue@webkit.org
  • 25 edits in trunk/Source

[Win] WTF: Add alias for process id to use in place of direct uses of pid_t
https://bugs.webkit.org/show_bug.cgi?id=177017

Patch by Stephan Szabo <stephan.szabo@sony.com> on 2017-09-20
Reviewed by Alex Christensen.

Source/JavaScriptCore:

  • API/JSRemoteInspector.cpp:

(JSRemoteInspectorSetParentProcessInformation):

  • API/JSRemoteInspector.h:
  • inspector/remote/RemoteInspector.h:

Source/WebKit:

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/C/WKContext.cpp:

(WKContextGetNetworkProcessIdentifier):
(WKContextGetDatabaseProcessIdentifier):

  • UIProcess/API/C/WKContextPrivate.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageGetProcessIdentifier):

  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/ChildProcessProxy.h:

(WebKit::ChildProcessProxy::processIdentifier const):

  • UIProcess/Launcher/ProcessLauncher.cpp:

(WebKit::ProcessLauncher::didFinishLaunchingProcess):

  • UIProcess/Launcher/ProcessLauncher.h:

(WebKit::ProcessLauncher::processIdentifier const):

  • UIProcess/ProcessAssertion.cpp:

(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAndUIAssertion::ProcessAndUIAssertion):

  • UIProcess/ProcessAssertion.h:

(WebKit::ProcessAssertion::ProcessAssertion):

  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::didConnectToProcess):

  • UIProcess/ProcessThrottler.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::processIdentifier const):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::networkProcessIdentifier):
(WebKit::WebProcessPool::storageProcessIdentifier):

  • UIProcess/WebProcessPool.h:

Source/WTF:

  • wtf/ProcessID.h:

(WTF::getCurrentProcessID):

7:48 PM Changeset in webkit [222308] by Chris Dumez
  • 12 edits in trunk

[WK2] Add API to get the redirect chain of a WKDownload
https://bugs.webkit.org/show_bug.cgi?id=176628
<rdar://problem/34338279>

Reviewed by Alex Christensen.

Source/WebKit:

Add API to get the redirect chain of a WKDwnload. The redirect chain includes redirects
that happened during initial load, before the load was converted into a download.

  • UIProcess/API/C/WKDownload.cpp:

(WKDownloadCopyRedirectChain):

  • UIProcess/API/C/WKDownload.h:
  • UIProcess/API/Cocoa/_WKDownload.h:
  • UIProcess/API/Cocoa/_WKDownload.mm:

(-[_WKDownload originatingWebView]):
(-[_WKDownload redirectChain]):

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::willSendRequest):

  • UIProcess/Downloads/DownloadProxy.h:

(WebKit::DownloadProxy::setRedirectChain):
(WebKit::DownloadProxy::redirectChain const):

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):

  • UIProcess/WebFrameProxy.h:

(WebKit::WebFrameProxy::redirectChain const):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedPolicyDecision):

Tools:

Add API test coverage for the 2 cases:

  1. Download started as a download and is redirected while downloading.
  2. Download started as a load and was redirected during the initial load.
  • TestWebKitAPI/Tests/WebKitCocoa/Download.mm:

(-[RedirectedDownloadDelegate _download:didReceiveServerRedirectToURL:]):
(-[RedirectedDownloadDelegate _downloadDidFinish:]):
(TEST):

6:34 PM Changeset in webkit [222307] by commit-queue@webkit.org
  • 590 edits
    3 copies
    2 moves
    930 adds
    172 deletes in trunk/LayoutTests

Refresh WPT tests up to f65af411d63ec13ee8fe208b4effd730a4a8b7fe
https://bugs.webkit.org/show_bug.cgi?id=170713

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-20
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • resources/TestRepositories:
  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests: Refreshed by importer.

LayoutTests:

Rebasing tests and marking some tests as failing.

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location_hash-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/media-source/interfaces-expected.txt:
  • tests-options.json:
6:15 PM Changeset in webkit [222306] by achristensen@apple.com
  • 16 edits
    3 adds in trunk

Add infrastructure for adding custom headers to requests per website
https://bugs.webkit.org/show_bug.cgi?id=177255

Reviewed by Geoffrey Garen.

Source/WebCore:

Covered by API tests.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/DocumentLoader.cpp:
  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::setCustomHeaderFields):

  • loader/HTTPHeaderField.cpp: Added.

(WebCore::RFC7230::isTokenCharacter):
(WebCore::RFC7230::isDelimiter):
(WebCore::RFC7230::isVisibleCharacter):
(WebCore::RFC7230::isWhitespace):
(WebCore::RFC7230::isInRange):
(WebCore::RFC7230::isOBSText):
(WebCore::RFC7230::isQuotedTextCharacter):
(WebCore::RFC7230::isQuotedPairSecondOctet):
(WebCore::RFC7230::isCommentText):
(WebCore::RFC7230::isValidName):
(WebCore::RFC7230::isValidValue):
(WebCore::HTTPHeaderField::HTTPHeaderField):

  • loader/HTTPHeaderField.h: Added.

(WebCore::HTTPHeaderField::encode const):
(WebCore::HTTPHeaderField::decode):

Source/WebKit:

  • Shared/WebsitePolicies.cpp: Added.
  • Shared/WebsitePolicies.h:

(WebKit::WebsitePolicies::encode const):
(WebKit::WebsitePolicies::decode):

  • UIProcess/API/APIWebsitePolicies.h:
  • UIProcess/API/C/WKWebsitePolicies.cpp:

(WKWebsitePoliciesCopyCustomHeaderFields):
(WKWebsitePoliciesSetCustomHeaderFields):

  • UIProcess/API/C/WKWebsitePolicies.h:
  • UIProcess/API/Cocoa/_WKWebsitePolicies.h:
  • UIProcess/API/Cocoa/_WKWebsitePolicies.mm:

(-[_WKWebsitePolicies customHeaderFields]):
(-[_WKWebsitePolicies setCustomHeaderFields:]):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp: Added.

(shouldRemainUnchanged):
(shouldBeInvalid):
(shouldBecome):
(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:

(TEST):

6:10 PM Changeset in webkit [222305] by keith_miller@apple.com
  • 3 edits
    1 move in trunk/Source/JavaScriptCore

Rename source list file to Sources.txt
https://bugs.webkit.org/show_bug.cgi?id=177283

Reviewed by Saam Barati.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt: Renamed from Source/JavaScriptCore/sources.txt.
5:35 PM Changeset in webkit [222304] by Said Abou-Hallawa
  • 5 edits
    2 adds in trunk

REGRESSION(r191731): SVGPatternElement can only reference another SVGPatternElement in the same SVG document
https://bugs.webkit.org/show_bug.cgi?id=176221

Reviewed by Tim Horton.

Source/WebCore:

According to the specs:

https://www.w3.org/TR/SVG11/filters.html#FilterElementHrefAttribute
https://www.w3.org/TR/SVG11/pservers.html#LinearGradientElementHrefAttribute
https://www.w3.org/TR/SVG11/pservers.html#RadialGradientElementHrefAttribute
https://www.w3.org/TR/SVG11/pservers.html#PatternElementHrefAttribute

The xlink:href attribute of the SVG filter, gradient and pattern elements
must reference another element within the current SVG of the same type.

In r191731, the code of SVGPatternElement::collectPatternAttributes() was
removed and replaced by RenderSVGResourcePattern::collectPatternAttributes()
to avoid cyclic reference in the pattern element. The problem is the old
code used to check whether the referenced element is<SVGPatternElement>
before casting it. This code was not copied to the new function. So we
now allow the SVGPatternElement to reference any SVG resource element.

To fix this issue, we need to prevent SVGResources from chaining an incorrect
type of element to the SVG filter, gradient and pattern elements.

We also need to use the SVGResources for getting the referenced element
when collecting the attributes for the gradient elements. SVGResources solves
the cyclic referencing issue so there is no need to repeat the same code
in many places. Also, from now on the SVGResources will have valid linked
resource only. So casting the referenced element should always be valid.

Tests: svg/custom/pattern-invalid-content-inheritance.svg

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::collectPatternAttributes const): Asserts
the linkedResource is of type RenderSVGResourcePattern.

  • rendering/svg/SVGResources.cpp:

(WebCore::SVGResources::SVGResources):
(WebCore::isChainableResource): Ensure that an SVG resource can reference
only an SVG resource with the valid type.
(WebCore::SVGResources::buildCachedResources):

  • rendering/svg/SVGResources.h:

LayoutTests:

  • svg/custom/pattern-invalid-content-inheritance-expected.svg: Added.
  • svg/custom/pattern-invalid-content-inheritance.svg: Added.
5:30 PM Changeset in webkit [222303] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark transitions/transition-display-property.html as flaky on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177284

Unreviewed test gardening.

  • platform/win/TestExpectations:
5:21 PM Changeset in webkit [222302] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark http/wpt/resource-timing/rt-resource-errors.html as flaky on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177282

Unreviewed test gardening.

  • platform/win/TestExpectations:
5:11 PM Changeset in webkit [222301] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix string capitalization

5:09 PM Changeset in webkit [222300] by jmarcell@apple.com
  • 7 edits in branches/safari-604-branch/Source

Versioning.

4:19 PM Changeset in webkit [222299] by jmarcell@apple.com
  • 11 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222097. rdar://problem/34508516

4:13 PM Changeset in webkit [222298] by dbates@webkit.org
  • 7 edits
    3 adds in trunk

Spelling and grammar dots should not overlap
https://bugs.webkit.org/show_bug.cgi?id=177265
<rdar://problem/34556424>

Reviewed by David Hyatt.

Source/WebCore:

A line may contain both spelling and grammar errors such that these errors overlap.
For example, "to mooof or not to mooof.". It is more pleasing aesthetically to
paint spelling and grammar dots such that they do not overlap. This also matches
AppKit's behavior.

A side benefit of this change is that it adds support infrastructure towards
implementing the CSS Pseudo-Elements Module Level 4 pseudo elements ::spelling-error
and ::grammar-error (see <https://bugs.webkit.org/show_bug.cgi?id=175784>).
It will also make it straightforward to add ::inactive-selection and allow us
to make ::selection conform to CSS Pseudo-Elements Module Level 4.

  • CMakeLists.txt: Add file MarkerSubrange.cpp.
  • WebCore.xcodeproj/project.pbxproj: Add files MarkerSubrange.{cpp, h}.
  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDocumentMarker): Modified to take a const MarkerSubrange&
instead of a RenderedDocumentMarker&.
(WebCore::InlineTextBox::paintTextMatchMarker): Modified to take a const MarkerSubrange&
instead of a RenderedDocumentMarker& and take a boolean as to whether the text match is active.
(WebCore::InlineTextBox::paintDocumentMarkers): Collect the subranges that need to be
painted, subdivide them preserving only the frontmost subrange when two or more subranges
overlap and paint the resulting subranges.
(WebCore::lineStyleForMarkerType): Deleted; converted to a lambda function inlined
in paintDocumentMarker() as this is the only place we made use of this function.

  • rendering/InlineTextBox.h:
  • rendering/MarkerSubrange.cpp: Added.

(WebCore::subdivide): Subdivides the specified list of subranges and returns a list of non-overlapping
subranges in paint order. The implementation of subdivide() is derived from an algorithm that
Said Abou-Hallawa came up with.

  • rendering/MarkerSubrange.h: Added.

(WebCore::MarkerSubrange::MarkerSubrange):

Tools:

Add unit tests for the subdivision algorithm.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp: Added.

(WebCore::operator<<):
(WebCore::operator==):
(TestWebKitAPI::TEST):

4:08 PM Changeset in webkit [222297] by keith_miller@apple.com
  • 8 edits
    1 move
    2 adds in trunk

JSC Xcode build should use unified sources for platform independent files
https://bugs.webkit.org/show_bug.cgi?id=177190

Reviewed by Saam Barati.

.:

Add a macro for collecting the set of "header" source files and adding the bundle
files to the "sources" list.

  • Source/cmake/WebKitMacros.cmake:

Source/JavaScriptCore:

This patch changes the Xcode build to use unified sources. The
main difference from a development perspective is that instead of
added source files to Xcode they need to be added to the shared
sources.txt. For now, platform specific files are still added
to the JavaScriptCore target.

Because Xcode needs to know about all the files before we generate
them all the unified source files need to be added to the
JavaScriptCore framework target. As a result, if we run out of
bundle files more will need to be added to the project. Currently,
there are no spare files. If adding more bundle files becomes
problematic we can change this.

LowLevelInterpreter.cpp can't be added to the unified source list yet
due to a clang bug.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • sources.txt: Added.

Source/WTF:

Add a new directory for build scripts that are forwarded to subsequent framework builds.

  • Scripts/generate-unified-source-bundles.rb: Renamed from Source/WTF/generate-unified-source-bundles.rb.
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
4:05 PM Changeset in webkit [222296] by Michael Catanzaro
  • 4 edits in trunk

REGRESSION(r222194) [WPE] Library and executable output names broken
https://bugs.webkit.org/show_bug.cgi?id=177273

Reviewed by Carlos Alberto Lopez Perez.

.:

Move the WebKit2 output name variables from here to Source/WebKit.

  • Source/cmake/OptionsWPE.cmake:

Source/WebKit:

Move the WebKit2 output name variables to here from Source/cmake, since this is a better
place and where they are set on all other ports. Update them for the changes in r222194.

  • PlatformWPE.cmake:
3:41 PM Changeset in webkit [222295] by fpizlo@apple.com
  • 12 edits
    3 adds in trunk/Tools

WSL should not type-check functions in the standard library that it does not use
https://bugs.webkit.org/show_bug.cgi?id=177269

Reviewed by JS Bastien.

Once we added all of the swizzling operators, the size of the standard library ballooned to the point
where it's just not practical to compile anything anymore. If you want to compile
"int foo(int x) { return x}" then it will take some ridiculous amount of time (many seconds) because WSL
will have to type check all of those swizzling operators.

This change makes it so that after parsing the whole program, we remove the things that we aren't using.
We can make a really good estimate of what we need even before doing any name resolution. In practice,
this change removes almost all of the things from Program before we get to the hard work of type
checking. That's true because the standard library contains _many_ things and you'd have to try very
hard to use all of them.

This is a 13x speed-up for Test.js. It went from 155 seconds to 12 seconds on my machine.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/ConstexprTypeParameter.js:

(ConstexprTypeParameter.prototype.get origin):

  • WebGPUShadingLanguageRI/Intrinsics.js:
  • WebGPUShadingLanguageRI/Lexer.js:

(Lexer):
(Lexer.prototype.get originKind):

  • WebGPUShadingLanguageRI/LexerToken.js:

(LexerToken.prototype.get lexer):
(LexerToken.prototype.get origin):
(LexerToken.prototype.get originKind):
(LexerToken.prototype.get isInternal):

  • WebGPUShadingLanguageRI/NameContext.js:

(isWildcardKind):
(NameContext.prototype.add):
(NameContext.prototype.get let):
(NameContext.prototype.mapFor): Deleted.

  • WebGPUShadingLanguageRI/NameFinder.js: Added.

(NameFinder):
(NameFinder.get worklist):

  • WebGPUShadingLanguageRI/NameResolver.js:

(NameResolver.prototype.visitProtocolDecl):

  • WebGPUShadingLanguageRI/OriginKind.js: Added.

(isOriginKind):

  • WebGPUShadingLanguageRI/Prepare.js:

(let.prepare):

  • WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js: Added.

(programWithUnnecessaryThingsRemoved):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(doTest):

  • WebGPUShadingLanguageRI/index.html:
3:27 PM Changeset in webkit [222294] by achristensen@apple.com
  • 12 edits in trunk

Remove ActionType::CSSDisplayNoneStyleSheet
https://bugs.webkit.org/show_bug.cgi?id=177275

Reviewed by Andy Estes.

Source/WebCore:

It not a real action type anyways. It was a fake action type
that stored a String indicating which ContentRuleLists had not triggered
an ignore-previous-rules action, so we should apply the default stylesheet,
which is the css-display-none selectors that match everything.

No change in behaviour. Covered by existing tests.

  • contentextensions/ContentExtensionActions.h:
  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::serializeActions):

  • contentextensions/ContentExtensionRule.cpp:

(WebCore::ContentExtensions::Action::deserialize):
(WebCore::ContentExtensions::Action::deserializeType):
(WebCore::ContentExtensions::Action::serializedLength):

  • contentextensions/ContentExtensionRule.h:

(WebCore::ContentExtensions::Action::Action):

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad const):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForPingLoad):

  • contentextensions/ContentExtensionsBackend.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::open):

  • page/UserContentProvider.cpp:

(WebCore::UserContentProvider::actionsForResourceLoad):

  • page/UserContentProvider.h:

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(WebCore::ContentExtensions::operator<<):
(TestWebKitAPI::testRequest):
(TestWebKitAPI::TEST_F):

3:08 PM Changeset in webkit [222293] by Jonathan Bedard
  • 3 edits in trunk/Tools

Device iOS 11 builds fail with FileProvider linker errors
https://bugs.webkit.org/show_bug.cgi?id=177272
<rdar://problem/34557680>

Reviewed by David Kilzer.

For iOS device and simulator, the SYSTEM_LIBRARY_DIR should never
be on the framework search path as neither platform should ever link
with Mac frameworks.

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
3:03 PM Changeset in webkit [222292] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

FloatingObject should not hold a raw pointer to RootInlineBox.
https://bugs.webkit.org/show_bug.cgi?id=177266

Reviewed by Simon Fraser.

FloatingObject and RootInlineBox objects' lifetimes are very much independent from each other.

Not testable.

  • rendering/FloatingObjects.cpp:

(WebCore::FloatingObjects::clearLineBoxTreePointers):

  • rendering/FloatingObjects.h:

(WebCore::FloatingObject::originatingLine const):
(WebCore::FloatingObject::clearOriginatingLine):
(WebCore::FloatingObject::setOriginatingLine):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::removeFloatingObject):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::appendFloatingObjectToLastLine):
(WebCore::RenderBlockFlow::reattachCleanLineFloats):
(WebCore::RenderBlockFlow::determineStartPosition):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::RootInlineBox):

  • rendering/RootInlineBox.h:

(WebCore::RootInlineBox::createWeakPtr):

2:59 PM Changeset in webkit [222291] by Chris Dumez
  • 9 edits
    3 deletes in trunk/Source/WebCore

Drop legacy DOMError type
https://bugs.webkit.org/show_bug.cgi?id=177207

Reviewed by Eric Carlson.

Drop legacy DOMError type. It has been removed from the Web standards,
is no longer used by our implementation and was not exposed to the
Web in WebKit (i.e. marked as [NoInterfaceObject]).

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • Modules/mediastream/MediaEndpointSessionDescription.h:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMPromiseDeferred.cpp:
  • dom/DOMAllInOne.cpp:
  • dom/DOMError.cpp: Removed.
  • dom/DOMError.h: Removed.
  • dom/DOMError.idl: Removed.
  • platform/mock/RTCNotifiersMock.cpp:
2:47 PM Changeset in webkit [222290] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.3.2

Tag Safari-604.3.2.

2:28 PM Changeset in webkit [222289] by jmarcell@apple.com
  • 7 edits in trunk/Source

Versioning.

2:17 PM Changeset in webkit [222288] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.1.7

Tag Safari-605.1.7.

2:09 PM Changeset in webkit [222287] by pvollan@apple.com
  • 5 edits in trunk/Source

[Win] Cannot find script to generate unified sources.
https://bugs.webkit.org/show_bug.cgi?id=177014

Reviewed by Keith Miller.

Source/JavaScriptCore:

The ruby script can now be found in WTF/Scripts in the forwarding headers folder.

Source/WTF:

Copy the ruby script to WTF/Scripts in the forwarding headers folder.

  • wtf/CMakeLists.txt:
2:01 PM Changeset in webkit [222286] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari Technology Preview 40

Added a tag for Safari Technology Preview release 40.

2:00 PM Changeset in webkit [222285] by commit-queue@webkit.org
  • 10 edits in trunk

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

Caused fast/images/animated-gif-webkit-transform.html to time
out, and possible perf regression (Requested by smfr on
#webkit).

Reverted changeset:

"Simplify compositing layer updating"
https://bugs.webkit.org/show_bug.cgi?id=176196
http://trac.webkit.org/changeset/222254

1:54 PM Changeset in webkit [222284] by commit-queue@webkit.org
  • 1 edit
    365 adds in trunk/Source/ThirdParty/libwebrtc

Upstream googletest framework
https://bugs.webkit.org/show_bug.cgi?id=177252

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-20
Reviewed by Alex Christensen.

This is used by libwebrtc.

  • Source/third_party/googletest: Added.
1:46 PM Changeset in webkit [222283] by achristensen@apple.com
  • 8 edits in trunk

Remove ActionType::InvalidAction
https://bugs.webkit.org/show_bug.cgi?id=177262

Reviewed by Tim Horton.

Source/WebCore:

This was needed before r213322 because we needed to have a default constructor.
With all these cool new C++14/17 types, we don't need this any more.

No change in behaviour.

  • contentextensions/ContentExtensionActions.h:
  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::serializeActions):

  • contentextensions/ContentExtensionRule.cpp:

(WebCore::ContentExtensions::Action::deserialize):
(WebCore::ContentExtensions::Action::deserializeType):
(WebCore::ContentExtensions::Action::serializedLength):

  • contentextensions/ContentExtensionRule.h:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForPingLoad):

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(WebCore::ContentExtensions::operator<<):

1:38 PM Changeset in webkit [222282] by dbates@webkit.org
  • 4 edits in trunk/Source/WebCore

RenderedDocumentMarker.h should include DocumentMarker.h
https://bugs.webkit.org/show_bug.cgi?id=177263

Reviewed by Andy Estes.

RenderedDocumentMarker extends DocumentMarker. RenderedDocumentMarker.h should
include DocumentMarker.h. Otherwise, both DocumentMarker.h and RenderedDocumentMarker.h
must be explicitly included.

  • dom/RenderedDocumentMarker.h:
  • rendering/RenderText.cpp:
  • testing/Internals.cpp:
1:09 PM Changeset in webkit [222281] by Ryan Haddad
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed, rolling out r222278.

This needs more work before it can be landed.

Reverted changeset:

"Work towards: Move test expectations from 'ios-11' to 'ios'
directory"
https://bugs.webkit.org/show_bug.cgi?id=177167
http://trac.webkit.org/changeset/222278

1:07 PM Changeset in webkit [222280] by mmaxfield@apple.com
  • 7 edits
    1 copy
    1 add in trunk/Tools

Make a playground where people can try WSL
https://bugs.webkit.org/show_bug.cgi?id=177125

Reviewed by Filip Pizlo.

This patch creates a webpage, index.html, which lets users type in a WSL program and
run it, and see the results.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/CallFunction.js:

(callFunction):

  • WebGPUShadingLanguageRI/Checker.js:

(Checker):
(Checker.prototype._checkShaderType.NonNumericSearcher):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType):
(Checker.prototype._checkShaderType):
(Checker.prototype.visitFuncDef):
(Checker.prototype._requireBool):

  • WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js: Copied from Tools/WebGPUShadingLanguageRI/CallFunction.js.

(FlattenedStructOffsetGatherer):
(FlattenedStructOffsetGatherer.prototype.get result):
(FlattenedStructOffsetGatherer.prototype.visitReferenceType):
(FlattenedStructOffsetGatherer.prototype.visitField):
(FlattenedStructOffsetGatherer.prototype.visitNativeType):

  • WebGPUShadingLanguageRI/Func.js:

(Func.prototype.toDeclString):

  • WebGPUShadingLanguageRI/Inline.js:

(resolveInlinedFunction):

  • WebGPUShadingLanguageRI/NameContext.js:

(NameContext.prototype.get let):

  • WebGPUShadingLanguageRI/ResolveOverloadImpl.js:

(resolveOverloadImpl):

  • WebGPUShadingLanguageRI/StandardLibrary.js:
  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(TEST_shaderTypes):

  • WebGPUShadingLanguageRI/index.html: Added.
1:03 PM Changeset in webkit [222279] by mmaxfield@apple.com
  • 4 edits in trunk/Tools

[WSL] Restrict vertex and fragment entry points according to WSL.md
https://bugs.webkit.org/show_bug.cgi?id=177253

Reviewed by Filip Pizlo.

Entry points can't have template arguments, and their argument/return types need to be restricted.

  • WebGPUShadingLanguageRI/Checker.js:

(Checker):
(Checker.prototype._checkShaderType.NonNumericSearcher):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType):
(Checker.prototype._checkShaderType):
(Checker.prototype.visitFuncDef):
(Checker.prototype._requireBool):

  • WebGPUShadingLanguageRI/Func.js:

(Func.prototype.toDeclString):

  • WebGPUShadingLanguageRI/Test.js:

(TEST_shaderTypes):

12:38 PM Changeset in webkit [222278] by Ryan Haddad
  • 2 edits
    1 delete in trunk/LayoutTests

Work towards: Move test expectations from 'ios-11' to 'ios' directory
https://bugs.webkit.org/show_bug.cgi?id=177167

Unreviewed test gardening.

  • platform/ios-11/TestExpectations: Removed.
  • platform/ios/TestExpectations:
12:37 PM Changeset in webkit [222277] by achristensen@apple.com
  • 5 edits in trunk/Source/WebCore

Clean up content extensions code in preparation for more actions with string arguments
https://bugs.webkit.org/show_bug.cgi?id=177258

Reviewed by Tim Horton.

No change in behaviour. Covered by existing tests.

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::serializeString):
(WebCore::ContentExtensions::resolvePendingDisplayNoneActions):
(WebCore::ContentExtensions::serializeActions):
(WebCore::ContentExtensions::serializeSelector): Deleted.

  • contentextensions/ContentExtensionParser.cpp:

(WebCore::ContentExtensions::loadAction):
(WebCore::ContentExtensions::loadRule):

  • contentextensions/ContentExtensionRule.cpp:

(WebCore::ContentExtensions::deserializeString):
(WebCore::ContentExtensions::Action::deserialize):
(WebCore::ContentExtensions::Action::deserializeType):
(WebCore::ContentExtensions::Action::serializedLength):

  • contentextensions/ContentExtensionRule.h:

(WebCore::ContentExtensions::Action::Action):

12:30 PM Changeset in webkit [222276] by jdiggs@igalia.com
  • 4 edits
    1 add in trunk

[ATK] atk_table_get_n_rows() and atk_table_get_n_columns() should return values of aria-rowcount and aria-colcount, if present
https://bugs.webkit.org/show_bug.cgi?id=171172

Reviewed by Chris Fleizach.

Source/WebCore:

Modify webKitAccessibleTableGetNColumns() and webkitAccessibleTableGetNRows()
to prefer the ARIA value over the DOM-based value.

No new tests needed: We already have coverage through aria-table-attributes.html.
Platform expectations for this test were updated.

  • accessibility/atk/WebKitAccessibleInterfaceTable.cpp:

(webkitAccessibleTableGetNColumns):
(webkitAccessibleTableGetNRows):

LayoutTests:

Generated platform-specific expectations to reflect the new behavior.

  • accessibility/aria-table-attributes.html: Modified to handle platform differences.
  • platform/gtk/accessibility/aria-table-attributes-expected.txt: Added.
12:07 PM WebKitGTK/2.18.x edited by berto@igalia.com
(diff)
12:04 PM Changeset in webkit [222275] by berto@igalia.com
  • 6 edits in trunk

Fix HPPA and Alpha builds
https://bugs.webkit.org/show_bug.cgi?id=177224

Reviewed by Alex Christensen.

.:

  • CMakeLists.txt:

Source/JavaScriptCore:

  • CMakeLists.txt:

Source/WTF:

  • wtf/Platform.h:
12:04 PM Changeset in webkit [222274] by commit-queue@webkit.org
  • 10 edits
    3 moves in trunk/Source/WebCore

Rename CacheStorage to DOMCacheStorage
https://bugs.webkit.org/show_bug.cgi?id=177025

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-20
Reviewed by Chris Dumez.

No change of behavior, just renaming CacheStorage class and files to DOMCacheStorage.

  • CMakeLists.txt:
  • DerivedSources.make:
  • Modules/cache/DOMCacheStorage.cpp: Renamed from Source/WebCore/Modules/cache/CacheStorage.cpp.

(WebCore::DOMCacheStorage::DOMCacheStorage):
(WebCore::DOMCacheStorage::origin const):
(WebCore::doSequentialMatch):
(WebCore::startSequentialMatch):
(WebCore::copyCaches):
(WebCore::DOMCacheStorage::match):
(WebCore::DOMCacheStorage::has):
(WebCore::DOMCacheStorage::retrieveCaches):
(WebCore::logConsolePersistencyError):
(WebCore::DOMCacheStorage::open):
(WebCore::DOMCacheStorage::remove):
(WebCore::DOMCacheStorage::keys):
(WebCore::DOMCacheStorage::stop):
(WebCore::DOMCacheStorage::activeDOMObjectName const):
(WebCore::DOMCacheStorage::canSuspendForDocumentSuspension const):

  • Modules/cache/DOMCacheStorage.h: Renamed from Source/WebCore/Modules/cache/CacheStorage.h.

(WebCore::DOMCacheStorage::create):

  • Modules/cache/DOMCacheStorage.idl: Renamed from Source/WebCore/Modules/cache/CacheStorage.idl.
  • Modules/cache/DOMWindowCaches.cpp:

(WebCore::DOMWindowCaches::caches):
(WebCore::DOMWindowCaches::caches const):

  • Modules/cache/DOMWindowCaches.h:
  • Modules/cache/DOMWindowCaches.idl:
  • Modules/cache/WorkerGlobalScopeCaches.cpp:

(WebCore::WorkerGlobalScopeCaches::caches):
(WebCore::WorkerGlobalScopeCaches::caches const):

  • Modules/cache/WorkerGlobalScopeCaches.h:
  • Modules/cache/WorkerGlobalScopeCaches.idl:
  • WebCore.xcodeproj/project.pbxproj:
11:10 AM Changeset in webkit [222273] by commit-queue@webkit.org
  • 8 edits in trunk/LayoutTests

Make webrtc replace track tests less flaky
https://bugs.webkit.org/show_bug.cgi?id=172645
<rdar://problem/34118218>

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-20
Reviewed by Eric Carlson.

Improving stability of tests by retrying tests every 50 ms instead of once.
Doing some refactoring to put more helper routines in routine.js
Relaxing black pixel check as compression may introduce some uncertainty.
It is now considered black if RGB < (30, 30, 30).

  • TestExpectations: Marking video-mute.html as Pass/Fail instead of Fail.
  • webrtc/routines.js:
  • webrtc/video-mute.html:
  • webrtc/video-replace-muted-track.html:
  • webrtc/video-replace-track-expected.txt:
  • webrtc/video-replace-track-to-null.html:
  • webrtc/video-replace-track.html:
11:04 AM Changeset in webkit [222272] by pvollan@apple.com
  • 2 edits in trunk/Tools

[Win] Cygwin 64-bit EWS process cannot find Visual Studio installation.
https://bugs.webkit.org/show_bug.cgi?id=177244

Reviewed by Alex Christensen.

The 64-bit EWS shell process should try to find Visual Studio in the 32-bit program files folder.

  • EWSTools/start-queue-win.sh:
10:55 AM Changeset in webkit [222271] by eric.carlson@apple.com
  • 11 edits in trunk/Source/WebCore

Switch PeerConnection to release logging
https://bugs.webkit.org/show_bug.cgi?id=177193
<rdar://problem/34529014>

Reviewed by Youenn Fablet.

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::PeerConnectionBackend):
(WebCore::PeerConnectionBackend::createOfferSucceeded):
(WebCore::PeerConnectionBackend::createOfferFailed):
(WebCore::PeerConnectionBackend::createAnswerSucceeded):
(WebCore::PeerConnectionBackend::createAnswerFailed):
(WebCore::PeerConnectionBackend::setLocalDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setLocalDescriptionFailed):
(WebCore::PeerConnectionBackend::setRemoteDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setRemoteDescriptionFailed):
(WebCore::PeerConnectionBackend::addIceCandidateSucceeded):
(WebCore::PeerConnectionBackend::addIceCandidateFailed):
(WebCore::PeerConnectionBackend::newICECandidate):
(WebCore::PeerConnectionBackend::doneGatheringCandidates):
(WebCore::PeerConnectionBackend::logChannel const):

  • Modules/mediastream/PeerConnectionBackend.h:

(WebCore::PeerConnectionBackend::PeerConnectionBackend): Deleted.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::~RTCPeerConnection):
(WebCore::RTCPeerConnection::addTrack):
(WebCore::RTCPeerConnection::removeTrack):
(WebCore::RTCPeerConnection::addTransceiver):
(WebCore::RTCPeerConnection::queuedCreateOffer):
(WebCore::RTCPeerConnection::queuedCreateAnswer):
(WebCore::RTCPeerConnection::queuedSetLocalDescription):
(WebCore::RTCPeerConnection::queuedSetRemoteDescription):
(WebCore::RTCPeerConnection::queuedAddIceCandidate):
(WebCore::RTCPeerConnection::initializeConfiguration):
(WebCore::RTCPeerConnection::setConfiguration):
(WebCore::RTCPeerConnection::createDataChannel):
(WebCore::RTCPeerConnection::setSignalingState):
(WebCore::RTCPeerConnection::updateIceGatheringState):
(WebCore::RTCPeerConnection::updateIceConnectionState):
(WebCore::RTCPeerConnection::updateConnectionState):
(WebCore::RTCPeerConnection::replaceTrack):
(WebCore::RTCPeerConnection::dispatchEvent):
(WebCore::RTCPeerConnection::logChannel const):
(WebCore::rtcIceGatheringStateToString): Deleted.
(WebCore::rtcIceConnectionStateToString): Deleted.

  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::LibWebRTCMediaEndpoint):
(WebCore::LibWebRTCMediaEndpoint::OnStatsDelivered):
(WebCore::LibWebRTCMediaEndpoint::startLoggingStats):
(WebCore::LibWebRTCMediaEndpoint::logChannel const):
(WebCore::LibWebRTCMediaEndpoint::statsLogInterval const):

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:

(PAL::LogArgument<webrtc::RTCStats>::toString):

  • platform/mediastream/RTCIceConnectionState.h:

(PAL::LogArgument<WebCore::RTCIceConnectionState>::toString):

  • platform/mediastream/RTCIceGatheringState.h:

(PAL::LogArgument<WebCore::RTCIceGatheringState>::toString):

  • platform/mediastream/RTCPeerConnectionState.h:

(PAL::LogArgument<WebCore::RTCPeerConnectionState>::toString):

  • platform/mediastream/RTCSignalingState.h:

(PAL::LogArgument<WebCore::RTCSignalingState>::toString):

10:38 AM Changeset in webkit [222270] by Chris Dumez
  • 12 edits in trunk

Video errors should be instances of Error
https://bugs.webkit.org/show_bug.cgi?id=174573
<rdar://problem/34445494>

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline tests now that output has changed slightly.

  • web-platform-tests/html/semantics/embedded-content/media-elements/event_pause_noautoplay-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_play_noautoplay-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/paused_true_during_pause-expected.txt:

Source/WebCore:

Video errors should be instances of DOMException and Error as per:

No new tests, extended existing test.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::rejectPendingPlayPromises):
(WebCore::HTMLMediaElement::noneSupported):
(WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
(WebCore::HTMLMediaElement::pauseInternal):

  • html/HTMLMediaElement.h:

LayoutTests:

  • http/tests/security/video-cross-origin-caching-expected.txt:

Rebaseline test now that output has changed slightly.

  • media/media-play-promise-reject-load-abort-expected.txt:
  • media/media-play-promise-reject-load-abort.html:

Extend test coverage.

10:31 AM Changeset in webkit [222269] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[Curl] improve the implementation of FormDataStream
https://bugs.webkit.org/show_bug.cgi?id=177111

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-20
Reviewed by Alex Christensen.

  • platform/network/curl/FormDataStreamCurl.cpp:

(WebCore::FormDataStream::read):
(WebCore::FormDataStream::hasMoreElements const):

  • platform/network/curl/FormDataStreamCurl.h:

(WebCore::FormDataStream::setHTTPBody):
(WebCore::FormDataStream::FormDataStream): Deleted.

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::ResourceHandleCurlDelegate):
(WebCore::ResourceHandleCurlDelegate::prepareSendData):
(WebCore::ResourceHandleCurlDelegate::didFinish):
(WebCore::ResourceHandleCurlDelegate::didFail):
(WebCore::ResourceHandleCurlDelegate::setupFormData):

  • platform/network/curl/ResourceHandleCurlDelegate.h:
10:21 AM Changeset in webkit [222268] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skip inspector tests that crash after r222259.
https://bugs.webkit.org/show_bug.cgi?id=177249

Unreviewed test gardening.

  • platform/mac/TestExpectations:
9:44 AM Changeset in webkit [222267] by mmaxfield@apple.com
  • 4 edits in trunk/Tools

Create vector swizzle operators in WSL's standard library
https://bugs.webkit.org/show_bug.cgi?id=177116

Reviewed by Filip Pizlo.

Because there are 481 possible swizzling operators, StandardLibrary.js generates them
instead of including them by hand.

Adding so many functions slows down the compiler quite a bit.

  • WebGPUShadingLanguageRI/Prepare.js:

(prepare):

  • WebGPUShadingLanguageRI/StandardLibrary.js:

(intToString):
(_generateSwizzle):

9:35 AM WebKitGTK/2.18.x edited by Michael Catanzaro
(diff)
9:19 AM Changeset in webkit [222266] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKitLegacy/mac

Web Inspector: WebView indication highlights sticks around for WebKitLegacy views
https://bugs.webkit.org/show_bug.cgi?id=177101
<rdar://problem/34500648>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-20
Reviewed by Brian Burg.

  • WebInspector/WebNodeHighlight.mm:

Ensure we close the window that we have just removed.

9:16 AM Changeset in webkit [222265] by Jonathan Bedard
  • 2 edits in trunk/Source/WebKit

Removed nullable from UIDragItem property
https://bugs.webkit.org/show_bug.cgi?id=176264
<rdar://problem/31144674>

Unreviewed build fix

When a nullable annotation is used in a header file,
the Objective-C compiler forces annotations on the entire
file. Remove an unneeded annotation in UIKitSPI.h so that
we can build in iOS 11.

  • Platform/spi/ios/UIKitSPI.h:
9:02 AM Changeset in webkit [222264] by magomez@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK] Completely garbled display in GMail
https://bugs.webkit.org/show_bug.cgi?id=168964

Reviewed by Carlos Garcia Campos.

Do not try to decode images that are bigger than 32768 pixels, as cairo won't be able to render them,
and they will break the rendering of the rest of the page.

Covered by existent tests.

  • platform/graphics/ImageBackingStore.h:

(WebCore::ImageBackingStore::isOverSize):

9:00 AM WebKitGTK/Gardening/Calendar edited by Ms2ger@igalia.com
(diff)
8:37 AM Changeset in webkit [222263] by Antti Koivisto
  • 27 edits
    4 deletes in trunk/Source/WebCore

Remove RenderNamedFlowThread and FlowThreadController
https://bugs.webkit.org/show_bug.cgi?id=177229

Reviewed by Andreas Kling.

Get rid of some parts of the rendering code for CSS Regions.

The feature is disabled, no functional changes.

  • WebCore.xcodeproj/project.pbxproj:
  • rendering/FlowThreadController.cpp: Removed.
  • rendering/FlowThreadController.h: Removed.
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintObject):
(WebCore::canComputeRegionRangeForBox):
(WebCore::RenderBlock::childBoxIsUnsplittableForFragmentation const):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::determineLogicalLeftPositionForChild):
(WebCore::RenderBlockFlow::applyBeforeBreak):
(WebCore::RenderBlockFlow::applyAfterBreak):
(WebCore::RenderBlockFlow::logicalHeightForChildForFragmentation const):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::borderBoxRectInRegion const):
(WebCore::RenderBox::scroll):
(WebCore::RenderBox::renderBoxRegionInfo const):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing const):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned const):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned const):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent const):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::willBeDestroyed):
(WebCore::RenderElement::hoverAncestor const):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent const):
(WebCore::RenderFlowThread::incrementAutoLogicalHeightRegions):
(WebCore::RenderFlowThread::decrementAutoLogicalHeightRegions):
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::updateAlwaysCreateLineBoxes):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::calculateClipRects const):
(WebCore::RenderLayer::paintFixedLayersInNamedFlows): Deleted.
(WebCore::RenderLayer::hitTestFixedLayersInNamedFlows): Deleted.

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

(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::computeCompositingRequirementsForNamedFlowFixed): Deleted.
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTreeForNamedFlowFixed): Deleted.

  • rendering/RenderLayerCompositor.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::checkRegionStyle):
(WebCore::RenderNamedFlowFragment::namedFlowThread const): Deleted.

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderNamedFlowThread.cpp: Removed.
  • rendering/RenderNamedFlowThread.h: Removed.
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::selectionRoot const):
(WebCore::RenderObject::offsetParent const):
(WebCore::RenderObject::currentRenderNamedFlowFragment const):

  • rendering/RenderObject.h:

(WebCore::RenderObject::isRenderGrid const):
(WebCore::RenderObject::isRenderNamedFlowThread const): Deleted.

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::attachRegion):

  • rendering/RenderRegion.h:

(WebCore::RenderRegion::parentNamedFlowThread const): Deleted.

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeLayers):
(WebCore::writeRenderRegionList): Deleted.
(WebCore::writeRenderNamedFlowThreads): Deleted.

  • rendering/RenderView.cpp:

(WebCore::RenderView::layoutContent):
(WebCore::RenderView::layoutContentInAutoLogicalHeightRegions):
(WebCore::RenderView::layout):
(WebCore::RenderView::selectionBounds const):
(WebCore::RenderView::repaintSelection const):
(WebCore::RenderView::setSelection):
(WebCore::RenderView::updateSelectionForSubtrees):
(WebCore::RenderView::styleDidChange):
(WebCore::RenderView::checkTwoPassLayoutForAutoHeightRegions const):
(WebCore::RenderView::pushLayoutStateForCurrentFlowThread):
(WebCore::RenderView::popLayoutStateForCurrentFlowThread):
(WebCore::RenderView::layoutContentToComputeOverflowInRegions): Deleted.
(WebCore::RenderView::splitSelectionBetweenSubtrees): Deleted.
(WebCore::RenderView::hasRenderNamedFlowThreads const): Deleted.
(WebCore::RenderView::flowThreadController): Deleted.

  • rendering/RenderView.h:
  • rendering/SelectionSubtreeRoot.cpp:

(WebCore::SelectionSubtreeRoot::adjustForVisibleSelection): Deleted.

  • rendering/SelectionSubtreeRoot.h:

(WebCore::SelectionSubtreeRoot::setSelectionData):

8:30 AM Changeset in webkit [222262] by Ms2ger@igalia.com
  • 3 edits in trunk/LayoutTests

[WPE] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=177233

Unreviewed test gardening.

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

Skip failing resource timing tests on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177234

Unreviewed test gardening.

  • platform/win/TestExpectations:
7:38 AM Changeset in webkit [222260] by Ms2ger@igalia.com
  • 2 edits
    1 delete in trunk/Tools

[WPE] Update fontconfig to 2.12.4.
https://bugs.webkit.org/show_bug.cgi?id=177228

Reviewed by Carlos Garcia Campos.

  • wpe/jhbuild.modules:
  • wpe/patches/fontconfig-avoid-conflicts-with-integer-width-macros-from-TS-18.patch: Removed.
5:58 AM Changeset in webkit [222259] by Antti Koivisto
  • 77 edits
    12 deletes in trunk

Remove DOM and styling support for CSS Regions
https://bugs.webkit.org/show_bug.cgi?id=177221

Reviewed by Andreas Kling.

Source/WebCore:

This patch removes all CSS Regions (aka "named flow") related code excluding rendering.

The feature is already disabled so no functional changes.

  • CMakeLists.txt:
  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSCSSRuleCustom.cpp:

(WebCore::toJSNewlyCreated):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::contentToCSSValue):
(WebCore::ComputedStyleExtractor::propertyValue):
(WebCore::convertToRegionBreak): Deleted.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator BreakBetween const):

  • css/CSSProperties.json:
  • css/CSSRule.cpp:
  • css/CSSRule.h:
  • css/CSSRule.idl:
  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::matchAuthorRules):
(WebCore::ElementRuleCollector::matchUserRules):
(WebCore::ElementRuleCollector::collectMatchingRulesForRegion): Deleted.

  • css/ElementRuleCollector.h:

(WebCore::ElementRuleCollector::setSameOriginOnly):
(WebCore::ElementRuleCollector::setRegionForStyling): Deleted.

  • css/InspectorCSSOMWrappers.cpp:

(WebCore::InspectorCSSOMWrappers::collect):

  • css/RuleSet.cpp:

(WebCore::determinePropertyWhitelistType):
(WebCore::RuleData::RuleData):
(WebCore::RuleSet::addChildRules):
(WebCore::RuleSet::shrinkToFit):
(WebCore::RuleSet::addRegionRule): Deleted.

  • css/RuleSet.h:

(WebCore::RuleSet:: const):
(WebCore::RuleSet::regionSelectorsAndRuleSets const): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertRegionBreakBetween): Deleted.
(WebCore::StyleBuilderConverter::convertRegionBreakInside): Deleted.

  • css/StyleProperties.cpp:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::State::State):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::CascadedProperties::addMatch):
(WebCore::StyleResolver::checkRegionStyle): Deleted.
(WebCore::isValidRegionStyleProperty): Deleted.

  • css/StyleResolver.h:

(WebCore::StyleResolver::State::regionForStyling const): Deleted.
(WebCore::checkRegionSelector): Deleted.

  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleBase::copy const):
(WebCore::StyleRuleBase::createCSSOMWrapper const):
(WebCore::StyleRuleRegion::StyleRuleRegion): Deleted.

  • css/StyleRule.h:

(WebCore::StyleRuleBase::isStyleRule const):
(WebCore::StyleRuleBase::isRegionRule const): Deleted.

  • css/StyleSheetContents.cpp:

(WebCore::traverseSubresourcesInRules):

  • css/WebKitCSSRegionRule.cpp: Removed.
  • css/WebKitCSSRegionRule.h: Removed.
  • css/WebKitCSSRegionRule.idl: Removed.
  • css/parser/CSSAtRuleID.cpp:

(WebCore::cssAtRuleID):

  • css/parser/CSSAtRuleID.h:
  • css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):

  • css/parser/CSSParserImpl.cpp:

(WebCore::CSSParserImpl::consumeAtRule):
(WebCore::CSSParserImpl::consumeRegionRule): Deleted.

  • css/parser/CSSParserImpl.h:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::isLegacyBreakProperty):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::mapFromLegacyBreakProperty):
(WebCore::CSSPropertyParser::consumeLegacyBreakProperty):
(WebCore::consumeFlowProperty): Deleted.
(WebCore::mapFromRegionBreakBetween): Deleted.

  • dom/ContainerNode.cpp:

(WebCore::destroyRenderTreeIfNeeded):

  • dom/DOMNamedFlowCollection.cpp: Removed.
  • dom/DOMNamedFlowCollection.h: Removed.
  • dom/DOMNamedFlowCollection.idl: Removed.
  • dom/Document.cpp:

(WebCore::Document::updateLayoutIfDimensionsOutOfDate):
(WebCore::Document::webkitGetNamedFlows): Deleted.
(WebCore::Document::namedFlows): Deleted.

  • dom/Document.h:
  • dom/Document.idl:
  • dom/Element.cpp:

(WebCore::Element::~Element):
(WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):
(WebCore::Element::unregisterNamedFlowContentElement): Deleted.
(WebCore::Element::setIsNamedFlowContentElement): Deleted.
(WebCore::Element::clearIsNamedFlowContentElement): Deleted.
(WebCore::Element::rareDataIsNamedFlowContentElement const): Deleted.
(WebCore::Element::setRegionOversetState): Deleted.
(WebCore::Element::regionOversetState const): Deleted.
(WebCore::Element::renderNamedFlowFragment const): Deleted.
(WebCore::Element::shouldMoveToFlowThread const): Deleted.
(WebCore::Element::webkitRegionOverset const): Deleted.
(WebCore::Element::webkitGetRegionFlowRanges const): Deleted.

  • dom/Element.h:

(WebCore::Element::isNamedFlowContentElement const): Deleted.

  • dom/Element.idl:
  • dom/ElementRareData.cpp:
  • dom/ElementRareData.h:

(WebCore::ElementRareData::ElementRareData):
(WebCore::ElementRareData::regionOversetState const): Deleted.
(WebCore::ElementRareData::setRegionOversetState): Deleted.
(WebCore::ElementRareData::isNamedFlowContentElement const): Deleted.
(WebCore::ElementRareData::setIsNamedFlowContentElement): Deleted.

  • dom/EventTargetFactory.in:
  • dom/NamedFlowCollection.cpp: Removed.
  • dom/NamedFlowCollection.h: Removed.
  • dom/PseudoElement.h:
  • dom/WebKitNamedFlow.cpp: Removed.
  • dom/WebKitNamedFlow.h: Removed.
  • dom/WebKitNamedFlow.idl: Removed.
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::resetNonPersistentData):
(WebCore::ChangeRegionOversetTask::ChangeRegionOversetTask): Deleted.
(WebCore::ChangeRegionOversetTask::scheduleFor): Deleted.
(WebCore::ChangeRegionOversetTask::unschedule): Deleted.
(WebCore::ChangeRegionOversetTask::reset): Deleted.
(WebCore::ChangeRegionOversetTask::timerFired): Deleted.
(WebCore::InspectorCSSAgent::didCreateNamedFlow): Deleted.
(WebCore::InspectorCSSAgent::willRemoveNamedFlow): Deleted.
(WebCore::InspectorCSSAgent::didChangeRegionOverset): Deleted.
(WebCore::InspectorCSSAgent::regionOversetChanged): Deleted.
(WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement): Deleted.
(WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement): Deleted.
(WebCore::InspectorCSSAgent::getNamedFlowCollection): Deleted.
(WebCore::InspectorCSSAgent::documentNodeWithRequestedFlowsId): Deleted.
(WebCore::InspectorCSSAgent::buildArrayForRegions): Deleted.
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow): Deleted.

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didCreateNamedFlowImpl): Deleted.
(WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl): Deleted.
(WebCore::InspectorInstrumentation::didChangeRegionOversetImpl): Deleted.
(WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl): Deleted.
(WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl): Deleted.

  • inspector/InspectorOverlay.cpp:

(WebCore::buildRendererHighlight):
(WebCore::buildObjectForElementData):
(WebCore::buildObjectForRegion): Deleted.
(WebCore::buildObjectForFlowRegions): Deleted.

  • page/EventHandler.cpp:

(WebCore::handleWheelEventInAppropriateEnclosingBox):

  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::ensureRenderFlowThreadWithName): Deleted.

  • rendering/FlowThreadController.h:
  • rendering/RegionOversetState.h: Removed.
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::applyBeforeBreak):
(WebCore::RenderBlockFlow::applyAfterBreak):

  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::getRanges const):
(WebCore::RenderNamedFlowFragment::layoutBlock):
(WebCore::RenderNamedFlowFragment::checkRegionStyle):
(WebCore::RenderNamedFlowFragment::computeStyleInRegion const):
(WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
(WebCore::RenderNamedFlowFragment::setRegionOversetState): Deleted.
(WebCore::RenderNamedFlowFragment::regionOversetState const): Deleted.
(WebCore::RenderNamedFlowFragment::updateOversetState): Deleted.

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::clearContentElements):
(WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::hasContentElement const):
(WebCore::RenderNamedFlowThread::flowThreadName const):
(WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEventIfNeeded):
(WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
(WebCore::RenderNamedFlowThread::setMarkForDestruction):
(WebCore::RenderNamedFlowThread::resetMarkForDestruction):
(WebCore::RenderNamedFlowThread::isMarkedForDestruction const):
(WebCore::nextNodeInsideContentElement):

  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::installFlowThread):

  • rendering/style/RenderStyleConstants.h:
  • rendering/style/WillChangeData.cpp:

(WebCore::WillChangeData::propertyCreatesStackingContext):

  • style/RenderTreePosition.cpp:

(WebCore::RenderTreePosition::previousSiblingRenderer const):
(WebCore::RenderTreePosition::nextSiblingRenderer const):
(WebCore::RenderTreePosition::insertionPositionForFlowThread): Deleted.
(WebCore::RenderTreePosition::isRendererReparented): Deleted.

  • style/RenderTreePosition.h:

(WebCore::RenderTreePosition::RenderTreePosition):

  • style/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateElementRenderer):
(WebCore::RenderTreeUpdater::createRenderer):
(WebCore::RenderTreeUpdater::invalidateWhitespaceOnlyTextSiblingsAfterAttachIfNeeded):
(WebCore::registerElementForFlowThreadIfNeeded): Deleted.

  • style/RenderTreeUpdaterGeneratedContent.cpp:

(WebCore::createContentRenderers):

  • style/StyleChange.cpp:

(WebCore::Style::determineChange):

  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::styleForElement):
(WebCore::Style::affectsRenderedSubtree):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::shouldMoveToFlowThread const): Deleted.

  • svg/SVGElement.h:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:
  • DOM/DOMCSS.mm:

(kitClass):

  • DOM/DOMElement.mm:

(-[DOMElement webkitRegionOverset]): Deleted.

5:36 AM Changeset in webkit [222258] by Ms2ger@igalia.com
  • 4 edits in trunk/Source/WebCore

Add bindings for optional arguments to some WebGL2 methods.
https://bugs.webkit.org/show_bug.cgi?id=177067

Reviewed by Antti Koivisto.

Add bindings for optional arguments to some WebGL2 methods.

No new tests: not much point in adding tests now; these methods don't
do anything anyway.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::uniform1uiv):
(WebCore::WebGL2RenderingContext::uniform2uiv):
(WebCore::WebGL2RenderingContext::uniform3uiv):
(WebCore::WebGL2RenderingContext::uniform4uiv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x3fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x3fv):
(WebCore::WebGL2RenderingContext::clearBufferiv):
(WebCore::WebGL2RenderingContext::clearBufferuiv):
(WebCore::WebGL2RenderingContext::clearBufferfv):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGL2RenderingContext.idl:

Sep 19, 2017:

11:40 PM Changeset in webkit [222257] by rniwa@webkit.org
  • 5 edits
    2 adds in trunk

On Mac, dataTransfer claims to contain URL list when dropping files
https://bugs.webkit.org/show_bug.cgi?id=177219

Reviewed by Wenson Hsieh.

Source/WebCore:

Fixed the bug by removing code which was specifically adding local filenames as URLs in "text/uri-list"
when pasting or dropping files. Neither Chrome nor Firefox exhibit this behavior, and exposing local
filenames reveal sensitive information such as username.

Test: editing/pasteboard/datatransfer-types-dropping-text-file.html

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::readString):
(WebCore::addHTMLClipboardTypesForCocoaType):
(WebCore::absoluteURLsFromPasteboard): Deleted.

LayoutTests:

Added a regression test. For now, it only runs on Mac WK1.

  • editing/pasteboard/datatransfer-types-dropping-text-file-expected.txt: Added.
  • editing/pasteboard/datatransfer-types-dropping-text-file.html: Added.
  • platform/ios/TestExpectations:
  • platform/wk2/TestExpectations:
11:32 PM Changeset in webkit [222256] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebDriver

WebDriver: Implement commands to get and set the window rect
https://bugs.webkit.org/show_bug.cgi?id=177134

Reviewed by Brian Burg.

We are currently implementing the selenium legacy ones, we should implement the w3c ones instead.

https://w3c.github.io/webdriver/webdriver-spec.html#resizing-and-positioning-windows

  • Session.cpp:

(WebDriver::Session::getToplevelBrowsingContextRect): Helper to get the window rect. This is used by both get
and set window rect commands.
(WebDriver::Session::moveToplevelBrowsingContextwindow): Helper to ask automation to move the window.
(WebDriver::Session::resizeToplevelBrowsingContextwindow): Helper to ask automation to resize the window.
(WebDriver::Session::getWindowRect): Handle prompts and then call getToplevelBrowsingContextRect().
(WebDriver::Session::setWindowRect): Handle prompts and then move and resize the window according to the given
parameters and finish the operation calling getToplevelBrowsingContextRect().

  • Session.h:
  • WebDriverService.cpp:

(WebDriver::WebDriverService::getWindowRect): Ask the session to get the window rect.
(WebDriver::valueAsNumberInRange): Helper to check a value is a valid number in the given range.
(WebDriver::WebDriverService::setWindowRect): Get and check size and position from parameters and then ask the
session to set the window rect.

  • WebDriverService.h:
11:29 PM Changeset in webkit [222255] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebDriver

WebDriver: wrong response in case of errors
https://bugs.webkit.org/show_bug.cgi?id=177127

Reviewed by Brian Burg.

I misunderstood the spec when I implemented this, so we either return a "value" key with the result in case of
success or the error object as the body in case of error. We should always add a "value" key to the body and set
it with either the result or the error object.

https://w3c.github.io/webdriver/webdriver-spec.html#dfn-send-an-error

  • WebDriverService.cpp:

(WebDriver::WebDriverService::sendResponse const):

11:16 PM Changeset in webkit [222254] by Simon Fraser
  • 10 edits in trunk

Simplify compositing layer updating
https://bugs.webkit.org/show_bug.cgi?id=176196

Reviewed by Zalan Bujtas.

Source/WebCore:

Remove compositing layer updating from the updateLayerPositions() code path, which
was problematic because it wasn't pre-order. Instead, just rely on post-layout
compositing updates, which now need to do geometry updates. Micro benchmarking shows
this to be no slower.

We can remove the 'OnHitTest' update type, since we always ensure that layout is updated
before hit testing now.

Also remove a code path that could trigger updateGeometry() during a style change, and
in response to images loads, which were bad because layout may not be up-to-date at this time.

Tested by existing compositing tests. Rebaselined two tests after confirming they are progressions.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::calculateClipRects const):

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

(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::contentChanged):
(WebCore::RenderLayerBacking::updateAfterLayout): Deleted.

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

(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::layerStyleChanged):
(WebCore::operator<<):

  • rendering/RenderLayerCompositor.h:

LayoutTests:

New baselines.

  • scrollingcoordinator/ios/sync-layer-positions-after-scroll-expected.txt:
  • tiled-drawing/background-transparency-toggle-expected.txt:
11:13 PM Changeset in webkit [222253] by Simon Fraser
  • 48 edits in trunk/Source

Do more math in terms of FloatSizes and FloatPoints
https://bugs.webkit.org/show_bug.cgi?id=177217

Reviewed by Zalan Bujtas.
Source/WebCore:

Add operator/(const FloatSize&, const FloatSize&), GraphicsContext::translate(const FloatPoint&),
FloatRect.scale(FloatSize) and AffineTransform::translate(const FloatSize&)
and use them in lots of places to do math in terms of points and sizes.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • page/mac/TextIndicatorWindow.mm:

(-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]):

  • platform/Theme.cpp:

(WebCore::Theme::drawNamedImage const):

  • platform/graphics/CrossfadeGeneratedImage.cpp:

(WebCore::drawCrossfadeSubimage):
(WebCore::CrossfadeGeneratedImage::draw):

  • platform/graphics/FloatRect.h:

(WebCore::FloatRect::center const):
(WebCore::FloatRect::scale):

  • platform/graphics/FloatSize.h:

(WebCore::operator/):

  • platform/graphics/GradientImage.cpp:

(WebCore::GradientImage::draw):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::scaleFactorForDrawing const):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::translate):

  • platform/graphics/Image.cpp:

(WebCore::Image::drawTiled):

  • platform/graphics/ImageBuffer.cpp:

(WebCore::ImageBuffer::clampedSize):
(WebCore::ImageBuffer::createCompatibleBuffer):

  • platform/graphics/LayoutSize.h:
  • platform/graphics/NamedImageGeneratedImage.cpp:

(WebCore::NamedImageGeneratedImage::draw):

  • platform/graphics/Path.cpp:

(WebCore::Path::addRoundedRect):

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::createCompatibleBuffer):

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::transformContextForPainting):
(WebCore::applyRotationForPainting):
(WebCore::PDFDocumentImage::drawPDFPage):

  • platform/graphics/filters/FETile.cpp:

(WebCore::FETile::platformApplySoftware):

  • platform/graphics/transforms/AffineTransform.cpp:

(WebCore::AffineTransform::translate):
(WebCore::makeMapBetweenRects):

  • platform/graphics/transforms/AffineTransform.h:
  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::paint):

  • platform/mac/ThemeMac.mm:

(WebCore::paintToggleButton):
(WebCore::paintButton):
(WebCore::paintStepper):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRendererHelper::beginFilterEffect):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintBoxShadow):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::getReplacementTextGeometry const):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintContents):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::paintScrollbar):
(WebCore::RenderLayerCompositor::paintContents):

  • rendering/RenderMediaControls.cpp:

(WebCore::getUnzoomedRectAndAdjustCurrentContext):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::paintSearchField):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
(WebCore::RenderThemeMac::paintImageControlsButton):

  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::RenderSVGForeignObject):
(WebCore::RenderSVGForeignObject::localToParentTransform const):

  • rendering/svg/RenderSVGForeignObject.h:
  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::pathOnlyClipping):
(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
(WebCore::RenderSVGResourceClipper::hitTestClipContent):
(WebCore::RenderSVGResourceClipper::resourceBoundingBox):

  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::clipToTextMask):
(WebCore::RenderSVGResourceGradient::applyResource):

  • rendering/svg/RenderSVGResourceMarker.cpp:

(WebCore::RenderSVGResourceMarker::markerTransformation const):
(WebCore::RenderSVGResourceMarker::markerContentTransformation const):

  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
(WebCore::RenderSVGResourceMasker::resourceBoundingBox):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::buildPattern):
(WebCore::RenderSVGResourcePattern::createTileImage const):

  • rendering/svg/RenderSVGTransformableContainer.cpp:

(WebCore::RenderSVGTransformableContainer::calculateLocalTransform):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::createImageBuffer):
(WebCore::SVGRenderingContext::bufferForeground):

  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::buildTransformForProgress):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::localCoordinateSpaceTransform const):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::draw):

Source/WebKit:

Add operator/(const FloatSize&, const FloatSize&), GraphicsContext::translate(const FloatPoint&),
FloatRect.scale(FloatSize) and AffineTransform::translate(const FloatSize&)
and use them in lots of places to do math in terms of points and sizes.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:]):

  • UIProcess/ios/DragDropInteractionState.mm:

(WebKit::createTargetedDragPreview):

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::imageForRect):

  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:

(WebKit::InjectedBundleRangeHandle::renderedImage):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::paintSnapshotAtSize):
(WebKit::WebPage::snapshotNode):

10:36 PM Changeset in webkit [222252] by mmaxfield@apple.com
  • 12 edits
    1 copy in trunk/Tools

WSL should be able to trap when something fatal happens
https://bugs.webkit.org/show_bug.cgi?id=177110

Reviewed by Filip Pizlo.

WSL programs can include a statement "trap;" which causes the entry
point to immediately return the default value of its return type.
This is implemented by throw/catch and populateDefaultValue().

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/EvaluationCommon.js:
  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitTrapStatement):

  • WebGPUShadingLanguageRI/Parse.js:

(parseStatement):

  • WebGPUShadingLanguageRI/ReturnChecker.js:

(ReturnChecker.prototype.visitTrapStatement):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitTrapStatement):

  • WebGPUShadingLanguageRI/StandardLibrary.js:
  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:
  • WebGPUShadingLanguageRI/TrapStatement.js: Copied from Tools/WebGPUShadingLanguageRI/EvaluationCommon.js.

(TrapStatement):
(TrapStatement.prototype.get origin):
(TrapStatement.prototype.toString):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

10:25 PM Changeset in webkit [222251] by Ryan Haddad
  • 2 edits in trunk/Tools

Unreviewed follow-up to r222229, remove invalid triggers.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
10:20 PM Changeset in webkit [222250] by Chris Dumez
  • 16 edits in trunk

IDBRequest and IDBTransaction error properties should be DOMExceptions
https://bugs.webkit.org/show_bug.cgi?id=177201

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline WPT now that it is passing.

  • web-platform-tests/IndexedDB/error-attributes-expected.txt:

Source/WebCore:

IDBRequest and IDBTransaction error properties should be DOMExceptions:

Previously, we used a DOMError type, which is obsolete.

No new tests, rebaselined existing test.

  • Modules/indexeddb/IDBOpenDBRequest.cpp:

(WebCore::IDBOpenDBRequest::onError):
(WebCore::IDBOpenDBRequest::fireErrorAfterVersionChangeCompletion):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore:: const):
(WebCore::IDBRequest::uncaughtExceptionInEventHandler):
(WebCore::IDBRequest::onError):

  • Modules/indexeddb/IDBRequest.h:
  • Modules/indexeddb/IDBRequest.idl:
  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::error const):
(WebCore::IDBTransaction::abortDueToFailedRequest):
(WebCore::IDBTransaction::didCreateIndexOnServer):
(WebCore::IDBTransaction::connectionClosedFromServer):

  • Modules/indexeddb/IDBTransaction.h:
  • Modules/indexeddb/IDBTransaction.idl:
  • Modules/indexeddb/shared/IDBError.cpp:

(WebCore::IDBError::toDOMException const):

  • Modules/indexeddb/shared/IDBError.h:
9:41 PM Changeset in webkit [222249] by commit-queue@webkit.org
  • 7 edits
    60 moves
    7 adds
    1 delete in trunk/LayoutTests

Move non-upstreamed Resource Timing tests out of web-platform-tests
https://bugs.webkit.org/show_bug.cgi?id=177197

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-19
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • web-platform-tests/resource-timing/rt-*:

These are not upstream, move them out to http/wpt.

LayoutTests:

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:

Update expectations for path changes.

  • http/wpt/resource-timing/resources/data.json: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/data.json.
  • http/wpt/resource-timing/resources/resource.css: Added.
  • http/wpt/resource-timing/resources/resource.html: Added.
  • http/wpt/resource-timing/resources/resource.js: Added.
  • http/wpt/resource-timing/resources/resource.png: Added.
  • http/wpt/resource-timing/resources/rt-iframe-1.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-iframe-1.html.
  • http/wpt/resource-timing/resources/rt-iframe-2.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-iframe-2.html.
  • http/wpt/resource-timing/resources/rt-module.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-module.js.
  • http/wpt/resource-timing/resources/rt-revalidation-response.py: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-revalidation-response.py.
  • http/wpt/resource-timing/resources/rt-sub-module.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-sub-module.js.
  • http/wpt/resource-timing/resources/rt-utilities.sub.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-utilities.sub.js.
  • http/wpt/resource-timing/resources/rt-worker-resources.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-worker-resources.js.
  • http/wpt/resource-timing/rt-cors-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors-expected.txt.
  • http/wpt/resource-timing/rt-cors.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors.html.
  • http/wpt/resource-timing/rt-cors.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors.js.
  • http/wpt/resource-timing/rt-cors.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors.worker-expected.txt.
  • http/wpt/resource-timing/rt-cors.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors.worker.html.
  • http/wpt/resource-timing/rt-cors.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors.worker.js.
  • http/wpt/resource-timing/rt-initiatorType-css-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-css-expected.txt.
  • http/wpt/resource-timing/rt-initiatorType-css.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-css.html.
  • http/wpt/resource-timing/rt-initiatorType-element-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-element-expected.txt.
  • http/wpt/resource-timing/rt-initiatorType-element.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-element.html.
  • http/wpt/resource-timing/rt-initiatorType-fetch-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-fetch-expected.txt.
  • http/wpt/resource-timing/rt-initiatorType-fetch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-fetch.html.
  • http/wpt/resource-timing/rt-initiatorType-fetch.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-fetch.js.
  • http/wpt/resource-timing/rt-initiatorType-media-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-media-expected.txt.
  • http/wpt/resource-timing/rt-initiatorType-media.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-media.html.
  • http/wpt/resource-timing/rt-initiatorType-other-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-other-expected.txt.
  • http/wpt/resource-timing/rt-initiatorType-other.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-other.html.
  • http/wpt/resource-timing/rt-initiatorType-script-module-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-script-module-expected.txt.
  • http/wpt/resource-timing/rt-initiatorType-script-module.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-script-module.html.
  • http/wpt/resource-timing/rt-initiatorType-xmlhttprequest-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-xmlhttprequest-expected.txt.
  • http/wpt/resource-timing/rt-initiatorType-xmlhttprequest.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-xmlhttprequest.html.
  • http/wpt/resource-timing/rt-initiatorType-xmlhttprequest.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-xmlhttprequest.js.
  • http/wpt/resource-timing/rt-initiatorType.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType.worker-expected.txt.
  • http/wpt/resource-timing/rt-initiatorType.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType.worker.html.
  • http/wpt/resource-timing/rt-initiatorType.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType.worker.js.
  • http/wpt/resource-timing/rt-nextHopProtocol-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol-expected.txt.
  • http/wpt/resource-timing/rt-nextHopProtocol.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.html.
  • http/wpt/resource-timing/rt-nextHopProtocol.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.js.
  • http/wpt/resource-timing/rt-nextHopProtocol.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.worker-expected.txt.
  • http/wpt/resource-timing/rt-nextHopProtocol.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.worker.html.
  • http/wpt/resource-timing/rt-nextHopProtocol.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.worker.js.
  • http/wpt/resource-timing/rt-performance-extensions-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions-expected.txt.
  • http/wpt/resource-timing/rt-performance-extensions.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions.html.
  • http/wpt/resource-timing/rt-performance-extensions.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions.js.
  • http/wpt/resource-timing/rt-performance-extensions.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions.worker-expected.txt.
  • http/wpt/resource-timing/rt-performance-extensions.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions.worker.html.
  • http/wpt/resource-timing/rt-performance-extensions.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions.worker.js.
  • http/wpt/resource-timing/rt-resource-errors-expected.txt: Added.
  • http/wpt/resource-timing/rt-resource-errors.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resource-errors.html.
  • http/wpt/resource-timing/rt-resource-ignored-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resource-ignored-expected.txt.
  • http/wpt/resource-timing/rt-resource-ignored.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resource-ignored.html.
  • http/wpt/resource-timing/rt-resources-per-frame-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resources-per-frame-expected.txt.
  • http/wpt/resource-timing/rt-resources-per-frame.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resources-per-frame.html.
  • http/wpt/resource-timing/rt-resources-per-worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resources-per-worker-expected.txt.
  • http/wpt/resource-timing/rt-resources-per-worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resources-per-worker.html.
  • http/wpt/resource-timing/rt-revalidate-requests-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-revalidate-requests-expected.txt.
  • http/wpt/resource-timing/rt-revalidate-requests.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-revalidate-requests.html.
  • http/wpt/resource-timing/rt-serialization-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-serialization-expected.txt.
  • http/wpt/resource-timing/rt-serialization.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-serialization.html.
  • http/wpt/resource-timing/rt-shared-resource-in-frames-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-shared-resource-in-frames-expected.txt.
  • http/wpt/resource-timing/rt-shared-resource-in-frames.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-shared-resource-in-frames.html.
  • http/wpt/resource-timing/rt-shared-resource-in-workers-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-shared-resource-in-workers-expected.txt.
  • http/wpt/resource-timing/rt-shared-resource-in-workers.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-shared-resource-in-workers.html.

Move tests and make small modifications to ensure we load "/WebKit/resource-timing"
test resources instead of "/resource-timing" resources (web-platform-tests ones).

9:25 PM Changeset in webkit [222248] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[Curl] Fix r222147
https://bugs.webkit.org/show_bug.cgi?id=177128

Patch by Daewoong Jang <daewoong.jang@naverlabs.com> on 2017-09-19
Reviewed by Alex Christensen.

  • platform/network/curl/CurlSSLHandle.h:
  • platform/network/curl/CurlSSLVerifier.cpp:

(WebCore::CurlSSLVerifier::certVerifyCallback):

  • platform/network/curl/CurlSSLVerifier.h:
9:21 PM WebKitGTK/2.18.x edited by Michael Catanzaro
(diff)
8:46 PM Changeset in webkit [222247] by Simon Fraser
  • 5 edits in trunk

tiled-drawing/tiled-backing-in-window.html fails on Retina displays
https://bugs.webkit.org/show_bug.cgi?id=177113

Reviewed by Tim Horton.

Source/WebKit:

Make m_customDeviceScaleFactor a std::optional<> instead of having the weird "0 is unset"
behavior.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::deviceScaleFactor const):
(WebKit::WebPageProxy::setCustomDeviceScaleFactor):

  • UIProcess/WebPageProxy.h:

Tools:

This test removes the view from the window, and then dumps the layer tree, at which point
some layers would report a contentsScale of 2 on Retina displays.

This occurs because WebKitTestRunner overrides the default device scale factor on NSWindow,
but windowless views fall back to [NSScreen mainScreen].backingScaleFactor (in WebViewImpl::intrinsicDeviceScaleFactor()).

Fix by having PlatformWebView::changeWindowScaleIfNeeded() call -_setOverrideDeviceScaleFactor: on the view.

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::changeWindowScaleIfNeeded):

7:40 PM Changeset in webkit [222246] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

Image subclasses should support is<> and downcast<>
https://bugs.webkit.org/show_bug.cgi?id=177209

Reviewed by Tim Horton.

Add SPECIALIZE_TYPE_TRAITS_IMAGE() for Image subclasses.

Also use #pragma once in these headers.

  • platform/graphics/CrossfadeGeneratedImage.h:
  • platform/graphics/GeneratedImage.h:
  • platform/graphics/GradientImage.h:
  • platform/graphics/Image.h:
  • platform/graphics/NamedImageGeneratedImage.h:
7:20 PM Changeset in webkit [222245] by Wenson Hsieh
  • 6 edits
    1 add in trunk

REGRESSION (r215613): Incorrect corners clipping with border-radius
https://bugs.webkit.org/show_bug.cgi?id=176498
<rdar://problem/34112607>

Reviewed by Tim Horton.

Source/WebCore:

http://trac.webkit.org/r215613 introduced an optimization to bail out of repainting borders if the invalidated
rect to paint is fully contained within the inner rounded rect of the border. However, due to issues with
coordinate and intersection math in RoundedRect::contains() and ellipseContainsPoint(), this causes
RenderBoxModelObject::paintBorder to return early even in circumstances where the border requires a repaint.
This patch fixes the contains() helper in RoundedRect and adds a new API test suite for RoundedRect that covers
these changes.

Test: WebCore.RoundedRectContainsRect

  • platform/graphics/GeometryUtilities.cpp:

(WebCore::ellipseContainsPoint):

This function attempts to return early if the Manhattan distance of the transformed point is less than the
radius of the circle that results from applying the same transformation to the ellipse. However, this bails and
returns true if x + y <= R, but this means that if x and y are negative, we'll always end up returning true.
We fix this by adding the absolute values instead, so the check becomes: |x| + |y| <= R.

  • platform/graphics/RoundedRect.cpp:

(WebCore::RoundedRect::contains const):

Before this patch, otherRect's upper left location was being used to hit-test against the ellipses formed from
each of the 4 corners of the rounded rect. Instead, this should use (x, y), (maxX, y), (x, maxY), (maxX, maxY)
for the top left, top right, bottom left, and bottom right corners, respectively.

Additionally, the checks for the bottom left and bottom right to determine whether the rect corner should be
checked for intersection against the ellipse's corner are incorrect. In the bottom left corner, the check for
otherRect.maxX() >= center.x() should instead be otherRect.x() <= center.x(), and the check for
otherRect.x() <= center.x() should instead be otherRect.maxX() >= center.x().

  • platform/graphics/RoundedRect.h:

Tools:

Add WebCore API tests for RoundedRect::contains().

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/RoundedRectTests.cpp: Added.

(TestWebKitAPI::layoutRect):
(TestWebKitAPI::TEST):

7:12 PM Changeset in webkit [222244] by jmarcell@apple.com
  • 4 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222226. rdar://problem/34534758

6:56 PM Changeset in webkit [222243] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Skip fast/images/animated-image-mp4.html on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177216

Unreviewed test gardening.

  • platform/win/TestExpectations:
6:30 PM Changeset in webkit [222242] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark accessibility/crash-table-recursive-layout.html as a failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177212

Unreviewed test gardening.

  • platform/win/TestExpectations:
6:21 PM Changeset in webkit [222241] by jmarcell@apple.com
  • 4 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222220. rdar://problem/34534766

6:21 PM Changeset in webkit [222240] by jmarcell@apple.com
  • 9 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222214. rdar://problem/34534751

6:20 PM Changeset in webkit [222239] by ap@apple.com
  • 10 edits
    4 adds in trunk/Source

Layering violation in Editor::createFragment
https://bugs.webkit.org/show_bug.cgi?id=176123

Reviewed by Darin Adler.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • editing/cocoa/WebArchiveResourceFromNSAttributedString.h: Added.
  • editing/cocoa/WebArchiveResourceFromNSAttributedString.mm: Added.

Added a wrapper class for ArchiveResource, suitable for use as a WebResourceHandler.

  • editing/cocoa/WebArchiveResourceWebResourceHandler.h: Added.
  • editing/cocoa/WebArchiveResourceWebResourceHandler.mm: Added.

Objects of this class can be passed as "WebResourceHandler", and created instances
of the above class.

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::attributesForAttributedStringConversion):
(WebCore::createFragment):
On newer OS versions, don't use WebKitLegacy to convert NSAttributedString to a
document fragment. We now only use system frameworks to convert the attributed
string to HTML source, and parse HTML into a fragment directly in WebCore.

  • platform/URL.h: Exported fakeURLWithRelativePart.

Source/WebKitLegacy/mac:

  • Misc/WebNSURLExtras.h:
  • Misc/WebNSURLExtras.mm:
  • WebView/WebFrame.mm:
  • WebView/WebHTMLView.mm:

Removed multiple copies of webkit-fake-url creation code, switching to URL::fakeURLWithRelativePart().

  • WebCoreSupport/WebEditorClient.mm:

(_WebCreateFragment): Added a stub implementation for older OSes. This is needed
because WebKitLegacy.exp is not passed through preprocessor, so there is no sane
way to avoid exporting the symbol just on newer OSes.

5:57 PM Changeset in webkit [222238] by commit-queue@webkit.org
  • 7 edits in trunk

Allow WTF::map to use any class that is iterable and has a size getter
https://bugs.webkit.org/show_bug.cgi?id=177026

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-19
Reviewed by Darin Adler.

Source/WebCore:

No change of behavior.
Using WTF::map to go from maps to vectors.

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::resourceList):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchAllPendingUnloadEvents):

Source/WTF:

Computing the Item type given to the lambda using the iterator instead of ValueType which is specific to Vector.
Adding the possibility to pass a non const container reference and a lambda taking non const references as well.

  • wtf/Vector.h:

(WTF::MapFunctionInspector::acceptsReference):
(WTF::Mapper::map):
(WTF::map):

Tools:

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

5:37 PM Changeset in webkit [222237] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

Add missing text after r222226.

  • accessibility/crash-table-recursive-layout.html:
5:15 PM Changeset in webkit [222236] by jmarcell@apple.com
  • 6 edits
    3 adds in branches/safari-604-branch

Cherry-pick r221978. rdar://problem/34508522

5:03 PM Changeset in webkit [222235] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-then-horizontal.html as flaky on macOS Debug.
https://bugs.webkit.org/show_bug.cgi?id=171839

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:28 PM Changeset in webkit [222234] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

Quiet media player private logging
https://bugs.webkit.org/show_bug.cgi?id=177199

Reviewed by Jer Noble.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):

4:17 PM Changeset in webkit [222233] by achristensen@apple.com
  • 66 edits in trunk/Source

Allow modern decoding of Vectors
https://bugs.webkit.org/show_bug.cgi?id=177102

Reviewed by Andy Estes.

Source/WebCore:

  • Modules/cache/DOMCacheEngine.h:

(WebCore::DOMCacheEngine::CacheInfos::decode):
(WebCore::DOMCacheEngine::CacheIdentifierOperationResult::decode):

  • Modules/indexeddb/IDBDatabaseIdentifier.cpp:

(WebCore::IDBDatabaseIdentifier::IDBDatabaseIdentifier):

  • Modules/indexeddb/IDBDatabaseIdentifier.h:

(WebCore::IDBDatabaseIdentifier::decode):

  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::openInternal):
(WebCore::IDBFactory::deleteDatabase):

  • Modules/indexeddb/IDBGetAllResult.h:

(WebCore::IDBGetAllResult::decode):

  • Modules/indexeddb/IDBGetResult.h:

(WebCore::IDBGetResult::decode):

  • Modules/indexeddb/IDBKeyData.h:

(WebCore::IDBKeyData::decode):

  • Modules/indexeddb/IDBKeyRangeData.h:

(WebCore::IDBKeyRangeData::decode):

  • Modules/indexeddb/IDBValue.h:

(WebCore::IDBValue::decode):

  • Modules/indexeddb/shared/IDBError.h:
  • Modules/indexeddb/shared/IDBIterateCursorData.h:

(WebCore::IDBIterateCursorData::decode):

  • Modules/indexeddb/shared/IDBRequestData.h:

(WebCore::IDBRequestData::decode):

  • Modules/indexeddb/shared/IDBResultData.h:

(WebCore::IDBResultData::decode):

  • page/SecurityOriginData.h:

(WebCore::SecurityOriginData::decode):

  • platform/Cookie.h:

(WebCore::Cookie::decode):

  • platform/mediastream/MediaConstraints.h:

(WebCore::MediaTrackConstraintSetMap::decode):

  • platform/network/FormData.h:

(WebCore::FormDataElement::decode):

  • workers/service/ServiceWorkerJobData.h:

(WebCore::ServiceWorkerJobData::decode):

  • workers/service/ServiceWorkerRegistrationData.h:

(WebCore::ServiceWorkerRegistrationData::decode):

  • workers/service/ServiceWorkerRegistrationKey.h:

(WebCore::ServiceWorkerRegistrationKey::decode):

Source/WebKit:

Rather than allow modern decoding of Vectors of types that only allow legacy decoding,
I just made modern decoders for all types that we need to decode in Vectors.

  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::decode):

  • Platform/IPC/ArgumentCoders.cpp:

(IPC::ArgumentCoder<std::chrono::system_clock::time_point>::decode):

  • Platform/IPC/ArgumentCoders.h:
  • Shared/AssistedNodeInformation.cpp:

(WebKit::OptionItem::decode):

  • Shared/AssistedNodeInformation.h:
  • Shared/CallbackID.h:

(WebKit::CallbackID::decode):

  • Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:

(IPC::ArgumentCoder<WebCore::PaymentError>::decode):
(IPC::ArgumentCoder<WebCore::PaymentMethodUpdate>::decode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest>::decode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::LineItem>::decode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::ShippingMethod>::decode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::TotalAndLineItems>::decode):
(IPC::ArgumentCoder<WebCore::ShippingContactUpdate>::decode):
(IPC::ArgumentCoder<WebCore::ShippingMethodUpdate>::decode):

  • Shared/Databases/IndexedDB/WebIDBResult.cpp:

(WebKit::WebIDBResult::decode):

  • Shared/FrameInfoData.cpp:

(WebKit::FrameInfoData::decode):

  • Shared/Gamepad/GamepadData.cpp:

(WebKit::GamepadData::decode):

  • Shared/Gamepad/GamepadData.h:
  • Shared/PlatformPopupMenuData.cpp:

(WebKit::PlatformPopupMenuData::decode):

  • Shared/PlatformPopupMenuData.h:
  • Shared/Plugins/NPIdentifierData.cpp:

(WebKit::NPIdentifierData::decode):

  • Shared/Plugins/NPIdentifierData.h:
  • Shared/Plugins/NPVariantData.cpp:

(WebKit::NPVariantData::decode):

  • Shared/Plugins/NPVariantData.h:
  • Shared/RTCNetwork.cpp:

(WebKit::RTCNetwork::IPAddress::decode):
(WebKit::RTCNetwork::SocketAddress::decode):
(WebKit::RTCNetwork::decode):

  • Shared/RTCNetwork.h:
  • Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
  • Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
(WebKit::RemoteLayerTreeTransaction::decode):

  • Shared/SessionState.cpp:

(WebKit::HTTPBody::Element::decode):
(WebKit::FrameState::decode):
(WebKit::PageState::decode):
(WebKit::BackForwardListItemState::decode):
(WebKit::BackForwardListState::decode):

  • Shared/SessionState.h:
  • Shared/WebCompiledContentRuleListData.cpp:

(WebKit::WebCompiledContentRuleListData::decode):

  • Shared/WebCompiledContentRuleListData.h:
  • Shared/WebContextMenuItemData.cpp:

(WebKit::WebContextMenuItemData::decode):

  • Shared/WebContextMenuItemData.h:
  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<DOMCacheEngine::CacheInfo>::decode):
(IPC::ArgumentCoder<DOMCacheEngine::Record>::decode):
(IPC::ArgumentCoder<FloatRect>::decode):
(IPC::ArgumentCoder<FloatQuad>::decode):
(IPC::ArgumentCoder<IntRect>::decode):
(IPC::ArgumentCoder<RecentSearch>::decode):
(IPC::ArgumentCoder<Region::Span>::decode):
(IPC::ArgumentCoder<MimeClassInfo>::decode):
(IPC::ArgumentCoder<PluginInfo>::decode):
(IPC::ArgumentCoder<SelectionRect>::decode):
(IPC::ArgumentCoder<CompositionUnderline>::decode):
(IPC::ArgumentCoder<DictationAlternative>::decode):
(IPC::ArgumentCoder<GrammarDetail>::decode):
(IPC::ArgumentCoder<TextCheckingResult>::decode):
(IPC::ArgumentCoder<BlobPart>::decode):
(IPC::ArgumentCoder<ResourceLoadStatistics>::decode):
(IPC::ArgumentCoder<MediaConstraints>::decode):
(IPC::ArgumentCoder<CaptureDevice>::decode):
(IPC::ArgumentCoder<ScrollOffsetRange<float>>::decode):
(IPC::ArgumentCoder<MediaSelectionOption>::decode):

  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebEvent.h:
  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPlatformTouchPoint.cpp:

(WebKit::WebPlatformTouchPoint::decode):

  • Shared/WebPopupItem.cpp:

(WebKit::WebPopupItem::decode):

  • Shared/WebPopupItem.h:
  • Shared/WebUserContentControllerDataTypes.cpp:

(WebKit::WebUserScriptData::decode):
(WebKit::WebUserStyleSheetData::decode):
(WebKit::WebScriptMessageHandlerData::decode):

  • Shared/WebUserContentControllerDataTypes.h:
  • Shared/WebsiteData/WebsiteData.cpp:

(WebKit::WebsiteData::Entry::decode):

  • Shared/WebsiteData/WebsiteData.h:
  • Shared/WebsiteDataStoreParameters.cpp:

(WebKit::WebsiteDataStoreParameters::decode):

  • Shared/ios/WebPlatformTouchPointIOS.cpp:

(WebKit::WebPlatformTouchPoint::decode):

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<KeypressCommand>::decode):

  • UIProcess/LegacySessionStateCodingNone.cpp:

(WebKit::decodeLegacySessionState):

  • WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.h:
  • WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm:

(WebKit::PlatformCAAnimationRemote::KeyframeValue::decode):
(WebKit::PlatformCAAnimationRemote::Properties::decode):

4:03 PM October 2017 Meeting edited by Jon Davis
(diff)
3:58 PM October 2017 Meeting edited by Jon Davis
(diff)
3:55 PM October 2017 Meeting edited by Jon Davis
(diff)
3:54 PM October 2017 Meeting edited by Jon Davis
(diff)
3:25 PM Changeset in webkit [222232] by jmarcell@apple.com
  • 4 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222167. rdar://problem/34508525

3:25 PM Changeset in webkit [222231] by jmarcell@apple.com
  • 2 edits in branches/safari-604-branch/Source/WebCore

Cherry-pick r222163. rdar://problem/34508516

3:25 PM Changeset in webkit [222230] by jmarcell@apple.com
  • 8 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222114. rdar://problem/34508510

3:17 PM Changeset in webkit [222229] by Ryan Haddad
  • 9 edits in trunk/Tools

Update bot configuration for iOS 11.
https://bugs.webkit.org/show_bug.cgi?id=177165

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:

(BubbleQueueServer):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(table.queue-grid tr.platform.ios-simulator-10 img.logo): Deleted.
(table.queue-grid tr.platform.ios-10 img.logo): Deleted.

  • BuildSlaveSupport/build.webkit.org-config/wkbuild.py:

(_should_file_trigger_build):

  • BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:

(ShouldBuildTest):
(ShouldBuildTest.test_should_build):

2:50 PM Changeset in webkit [222228] by rniwa@webkit.org
  • 20 edits
    4 adds in trunk

On iOS, getData can't get text set by setData during copy event
https://bugs.webkit.org/show_bug.cgi?id=176980
<rdar://problem/34453915>

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by iOS port not implementing Pasteboard::createPrivate(). Rather than implementing this in iOS,
replace its use for copy & paste events by StaticPasteboard Wenson added for input events. This makes read-write
pasteboard platform agnostic and paves the way to make writing to pasteboard in a single IPC in WebKit2.

Also fixed a bug that iOS port's Pasteboard::types returned the list of all supported types instead of ones
actually present in the pasteboard.

This patch also adds a vector of types to StaticPasteboard to maintain the type order.

Tests: editing/pasteboard/dataTransfer-types-is-initially-empty-on-copy.html

editing/pasteboard/dataTransfer-types-pasting-plaintext.html

  • dom/DataTransfer.cpp:

(WebCore::DataTransfer::createForCopyAndPaste): Make StaticPasteboard instead of a private pasteboard.
(WebCore::DataTransfer::createForInputEvent):

  • editing/Editor.cpp:

(WebCore::dispatchClipboardEvent): Call newly added commitToPasteboard on StaticPasteboard.

  • platform/Pasteboard.h:

(WebCore::Pasteboard::isStatic const):

  • platform/PasteboardStrategy.h:
  • platform/StaticPasteboard.cpp:

(WebCore::StaticPasteboard::create): Deleted.
(WebCore::StaticPasteboard::StaticPasteboard):
(WebCore::StaticPasteboard::hasData):
(WebCore::StaticPasteboard::types): Deleted. Now simply returns m_type.
(WebCore::StaticPasteboard::readString): Added.
(WebCore::StaticPasteboard::writeString): Added.
(WebCore::StaticPasteboard::clear): Added.
(WebCore::StaticPasteboard::commitToPasteboard): Added.
(isType): Added.

  • platform/StaticPasteboard.h:

(WebCore::Pasteboard::isStatic const): Added.

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::createPrivate): Deleted.
(WebCore::Pasteboard::writePasteboard): Deleted.

  • platform/ios/PasteboardIOS.mm:

(WebCore::Pasteboard::createPrivate): Deleted.
(WebCore::Pasteboard::writePasteboard): Deleted.
(WebCore::addHTMLClipboardTypesForCocoaType):
(WebCore::Pasteboard::types): Return the actual list of types in the pasteboard.

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::createPrivate): Deleted.
(WebCore::Pasteboard::writePasteboard): Deleted.

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::createPrivate): Deleted.
(WebCore::Pasteboard::writePasteboard): Deleted.

  • platform/wpe/PasteboardWPE.cpp:

(WebCore::Pasteboard::createPrivate): Deleted.
(WebCore::Pasteboard::writePasteboard): Deleted.

Source/WebKit:

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::copy): Deleted.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebPlatformStrategies.h:
  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::copy): Deleted.

LayoutTests:

Added regression tests to make sure dataTransfer.types returns an empty list when writing to a pasteboard (copy),
and doesn't contain image types when pasting plain text. Unfortunately, pasting image does result in plain text
content being present in the pasteboard in the form of URL so we can't test that scenario.

Also removed failing expectations from a number of tests that are now passing on iOS.

  • editing/pasteboard/dataTransfer-types-is-initially-empty-on-copy-expected.txt: Added.
  • editing/pasteboard/dataTransfer-types-is-initially-empty-on-copy.html: Added.
  • editing/pasteboard/dataTransfer-types-pasting-plaintext-expected.txt: Added.
  • editing/pasteboard/dataTransfer-types-pasting-plaintext.html: Added.
  • platform/ios/TestExpectations:
2:47 PM Changeset in webkit [222227] by Dewei Zhu
  • 13 edits
    1 move in trunk/Websites/perf.webkit.org

Use 'owned commit' instead of 'sub commit' whenever refers to a commit owned by another commit.
https://bugs.webkit.org/show_bug.cgi?id=177178

Reviewed by Ryosuke Niwa.

We use both 'owned commit' and 'sub commit' to refer to a commit owned by an another commit. We should use one term instead of two.
Renaming 'subCommit' to 'ownedCommit', 'ownsSubCommit' to 'ownsCommit' and 'sub-commit' to 'owned-commit'.

  • browser-tests/commit-log-viewer-tests.js:
  • public/api/commits.php:
  • public/api/report-commits.php:
  • public/include/commit-log-fetcher.php:
  • public/v3/components/commit-log-viewer.js:

(CommitLogViewer.prototype._renderCommitList):

  • public/v3/components/owned-commit-viewer.js: Renamed from Websites/perf.webkit.org/public/v3/components/sub-commit-viewer.js.

(OwnedCommitViewer):
(OwnedCommitViewer.prototype.didConstructShadowTree):
(OwnedCommitViewer.prototype._toggleVisibility):
(OwnedCommitViewer.prototype.render):
(OwnedCommitViewer.prototype._renderOwnedCommitTable):
(OwnedCommitViewer.htmlTemplate):
(OwnedCommitViewer.cssTemplate):

  • public/v3/index.html:
  • public/v3/models/commit-log.js:

(CommitLog):
(CommitLog.prototype.updateSingleton):
(CommitLog.prototype.ownsCommits):
(CommitLog.prototype.fetchOwnedCommits):
(CommitLog.prototype._buildOwnedCommitMap):
(CommitLog.diffOwnedCommits):
(CommitLog.prototype.ownsSubCommits): Deleted.
(CommitLog.prototype.fetchSubCommits): Deleted.
(CommitLog.prototype._buildSubCommitMap): Deleted.
(CommitLog.diffSubCommits): Deleted.

  • server-tests/api-commits-tests.js:
  • server-tests/api-report-commits-tests.js:
  • server-tests/tools-os-build-fetcher-tests.js:

(return.waitForInvocationPromise.then):
(string_appeared_here.return.waitForInvocationPromise.then):

  • tools/js/os-build-fetcher.js:

(prototype._fetchAvailableBuilds):
(prototype._addOwnedCommitsForBuild):
(prototype._addSubCommitsForBuild): Deleted.

  • unit-tests/commit-log-tests.js:

(return.commit.fetchOwnedCommits.then):
(return.fetchingPromise.then):
(return.commit.fetchSubCommits.then): Deleted.

2:23 PM Changeset in webkit [222226] by Alan Bujtas
  • 4 edits
    2 adds in trunk

AXObjectCache::performDeferredCacheUpdate is called recursively through FrameView::layout.
https://bugs.webkit.org/show_bug.cgi?id=176218
<rdar://problem/34205612>

Reviewed by Simon Fraser.

Source/WebCore:

There are certain cases when we might re-enter performDeferredCacheUpdate through recursive
layout calls (see webkit.org/b/177176) and mutate m_deferredTextChangedList multiple times.

Test: accessibility/crash-table-recursive-layout.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::performDeferredCacheUpdate):

  • accessibility/AXObjectCache.h:

LayoutTests:

  • accessibility/crash-table-recursive-layout-expected.txt: Added.
  • accessibility/crash-table-recursive-layout.html: Added.
2:15 PM Changeset in webkit [222225] by jer.noble@apple.com
  • 23 edits
    5 adds in trunk

[Cocoa] Add an ImageDecoder subclass backed by AVFoundation
https://bugs.webkit.org/show_bug.cgi?id=176825

Reviewed by Eric Carlson.

Source/WebCore:

Add a new concrete subclass of ImageDecoder which uses AVFoundation to parse and decode
image data.

AVFoundation APIs require prior knowledge of the media data's mime type to determine whether
the media data is decodable, so the mime type information must be passed through from the
CachedResource -> CachedImage -> ImageFrameCache -> ImageSource so as to be available when
creating the ImageDecoder:

(Drive-by fix: the createFrameImageAtIndex() method will mutate internal state, so make it
non-const.)

  • loader/cache/CachedImage.h:
  • loader/cache/CachedResource.h:

(WebCore::CachedResource::mimeType const):

  • platform/cf/CoreMediaSoftLink.cpp:
  • platform/cf/CoreMediaSoftLink.h:
  • platform/cocoa/VideoToolboxSoftLink.cpp:
  • platform/cocoa/VideoToolboxSoftLink.h:
  • platform/graphics/Image.cpp:

(WebCore::Image::mimeType const):
(WebCore::Image::expectedContentSize const):

  • platform/graphics/Image.h:
  • platform/graphics/ImageDecoder.cpp:

(WebCore::ImageDecoder::create):

  • platform/graphics/ImageDecoder.h:

(WebCore::ImageDecoder::setExpectedContentSize):

  • platform/graphics/ImageFrameCache.cpp:

(WebCore::ImageFrameCache::mimeType const):

  • platform/graphics/ImageFrameCache.h:
  • platform/graphics/ImageObserver.h:
  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::ensureDecoderAvailable):

  • platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::ImageDecoderCG::createFrameImageAtIndex):

  • platform/graphics/cg/ImageDecoderCG.h:

Add the new class, ImageDecoderAVFObjC:

AVFoundation expects to load all the media data for an AVURLAsset itself. To map between the
provided SharedData and AVURLAsset's requirements, create a delegate object
WebCoreSharedBufferResourceLoaderDelegate, which responds to requests from the AVURLAsset by
extracting data from the SharedData object. Ensure AVURLAsset doesn't load any data outside
this delegate by passing the AVURLAssetReferenceRestrictionsKey /
AVAssetReferenceRestrictionForbidAll key and value in the AVURLAsset creation options.

  • platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h: Added.

(WebCore::ImageDecoderAVFObjC::create):
(WebCore::ImageDecoderAVFObjC::mimeType const):
(WebCore::ImageDecoderAVFObjC::RotationProperties::isIdentity const):

  • platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm: Added.

(SOFT_LINK_CONSTANT):
(-[WebCoreSharedBufferResourceLoaderDelegate initWithParent:]):
(-[WebCoreSharedBufferResourceLoaderDelegate setExpectedContentSize:]):
(-[WebCoreSharedBufferResourceLoaderDelegate updateData:complete:]):
(-[WebCoreSharedBufferResourceLoaderDelegate canFulfillRequest:]):
(-[WebCoreSharedBufferResourceLoaderDelegate enqueueRequest:]):
(-[WebCoreSharedBufferResourceLoaderDelegate fulfillPendingRequests]):
(-[WebCoreSharedBufferResourceLoaderDelegate fulfillRequest:]):
(-[WebCoreSharedBufferResourceLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
(-[WebCoreSharedBufferResourceLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
(WebCore::customSchemeURL):
(WebCore::imageDecoderAssetOptions):
(WebCore::transformToRotationProperties):
(WebCore::ImageDecoderAVFObjC::ImageDecoderAVFObjC):
(WebCore::ImageDecoderAVFObjC::canDecodeType):
(WebCore::ImageDecoderAVFObjC::firstEnabledTrack):
(WebCore::ImageDecoderAVFObjC::readSampleMetadata): Parses the media data using AVSampleCursor to walk

the media sample table, extracting frame presentation time, decode time, and duration.

(WebCore::ImageDecoderAVFObjC::readTrackMetadata): Reads the affine transform and size information from

the AVAssetTrack, and transforms the transform into a rotation value.

(WebCore::ImageDecoderAVFObjC::storeSampleBuffer): Decompress the incoming sample data, optionally rotate

the output, and store the results in the sample data vector.

(WebCore::ImageDecoderAVFObjC::advanceCursor): Wrap around the end of the sample table.
(WebCore::ImageDecoderAVFObjC::setTrack): Reset all sample and track metadata.
(WebCore::ImageDecoderAVFObjC::encodedDataStatus const): Retrieve from sample data.
(WebCore::ImageDecoderAVFObjC::frameCount const): Ditto.
(WebCore::ImageDecoderAVFObjC::repetitionCount const): Ditto.
(WebCore::ImageDecoderAVFObjC::uti const): Ditto.
(WebCore::ImageDecoderAVFObjC::filenameExtension const): Ditto.
(WebCore::ImageDecoderAVFObjC::frameSizeAtIndex const): Ditto.
(WebCore::ImageDecoderAVFObjC::frameIsCompleteAtIndex const): Ditto.
(WebCore::ImageDecoderAVFObjC::frameOrientationAtIndex const): Ditto.
(WebCore::ImageDecoderAVFObjC::frameDurationAtIndex const): Ditto.
(WebCore::ImageDecoderAVFObjC::frameHasAlphaAtIndex const): Ditto.
(WebCore::ImageDecoderAVFObjC::frameAllowSubsamplingAtIndex const): Ditto.
(WebCore::ImageDecoderAVFObjC::frameBytesAtIndex const): Ditto.
(WebCore::ImageDecoderAVFObjC::createFrameImageAtIndex): If the sample data has already been

decompressed, return it. Otherwise, walk through the sample table decompressing frames
until the desired frame is decoded.

(WebCore::ImageDecoderAVFObjC::setData):
(WebCore::ImageDecoderAVFObjC::clearFrameBufferCache):

Modify WebCoreDecompressionSession so that it can emit frames which have been converted from
YUV -> RGB as part of the decode operation. Also, add a synchronous decoding operation
method, for use in ImageDecoderAVFObjC.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureDecompressionSession):

  • platform/graphics/cocoa/WebCoreDecompressionSession.h:

(WebCore::WebCoreDecompressionSession::createOpenGL):
(WebCore::WebCoreDecompressionSession::createRGB):

  • platform/graphics/cocoa/WebCoreDecompressionSession.mm:

(WebCore::WebCoreDecompressionSession::WebCoreDecompressionSession):
(WebCore::WebCoreDecompressionSession::ensureDecompressionSessionForSample):
(WebCore::WebCoreDecompressionSession::decodeSample):
(WebCore::WebCoreDecompressionSession::decodeSampleSync):

Other changes:

  • WebCore.xcodeproj/project.pbxproj: Add new files to project.
  • platform/cocoa/VideoToolboxSoftLink.cpp: Add newly referenced methods.
  • platform/cocoa/VideoToolboxSoftLink.h: Ditto.

Source/WTF:

  • wtf/Platform.h:

LayoutTests:

  • fast/images/animated-image-mp4-expected.txt: Added.
  • fast/images/animated-image-mp4.html: Added.
  • fast/images/resources/animated-red-green-blue.mp4: Added.
  • platform/ios/TestExpectations:
2:11 PM Changeset in webkit [222224] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked imported/w3c/web-platform-tests/background-fetch/interfaces-worker.https.html as flaky on El Capitan Debug.
https://bugs.webkit.org/show_bug.cgi?id=176486

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:45 PM Changeset in webkit [222223] by commit-queue@webkit.org
  • 5 edits
    1 add in trunk/Source/WebCore

[Curl] Move Authentication related tasks into AuthenticationChallenge class
https://bugs.webkit.org/show_bug.cgi?id=177105

Currently those codes are in ResourceHandle or related companion. It will
be reused with NetworkLoadTask so that it should be separated from them.

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-19
Reviewed by Alex Christensen.

  • platform/Curl.cmake:
  • platform/network/curl/AuthenticationChallenge.h:

(WebCore::AuthenticationChallenge::AuthenticationChallenge): Deleted.
(WebCore::AuthenticationChallenge::authenticationClient const): Deleted.
(WebCore::AuthenticationChallenge::setAuthenticationClient): Deleted.

  • platform/network/curl/AuthenticationChallengeCurl.cpp: Added.

(WebCore::AuthenticationChallenge::AuthenticationChallenge):
(WebCore::AuthenticationChallenge::protectionSpaceServerTypeFromURI):
(WebCore::AuthenticationChallenge::protectionSpaceFromHandle):
(WebCore::AuthenticationChallenge::removeLeadingAndTrailingQuotes):

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::didReceiveAllHeaders):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
(WebCore::removeLeadingAndTrailingQuotes): Deleted.
(WebCore::ResourceHandleCurlDelegate::getProtectionSpace): Deleted.

  • platform/network/curl/ResourceHandleCurlDelegate.h:
1:42 PM Changeset in webkit [222222] by clopez@igalia.com
  • 4 edits in trunk

[CMake] Add ENABLE_WEB_CRYPTO option and make ENABLE_SUBTLE_CRYPTO depend on it.
https://bugs.webkit.org/show_bug.cgi?id=177180

Reviewed by Michael Catanzaro.

This adds a ENABLE_WEB_CRYPTO flag and makes ENABLE_SUBTLE_CRYPTO depend on it.
The GTK and WPE ports enable them and set ENABLE_WEB_CRYPTO to public.

  • Source/cmake/OptionsGTK.cmake: Set both features to ON and ENABLE_WEB_CRYPTO to public. No change in behaviour for GTK.
  • Source/cmake/OptionsWPE.cmake: Do like on the GTK port. The public flag is now ENABLE_WEB_CRYPTO.
  • Source/cmake/WebKitFeatures.cmake: Add the definition of ENABLE_WEB_CRYPTO and make ENABLE_SUBTLE_CRYPTO depend on it.
1:28 PM Changeset in webkit [222221] by Alan Bujtas
  • 10 edits
    2 adds in trunk

Do not mutate RenderText content during layout.
https://bugs.webkit.org/show_bug.cgi?id=176219
<rdar://problem/34205724>

Reviewed by David Hyatt.

Source/WebCore:

Update combined text when the style/content change as opposed to lazily, during layout.
-content mutation during layout might make the inline tree go out of sync.

Test: fast/text/international/dynamic-text-combine-crash.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::styleDidChange):
(WebCore::RenderCombineText::setRenderedText):
(WebCore::RenderCombineText::combineTextIfNeeded):
(WebCore::RenderCombineText::combineText): Deleted.

  • rendering/RenderCombineText.h:
  • rendering/RenderText.h:
  • rendering/line/BreakingContext.h:

(WebCore::BreakingContext::handleText):

  • rendering/line/LineBreaker.cpp:

(WebCore::LineBreaker::skipLeadingWhitespace):

LayoutTests:

  • fast/text/international/dynamic-text-combine-crash.html: Added.
  • fast/text/text-combine-crash-expected.txt:
1:25 PM Changeset in webkit [222220] by Wenson Hsieh
  • 4 edits
    2 adds in trunk

createMarkupInternal should protect its pointer to the Range's common ancestor
https://bugs.webkit.org/show_bug.cgi?id=177033
<rdar://problem/34265390>

Reviewed by Tim Horton.

Source/WebCore:

Adds basic safeguarding to codepaths hit while executing an outdent command.

Test: editing/execCommand/outdent-with-media-query-listener-in-iframe.html

  • editing/IndentOutdentCommand.cpp:

(WebCore::IndentOutdentCommand::outdentRegion):

Avoid an infinite loop if endOfCurrentParagraph is a null position.

  • editing/markup.cpp:

(WebCore::createMarkupInternal):

Protect the raw pointer to the Range's common ancestor node.

LayoutTests:

Adds a test that removes the common ancestor node of a range in the middle of executing an outdent.

  • editing/execCommand/outdent-with-media-query-listener-in-iframe-expected.txt: Added.
  • editing/execCommand/outdent-with-media-query-listener-in-iframe.html: Added.
1:14 PM Changeset in webkit [222219] by Dewei Zhu
  • 15 edits
    1 add in trunk/Websites/perf.webkit.org

Performance Dashboard backend should support A/B testing for owned components.
https://bugs.webkit.org/show_bug.cgi?id=175978

Reviewed by Ryosuke Niwa.

Add backend change for Performance Dashboard to support A/B testing for owned components.
Added 'commitset_commit_owner' and 'commitset_requires_build' columns to 'commit_set_items' table.
'commitset_commit_owner' referrs to determine a commit with owner.
'commitset_requires_build' indicates whether a root build is required.
This will be set true whenever commit_set_item specifies a patch file,
or commit_set_item is commit with owner commit,
or any other commit from same repository and in same build-request group requires build.
SQL for updating existing database:

'BEGIN;

ALTER TABLE commit_set_items ADD COLUMN commitset_commit_owner integer REFERENCES commits DEFAULT NULL, ADD COLUMN commitset_requires_build boolean DEFAULT FALSE;
UPDATE commit_set_items SET commitset_requires_build = TRUE WHERE commitset_patch_file IS NOT NULL;
UPDATE commit_set_items SET commitset_requires_build = TRUE WHERE commitset_set IN (SELECT requests1.request_commit_set FROM build_requests as requests1 JOIN build_requests as requests2 ON requests1.request_group = requests2.request_group JOIN commit_set_items as item ON item.commitset_set = requests2.request_commit_set WHERE item.commitset_patch_file IS NOT NULL);
ALTER TABLE commit_set_items ADD CONSTRAINT commitset_item_with_patch_must_requires_build CHECK (commitset_patch_file IS NULL OR commitset_requires_build = TRUE),

ADD CONSTRAINT commitset_item_with_owned_commit_must_requires_build CHECK (commitset_commit_owner IS NULL OR commitset_requires_build = TRUE);

END;'

  • init-database.sql: Updated 'commit_set_items' table.
  • public/admin/triggerables.php: Only top level repository should show on triggerables page.
  • public/include/build-requests-fetcher.php: Added 'commitOwner' and 'requireBuild' to 'revision_items'. Added 'commitOwner' field to a commit.
  • public/include/db.php: Should be able to insert boolean value to database without explicted convert to 't' or 'f'.
  • public/privileged-api/create-test-group.php:

Added logic to process 'commitOwner' and 'requireBuild' in 'commit_set_items'.
Removed a 'FIXME' that has been addressed before this commit.

  • public/v3/models/build-request.js:

(BuildRequest.constructBuildRequestsFromData): Set 'commitOwner' field for a commit set item.

  • public/v3/models/commit-set.js:

(CommitSet): Added maps for repository to commit owner and whether a repository requires builds.
(CommitSet.prototype.updateSingleton):
(CommitSet.prototype._updateFromObject):
(CommitSet.prototype.ownerRevisionForRepository): Returns owner revision for a given repository in current commit set.
(CommitSet.prototype.requiresBuildForRepository): Returns whether a repository need to build.
(CommitSet.prototype.equals): Equality check should include 2 new maps.
(CustomCommitSet): CustomCommitSet should be able to store commit with an owner commit.
(CustomCommitSet.prototype.setRevisionForRepository): Added each revision list entry should have 'ownerRevision'(null by default).
(CustomCommitSet.prototype.equals): Equality check should also check the equality of 'ownerRevision'.
(CustomCommitSet.prototype.ownerRevisionForRepository): Returns a owner revision for a given repository.

  • public/v3/models/repository.js:

(Repository.prototype.findOwnedRepositoryByName): Return an repository owned by current repository with a given name.

  • public/v3/models/test-group.js: Added 'ownerRevision' field in each entry of revisionSet.
  • server-tests/api-build-requests-tests.js: Added tests.
  • server-tests/privileged-api-create-test-group-tests.js: Added tests.
  • server-tests/privileged-api-upload-file-tests.js: Fix unit tests by setting'requires_build' field to be true when updating commit_set_item which has a patch..
  • server-tests/resources/mock-data.js: Added mock build requests with commit sets contain owned commits.

(MockData.jscRepositoryId): Returns id for JavaScriptsCore repository.
(MockData.addMockConfiguration): Added mock JavaScriptCore and owned JavaScriptCore repositories and commits associated with them.
(MockData.ownedJSCRepositoryId): Added a JavaScriptCore repository with WebKit as owner.
(MockData.addMockConfiguration): Added mock data for test cases those require a commit with a owner commit.
(MockData.addTestGroupWithOwnedCommits): Added mock data for analysis tasks, the build requires of which contains owned commits.
(MockData.set addAnotherTriggerable): Added another triggerable which has mac, webkit and javascript core repositories as triggerable repository group.
(MockData.set addAnotherMockTestGroup): Added another mock test group.

  • tools/js/v3-models.js: Import CustomCommitSet.
  • unit-tests/resources/mock-v3-models.js: Added an owned webkit repository.
  • unit-tests/commit-set-tests.js: Added unit tests CustomCommitSet.
1:09 PM Changeset in webkit [222218] by Ryan Haddad
  • 10 edits
    2 deletes in trunk

Unreviewed, rolling out r222217 and r222214.
This change introduced two LayoutTest failures.
https://bugs.webkit.org/show_bug.cgi?id=177026

Source/WebCore:

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::styleDidChange):
(WebCore::RenderCombineText::setRenderedText):
(WebCore::RenderCombineText::combineText):
(WebCore::RenderCombineText::combineTextIfNeeded): Deleted.

  • rendering/RenderCombineText.h:
  • rendering/RenderText.cpp:
  • rendering/RenderText.h:
  • rendering/line/BreakingContext.h:

(WebCore::BreakingContext::handleText):

  • rendering/line/LineBreaker.cpp:

(WebCore::LineBreaker::skipLeadingWhitespace):

LayoutTests:

  • fast/text/international/dynamic-text-combine-crash-expected.txt: Removed.
  • fast/text/international/dynamic-text-combine-crash.html: Removed.
  • fast/text/text-combine-crash-expected.txt:
12:32 PM Changeset in webkit [222217] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Attempt to fix Linux build.

  • rendering/RenderText.cpp:
11:46 AM Changeset in webkit [222216] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Adopt named groups in complex regexes
https://bugs.webkit.org/show_bug.cgi?id=177117

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-19
Reviewed by Matt Baker.

  • UserInterface/Base/URLUtilities.js:

(parseSecurityOrigin):
(parseDataURL):
(parseURL):

  • UserInterface/Models/Color.js:

(WI.Color.fromString):

11:28 AM Changeset in webkit [222215] by fpizlo@apple.com
  • 7 edits in trunk/Tools

Primitive protocol should have capital name
https://bugs.webkit.org/show_bug.cgi?id=177097

Reviewed by JF Bastien.

As soon as I started programming in WSL, I found that I preferred to capitalize protocol names. So, my
early decision to call the primitive protocol "primitive" instead of "Primitive" seems absurd now. This
change reverses that decision.

Aesthetically, this is a slight improvement. For example:

struct Bar<T:Primitive> {

Foo<device T> f;

}

This makes more sense since all of the non-keyword type identifiers are capital.

The one place where this is an aesthetic regression is native primitive typedefs, which now look like:

native Primitive typedef bool;


I'm happy with that tradeoff, since native typedefs are only in the standard library. Users don't see
this.

  • WebGPUShadingLanguageRI/AddressSpace.js:

(protocolSuffix):

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/NativeType.js:

(NativeType.prototype.toString):
(NativeType):

  • WebGPUShadingLanguageRI/Parse.js:

(parseNative):

  • WebGPUShadingLanguageRI/StandardLibrary.js:
  • WebGPUShadingLanguageRI/Test.js:

(TEST_passNullAndNotNullFullPoly):
(TEST_passNullAndNotNullFullPolyReverse):

11:07 AM Changeset in webkit [222214] by Alan Bujtas
  • 9 edits
    2 adds in trunk

Do not mutate RenderText content during layout.
https://bugs.webkit.org/show_bug.cgi?id=176219
<rdar://problem/34205724>

Reviewed by David Hyatt.

Source/WebCore:

Update combined text when the style/content change as opposed to lazily, during layout.
-content mutation during layout might make the inline tree go out of sync.

Test: fast/text/international/dynamic-text-combine-crash.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::styleDidChange):
(WebCore::RenderCombineText::setRenderedText):
(WebCore::RenderCombineText::combineTextIfNeeded):
(WebCore::RenderCombineText::combineText): Deleted.

  • rendering/RenderCombineText.h:
  • rendering/RenderText.h:
  • rendering/line/BreakingContext.h:

(WebCore::BreakingContext::handleText):

  • rendering/line/LineBreaker.cpp:

(WebCore::LineBreaker::skipLeadingWhitespace):

LayoutTests:

  • fast/text/international/dynamic-text-combine-crash.html: Added.
  • fast/text/text-combine-crash-expected.txt:
10:56 AM Changeset in webkit [222213] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176240

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
10:45 AM Changeset in webkit [222212] by achristensen@apple.com
  • 3 edits in trunk/Source/WebKit

Expose WKPageRef as a private property on WKWebView on Mac
https://bugs.webkit.org/show_bug.cgi?id=177022
<rdar://problem/34342762>

Reviewed by Andy Estes.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _pageRefForTransitionToWKWebView]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
10:41 AM Changeset in webkit [222211] by achristensen@apple.com
  • 4 edits in trunk/Source/WebKit

Make _WKProcessPoolConfiguration.allowsCellularAccess actually work on iOS
https://bugs.webkit.org/show_bug.cgi?id=177124

Reviewed by Andy Estes.

The boolean added in r213747 was getting lost in two places:

  1. The API::ProcessPoolConfiguration gets copied before it's used, so we need to set the bool on the copy.
  2. The bool was not getting copied from that ProcessPoolConfiguration to the NetworkProcessCreationParameters

to be sent to the NetworkProcess to be given to the NSURLSessionConfiguration in NetworkSessionCocoa.mm.

These two problems were fixed and verified manually with a customized iOS app on my phone.
Unfortunately, this cannot be tested well with our current test infrastructure.

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):

9:38 AM Changeset in webkit [222210] by fpizlo@apple.com
  • 5 edits in trunk/Tools

Cannot put typedefs of templated structs inside structs
https://bugs.webkit.org/show_bug.cgi?id=177123

Reviewed by Michael Saboff.

Ever since I wrote the generic type instantiation code in WSL, it had a bizarre stink to it. I
did not know what it was, until I met this test case:

struct Foo { int2 x; }


The problem was that Type has a getter called instantiatedType, which invoked
InstantiateImmediates. That's great. Where we went wrong was that TypeRef overrode
instantiatedType, and then InstantiateImmediates called TypeRef.instantiatedType from its
visitTypeRef. What a mess. None of that was necessary for anything, and it was just wrong. This
patch fixes it so that:

  • Type has an instantiatedType getter, which does InstantiateImmediates. I didn't change this. This was the only part of the status quo that really made sense.


  • TypeRef no longer overrides instantiatedType.


  • InstantianteImmediates.prototype.visitTypeRef now does what TypeRef's instantiatedType would have done.


And voila! This test case passes and so do all of the other test cases.

The reason why that specific test case did not work was that the use of a TypeDef (int2) for
a generic type instantiation (vec2<int>) caused there to be two TypeRef's in a row, sorta like
this, if we could use wrap() to denote a TypeRef that just wrapped another type:

wrap(vec2<int>)


We would call instantiatedType on this monstrosity. Since TypeRef overrode instantiatedType,
we would stop there because that TypeRef has no type arguments - it's just a wrapper. Well,
actually, we'd do something a bit stranger than stopping there - there's more to the story -
but the effect was the same. Now we do InstantiateImmediates, which recursively builds a new
type. This chews through the wrapper and then instantiates the wrapped type, as we want it to.
Also, this approach no longer has the stink. instantiatedType isn't overriden by anyone
anymore!

  • WebGPUShadingLanguageRI/Checker.js:
  • WebGPUShadingLanguageRI/InstantiateImmediates.js:

(InstantiateImmediates.prototype.visitTypeRef):
(InstantiateImmediates.prototype.visitReferenceType): Deleted.

  • WebGPUShadingLanguageRI/Test.js:

(TEST_instantiateStructInStructWithInt2):

  • WebGPUShadingLanguageRI/TypeRef.js:

(TypeRef.wrap):
(TypeRef.prototype.setTypeAndArguments):
(TypeRef.prototype.toString):
(TypeRef):
(TypeRef.prototype.get instantiatedType): Deleted.

9:03 AM Changeset in webkit [222209] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION(r214494): Web Inspector: Ignore cache button does not work in Network tab
https://bugs.webkit.org/show_bug.cgi?id=177114
<rdar://problem/34505265>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-19
Reviewed by Brian Burg.

  • UserInterface/Base/Main.js:

(WI.loaded):
We need to register the settings change handler regardless of what the
initial value of the setting is.

8:53 AM Changeset in webkit [222208] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

webrtc/video-rotation.html is failing and now occasionally times out.
https://bugs.webkit.org/show_bug.cgi?id=175305

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-19
Reviewed by Alex Christensen.

  • TestExpectations: Marking test as passing.
  • webrtc/video-rotation-expected.txt:
  • webrtc/video-rotation.html: Removing unneded subtest. Purpose of the test is checking that rotation change video size.
8:51 AM Changeset in webkit [222207] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

LayoutTest webrtc/video-getParameters.html is failing
https://bugs.webkit.org/show_bug.cgi?id=170148

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-19
Reviewed by Alex Christensen.

  • TestExpectations: Marking test as passing.
  • webrtc/video-getParameters.html: Further sanitizing parameters against changes.
8:00 AM Changeset in webkit [222206] by pvollan@apple.com
  • 2 edits in trunk/Tools

[Win] WebKit fails to build with 64-bit Perl.
https://bugs.webkit.org/show_bug.cgi?id=177106

Reviewed by Brent Fulgham.

Visual Studio is installed in the 32-bit program files folder.

  • Scripts/webkitdirs.pm:

(programFilesPathX86):
(visualStudioInstallDir):
(msBuildInstallDir):

2:00 AM Changeset in webkit [222205] by nael.ouedraogo@crf.canon.fr
  • 6 edits
    1 add in trunk

[GTK] The binding code of Media Source Extension of AudioTrack, VideoTrack and TextTrack is not generated
https://bugs.webkit.org/show_bug.cgi?id=174620

Reviewed by Michael Catanzaro.

LayoutTests/imported/w3c:

Fix WPT test that checks MSE interfaces. This test failed since webm is not supported for MSE in GTK port.
Already merged in WPT repository (https://github.com/w3c/web-platform-tests/pull/6531).

  • web-platform-tests/media-source/interfaces.html:

Source/WebCore:

Add AudioTrackMediaSource, VideoTrackMediaSource and TextTrackMediaSource IDL files in CMakeLists. Fix WPT test
that checks MSE interfaces. This test failed since webm is not supported for MSE in GTK port. PR already merged
in WPT repository.

Remove skipped test that is now passing in TestExpectation. Modify expected file for GTK (same as mac).

  • CMakeLists.txt:

LayoutTests:

Add AudioTrackMediaSource, VideoTrackMediaSource and TextTrackMediaSource IDL files in CMakeLists. Fix WPT test
that checks MSE interfaces. This test failed since webm is not supported for MSE in GTK port. PR already merged
in WPT repository.

Remove skipped test that is now passing in TestExpectation. Modify expected file for GTK (same as mac).

  • platform/gtk/TestExpectations:
  • platform/gtk/imported/w3c/web-platform-tests/media-source/interfaces-expected.txt: Added.

Sep 18, 2017:

11:41 PM Changeset in webkit [222204] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebDriver

WebDriver: wrong key name for capabilities in new session response
https://bugs.webkit.org/show_bug.cgi?id=177074

Reviewed by Brian Burg.

We are using "value", it should be "capabilities".
https://w3c.github.io/webdriver/webdriver-spec.html#new-session

  • WebDriverService.cpp:

(WebDriver::WebDriverService::newSession):

11:40 PM Changeset in webkit [222203] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebDriver

WebDriver: HTTP responses should include Cache-Control header with no-cache value
https://bugs.webkit.org/show_bug.cgi?id=177073

Reviewed by Sergio Villar Senin.

6.3 Processing Model.
Set the response’s header with name and value with the following values:

Content-Type "application/json; charset=utf-8"
Cache-Control "no-cache"

https://w3c.github.io/webdriver/webdriver-spec.html#dfn-send-a-response

We were setting the Content-Type, but not the Cache-Control. This is checked by all WPT WebDriver tests.

  • soup/HTTPServerSoup.cpp:

(WebDriver::HTTPServer::listen): Add Cache-Control header.

11:35 PM Changeset in webkit [222202] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[Harfbuzz] adjustSelectionRectForComplexText() should also pass the character range when shaping
https://bugs.webkit.org/show_bug.cgi?id=177049

Reviewed by Michael Catanzaro.

Now that the shaper support receiving a range we should use that also in
adjustSelectionRectForComplexText(). This will ensure consistent results with
getGlyphsAndAdvancesForComplexText().

  • platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:

(WebCore::FontCascade::adjustSelectionRectForComplexText const):

9:15 PM Changeset in webkit [222201] by fpizlo@apple.com
  • 8 edits in trunk/Tools

[WSL] Cannot put templated structs inside structs
https://bugs.webkit.org/show_bug.cgi?id=177120

Reviewed by Myles Maxfield.

It turns out that we still need to instantiate structs even if not passing type arguments,
since its fields may need to be instantiated.

This makes Myles's test case pass. When writing the test case, I encountered parser bugs, and
I fixed them.

  • WebGPUShadingLanguageRI/CallFunction.js:

(callFunction):

  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitReferenceType):

  • WebGPUShadingLanguageRI/FuncInstantiator.js:

(FuncInstantiator.prototype.getUnique):
(FuncInstantiator):

  • WebGPUShadingLanguageRI/Parse.js:

(parseSuffixOperator):
(parsePossibleSuffix):
(parsePostIncrement):

  • WebGPUShadingLanguageRI/StructType.js:

(StructType.prototype.instantiate):

  • WebGPUShadingLanguageRI/Test.js:

(checkNumber):
(checkEnum):
(TEST_instantiateStructInStruct):

  • WebGPUShadingLanguageRI/TypeRef.js:

(TypeRef.prototype.get instantiatedType):
(TypeRef.prototype.get isPrimitive):

8:44 PM Changeset in webkit [222200] by fpizlo@apple.com
  • 20 edits
    6 adds in trunk/Tools

WSL should support enum
https://bugs.webkit.org/show_bug.cgi?id=176977

Reviewed by Myles Maxfield.

This implements enum. Enums members are referenced Java-style. For example, if we have an enum like:

enum Bank {

GP,
FP

}


Then you refer to the members by saying Bank.GP and Bank.FP.

Also adds a hack that makes operator- on a literal fold the literal. This fixes two issues:

  • Lets you use negative literals in constexprs.
  • Means that negative literals also get literal type unification.


WSL's constexpr support is really thin, but I think it's all we really need for now.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitEnumType):
(Checker.prototype.visitEnumLiteral):

  • WebGPUShadingLanguageRI/ConstexprFolder.js: Added.

(ConstexprFolder.prototype.visitCallExpression):
(ConstexprFolder.prototype.visitTypeOrVariableRef):
(ConstexprFolder):

  • WebGPUShadingLanguageRI/CreateLiteral.js:

(createLiteral.GenericLiteral.prototype.get valueForSelectedType):
(createLiteral.GenericLiteral.prototype.get negConstexpr):

  • WebGPUShadingLanguageRI/DoubleLiteral.js:

(let.DoubleLiteral.createLiteral.negConstexpr):

  • WebGPUShadingLanguageRI/EBufferBuilder.js:

(EBufferBuilder.prototype.visitEnumLiteral):

  • WebGPUShadingLanguageRI/EnumLiteral.js: Added.

(EnumLiteral):
(EnumLiteral.prototype.get member):
(EnumLiteral.prototype.get type):
(EnumLiteral.prototype.get isConstexpr):
(EnumLiteral.prototype.unifyImpl):
(EnumLiteral.prototype.toString):

  • WebGPUShadingLanguageRI/EnumMember.js: Added.

(EnumMember):
(EnumMember.prototype.get origin):
(EnumMember.prototype.get name):
(EnumMember.prototype.toString):

  • WebGPUShadingLanguageRI/EnumType.js: Added.

(EnumType):
(EnumType.prototype.add):
(EnumType.prototype.get origin):
(EnumType.prototype.get name):
(EnumType.prototype.get baseType):
(EnumType.prototype.get memberNames):
(EnumType.prototype.memberByName):
(EnumType.prototype.get members):
(EnumType.prototype.get memberMap):
(EnumType.prototype.get isPrimitive):
(EnumType.prototype.populateDefaultValue):
(EnumType.prototype.get size):
(EnumType.prototype.toString):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitGenericLiteral):
(Evaluator.prototype.visitEnumLiteral):

  • WebGPUShadingLanguageRI/FloatLiteral.js:

(let.FloatLiteral.createLiteral.negConstexpr):

  • WebGPUShadingLanguageRI/FoldConstexprs.js: Added.

(foldConstexprs):

  • WebGPUShadingLanguageRI/IntLiteral.js:

(let.IntLiteral.createLiteral.negConstexpr):

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/NameResolver.js:

(NameResolver.prototype.visitProtocolDecl):

  • WebGPUShadingLanguageRI/Parse.js:

(parseConstexpr):
(parsePossibleSuffix):
(parseEnumMember):
(parseEnumType):
(parse):

  • WebGPUShadingLanguageRI/Prepare.js:

(prepare):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitEnumType):
(Rewriter.prototype.visitEnumMember):
(Rewriter.prototype.visitEnumLiteral):

  • WebGPUShadingLanguageRI/StructType.js:

(StructType.prototype.get origin):
(StructType.prototype.instantiate):

  • WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Added.

(synthesizeEnumFunctions):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(checkEnum):
(TEST_simpleEnum):
(TEST_enumWithManualValues):
(TEST_enumWithoutZero):
(TEST_enumConstexprGenericFunction):
(TEST_enumConstexprGenericStruct):

  • WebGPUShadingLanguageRI/UintLiteral.js:

(let.UintLiteral.createLiteral.negConstexpr):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

8:19 PM Changeset in webkit [222199] by fpizlo@apple.com
  • 5 edits
    2 adds in trunk/Tools

WSL prepare() should cache the parsed standard library
https://bugs.webkit.org/show_bug.cgi?id=177118

Reviewed by Myles Maxfield.

The execution time of Test.js is too damn high!

So I made it 2x faster by caching the parsed standard library.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/CloneProgram.js: Added.

(cloneProgram):

  • WebGPUShadingLanguageRI/Prepare.js:

(let.prepare):
(prepare): Deleted.

  • WebGPUShadingLanguageRI/StatementCloner.js: Added.

(StatementCloner.prototype.visitFuncDef):
(StatementCloner.prototype.visitNativeFunc):
(StatementCloner.prototype.visitNativeType):
(StatementCloner.prototype.visitTypeDef):
(StatementCloner.prototype.visitStructType):
(StatementCloner.prototype.visitConstexprTypeParameter):
(StatementCloner.prototype.visitProtocolDecl):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(doTest):

7:55 PM Changeset in webkit [222198] by dino@apple.com
  • 5 edits in trunk

[WebGL] VideoTextureCopierCV doesn't correctly restore vertex attribute state
https://bugs.webkit.org/show_bug.cgi?id=176771
<rdar://problem/34386621>

Reviewed by Antoine Quint.

Source/WebCore:

The OpenGL context in VideoTextureCopierCV wasn't being restored to
the state it had before rendering a video to a texture. Specifically
the vertex attribute values were never recorded by the state saver.

Update the existing test of VideoTextureCopierCV so that it is
explicitly doing something different from the WebCore code, which
means that state will have to be correctly restored for the test
to pass.

  • platform/graphics/cv/VideoTextureCopierCV.cpp:

(WebCore::VideoTextureCopierCV::copyVideoTextureToPlatformTexture): Make sure
to record the vertex attribute state once we know the location of the position attribute.
(WebCore::VideoTextureCopierCV::GC3DStateSaver::GC3DStateSaver):
(WebCore::VideoTextureCopierCV::GC3DStateSaver::~GC3DStateSaver):
(WebCore::VideoTextureCopierCV::GC3DStateSaver::saveVertexAttribState): Save all the
applicable vertex attribute state information.

  • platform/graphics/cv/VideoTextureCopierCV.h: GC3DStateSaver can use a reference

to the GC3D rather than a pointer.

LayoutTests:

Tweak this test to make sure it does something different from
the code in WebCore to render a video into a texture, thus
ensuring that we're testing state is correctly restored.

  • fast/canvas/webgl/texImage2D-video-flipY-true.html:
7:52 PM Changeset in webkit [222197] by dino@apple.com
  • 12 edits
    6 adds in trunk

[WebGL] accelerated texImage2D for video doesn't respect flipY
https://bugs.webkit.org/show_bug.cgi?id=176491
<rdar://problem/33833511>

Reviewed by Jer Noble.

(Take 3 - this was rolled out due to a test failure)

Source/WebCore:

Previously, if UNPACK_FLIP_Y_WEBGL was set to true, we'd either fall
back to software or fail to upload texture data. Fix this by intercepting
the texImage2D call, checking the orientation of the video, and running
a small shader program to flip it if necessary.

While there, implement UNPACK_PREMULTIPLY_ALPHA_WEBGL as well, although
none of our media decoders support video with alpha, so unfortunately
this will have no visible change.

Tests: fast/canvas/webgl/texImage2D-video-flipY-false.html

fast/canvas/webgl/texImage2D-video-flipY-true.html

  • platform/cocoa/CoreVideoSoftLink.cpp: Add link to CVOpenGL(ES)TextureGetCleanTexCoords,

which is used to check the orientation of the source video.

  • platform/cocoa/CoreVideoSoftLink.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::copyVideoTextureToPlatformTexture): We can
now handle flipped or premultiplied requests.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::copyVideoTextureToPlatformTexture): Ditto.

  • platform/graphics/cv/VideoTextureCopierCV.cpp:

(WebCore::VideoTextureCopierCV::VideoTextureCopierCV): Rename readFramebuffer to
simply framebuffer.
(WebCore::VideoTextureCopierCV::~VideoTextureCopierCV): Delete the program and buffer
if they were created.
(WebCore::VideoTextureCopierCV::initializeContextObjects): Sets up the shader program
and the vertex buffer for drawing. Also records the location of the uniforms.
(WebCore::VideoTextureCopierCV::copyVideoTextureToPlatformTexture): Create a new
framebuffer object, and render the video texture into that framebuffer using a
shader that can flip the coordinates.
(WebCore::VideoTextureCopierCV::GC3DStateSaver::GC3DStateSaver): Helper to restore
the state of the user's GraphicsContext3D while we're intercepting calls.
(WebCore::VideoTextureCopierCV::GC3DStateSaver::~GC3DStateSaver):

  • platform/graphics/cv/VideoTextureCopierCV.h:
  • platform/graphics/GraphicsContext3D.h: Add two new entry points, for direct shader

compilation and attribute access. This avoids going through ANGLE.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::compileShaderDirect):
(WebCore::GraphicsContext3D::getAttribLocationDirect):

LayoutTests:

Test that exercises UNPACK_FLIP_Y_WEBGL for video on the accelerated
path.

  • fast/canvas/webgl/resources/orientation-flipped.mp4: Added.
  • fast/canvas/webgl/resources/orientation-normal.mp4: Added.
  • fast/canvas/webgl/texImage2D-video-flipY-false-expected.txt: Added.
  • fast/canvas/webgl/texImage2D-video-flipY-false.html: Added.
  • fast/canvas/webgl/texImage2D-video-flipY-true-expected.txt: Added.
  • fast/canvas/webgl/texImage2D-video-flipY-true.html: Added.
  • platform/ios/TestExpectations: This test is macOS only.
  • platform/mac/TestExpectations: Mark an existing WebGL test as flakey, while a bug exposed here is investigated.
7:45 PM Changeset in webkit [222196] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebCore

Make ImageFrame::duration() return Seconds instead of float
https://bugs.webkit.org/show_bug.cgi?id=177103

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-09-18
Reviewed by Simon Fraser.

ScalableImageDecoder stores milliseconds for the duration of its ImageFrames.
But ImageFrameCache store seconds for the duration of its ImageFrames.
To fix this issue use Seconds for the ImageFrame duration.

  • platform/graphics/BitmapImage.h:
  • platform/graphics/ImageDecoder.h:
  • platform/graphics/ImageFrame.h:

(WebCore::ImageFrame::setDuration):
(WebCore::ImageFrame::duration const):

  • platform/graphics/ImageFrameCache.cpp:

(WebCore::ImageFrameCache::frameDurationAtIndex):

  • platform/graphics/ImageFrameCache.h:
  • platform/graphics/ImageSource.h:

(WebCore::ImageSource::frameDurationAtIndex):

  • platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::ImageDecoderCG::frameDurationAtIndex const):

  • platform/graphics/cg/ImageDecoderCG.h:
  • platform/image-decoders/ScalableImageDecoder.cpp:

(WebCore::ScalableImageDecoder::frameDurationAtIndex const):

  • platform/image-decoders/ScalableImageDecoder.h:
  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::frameComplete):

  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageDecoder::readChunks):
(WebCore::PNGImageDecoder::frameHeader): Deleted.
(WebCore::PNGImageDecoder::init): Deleted.
(WebCore::PNGImageDecoder::clearFrameBufferCache): Deleted.
(WebCore::PNGImageDecoder::initFrameBuffer): Deleted.
(WebCore::PNGImageDecoder::frameComplete): Deleted.
(WebCore::PNGImageDecoder::processingStart): Deleted.
(WebCore::PNGImageDecoder::processingFinish): Deleted.
(WebCore::PNGImageDecoder::fallbackNotAnimated): Deleted.

6:56 PM Changeset in webkit [222195] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] Compile error in InbandTextTrackPrivateAVCF::readNativeSampleBuffer.
https://bugs.webkit.org/show_bug.cgi?id=177108

Reviewed by Brent Fulgham.

The InbandTextTrackPrivateAVF::m_sampleInputBuffer is private and not accessible in this method.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
5:29 PM Changeset in webkit [222194] by Michael Catanzaro
  • 69 edits
    1 move in trunk

[CMake] Rename WebKit target to WebKitLegacy and rename WebKit2 target to WebKit
https://bugs.webkit.org/show_bug.cgi?id=174558

Reviewed by Alex Christensen.

.:

  • CMakeLists.txt:
  • Source/PlatformGTK.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:
  • Source/cmake/WebKitCommon.cmake:
  • Source/cmake/WebKitFS.cmake:

Source/WebDriver:

  • CMakeLists.txt:

Source/WebKit:

  • CMakeLists.txt:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:
  • PlatformWPE.cmake:
  • PlatformWin.cmake:
  • Shared/gtk/WebKitWaylandProtocol.xml: Renamed from Source/WebKit/Shared/gtk/WebKit2WaylandProtocol.xml.
  • UIProcess/gtk/WaylandCompositor.cpp:
  • WebProcess/gtk/WaylandCompositorDisplay.cpp:

Source/WebKitLegacy:

With help from Stephan Szabo, thanks!

  • CMakeLists.txt:
  • PlatformMac.cmake:
  • PlatformWin.cmake:

Tools:

With help from Stephan Szabo, thanks!

  • DumpRenderTree/PlatformMac.cmake:
  • DumpRenderTree/PlatformWin.cmake:
  • DumpRenderTree/win/AccessibilityControllerWin.cpp:
  • DumpRenderTree/win/DRTDesktopNotificationPresenter.h:
  • DumpRenderTree/win/DumpRenderTree.cpp:
  • DumpRenderTree/win/EditingDelegate.h:
  • DumpRenderTree/win/EventSender.cpp:
  • DumpRenderTree/win/FrameLoadDelegate.cpp:
  • DumpRenderTree/win/FrameLoadDelegate.h:
  • DumpRenderTree/win/GCControllerWin.cpp:
  • DumpRenderTree/win/HistoryDelegate.cpp:
  • DumpRenderTree/win/HistoryDelegate.h:
  • DumpRenderTree/win/PolicyDelegate.h:
  • DumpRenderTree/win/ResourceLoadDelegate.cpp:
  • DumpRenderTree/win/ResourceLoadDelegate.h:
  • DumpRenderTree/win/TestRunnerWin.cpp:
  • DumpRenderTree/win/TextInputControllerWin.cpp:
  • DumpRenderTree/win/UIDelegate.cpp:
  • DumpRenderTree/win/UIDelegate.h:
  • DumpRenderTree/win/WorkQueueItemWin.cpp:
  • MiniBrowser/gtk/CMakeLists.txt:
  • MiniBrowser/mac/CMakeLists.txt:
  • MiniBrowser/win/AccessibilityDelegate.cpp:
  • MiniBrowser/win/AccessibilityDelegate.h:
  • MiniBrowser/win/CMakeLists.txt:
  • MiniBrowser/win/Common.cpp:
  • MiniBrowser/win/DOMDefaultImpl.h:
  • MiniBrowser/win/MiniBrowser.cpp:
  • MiniBrowser/win/MiniBrowser.h:
  • MiniBrowser/win/MiniBrowserWebHost.cpp:
  • MiniBrowser/win/MiniBrowserWebHost.h:
  • MiniBrowser/win/PageLoadTestClient.h:
  • MiniBrowser/win/PrintWebUIDelegate.cpp:
  • MiniBrowser/win/PrintWebUIDelegate.h:
  • MiniBrowser/win/ResourceLoadDelegate.cpp:
  • MiniBrowser/win/ResourceLoadDelegate.h:
  • MiniBrowser/win/WebDownloadDelegate.h:
  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/PlatformWPE.cmake:
  • TestWebKitAPI/PlatformWin.cmake:
  • TestWebKitAPI/Tests/WebKitLegacy/win/ScaleWebView.cpp:
  • TestWebKitAPI/Tests/WebKitLegacy/win/WebViewDestruction.cpp:
  • TestWebKitAPI/glib/CMakeLists.txt:
  • WebKitTestRunner/CMakeLists.txt:
  • WebKitTestRunner/PlatformGTK.cmake:
  • WebKitTestRunner/PlatformWPE.cmake:
5:19 PM Changeset in webkit [222193] by Ryan Haddad
  • 5 edits
    1 copy
    1 add in trunk/LayoutTests

Unreviewed test gardening for macOS.

  • platform/mac-elcapitan/editing/mac/attributed-string/font-style-variant-effect-expected.txt: Copied from LayoutTests/platform/mac-sierra/editing/mac/attributed-string/font-style-variant-effect-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/font-style-variant-effect-expected.txt:
  • platform/mac/TestExpectations:
  • platform/mac/fast/loader/file-url-mimetypes-3-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
4:44 PM Changeset in webkit [222192] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark fast/css/display-contents-style-update.html as a failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177109

Unreviewed test gardening.

  • platform/win/TestExpectations:
4:42 PM Changeset in webkit [222191] by mmaxfield@apple.com
  • 3 edits in trunk/Tools

Fill out vector types in WSL's standard library
https://bugs.webkit.org/show_bug.cgi?id=177063

Reviewed by Filip Pizlo.

Now that we have struct types, operator&[], and operator==, fill out a few of the builtin vector types in the
standard library. This patch creates three new types: vec2, vec3, and vec4, each of which takes a type
argument, so you can say vec4<float>. This patch also adds typedefs of int4, uint4, float4, and double4 (along
with their 2- and 3- length siblings).

This patch does not include the swizzling operators, so you can't say float4.yzw.

  • WebGPUShadingLanguageRI/StandardLibrary.js:

(operator.T.vec2.T):
(bool.operator.T.Equatable):
(thread.T.operator.T):
(operator.T.vec3.T):
(operator.T.vec4.T):

  • WebGPUShadingLanguageRI/Test.js:

(TEST_builtinVectors):

4:36 PM Changeset in webkit [222190] by timothy_horton@apple.com
  • 14 edits in trunk

Support min() and max() in calc()
https://bugs.webkit.org/show_bug.cgi?id=167000
<rdar://problem/30153481>

Reviewed by David Hyatt.
Patch originally by Myles Maxfield.

Source/WebCore:

Add two new toplevel functions to CSS, min() and max(), which take an
arbirary number of arguments and resolve to the minimum and maximum of
the resolved value of the arguments, respectively. It is also possible
to use min() and max() inside calc(), and to use calc()-like math
inside min() and max().

  • css/CSSCalculationValue.cpp:

(WebCore::determineCategory):
min and max operators don't use determineCategory; we have a specific
implementation for them in createMinOrMax.

(WebCore::resolvedTypeForMinOrMax):
The spec says that min() and max() should be marked as invalid if they
have values of more than one type, but that percentages should resolve
against the destination type before making this determination. So,
if the destination type is length, percent turns into percent-length,
and similarly for number.

(WebCore::isIntegerResult):
Add an n-way implementation of isIntegerResult.

(WebCore::isSamePair):
(WebCore::CSSCalcOperation::createMinOrMax): Create a min() or max()
operation, as long as the types of arguments are all the same. Allow
lengths to upgrade the whole operation to percent-length, and numbers
to percent-number, which will cause us to use CalculationValue and friends
in order to do proper resolution of all of the parameters instead of
just comparing their numeric values.

(WebCore::CSSCalcOperation::createCalcExpression):
(WebCore::CSSCalcOperation::doubleValue):
(WebCore::CSSCalcOperation::computeLengthPx):
(WebCore::CSSCalcOperation::customCSSText):
(WebCore::CSSCalcOperation::primitiveType):
(WebCore::CSSCalcOperation::CSSCalcOperation):
(WebCore::CSSCalcOperation::evaluate):
(WebCore::CSSCalcOperation::evaluateOperator):
Adapt to child counts greater than two.

(WebCore::CSSCalcOperation::buildCssText):
Add support for min() and max().

(WebCore::CSSCalcExpressionNodeParser::parseCalc):
parseCalc now accepts a CSSValueID parameter indicating which calc function
it should parse (calc, webkit-calc, min, or max), and delegates to either
parseValueExpression or parseMinMaxExpression.

(WebCore::CSSCalcExpressionNodeParser::operatorValue):
(WebCore::CSSCalcExpressionNodeParser::parseValue):
If min() or max() are found while parsing a value (i.e. nested inside
either calc or themselves), use parseMinMaxExpression on that subtree.

(WebCore::CSSCalcExpressionNodeParser::parseValueTerm):
(WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
(WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
Adjust to the CSSCalcBinaryOperation->CSSCalcOperation rename.

(WebCore::CSSCalcExpressionNodeParser::parseMinMaxExpression):
Added. Parse an arbitrary number of comma-and-whitespace-separated children.

(WebCore::createBlendHalf):
Adjust to the CSSCalcBinaryOperation->CSSCalcOperation rename.

(WebCore::createCSS):
Build the CSSCalcOperation for the platform-independent min and max operations.

(WebCore::CSSCalcValue::create):
Pass the function being parsed and the destination calc category for the
property being parsed for into create, and then into the parser so that
it can know which function it is parsing for, and what kind of result it
needs (as previously mentioned above in resolvedTypeForMinOrMax).

  • css/CSSCalculationValue.h:
  • css/CSSValueKeywords.in:

Add min and max functions as CSS keywords.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertLength):
(WebCore::StyleBuilderConverter::convertTo100PercentMinusLength):

  • platform/Length.cpp:

(WebCore::convertTo100PercentMinusLength):
Adapt to the CalcExpressionOperation constructor taking a vector of
arguments instead of two.

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::CalcParser::CalcParser):
Store and pass the specific function being parsed down into CSSCalcValue.

(WebCore::CSSPropertyParserHelpers::consumeInteger):
(WebCore::CSSPropertyParserHelpers::consumePositiveIntegerRaw):
(WebCore::CSSPropertyParserHelpers::consumeNumberRaw):
(WebCore::CSSPropertyParserHelpers::consumeNumber):
(WebCore::CSSPropertyParserHelpers::consumeFontWeightNumber):
(WebCore::CSSPropertyParserHelpers::consumeLength):
(WebCore::CSSPropertyParserHelpers::consumePercent):
(WebCore::CSSPropertyParserHelpers::consumeLengthOrPercent):
(WebCore::CSSPropertyParserHelpers::consumeAngle):
(WebCore::CSSPropertyParserHelpers::consumeTime):
Pass the destination type into each calc parser.

  • platform/CalculationValue.cpp:

(WebCore::CalcExpressionOperation::evaluate const):
(WebCore::CalcExpressionOperation::operator== const):
(WebCore::CalcExpressionOperation::dump const):
(WebCore::operator<<):
(WebCore::CalcExpressionBinaryOperation::evaluate const): Deleted.
(WebCore::CalcExpressionBinaryOperation::operator== const): Deleted.
(WebCore::CalcExpressionBinaryOperation::dump const): Deleted.

  • platform/CalculationValue.h:

(WebCore::CalcExpressionOperation::CalcExpressionOperation):
(WebCore::operator==):
(WebCore::toCalcExpressionOperation):
(WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation): Deleted.
(WebCore::toCalcExpressionBinaryOperation): Deleted.
Adjust to the CSSCalcBinaryOperation->CSSCalcOperation rename.
Adjust to having n>2 children.
Support min() and max() operators in various places.

LayoutTests:

  • css3/calc/minmax-errors-expected.txt:
  • css3/calc/minmax-errors.html:
  • css3/calc/simple-minmax-expected.txt:
  • css3/calc/simple-minmax.html:

Revive previously-unused tests for an earlier never-implemented version
of this feature, and add a bunch more interesting test cases from reading the spec.

4:32 PM Changeset in webkit [222189] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark imported/blink/fast/events/panScroll-panIcon.html as flaky on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177077

Unreviewed test gardening.

  • platform/win/TestExpectations:
4:14 PM Changeset in webkit [222188] by Matt Baker
  • 12 edits in trunk

Web Inspector: RemoteObject.resolveNode should return a Promise
https://bugs.webkit.org/show_bug.cgi?id=177042

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

Update RemoteObject.resolveNode to return a promise instead of taking a
callback. If the promise is fulfilled, remoteObject will be non-null.

  • UserInterface/Controllers/DOMTreeManager.js:

(WI.DOMTreeManager.prototype.inspectNodeObject.nodeAvailable):
(WI.DOMTreeManager.prototype.inspectNodeObject):
(WI.DOMTreeManager.prototype.getNodeContentFlowInfo.domNodeResolved): Deleted.

  • UserInterface/Models/DOMNode.js:

(WI.DOMNode.prototype.toggleClass.WI.RemoteObject.resolveNode.then):
(WI.DOMNode.prototype.toggleClass):
(WI.DOMNode.prototype.scrollIntoView.WI.RemoteObject.resolveNode.then):
(WI.DOMNode.prototype.scrollIntoView):
(WI.DOMNode.prototype.toggleClass.resolvedNode.inspectedPage_node_toggleClass): Deleted.
(WI.DOMNode.prototype.toggleClass.resolvedNode): Deleted.
(WI.DOMNode.prototype.scrollIntoView.resolvedNode.inspectedPage_node_scrollIntoView): Deleted.
(WI.DOMNode.prototype.scrollIntoView.resolvedNode): Deleted.

  • UserInterface/Protocol/RemoteObject.js:

(WI.RemoteObject.resolveNode):

  • UserInterface/Views/BoxModelDetailsSectionRow.js:

(WI.BoxModelDetailsSectionRow.prototype._applyUserInput.WI.RemoteObject.resolveNode.then):
(WI.BoxModelDetailsSectionRow.prototype._applyUserInput):
(WI.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.toggleInlineStyleProperty): Deleted.
(WI.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.didToggle): Deleted.
(WI.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode): Deleted.

  • UserInterface/Views/CanvasDetailsSidebarPanel.js:
  • UserInterface/Views/ContextMenuUtilities.js:

(WI.appendContextMenuItemsForDOMNode):

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WI.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodeResolved.inspectedPage_node_collectPrototypes): Deleted.
(WI.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodeResolved): Deleted.
(WI.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodePrototypesReady): Deleted.

  • UserInterface/Views/DOMTreeElement.js:

(WI.DOMTreeElement.prototype._createTooltipForNode.WI.RemoteObject.resolveNode.then):
(WI.DOMTreeElement.prototype._createTooltipForNode):
(WI.DOMTreeElement.prototype._createTooltipForNode.resolvedNode.dimensions): Deleted.
(WI.DOMTreeElement.prototype._createTooltipForNode.resolvedNode): Deleted.

  • UserInterface/Views/DOMTreeOutline.js:

(WI.DOMTreeOutline.prototype._hideElement.injectStyleAndToggleClass):
(WI.DOMTreeOutline.prototype._hideElement):
(WI.DOMTreeOutline):
(WI.DOMTreeOutline.prototype._hideElement.resolvedNode.injectStyleAndToggleClass): Deleted.
(WI.DOMTreeOutline.prototype._hideElement.resolvedNode): Deleted.

LayoutTests:

Updated tests to use promises instead of callbacks.

  • inspector/dom/highlightNode.html:
4:02 PM Changeset in webkit [222187] by commit-queue@webkit.org
  • 7 edits
    1 add in trunk/Source/WebCore

[Curl] Move error generation task into ResourceError
https://bugs.webkit.org/show_bug.cgi?id=176963

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-18
Reviewed by Alex Christensen.

  • platform/Curl.cmake:
  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlHandle::errorDescription):
(WebCore::CurlHandle::errorDescription const):

  • platform/network/curl/CurlContext.h:
  • platform/network/curl/ResourceError.h:

(WebCore::ResourceError::setSslErrors):
(WebCore::ResourceError::hasSSLConnectError const): Deleted.
(WebCore::ResourceError::doPlatformIsolatedCopy): Deleted.

  • platform/network/curl/ResourceErrorCurl.cpp: Added.

(WebCore::ResourceError::httpError):
(WebCore::ResourceError::sslError):
(WebCore::ResourceError::hasSSLConnectError const):
(WebCore::ResourceError::doPlatformIsolatedCopy):
(WebCore::ResourceError::platformCompare):

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::notifyFail):
(WebCore::ResourceHandleCurlDelegate::didFail):

  • platform/network/curl/ResourceHandleCurlDelegate.h:
3:41 PM Changeset in webkit [222186] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

ErrorInstance and Exception need destroy methods
https://bugs.webkit.org/show_bug.cgi?id=177095

Reviewed by Saam Barati.

When I made ErrorInstance and Exception into JSDestructibleObjects, I forgot to make them
follow that type's protocol.

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::destroy): Implement this to fix leaks.

  • runtime/ErrorInstance.h:
  • runtime/Exception.h: Change how this is declared now that this is a DestructibleObject.
3:39 PM Changeset in webkit [222185] by mmaxfield@apple.com
  • 11 edits in trunk/Tools

WSL needs to annotate vertex shaders and fragment shaders
https://bugs.webkit.org/show_bug.cgi?id=177066

Reviewed by Filip Pizlo.

Metal Shading Language requires annotating vertex and fragment shaders, so this information needs to be in
the source WSL file.

  • WebGPUShadingLanguageRI/Func.js:

(Func):
(Func.prototype.get shaderType):

  • WebGPUShadingLanguageRI/FuncDef.js:

(FuncDef):

  • WebGPUShadingLanguageRI/NativeFunc.js:

(NativeFunc):

  • WebGPUShadingLanguageRI/Parse.js:

(parseFuncDecl):
(parseProtocolFuncDecl):
(parseFuncDef):
(parseNativeFunc):

  • WebGPUShadingLanguageRI/ResolveOverloadImpl.js:

(resolveOverloadImpl):

  • WebGPUShadingLanguageRI/Test.js:
3:36 PM Changeset in webkit [222184] by fpizlo@apple.com
  • 6 edits in trunk/Tools

WSL should know that constexpr parameters are not lvalues
https://bugs.webkit.org/show_bug.cgi?id=177104

Reviewed by Saam Barati.

This should be an error:

void foo<int x>()
{

x = 42;

}


Previously, it wasn't, because VariableRef always thought that it was an LValue. This patch
teaches the type checker that not all VariableRefs are LValues.

  • WebGPUShadingLanguageRI/ConstexprTypeParameter.js:

(ConstexprTypeParameter.prototype.get varIsLValue):

  • WebGPUShadingLanguageRI/FuncParameter.js:

(FuncParameter.prototype.get varIsLValue):

  • WebGPUShadingLanguageRI/Test.js:

(TEST_nonArrayRefArrayLengthSucceed):
(TEST_nonArrayRefArrayLengthFail):
(TEST_nonArrayRefArrayLength): Deleted.
(TEST_assignLength): Deleted.

  • WebGPUShadingLanguageRI/VariableDecl.js:

(VariableDecl.prototype.get varIsLValue):

  • WebGPUShadingLanguageRI/VariableRef.js:

(VariableRef.prototype.get isLValue):

3:35 PM Changeset in webkit [222183] by aestes@apple.com
  • 16 edits
    2 adds in trunk/Source

[Cocoa] Upstream sandbox-related WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=177047

Reviewed by Daniel Bates.

Source/WebKit:

  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode const):

  • Platform/spi/mac/QuarantineSPI.h: Added.
  • Shared/SandboxExtension.h:

(): Deleted.

  • Shared/mac/ChildProcessMac.mm:

(WebKit::enableSandboxStyleFileQuarantine):
(WebKit::ChildProcess::initializeSandbox):

  • Shared/mac/SandboxExtensionMac.mm:

(WebKit::SandboxExtensionImpl::create):
(WebKit::SandboxExtensionImpl::SandboxExtensionImpl):
(WebKit::SandboxExtensionImpl::~SandboxExtensionImpl):
(WebKit::SandboxExtensionImpl::consume):
(WebKit::SandboxExtensionImpl::invalidate):
(WebKit::SandboxExtensionImpl::getSerializedFormat):
(WebKit::SandboxExtension::Handle::Handle):
(WebKit::SandboxExtension::Handle::~Handle):
(WebKit::SandboxExtension::Handle::encode const):
(WebKit::SandboxExtension::Handle::decode):
(WebKit::SandboxExtension::createHandleWithoutResolvingPath):
(WebKit::SandboxExtension::createHandleForReadWriteDirectory):
(WebKit::SandboxExtension::createHandleForTemporaryFile):
(WebKit::SandboxExtension::createHandleForGenericExtension):
(WebKit::SandboxExtension::SandboxExtension):
(WebKit::SandboxExtension::~SandboxExtension):
(WebKit::SandboxExtension::revoke):
(WebKit::SandboxExtension::consume):
(WebKit::SandboxExtension::consumePermanently):
(WebKit::wkSandboxExtensionType): Deleted.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::createSandboxExtensionsIfNeeded):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::grantSandboxExtensionsToStorageProcessForBlobs):

  • UIProcess/Storage/StorageProcessProxy.cpp:

(WebKit::StorageProcessProxy::getSandboxExtensionsForBlobFiles):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::didChooseFilesForOpenPanel):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::processDidFinishLaunching):
(WebKit::WebProcessPool::resumeDownload):
(WebKit::WebProcessPool::startMemorySampler):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/FileAPI/BlobRegistryProxy.cpp:

(WebKit::BlobRegistryProxy::registerFileBlobURL):

Source/WTF:

  • wtf/spi/darwin/SandboxSPI.h:
3:27 PM Changeset in webkit [222182] by webkit@devinrousso.com
  • 8 edits
    1 add in trunk/LayoutTests

Web Inspector: make Canvas recording tests more human readable
https://bugs.webkit.org/show_bug.cgi?id=176441

Reviewed by Joseph Pecoraro.

  • inspector/canvas/resources/recording-utilities.js: Added.

(TestPage.registerInitializer):
Create common functions for requesting and printing a recording.

  • inspector/canvas/recording-2d-expected.txt:
  • inspector/canvas/recording-2d.html:
  • inspector/canvas/recording-webgl-expected.txt:
  • inspector/canvas/recording-webgl.html:
  • inspector/canvas/recording-webgl-snapshots-expected.txt:
  • inspector/canvas/recording-webgl-snapshots.html:
2:33 PM Changeset in webkit [222181] by BJ Burg
  • 11 edits
    3 copies in trunk/Source/WebInspectorUI

Web Inspector: introduce an AppController class and shared instance of it
https://bugs.webkit.org/show_bug.cgi?id=177024

Reviewed by Matt Baker.

WebInspectorUI currently has an app controller singleton that's distributed
among many properties on the WI object, which also serves as a namespace for
classes, enums, and other frontend objects. The singleton should be a proper
class so that we can think more easily about what state is global.

In the process of moving pieces of Main.js into AppController, I intend to move
most UI related code into a view controller class for the top level view.
AppController really shouldn't be doing anything to the view hierarchy or DOM.
It is yet to be determined how responsibility for global DOM events, such as
those for keyboard shortcuts, will be handled.

This larger refactoring project will let us more easily do things like connect
to multiple debuggables in the same Inspector instance, and switch between views
of different debuggable targets. Even if this never comes to pass, the code will
be a lot easier to reason about and maintain in the future.

For the first patch, introduce {AppController, TestAppController} <: AppControllerBase.
Shared code goes in the base class. In the Main.html and Test.html files, first
construct the AppController and then call .initialize() to avoid cyclic dependencies
on the global singleton WI.sharedApp.

  • UserInterface/Main.html:
  • UserInterface/Test.html:
  • UserInterface/Test/Test.js:

(WI.loaded):

  • UserInterface/Base/Main.js:

(WI.loaded):
Move some shared code out of here into AppControllerBase.constructor.
Eventually WI.loaded should not exist, and its code will move elsewhere.

(WI.contentLoaded):
Adopt global reference.

  • UserInterface/Controllers/AppControllerBase.js: Copied from Source/WebInspectorUI/UserInterface/Protocol/MainTarget.js.

(WI.AppControllerBase):
(WI.AppControllerBase.prototype.get hasExtraDomains):
(WI.AppControllerBase.prototype.get debuggableType):
(WI.AppControllerBase.prototype.initialize):

  • UserInterface/Controllers/AppController.js: New.

(WI.AppController):
(WI.AppController.prototype.get hasExtraDomains):
(WI.AppController.prototype.get debuggableType):
(WI.AppController.prototype.activateExtraDomains):

  • UserInterface/Test/TestAppController.js: New.

(WI.TestAppController):
(WI.TestAppController.prototype.get hasExtraDomains):
(WI.TestAppController.prototype.get debuggableType):

  • UserInterface/Controllers/TimelineManager.js:

(WI.TimelineManager.defaultTimelineTypes):
(WI.TimelineManager.availableTimelineTypes):
(WI.TimelineManager.prototype.scriptProfilerProgrammaticCaptureStarted):
(WI.TimelineManager.prototype.scriptProfilerProgrammaticCaptureStopped):
(WI.TimelineManager.prototype.scriptProfilerTrackingCompleted):

  • UserInterface/Models/TimelineRecording.js:

(WI.TimelineRecording.sourceCodeTimelinesSupported):

  • UserInterface/Protocol/InspectorObserver.js:

(WI.InspectorObserver.prototype.inspect):
(WI.InspectorObserver.prototype.activateExtraDomains):
(WI.InspectorObserver):

  • UserInterface/Protocol/MainTarget.js:

(WI.MainTarget):
(WI.MainTarget.prototype.get displayName):

  • UserInterface/Views/ResourceSidebarPanel.js:

(WI.ResourceSidebarPanel):
(WI.ResourceSidebarPanel.prototype.initialLayout):
(WI.ResourceSidebarPanel.prototype._addScript):
(WI.ResourceSidebarPanel.prototype._extraDomainsActivated):

  • UserInterface/Views/Toolbar.js:

Use WI.sharedApp.{debuggableType, hasExtraDomains}.

2:04 PM Changeset in webkit [222180] by Ryan Haddad
  • 7 edits in trunk

Unreviewed, rolling out r222170.

The API test added with this change is failing.

Reverted changeset:

"Allow WTF::map to use any class that is iterable and has a
size getter"
https://bugs.webkit.org/show_bug.cgi?id=177026
http://trac.webkit.org/changeset/222170

2:03 PM Changeset in webkit [222179] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

Add a section in WSL's documentation about how API objects and WSL interact
https://bugs.webkit.org/show_bug.cgi?id=177089

Reviewed by Filip Pizlo.

No global variables; entry points accept arguments. Buffers are array references ([]),
and texture and sampler opaque types exist. Data is passed between stages in return
values.

  • WebGPUShadingLanguageRI/WSL.md:
2:01 PM Changeset in webkit [222178] by Antti Koivisto
  • 2 edits in trunk/LayoutTests

Another WK1 unflake attempt.

  • transitions/transition-display-property-2.html:
1:48 PM Changeset in webkit [222177] by don.olmstead@sony.com
  • 4 edits in trunk/Source/WebCore

[Curl] Forward declare SSL context

Unreviewed build fix after r222147. OpenSSL's SHA1 declaration conflicts with WTF's.

No new tests. No change in behavior.

  • platform/network/curl/CurlSSLHandle.h:
  • platform/network/curl/CurlSSLVerifier.cpp:
  • platform/network/curl/CurlSSLVerifier.h:
1:38 PM Changeset in webkit [222176] by rniwa@webkit.org
  • 4 edits in trunk

getData('text/plain') doesn't work on iOS 10
https://bugs.webkit.org/show_bug.cgi?id=177034

Reviewed by Wenson Hsieh.

Source/WebCore:

The bug was caused by the mispatch of UTI between reading & writing plain text.
Use kUTTypeText (instead of kUTTypePlainText) to read from UIPasteboard on iOS 10.

Re-enabled tests were passing on iOS 11 and continues to pass after this code change.

Tests: editing/pasteboard/clipboard-event.html

editing/pasteboard/datatransfer-items-paste-plaintext.html
editing/pasteboard/get-data-text-plain-paste.html

  • platform/ios/PasteboardIOS.mm:

(WebCore::cocoaTypeFromHTMLClipboardType):

LayoutTests:

Removed the failing test expectations from tests that now pass on iOS.

  • platform/ios/TestExpectations:
1:06 PM Changeset in webkit [222175] by Yusuke Suzuki
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Consider dropping JSObjectSetPrototype feature for JSGlobalObject
https://bugs.webkit.org/show_bug.cgi?id=177070

Reviewed by Saam Barati.

Due to the security reason, our global object is immutable prototype exotic object.
It prevents users from injecting proxies into the prototype chain of the global object[1].
But our JSC API does not respect this attribute, and allows users to change Prototype?
of the global object after instantiating it.

This patch removes this feature. Once global object is instantiated, we cannot change Prototype?
of the global object. It drops JSGlobalObject::resetPrototype use, which involves GlobalThis
edge cases.

[1]: https://github.com/tc39/ecma262/commit/935dad4283d045bc09c67a259279772d01b3d33d

  • API/JSObjectRef.cpp:

(JSObjectSetPrototype):

  • API/tests/CustomGlobalObjectClassTest.c:

(globalObjectSetPrototypeTest):

12:35 PM Changeset in webkit [222174] by Matt Baker
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: console.assert messages shouldn't end in an exclamation point
https://bugs.webkit.org/show_bug.cgi?id=177054

Reviewed by Joseph Pecoraro.

  • UserInterface/Base/EventListener.js:
  • UserInterface/Base/EventListenerSet.js:

(WI.EventListenerSet.prototype.register):
Drive-by: make assertions the same in both.

  • UserInterface/Views/LayoutTimelineView.js:

(WI.LayoutTimelineView.prototype._processPendingRecords):

  • UserInterface/Views/Resizer.js:

(WI.Resizer.prototype._currentPosition):

12:14 PM Changeset in webkit [222173] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, fix typo.

  • WebGPUShadingLanguageRI/WSL.md:
11:57 AM Changeset in webkit [222172] by fpizlo@apple.com
  • 3 edits in trunk/Tools

WSL cannot use typedefs of arrays
https://bugs.webkit.org/show_bug.cgi?id=177061

Reviewed by Saam Barati.

This test case didn't work before because of a missing visit call in Checker.

  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitTypeRef):

  • WebGPUShadingLanguageRI/Test.js:

(TEST_typedefArray):

11:56 AM Changeset in webkit [222171] by webkit@devinrousso.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r221901): Single frame recordings don't reset the recording navigation item
https://bugs.webkit.org/show_bug.cgi?id=176893

Reviewed by Matt Baker.

  • UserInterface/Controllers/CanvasManager.js:

(WI.CanvasManager.prototype.recordingFinished):
Set the _recordingCanvas to null whenever a recording has finished and been sent to the
frontend. It is also necessary to do this inside stopRecording, as it is possible for the
user to start and stop a recording before any actions are recorded, meaning that no
recording would be sent to the frontend and this function will never get called.

11:52 AM Changeset in webkit [222170] by commit-queue@webkit.org
  • 7 edits in trunk

Allow WTF::map to use any class that is iterable and has a size getter
https://bugs.webkit.org/show_bug.cgi?id=177026

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-18
Reviewed by Darin Adler.

Source/WebCore:

No change of behavior.
Using WTF::map to go from maps to vectors.

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::resourceList):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchAllPendingUnloadEvents):

Source/WTF:

Computing the Item type given to the lambda using the iterator instead of ValueType which is specific to Vector.
Adding the possibility to pass a non const container reference and a lambda taking non const references as well.

  • wtf/Vector.h:

(WTF::MapFunctionInspector::acceptsReference):
(WTF::Mapper::map):
(WTF::map):

Tools:

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

11:51 AM Changeset in webkit [222169] by fpizlo@apple.com
  • 49 edits
    13 adds
    4 deletes in trunk/Tools

Figure out how WSL will support field overloads like float4.xz and friends
https://bugs.webkit.org/show_bug.cgi?id=177031

Reviewed by JF Bastien.

WSL needs to support getters and setters, so that we can do things like:

float4 vec;
vec.zx = float2(1, 2);
z = 1, x = 2


There's no way to express this float4.zx returning a pointer to something, since it's doing swizzling.
It could return a crazy smart pointer, but that sounds like a lot of work. So, I decided to go for
lvalue emulation instead.

The idea of lvalue emulation is that when we try to make an lvalue work for an assignment or RMW
operation (like += and friends), we consider the possibility that we have to first load the value using
a getter and then store it with a setter. This patch makes this work recursively, so that this will
work:

float4 vec;
vec.zwx.y = 42;
now w is 42


This works because we decompose it automatically:

float4 vec;
float3 tmp = vec.zwx;
tmp.y = 42;
vec.zwx = tmp;


This'll work to any depth.

To check if this works, this patch adds two substantial new tests called TEST_genericAccessors() and
TEST_bitSubscriptAccessor(). This tests that this stuff works with a lot of generic types, and that it's
possible to turn integers into bitvectors using subscript overloading. This patch also adds smaller unit
tests also.

Oh, and it's now possible to get an array's length.

  • WebGPUShadingLanguageRI/AddressSpace.js:

(needsPrimitiveProtocol):
(protocolSuffix):

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/AnonymousVariable.js: Added.

(AnonymousVariable):
(AnonymousVariable.prototype.get origin):
(AnonymousVariable.prototype.get name):
(AnonymousVariable.prototype.toString):

  • WebGPUShadingLanguageRI/ArrayRefType.js:

(ArrayRefType.prototype.argumentForAndOverload):
(ArrayRefType.prototype.argumentTypeForAndOverload):

  • WebGPUShadingLanguageRI/ArrayType.js:

(ArrayType.prototype.argumentForAndOverload):
(ArrayType.prototype.argumentTypeForAndOverload):
(ArrayType):

  • WebGPUShadingLanguageRI/Assignment.js:

(Assignment):

  • WebGPUShadingLanguageRI/CallAssignment.js: Removed.
  • WebGPUShadingLanguageRI/CallExpression.js:

(CallExpression.resolve):
(CallExpression.prototype.resolve):
(CallExpression.prototype.resolveToOverload):

  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitProgram):
(Checker.prototype.visitFuncDef):
(Checker.prototype.visitNativeFunc):
(Checker.prototype.visitProtocolDecl):
(Checker.prototype.visitIdentityExpression):
(Checker.prototype.visitReadModifyWriteExpression):
(Checker.prototype.visitAnonymousVariable):
(Checker.prototype.visitMakeArrayRefExpression):
(Checker.prototype._finishVisitingPropertyAccess):
(Checker.prototype.visitDotExpression):
(Checker.prototype.visitIndexExpression):
(Checker.prototype.visitCallExpression):
(Checker):
(Checker.prototype.visitProtocolDecl.NoticeTypeVariable.prototype.visitTypeRef): Deleted.
(Checker.prototype.visitProtocolDecl.NoticeTypeVariable.prototype.visitVariableRef): Deleted.
(Checker.prototype.visitProtocolDecl.NoticeTypeVariable): Deleted.
(Checker.prototype.visitProtocolDecl.set throw): Deleted.

  • WebGPUShadingLanguageRI/CommaExpression.js:
  • WebGPUShadingLanguageRI/DotExpression.js:

(DotExpression):
(DotExpression.prototype.get struct):
(DotExpression.prototype.get getFuncName):
(DotExpression.prototype.get andFuncName):
(DotExpression.prototype.get setFuncName):

  • WebGPUShadingLanguageRI/EBuffer.js:
  • WebGPUShadingLanguageRI/EBufferBuilder.js:

(EBufferBuilder.prototype.visitAnonymousVariable):
(EBufferBuilder.prototype.visitLetExpression): Deleted.

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitIdentityExpression):
(Evaluator.prototype.visitMakePtrExpression):
(Evaluator.prototype.visitAnonymousVariable):
(Evaluator.prototype.visitDotExpression): Deleted.
(Evaluator.prototype.visitLetExpression): Deleted.

  • WebGPUShadingLanguageRI/ExpressionFinder.js:

(ExpressionFinder.prototype.visitReadModifyWriteExpression):
(ExpressionFinder.prototype.visitIdentityExpression):

  • WebGPUShadingLanguageRI/ForLoop.js:

(ForLoop.prototype.toString):
(ForLoop):

  • WebGPUShadingLanguageRI/Func.js:

(Func):

  • WebGPUShadingLanguageRI/FuncInstantiator.js:

(FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitNativeFunc):
(FuncInstantiator.prototype.getUnique.Instantiate):
(FuncInstantiator.prototype.getUnique):
(FuncInstantiator):

  • WebGPUShadingLanguageRI/IdentityExpression.js: Added.

(IdentityExpression):
(IdentityExpression.prototype.get target):
(IdentityExpression.prototype.get unifyNode):
(IdentityExpression.prototype.get isConstexpr):
(IdentityExpression.prototype.get isLValue):
(IdentityExpression.prototype.get addressSpace):
(IdentityExpression.prototype.toString):

  • WebGPUShadingLanguageRI/IndexExpression.js: Added.

(IndexExpression):
(IndexExpression.prototype.get array):
(IndexExpression.prototype.get index):
(IndexExpression.prototype.get isLValue):
(IndexExpression.prototype.get addressSpace):
(IndexExpression.prototype.get getFuncName):
(IndexExpression.prototype.get andFuncName):
(IndexExpression.prototype.get setFuncName):
(IndexExpression.prototype.toString):

  • WebGPUShadingLanguageRI/InferTypesForCall.js:

(inferTypesForCall):

  • WebGPUShadingLanguageRI/Inline.js:

(_inlineFunction):

  • WebGPUShadingLanguageRI/Inliner.js:

(Inliner.prototype.visitCallExpression):
(Inliner.prototype.visitDotExpression): Deleted.

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/LetExpression.js: Removed.
  • WebGPUShadingLanguageRI/MakeArrayRefExpression.js:

(MakeArrayRefExpression.prototype.becomeConvertPtrToArrayRefExpression): Deleted.

  • WebGPUShadingLanguageRI/NameContext.js:

(NameContext):
(NameContext.prototype.add):
(NameContext.prototype.doStatement):
(NameContext.prototype.handleDefining): Deleted.
(NameContext.prototype.isDefined): Deleted.
(NameContext.prototype.define): Deleted.
(NameContext.prototype.defineAll): Deleted.

  • WebGPUShadingLanguageRI/NameResolver.js:

(NameResolver.prototype.doStatement):
(NameResolver.prototype.visitProtocolDecl):
(NameResolver.prototype.visitProgram): Deleted.

  • WebGPUShadingLanguageRI/NativeFunc.js:

(NativeFunc):

  • WebGPUShadingLanguageRI/NativeFuncInstance.js:

(NativeFuncInstance):
(NativeFuncInstance.prototype.get implementationData):

  • WebGPUShadingLanguageRI/Node.js:

(Node.prototype.visit):
(Node.visit):
(Node.unify): Deleted.

  • WebGPUShadingLanguageRI/NormalUsePropertyResolver.js: Added.

(NormalUsePropertyResolver.prototype.visitDotExpression):
(NormalUsePropertyResolver.prototype.visitIndexExpression):
(NormalUsePropertyResolver):

  • WebGPUShadingLanguageRI/Parse.js:

(finishParsingPostIncrement):
(parsePossibleSuffix):
(finishParsingPreIncrement):
(genericParseCommaExpression):
(parseFuncName):

  • WebGPUShadingLanguageRI/Prepare.js:

(prepare):

  • WebGPUShadingLanguageRI/Program.js:

(Program):
(Program.prototype.get globalNameContext):
(Program.prototype.add):

  • WebGPUShadingLanguageRI/PropertyAccessExpression.js: Added.

(PropertyAccessExpression):
(PropertyAccessExpression.prototype.get resultType):
(PropertyAccessExpression.prototype.rewriteAfterCloning):
(PropertyAccessExpression.prototype.updateCallsAfterChangingBase):
(PropertyAccessExpression.prototype.emitGet):
(PropertyAccessExpression.prototype.emitSet):

  • WebGPUShadingLanguageRI/PropertyResolver.js: Added.

(PropertyResolver.prototype._visitPropertyAccess):
(PropertyResolver.prototype.visitDotExpression):
(PropertyResolver.prototype.visitIndexExpression):
(PropertyResolver.prototype._handleReadModifyWrite):
(PropertyResolver.prototype.visitReadModifyWriteExpression):
(PropertyResolver.prototype.visitAssignment):
(PropertyResolver.visitMakePtrExpression):
(PropertyResolver.prototype.visitMakeArrayRefExpression):
(PropertyResolver):

  • WebGPUShadingLanguageRI/PtrType.js:

(PtrType.prototype.argumentForAndOverload):
(PtrType.prototype.argumentTypeForAndOverload):
(PtrType.prototype.returnTypeFromAndOverload):

  • WebGPUShadingLanguageRI/ReadModifyWriteExpression.js: Added.

(ReadModifyWriteExpression):
(ReadModifyWriteExpression.prototype.get lValue):
(ReadModifyWriteExpression.prototype.oldValueRef):
(ReadModifyWriteExpression.prototype.newValueRef):
(ReadModifyWriteExpression.prototype.toString):

  • WebGPUShadingLanguageRI/ResolveNames.js:

(createNameResolver):
(resolveNamesInTypes):
(resolveNamesInProtocols):
(resolveNamesInFunctions):
(resolveNames): Deleted.

  • WebGPUShadingLanguageRI/ResolveOverloadImpl.js:

(resolveOverloadImpl):

  • WebGPUShadingLanguageRI/ResolveProperties.js: Added.

(resolveProperties):

  • WebGPUShadingLanguageRI/ResolveTypeDefs.js:

(resolveTypeDefsInTypes):
(resolveTypeDefsInProtocols):
(resolveTypeDefsInFunctions):
(resolveTypeDefs): Deleted.

  • WebGPUShadingLanguageRI/ReturnChecker.js:

(ReturnChecker.prototype._isBoolCastFromLiteralTrue):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter):
(Rewriter.prototype.visitVariableDecl):
(Rewriter.prototype.visitTypeRef):
(Rewriter.prototype.visitAssignment):
(Rewriter.prototype.visitReadModifyWriteExpression):
(Rewriter.prototype.visitDereferenceExpression):
(Rewriter.prototype._handlePropertyAccessExpression):
(Rewriter.prototype.visitDotExpression):
(Rewriter.prototype.visitIndexExpression):
(Rewriter.prototype.visitReturn):
(Rewriter.prototype.visitGenericLiteralType):
(Rewriter.prototype.visitNullType):
(Rewriter.prototype.processDerivedCallData):
(Rewriter.prototype.visitCallExpression):
(Rewriter.prototype.visitFunctionLikeBlock):
(Rewriter.prototype.visitIfStatement):
(Rewriter.prototype.visitForLoop):
(Rewriter.prototype.visitAnonymousVariable):
(Rewriter.prototype.visitIdentityExpression):
(Rewriter.prototype.visitLetExpression): Deleted.

  • WebGPUShadingLanguageRI/StandardLibrary.js:
  • WebGPUShadingLanguageRI/StructLayoutBuilder.js:

(StructLayoutBuilder.prototype.visitNativeFuncInstance):
(StructLayoutBuilder):

  • WebGPUShadingLanguageRI/StructType.js:

(StructType.prototype.instantiate):

  • WebGPUShadingLanguageRI/Substitution.js:

(Substitution.prototype.get map):

  • WebGPUShadingLanguageRI/SuffixCallAssignment.js: Removed.
  • WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Added.

(synthesizeStructAccessors.createTypeParameters):
(synthesizeStructAccessors.):
(synthesizeStructAccessors.createFieldType):
(synthesizeStructAccessors.createTypeRef):
(synthesizeStructAccessors.setupAnder):
(synthesizeStructAccessors):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(checkNumber):
(TEST_simpleProtocol):
(TEST_assignLength):
(TEST_simpleSetter):
(TEST_genericAccessors):

  • WebGPUShadingLanguageRI/Type.js:

(Type.prototype.get isRef):
(Type.prototype.argumentForAndOverload):
(Type.prototype.argumentTypeForAndOverload):
(Type.prototype.returnTypeFromAndOverload):
(Type):

  • WebGPUShadingLanguageRI/TypeParameterRewriter.js: Added.

(TypeParameterRewriter.prototype.visitConstexprTypeParameter):
(TypeParameterRewriter.prototype.visitTypeVariable):
(TypeParameterRewriter):

  • WebGPUShadingLanguageRI/TypeVariableTracker.js: Added.

(TypeVariableTracker):

  • WebGPUShadingLanguageRI/Value.js:

(Value.prototype.become):
(Value):

  • WebGPUShadingLanguageRI/VariableRef.js:

(VariableRef.prototype.get unifyNode):
(VariableRef.prototype.get addressSpace):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitNativeFuncInstance):
(Visitor.prototype.visitProtocolDecl):
(Visitor): Deleted.

  • WebGPUShadingLanguageRI/VisitorBase.js: Removed.
11:26 AM Changeset in webkit [222168] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Always update display: contents styles in RenderTreeUpdater.
https://bugs.webkit.org/show_bug.cgi?id=177065

Patch by Emilio Cobos Álvarez <emilio> on 2017-09-18
Reviewed by Antti Koivisto.

Source/WebCore:

Otherwise we keep an old style around, making following style updates wrong.

Test: fast/css/display-contents-style-update.html

  • style/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateElementRenderer):

LayoutTests:

  • fast/css/display-contents-style-update-expected.html: Added.
  • fast/css/display-contents-style-update.html: Added.
11:23 AM Changeset in webkit [222167] by Antti Koivisto
  • 4 edits
    2 adds in trunk

Avoid style resolution when clearing focused element.
https://bugs.webkit.org/show_bug.cgi?id=176224
<rdar://problem/34206409>

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: fast/dom/focus-style-resolution.html

  • dom/Document.cpp:

(WebCore::Document::setFocusedElement):

Don't do synchronous style resolution with FocusRemovalEventsMode::DoNotDispatch.
Style resolution may dispatch events.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::didBlur):

Move resolveStyleIfNeeded call to setFocusedElement. It is the only client for didBlur.

LayoutTests:

  • fast/dom/focus-style-resolution-expected.txt: Added.
  • fast/dom/focus-style-resolution.html: Added.
11:21 AM Changeset in webkit [222166] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Rolling out the previous to land again with a test.

  • dom/Document.cpp:

(WebCore::Document::setFocusedElement):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::didBlur):

11:17 AM Changeset in webkit [222165] by aestes@apple.com
  • 9 edits
    3 copies in trunk

[Cocoa] Upstream WKSetCrashReportApplicationSpecificInformation() from WebKitSystemInterface
https://bugs.webkit.org/show_bug.cgi?id=177048

Reviewed by Alex Christensen.

Source/WebKit:

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::sendMessage):
(IPC::readFromMachPort):

  • Platform/cocoa/CrashReporter.h: Copied from Source/WebKit/Shared/Cocoa/ChildProcessCocoa.mm.
  • Platform/cocoa/CrashReporter.mm: Copied from Source/WebKit/Shared/Cocoa/ChildProcessCocoa.mm.

(WebKit::setCrashReportApplicationSpecificInformation):

  • Platform/spi/Cocoa/CrashReporterClientSPI.h: Copied from Source/WebKit/Shared/Cocoa/ChildProcessCocoa.mm.
  • Shared/Cocoa/ChildProcessCocoa.mm:

(WebKit::ChildProcess::didReceiveInvalidMessage):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::_WKSetCrashReportApplicationSpecificInformation):

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(runTest):

  • WebKitTestRunner/cocoa/CrashReporterInfo.mm:

(WTR::setCrashReportApplicationSpecificInformationToURL):

11:14 AM Changeset in webkit [222164] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Avoid style resolution when clearing focused element.
https://bugs.webkit.org/show_bug.cgi?id=176224
<rdar://problem/34206409>

Reviewed by Zalan Bujtas.

Test: fast/dom/focus-style-resolution.html

  • dom/Document.cpp:

(WebCore::Document::setFocusedElement):

Don't do synchronous style resolution with FocusRemovalEventsMode::DoNotDispatch.
Style resolution may dispatch events.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::didBlur):

Move resolveStyleIfNeeded call to setFocusedElement. It is the only client for didBlur.

11:01 AM Changeset in webkit [222163] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

[WK1] Layout Test fast/events/beforeunload-dom-manipulation-crash.html is crashing.
https://bugs.webkit.org/show_bug.cgi?id=177071

Reviewed by Brent Fulgham.

The Page pointer in the history controller's frame is null. Add a null pointer check before
accessing the page.

No new tests, covered by exiting tests.

  • loader/HistoryController.cpp:

(WebCore::HistoryController::updateForStandardLoad):
(WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
(WebCore::HistoryController::updateForClientRedirect):

10:54 AM Changeset in webkit [222162] by Antti Koivisto
  • 2 edits in trunk/LayoutTests

Try to unflake a test.

Unreviewed.

  • transitions/transition-display-property-2.html:
10:23 AM Changeset in webkit [222161] by Ryan Haddad
  • 2 edits
    1 copy
    1 delete in trunk/LayoutTests

Move baseline for editing/mac/attributed-string/font-style-variant-effect.html to mac-sierra.

Unreviewed test gardening.

  • platform/mac-sierra/editing/mac/attributed-string/font-style-variant-effect-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/font-style-variant-effect-expected.txt.
  • platform/win/TestExpectations: Drive by fix for an accidental commit.
9:54 AM Changeset in webkit [222160] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

build-webkit spawns fewer subprocesses than ninja uses by default
https://bugs.webkit.org/show_bug.cgi?id=177057

Reviewed by Alex Christensen.

  • Scripts/build-webkit:

By default, ninja will parallelize over (cores + 2) jobs. build-webkit
specifies -j(cores), which overrides this. Remove our override if building
with ninja; just let it do its own thing. In my testing, this minor
change is the difference between ~10% idle CPU time and 0.

9:53 AM Changeset in webkit [222159] by Lucas Forschler
  • 1 edit in trunk/Tools/ChangeLog

Land a patch to verify svn->git update is working.

9:26 AM Changeset in webkit [222158] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/websocket/tests/hybi/secure-cookie-secure-connection.pl as a failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177072

Unreviewed test gardening.

  • platform/win/TestExpectations:
9:26 AM Changeset in webkit [222157] by Ryan Haddad
  • 1 edit in trunk/LayoutTests/ChangeLog

Mark fast/events/beforeunload-dom-manipulation-crash.html as a crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177071

Unreviewed test gardening.

  • platform/win/TestExpectations:
9:26 AM Changeset in webkit [222156] by Ryan Haddad
  • 1 edit in trunk/LayoutTests/ChangeLog

Mark http/tests/security/video-cross-origin-caching.html as a flaky crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=160447

Unreviewed test gardening.

  • platform/win/TestExpectations:
9:26 AM Changeset in webkit [222155] by Ryan Haddad
  • 1 edit in trunk/Tools/ChangeLog

Update my status.

Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json:
9:26 AM Changeset in webkit [222154] by Ryan Haddad
  • 1 edit in trunk/Source/WebCore/ChangeLog

REGRESSION(r221974): [Harfbuzz] Test fast/text/international/hebrew-selection.html is failing since r221974
https://bugs.webkit.org/show_bug.cgi?id=177036

Reviewed by Michael Catanzaro.

In r221974 I rewrote the characterIndexForXPosition implementation without taking into account that there can be
multiple glyphs for the same character, so we can't simply do index++ and index-- to get the next and previous
character index.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition): Always get the character index from
m_glyphToCharacterIndexes array.

9:26 AM Changeset in webkit [222153] by Ryan Haddad
  • 1 edit in trunk/Tools/ChangeLog

Start working on WSL documentation
https://bugs.webkit.org/show_bug.cgi?id=177064

Reviewed by Mylex Maxfield.

This is a work in progress. I'd like to check it in and then keep adding to it.

  • WebGPUShadingLanguageRI/WSL.md: Added.
9:26 AM Changeset in webkit [222152] by Ryan Haddad
  • 1 edit in trunk/Tools/ChangeLog
WSL needs to understand && and

https://bugs.webkit.org/show_bug.cgi?id=177062

Reviewed by Filip Pizlo.

Very similar to LogicalNot.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/Checker.js:
  • WebGPUShadingLanguageRI/EBufferBuilder.js:

(EBufferBuilder.prototype.visitLogicalExpression):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitLogicalExpression):

  • WebGPUShadingLanguageRI/Lexer.js:

(Lexer.prototype.next):
(Lexer):

  • WebGPUShadingLanguageRI/LogicalExpression.js: Added.

(LogicalExpression):
(LogicalExpression.prototype.get text):
(LogicalExpression.prototype.get left):
(LogicalExpression.prototype.get right):
(LogicalExpression.prototype.toString):

  • WebGPUShadingLanguageRI/Parse.js:

(parseLeftLogicalExpression):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitLogicalExpression):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:
  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

9:24 AM Changeset in webkit [222151] by jer.noble@apple.com
  • 22 edits
    2 moves
    2 adds in trunk/Source/WebCore

Virtualize ImageDecoder
https://bugs.webkit.org/show_bug.cgi?id=176118

Reviewed by Eric Carlson.

Add an explicit, abstract base class ImageDecoder, and convert ImageDecoderCG to a true
subclass. This will allow multiple ImageDecoder subclasses to exist simultaneously at
runtime.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/ImageDecoders.cmake:
  • platform/graphics/ImageDecoder.cpp: Added.

(WebCore::ImageDecoder::create):
(WebCore::ImageDecoder::bytesDecodedToDetermineProperties):

  • platform/graphics/ImageDecoder.h: Added.

(WebCore::ImageDecoder::isSizeAvailable):
(WebCore::ImageDecoder::isAllDataReceived const):

  • platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::ImageDecoderCG::ImageDecoderCG):
(WebCore::ImageDecoderCG::bytesDecodedToDetermineProperties):
(WebCore::ImageDecoderCG::uti const):
(WebCore::ImageDecoderCG::filenameExtension const):
(WebCore::ImageDecoderCG::encodedDataStatus const):
(WebCore::ImageDecoderCG::frameCount const):
(WebCore::ImageDecoderCG::repetitionCount const):
(WebCore::ImageDecoderCG::hotSpot const):
(WebCore::ImageDecoderCG::frameSizeAtIndex const):
(WebCore::ImageDecoderCG::frameIsCompleteAtIndex const):
(WebCore::ImageDecoderCG::frameOrientationAtIndex const):
(WebCore::ImageDecoderCG::frameDurationAtIndex const):
(WebCore::ImageDecoderCG::frameAllowSubsamplingAtIndex const):
(WebCore::ImageDecoderCG::frameHasAlphaAtIndex const):
(WebCore::ImageDecoderCG::frameBytesAtIndex const):
(WebCore::ImageDecoderCG::createFrameImageAtIndex const):
(WebCore::ImageDecoderCG::setData):
(WebCore::ImageDecoder::ImageDecoder): Deleted.
(WebCore::ImageDecoder::bytesDecodedToDetermineProperties): Deleted.
(WebCore::ImageDecoder::uti const): Deleted.
(WebCore::ImageDecoder::filenameExtension const): Deleted.
(WebCore::ImageDecoder::encodedDataStatus const): Deleted.
(WebCore::ImageDecoder::frameCount const): Deleted.
(WebCore::ImageDecoder::repetitionCount const): Deleted.
(WebCore::ImageDecoder::hotSpot const): Deleted.
(WebCore::ImageDecoder::frameSizeAtIndex const): Deleted.
(WebCore::ImageDecoder::frameIsCompleteAtIndex const): Deleted.
(WebCore::ImageDecoder::frameOrientationAtIndex const): Deleted.
(WebCore::ImageDecoder::frameDurationAtIndex const): Deleted.
(WebCore::ImageDecoder::frameAllowSubsamplingAtIndex const): Deleted.
(WebCore::ImageDecoder::frameHasAlphaAtIndex const): Deleted.
(WebCore::ImageDecoder::frameBytesAtIndex const): Deleted.
(WebCore::ImageDecoder::createFrameImageAtIndex const): Deleted.
(WebCore::ImageDecoder::setData): Deleted.

  • platform/graphics/cg/ImageDecoderCG.h:

(WebCore::ImageDecoderCG::create):
(WebCore::ImageDecoder::create): Deleted.
(WebCore::ImageDecoder::isSizeAvailable): Deleted.
(WebCore::ImageDecoder::isAllDataReceived const): Deleted.
(WebCore::ImageDecoder::clearFrameBufferCache): Deleted.

  • platform/graphics/win/ImageDecoderDirect2D.cpp:

(WebCore::ImageDecoderDirect2D::ImageDecoderDirect2D):
(WebCore::ImageDecoderDirect2D::systemImagingFactory):
(WebCore::ImageDecoderDirect2D::bytesDecodedToDetermineProperties):
(WebCore::ImageDecoderDirect2D::filenameExtension const):
(WebCore::ImageDecoderDirect2D::isSizeAvailable const):
(WebCore::ImageDecoderDirect2D::encodedDataStatus const):
(WebCore::ImageDecoderDirect2D::size const):
(WebCore::ImageDecoderDirect2D::frameCount const):
(WebCore::ImageDecoderDirect2D::repetitionCount const):
(WebCore::ImageDecoderDirect2D::hotSpot const):
(WebCore::ImageDecoderDirect2D::frameSizeAtIndex const):
(WebCore::ImageDecoderDirect2D::frameIsCompleteAtIndex const):
(WebCore::ImageDecoderDirect2D::frameOrientationAtIndex const):
(WebCore::ImageDecoderDirect2D::frameDurationAtIndex const):
(WebCore::ImageDecoderDirect2D::frameAllowSubsamplingAtIndex const):
(WebCore::ImageDecoderDirect2D::frameHasAlphaAtIndex const):
(WebCore::ImageDecoderDirect2D::frameBytesAtIndex const):
(WebCore::ImageDecoderDirect2D::setTargetContext):
(WebCore::ImageDecoderDirect2D::createFrameImageAtIndex const):
(WebCore::ImageDecoderDirect2D::setData):

  • platform/graphics/win/ImageDecoderDirect2D.h:

(WebCore::ImageDecoderDirect2D::create):
(WebCore::ImageDecoder::create): Deleted.
(WebCore::ImageDecoder::isAllDataReceived const): Deleted.
(WebCore::ImageDecoder::clearFrameBufferCache): Deleted.

  • platform/image-decoders/ScalableImageDecoder.cpp: Renamed from Source/WebCore/platform/image-decoders/ImageDecoder.cpp.

(WebCore::ScalableImageDecoder::create):
(WebCore::ScalableImageDecoder::frameIsCompleteAtIndex const):
(WebCore::ScalableImageDecoder::frameHasAlphaAtIndex const):
(WebCore::ScalableImageDecoder::frameBytesAtIndex const):
(WebCore::ScalableImageDecoder::frameDurationAtIndex const):
(WebCore::ScalableImageDecoder::createFrameImageAtIndex):
(WebCore::ScalableImageDecoder::prepareScaleDataIfNecessary):
(WebCore::ScalableImageDecoder::upperBoundScaledX):
(WebCore::ScalableImageDecoder::lowerBoundScaledX):
(WebCore::ScalableImageDecoder::upperBoundScaledY):
(WebCore::ScalableImageDecoder::lowerBoundScaledY):
(WebCore::ScalableImageDecoder::scaledY):

  • platform/image-decoders/ScalableImageDecoder.h: Renamed from Source/WebCore/platform/image-decoders/ImageDecoder.h.

(WebCore::ScalableImageDecoder::ScalableImageDecoder):
(WebCore::ScalableImageDecoder::~ScalableImageDecoder):
(WebCore::ScalableImageDecoder::premultiplyAlpha const):
(WebCore::ScalableImageDecoder::isAllDataReceived const):
(WebCore::ScalableImageDecoder::size const):
(WebCore::ScalableImageDecoder::scaledSize):
(WebCore::ScalableImageDecoder::setSize):
(WebCore::ScalableImageDecoder::setIgnoreGammaAndColorProfile):
(WebCore::ScalableImageDecoder::ignoresGammaAndColorProfile const):
(WebCore::ScalableImageDecoder::rgbColorProfile):
(WebCore::ScalableImageDecoder::subsamplingLevelForScale):
(WebCore::ScalableImageDecoder::inputDeviceColorProfile):
(WebCore::ScalableImageDecoder::setFailed):
(WebCore::ScalableImageDecoder::failed const):

  • platform/image-decoders/bmp/BMPImageDecoder.cpp:

(WebCore::BMPImageDecoder::BMPImageDecoder):
(WebCore::BMPImageDecoder::setData):
(WebCore::BMPImageDecoder::setFailed):

  • platform/image-decoders/bmp/BMPImageDecoder.h:
  • platform/image-decoders/bmp/BMPImageReader.h:
  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::GIFImageDecoder):
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::setSize):
(WebCore::GIFImageDecoder::setFailed):

  • platform/image-decoders/gif/GIFImageDecoder.h:
  • platform/image-decoders/ico/ICOImageDecoder.cpp:

(WebCore::ICOImageDecoder::ICOImageDecoder):
(WebCore::ICOImageDecoder::setData):
(WebCore::ICOImageDecoder::size):
(WebCore::ICOImageDecoder::setSize):
(WebCore::ICOImageDecoder::setFailed):

  • platform/image-decoders/ico/ICOImageDecoder.h:
  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::JPEGImageDecoder::JPEGImageDecoder):
(WebCore::JPEGImageDecoder::setSize):
(WebCore::JPEGImageDecoder::setFailed):

  • platform/image-decoders/jpeg/JPEGImageDecoder.h:
  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageReader::decode):
(WebCore::PNGImageDecoder::PNGImageDecoder):
(WebCore::PNGImageDecoder::setSize):
(WebCore::PNGImageDecoder::frameBufferAtIndex):
(WebCore::PNGImageDecoder::setFailed):

  • platform/image-decoders/png/PNGImageDecoder.h:
  • platform/image-decoders/webp/WEBPImageDecoder.cpp:

(WebCore::WEBPImageDecoder::WEBPImageDecoder):
(WebCore::WEBPImageDecoder::decode):

  • platform/image-decoders/webp/WEBPImageDecoder.h:
9:21 AM Changeset in webkit [222150] by aestes@apple.com
  • 36 edits
    5 copies
    1 move
    1 add in trunk/Source

[Mac] Upstream miscellaneous WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=177029

Reviewed by Alex Christensen.

Source/WebCore:

  • Configurations/WebCore.xcconfig: Used -force_load of libPAL instead of -ObjC. This forces

the linker to load both Objective-C and C PAL symbols in WebCore. This change is needed for
PAL::popUpMenu(), which is used by WebKit and WebKitLegacy but not WebCore.

  • platform/cocoa/LocalizedStringsCocoa.mm:

(WebCore::contextMenuItemTagSearchWeb):

  • platform/cocoa/ScrollController.mm:

(WebCore::elasticDeltaForTimeDelta):
(WebCore::elasticDeltaForReboundDelta):
(WebCore::reboundDeltaForElasticDelta):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):

  • platform/mac/CursorMac.mm:

(WebCore::WKCoreCursor_coreCursorType):
(WebCore::createCoreCursorClass):
(WebCore::coreCursorClass):
(WebCore::cursor):
(WebCore::Cursor::ensurePlatformCursor const):

  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintTextArea):

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/PlatformMac.cmake:
  • pal/spi/cf/CFUtilitiesSPI.h:
  • pal/spi/cocoa/LaunchServicesSPI.h: Renamed from Source/WebCore/PAL/pal/spi/ios/LaunchServicesSPI.h.
  • pal/spi/mac/HIServicesSPI.h:
  • pal/spi/mac/NSCellSPI.h: Copied from Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h.
  • pal/spi/mac/NSMenuSPI.h:
  • pal/spi/mac/NSScrollViewSPI.h: Copied from Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h.
  • pal/spi/mac/NSScrollerImpSPI.h:
  • pal/system/cf/DefaultSearchProvider.cpp: Copied from Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h.

(PAL::defaultSearchProviderDisplayName):

  • pal/system/cf/DefaultSearchProvider.h: Copied from Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h.
  • pal/system/mac/PopupMenu.h: Copied from Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h.
  • pal/system/mac/PopupMenu.mm: Added.

(PAL::popUpMenu):

Source/WebKit:

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::initializeProcessName):

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::PluginProcess::initializeProcessName):

  • StorageProcess/mac/StorageProcessMac.mm:

(WebKit::StorageProcess::initializeProcessName):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::trackingAreaOptions):
(WebKit::WebViewImpl::mightBeginScrollWhileInactive):

  • UIProcess/mac/WebPopupMenuProxyMac.mm:

(WebKit::WebPopupMenuProxyMac::showPopupMenu):

  • WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:

(WebKit::NetscapePlugin::popUpContextMenu):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::handleContextMenuEvent):

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::updateActivePages):

Source/WebKitLegacy/mac:

  • DefaultDelegates/WebDefaultContextMenuDelegate.mm:

(-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):

  • Plugins/Hosted/NetscapePluginHostProxy.mm:

(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):

  • WebCoreSupport/PopupMenuMac.mm:

(PopupMenuMac::show):

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView setDataSource:]):
(-[WebHTMLView attachRootLayer:]):

  • WebView/WebView.mm:

(-[WebView _needsAdobeFrameReloadingQuirk]):
(-[WebView _needsLinkElementTextCSSQuirk]):
(-[WebView _needsIsLoadingInAPISenseQuirk]):
(-[WebView _needsFrameLoadDelegateRetainQuirk]):
(-[WebView _preferencesChanged:]):

9:09 AM Changeset in webkit [222149] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Fix invalid line in TestExpectations.

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:44 AM Changeset in webkit [222148] by commit-queue@webkit.org
  • 10 edits
    1 move in trunk

[Win][PAL] Move WebCoreHeaderDetection.h to PAL
https://bugs.webkit.org/show_bug.cgi?id=176990

Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2017-09-18
Reviewed by Alex Christensen.

.:

Create DerivedSources directory for PAL if WebCore build is enabled.

  • Source/cmake/WebKitCommon.cmake:
  • Source/cmake/WebKitFS.cmake:

Source/WebCore:

  • PlatformWin.cmake:

Stop generating WebCoreHeaderDetection.h in WebCore.

  • config.h:
  • platform/graphics/ca/win/PlatformCALayerWin.cpp:
  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

Include PALHeaderDetection.h instead of WebCoreHeaderDetection.h

Source/WebCore/PAL:

  • AVFoundationSupport.py: Renamed from Source/WebCore/AVFoundationSupport.py.

(lookFor):
(fileContains):

  • pal/PlatformWin.cmake:

Add a custom target PAL_PreBuild to generate PALHeaderDetection.h

8:41 AM Changeset in webkit [222147] by commit-queue@webkit.org
  • 8 edits
    2 moves
    2 adds in trunk/Source/WebCore

[Curl] Create classes dedicated to handle SSL related tasks
and separate verifier and certificate management.
https://bugs.webkit.org/show_bug.cgi?id=176910

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-18
Reviewed by Alex Christensen.

  • platform/Curl.cmake:
  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlContext::CurlContext):
(WebCore::CurlHandle::setCACertPath):
(WebCore::certificatePath): Deleted.
(WebCore::CurlHandle::enableCAInfoIfExists): Deleted.
(WebCore::CurlHandle::setSslErrors): Deleted.
(WebCore::CurlHandle::getSslErrors): Deleted.

  • platform/network/curl/CurlContext.h:

(WebCore::CurlContext::sslHandle):
(WebCore::CurlContext::getCertificatePath const): Deleted.
(WebCore::CurlContext::shouldIgnoreSSLErrors const): Deleted.

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::setupRequest):

  • platform/network/curl/CurlSSLHandle.cpp: Added.

(WebCore::CurlSSLHandle::CurlSSLHandle):
(WebCore::CurlSSLHandle::getCACertPathEnv):
(WebCore::CurlSSLHandle::setHostAllowsAnyHTTPSCertificate):
(WebCore::CurlSSLHandle::isAllowedHTTPSCertificateHost):
(WebCore::CurlSSLHandle::canIgnoredHTTPSCertificate):
(WebCore::CurlSSLHandle::setClientCertificateInfo):
(WebCore::CurlSSLHandle::getSSLClientCertificate):

  • platform/network/curl/CurlSSLHandle.h: Renamed from Source/WebCore/platform/network/curl/SSLHandle.h.

(WebCore::CurlSSLHandle::shouldIgnoreSSLErrors const):
(WebCore::CurlSSLHandle::getCACertPath const):

  • platform/network/curl/CurlSSLVerifier.cpp: Renamed from Source/WebCore/platform/network/curl/SSLHandle.cpp.

(WebCore::CurlSSLVerifier::setSslCtx):
(WebCore::CurlSSLVerifier::certVerifyCallback):
(WebCore::CurlSSLVerifier::getPemDataFromCtx):
(WebCore::CurlSSLVerifier::convertToSSLCertificateFlags):

  • platform/network/curl/CurlSSLVerifier.h: Added.

(WebCore::CurlSSLVerifier::setCurlHandle):
(WebCore::CurlSSLVerifier::setHostName):
(WebCore::CurlSSLVerifier::sslErrors):

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate):
(WebCore::ResourceHandle::setClientCertificateInfo):

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::ResourceHandleCurlDelegate):
(WebCore::ResourceHandleCurlDelegate::setupRequest):
(WebCore::ResourceHandleCurlDelegate::notifyFail):
(WebCore::ResourceHandleCurlDelegate::willSetupSslCtx):
(WebCore::ResourceHandleCurlDelegate::willSetupSslCtxCallback):

  • platform/network/curl/ResourceHandleCurlDelegate.h:
8:29 AM Changeset in webkit [222146] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark http/tests/websocket/tests/hybi/secure-cookie-secure-connection.pl as a failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177072

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:23 AM Changeset in webkit [222145] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark fast/events/beforeunload-dom-manipulation-crash.html as a crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177071

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:04 AM Changeset in webkit [222144] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark http/tests/security/video-cross-origin-caching.html as a flaky crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=160447

Unreviewed test gardening.

  • platform/win/TestExpectations:
5:47 AM Changeset in webkit [222143] by Yusuke Suzuki
  • 27 edits
    2 adds in trunk

[DFG] Remove ToThis more aggressively
https://bugs.webkit.org/show_bug.cgi?id=177056

Reviewed by Saam Barati.

JSTests:

  • stress/generator-with-this-strict.js: Added.

(shouldBe):
(generator):
(target):

  • stress/generator-with-this.js: Added.

(shouldBe):
(generator):
(target):

Source/JavaScriptCore:

The variation of toThis() implementation is limited. So, we attempts to implement common toThis operation in AI.
We move scope related toThis to JSScope::toThis. And AI investigates proven value/structure's toThis methods
and attempts to fold/convert to efficient nodes.

We introduces GetGlobalThis, which just loads globalThis from semantic origin's globalObject. Using this,
we can implement JSScope::toThis in DFG. This can avoid costly toThis indirect function pointer call.

Currently, we just emit GetGlobalThis if necessary. We can further convert it to constant if we can put
watchpoint to JSGlobalObject's globalThis change. But we leave it for a future patch for now.

This removes GetGlobalThis from ES6 generators in common cases.

spread-generator.es6 303.1550+-9.5037 290.9337+-8.3487 might be 1.0420x faster

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::isToThisAnIdentity):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToGetGlobalThis):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetGlobalThis):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileGetGlobalThis):

  • runtime/JSGlobalLexicalEnvironment.cpp:

(JSC::JSGlobalLexicalEnvironment::toThis): Deleted.

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

(JSC::JSGlobalObject::toThis): Deleted.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::addressOfGlobalThis):

  • runtime/JSLexicalEnvironment.cpp:

(JSC::JSLexicalEnvironment::toThis): Deleted.

  • runtime/JSLexicalEnvironment.h:
  • runtime/JSScope.cpp:

(JSC::JSScope::toThis):

  • runtime/JSScope.h:
  • runtime/StrictEvalActivation.cpp:

(JSC::StrictEvalActivation::toThis): Deleted.

  • runtime/StrictEvalActivation.h:
1:10 AM Changeset in webkit [222142] by Ms2ger@igalia.com
  • 2 edits in trunk/Tools

Update my status.

Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json:

Sep 17, 2017:

10:22 PM Changeset in webkit [222141] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

REGRESSION(r221974): [Harfbuzz] Test fast/text/international/hebrew-selection.html is failing since r221974
https://bugs.webkit.org/show_bug.cgi?id=177036

Reviewed by Michael Catanzaro.

In r221974 I rewrote the characterIndexForXPosition implementation without taking into account that there can be
multiple glyphs for the same character, so we can't simply do index++ and index-- to get the next and previous
character index.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition): Always get the character index from
m_glyphToCharacterIndexes array.

10:05 PM Changeset in webkit [222140] by fpizlo@apple.com
  • 1 edit
    1 add in trunk/Tools

Start working on WSL documentation
https://bugs.webkit.org/show_bug.cgi?id=177064

Reviewed by Mylex Maxfield.

This is a work in progress. I'd like to check it in and then keep adding to it.

  • WebGPUShadingLanguageRI/WSL.md: Added.
8:39 PM Changeset in webkit [222139] by mmaxfield@apple.com
  • 11 edits
    1 add in trunk/Tools
WSL needs to understand && and

https://bugs.webkit.org/show_bug.cgi?id=177062

Reviewed by Filip Pizlo.

Very similar to LogicalNot.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/Checker.js:
  • WebGPUShadingLanguageRI/EBufferBuilder.js:

(EBufferBuilder.prototype.visitLogicalExpression):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitLogicalExpression):

  • WebGPUShadingLanguageRI/Lexer.js:

(Lexer.prototype.next):
(Lexer):

  • WebGPUShadingLanguageRI/LogicalExpression.js: Added.

(LogicalExpression):
(LogicalExpression.prototype.get text):
(LogicalExpression.prototype.get left):
(LogicalExpression.prototype.get right):
(LogicalExpression.prototype.toString):

  • WebGPUShadingLanguageRI/Parse.js:

(parseLeftLogicalExpression):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitLogicalExpression):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:
  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

5:31 PM Changeset in webkit [222138] by mmaxfield@apple.com
  • 11 edits
    4 copies in trunk/Tools

WSL needs float and double support
https://bugs.webkit.org/show_bug.cgi?id=177058

Reviewed by Filip Pizlo.

Use the existing int and uint types as a model. The types themselves are straighforward. Just like int and uint,
you can't pass a float as a double argument and vice-versa. This patch adds operator+, -, *, and / for floats
and doubles.

Float literals are more complicated. If your number has a "." character in it, it is treated as a float literal.
You can add a suffix of "f" or "d" to force the literal to pretend to be a float or a double. These literals are
able to masquerade as either floats or doubles (unlike an explicit type). However, these literals are not able
to masquerade as ints or uints. There's also a nice check that your float literal can actually fit in a float.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/DoubleLiteral.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.

(let.DoubleLiteral.createLiteral.createType):

  • WebGPUShadingLanguageRI/DoubleLiteralType.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.

(let.DoubleLiteralType.createLiteralType.verifyAsArgument):

  • WebGPUShadingLanguageRI/FloatLiteral.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.

(let.FloatLiteral.createLiteral.createType):

  • WebGPUShadingLanguageRI/FloatLiteralType.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.

(let.FloatLiteralType.createLiteralType.verifyAsArgument):

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/Lexer.js:

(Lexer.prototype.next):
(Lexer):

  • WebGPUShadingLanguageRI/NativeType.js:

(NativeType):
(NativeType.prototype.get isFloating):
(NativeType.prototype.set isFloating):
(NativeType.prototype.get isFloat): Deleted.
(NativeType.prototype.set isFloat): Deleted.

  • WebGPUShadingLanguageRI/Parse.js:

(parseTerm):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitGenericLiteral):

  • WebGPUShadingLanguageRI/StandardLibrary.js:

(uint.operator):
(int.operator):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(makeFloat):
(makeDouble):
(checkNumber):
(checkFloat):
(checkDouble):

  • WebGPUShadingLanguageRI/Type.js:

(Type.prototype.get isFloating):
(Type.prototype.get isFloat): Deleted.

1:11 PM Changeset in webkit [222137] by Nikita Vasilyev
  • 15 edits in trunk

Web Inspector: Styles Redesign: support toggling properties
https://bugs.webkit.org/show_bug.cgi?id=176643

Reviewed by Matt Baker.

Source/WebInspectorUI:

Add checkboxes to toggle (comment/uncomment) CSS properties.

  • UserInterface/Base/Utilities.js:

(String.prototype.get lineCount):
(String.prototype.get lastLine):
Add string methods that are used by WI.CSSProperty.prototype._updateOwnerStyleText.

  • UserInterface/Models/CSSProperty.js:

(WI.CSSProperty.prototype.commentOut):
(WI.CSSProperty.prototype.set text):
(WI.CSSProperty.prototype.get editable):
(WI.CSSProperty.prototype._updateOwnerStyleText):
Add methods necessary for property toggling.

  • UserInterface/Models/CSSStyleDeclaration.js:

(WI.CSSStyleDeclaration):
(WI.CSSStyleDeclaration.prototype.get allVisibleProperties):
Add a getter that is used by SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesToRender.

(WI.CSSStyleDeclaration.prototype.get visibleProperties):

  • UserInterface/Models/TextRange.js:

(WI.TextRange.prototype.clone):
(WI.TextRange.prototype.cloneAndModify):
(WI.TextRange.prototype.relativeTo):
Add methods that are used by WI.CSSProperty.prototype._updateOwnerStyleText.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:

(.spreadsheet-style-declaration-editor):
(.spreadsheet-style-declaration-editor .property-toggle):
(.spreadsheet-css-declaration:matches(:hover, :focus) .property-toggle,):
(.spreadsheet-style-declaration-editor .property.disabled,):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:

(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set style):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get _propertiesToRender):
(WI.SpreadsheetCSSStyleDeclarationEditor):
(WI.SpreadsheetStyleProperty):
(WI.SpreadsheetStyleProperty.prototype.get element):
(WI.SpreadsheetStyleProperty.prototype._update):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:

(WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):

  • UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:

(WI.SpreadsheetRulesStyleDetailsPanel.prototype.refresh):
(WI.SpreadsheetRulesStyleDetailsPanel):

  • UserInterface/Views/SyntaxHighlightingDefaultTheme.css:

(.cm-s-default .cm-comment,):

  • UserInterface/Views/Variables.css:

(:root):
Make comment color a CSS variable.

LayoutTests:

Add tests for String.prototype.lineCount and String.prototype.lastLine.

  • inspector/unit-tests/string-utilities-expected.txt:
  • inspector/unit-tests/string-utilities.html:
10:28 AM Changeset in webkit [222136] by Yusuke Suzuki
  • 20 edits
    2 deletes in trunk/Source/JavaScriptCore

Merge JSLexicalEnvironment and JSEnvironmentRecord
https://bugs.webkit.org/show_bug.cgi?id=175492

Reviewed by Saam Barati.

JSEnvironmentRecord is only inherited by JSLexicalEnvironment.
We can merge JSEnvironmentRecord and JSLexicalEnvironment.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileGetByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation):
(JSC::FTL::DFG::LowerDFGToB3::compileGetClosureVar):
(JSC::FTL::DFG::LowerDFGToB3::compilePutClosureVar):
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitGetClosureVar):
(JSC::JIT::emitPutClosureVar):
(JSC::JIT::emitScopedArgumentsGetByVal):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitGetClosureVar):
(JSC::JIT::emitPutClosureVar):

  • llint/LLIntOffsetsExtractor.cpp:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSEnvironmentRecord.cpp: Removed.
  • runtime/JSEnvironmentRecord.h: Removed.
  • runtime/JSLexicalEnvironment.cpp:

(JSC::JSLexicalEnvironment::visitChildren):
(JSC::JSLexicalEnvironment::heapSnapshot):
(JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames):

  • runtime/JSLexicalEnvironment.h:

(JSC::JSLexicalEnvironment::subspaceFor):
(JSC::JSLexicalEnvironment::variables):
(JSC::JSLexicalEnvironment::isValidScopeOffset):
(JSC::JSLexicalEnvironment::variableAt):
(JSC::JSLexicalEnvironment::offsetOfVariables):
(JSC::JSLexicalEnvironment::offsetOfVariable):
(JSC::JSLexicalEnvironment::allocationSizeForScopeSize):
(JSC::JSLexicalEnvironment::allocationSize):
(JSC::JSLexicalEnvironment::finishCreationUninitialized):
(JSC::JSLexicalEnvironment::finishCreation):

  • runtime/JSModuleEnvironment.cpp:

(JSC::JSModuleEnvironment::create):

  • runtime/JSObject.h:

(JSC::JSObject::isEnvironment const):
(JSC::JSObject::isEnvironmentRecord const): Deleted.

  • runtime/JSSegmentedVariableObject.h:
  • runtime/StringPrototype.cpp:

(JSC::checkObjectCoercible):

8:39 AM Changeset in webkit [222135] by msaboff@apple.com
  • 4 edits in trunk

https://bugs.webkit.org/show_bug.cgi?id=177038
Add an option to run-jsc-stress-tests to limit tests variations to a basic set

Reviewed by JF Bastien.

JSTests:

  • stress/unshiftCountSlowCase-correct-postCapacity.js: Disabled this test on ARM64 iOS devices

as it dies using too much memory.

Tools:

Added the --basic option that runs defaults tests with the following modes, default, no-llint,
no-cjit-validate-phases, no-cjit-collect-continuously, dfg-eager and for FTL platforms: no-ftl,
ftl-eager-no-cjit and ftl-no-cjit-small-pool. This takes about half the time as running all
16 modes of a full run.

  • Scripts/run-jsc-stress-tests:
7:37 AM Changeset in webkit [222134] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit

[WPE][GTK] Merge ProcessLauncher[WPE,GTK]
https://bugs.webkit.org/show_bug.cgi?id=177041

Unreviewed fixup, I broke the size of the argv buffer when experimenting with how to respond
to review comments. Not sure why this didn't blow up everything during testing.

  • UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:

(WebKit::ProcessLauncher::launchProcess):

7:34 AM Changeset in webkit [222133] by Michael Catanzaro
  • 3 edits
    1 copy
    1 add
    2 deletes in trunk/Source/WebKit

[WPE][GTK] Merge ProcessLauncher[WPE,GTK]
https://bugs.webkit.org/show_bug.cgi?id=177041

Reviewed by Carlos Garcia Campos.

  • PlatformGTK.cmake:
  • PlatformWPE.cmake:
  • UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: Renamed from Source/WebKit/UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp.

(WebKit::childSetupFunction):
(WebKit::ProcessLauncher::launchProcess):
(WebKit::ProcessLauncher::terminateProcess):
(WebKit::ProcessLauncher::platformInvalidate):

  • UIProcess/Launcher/wpe/ProcessLauncherWPE.cpp: Removed.
1:06 AM Changeset in webkit [222132] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[Harfbuzz] Test fast/text/complex-text-selection.html is failing since r222090
https://bugs.webkit.org/show_bug.cgi?id=177035

Reviewed by Michael Catanzaro.

The problem was not actually introduced in r222090, but revelaed by that change. The bug was added in r222086,
when adding the support for shaping a range of characters. We are not correctly filtering the characters in case
of rtl in some cases.

Fixes: fast/text/complex-text-selection.html

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun): When checking if the current character is inside
the given range, continue or break the loop depending on whether text is rtl or not.

Note: See TracTimeline for information about the timeline view.